diff --git a/.gitignore b/.gitignore index 8f7f8832..dc0e5c91 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ **/iexec_in **/iexec_out +ups-package-tracker/app/node_modules +ups-package-tracker/smart-contract/node_modules +ups-package-tracker/build \ No newline at end of file diff --git a/IntegrationTests/BigUpload/build.sh b/IntegrationTests/BigUpload/build.sh old mode 100755 new mode 100644 diff --git a/IntegrationTests/BigUpload/generateBigFile.sh b/IntegrationTests/BigUpload/generateBigFile.sh old mode 100755 new mode 100644 diff --git a/IntegrationTests/DoNothingOneMinute/build.sh b/IntegrationTests/DoNothingOneMinute/build.sh old mode 100755 new mode 100644 diff --git a/IntegrationTests/DoNothingOneMinute/doNothingForOneMinute.sh b/IntegrationTests/DoNothingOneMinute/doNothingForOneMinute.sh old mode 100755 new mode 100644 diff --git a/IntegrationTests/NonDeterminist/build.sh b/IntegrationTests/NonDeterminist/build.sh old mode 100755 new mode 100644 diff --git a/IntegrationTests/NonDeterminist/generateNonDeterminist.sh b/IntegrationTests/NonDeterminist/generateNonDeterminist.sh old mode 100755 new mode 100644 diff --git a/IntegrationTests/SgxApp/build.sh b/IntegrationTests/SgxApp/build.sh old mode 100755 new mode 100644 diff --git a/MemeGenerator/build.sh b/MemeGenerator/build.sh old mode 100755 new mode 100644 diff --git a/MemeGenerator/entrypoint.sh b/MemeGenerator/entrypoint.sh old mode 100755 new mode 100644 diff --git a/PriceFeed-Kaiko/build.sh b/PriceFeed-Kaiko/build.sh old mode 100755 new mode 100644 diff --git a/PriceFeed-Kaiko/entrypoint.sh b/PriceFeed-Kaiko/entrypoint.sh old mode 100755 new mode 100644 diff --git a/PriceFeed/build.sh b/PriceFeed/build.sh old mode 100755 new mode 100644 diff --git a/PriceFeed/entrypoint-js.sh b/PriceFeed/entrypoint-js.sh old mode 100755 new mode 100644 diff --git a/PriceFeed/entrypoint-py.sh b/PriceFeed/entrypoint-py.sh old mode 100755 new mode 100644 diff --git a/R-Clifford-Attractors/build.sh b/R-Clifford-Attractors/build.sh old mode 100755 new mode 100644 diff --git a/SudokuCLI/build.sh b/SudokuCLI/build.sh old mode 100755 new mode 100644 diff --git a/WebNotary/build.sh b/WebNotary/build.sh old mode 100755 new mode 100644 diff --git a/WebNotary/entrypoint.sh b/WebNotary/entrypoint.sh old mode 100755 new mode 100644 diff --git a/blender-images/build.sh b/blender-images/build.sh old mode 100755 new mode 100644 diff --git a/blender-images/script.sh b/blender-images/script.sh old mode 100755 new mode 100644 diff --git a/blur-face/build.sh b/blur-face/build.sh old mode 100755 new mode 100644 diff --git a/blur-face/script.sh b/blur-face/script.sh old mode 100755 new mode 100644 diff --git a/face-swap/entrypoint.sh b/face-swap/entrypoint.sh old mode 100755 new mode 100644 diff --git a/ffmpeg/ffmpegPoCoReady.sh b/ffmpeg/ffmpegPoCoReady.sh old mode 100755 new mode 100644 diff --git a/find-face/build.sh b/find-face/build.sh old mode 100755 new mode 100644 diff --git a/find-face/script.sh b/find-face/script.sh old mode 100755 new mode 100644 diff --git a/gnuplot/build.sh b/gnuplot/build.sh old mode 100755 new mode 100644 diff --git a/oyente/Dockerfile b/oyente/Dockerfile old mode 100755 new mode 100644 diff --git a/oyente/customScript.sh b/oyente/customScript.sh old mode 100755 new mode 100644 diff --git a/randomGenerator/build.sh b/randomGenerator/build.sh old mode 100755 new mode 100644 diff --git a/scinumpy/build.sh b/scinumpy/build.sh old mode 100755 new mode 100644 diff --git a/snap/docker-run-test.sh b/snap/docker-run-test.sh old mode 100755 new mode 100644 diff --git a/tee-signature/signature.py b/tee-signature/signature.py index b8f1465b..c56cf044 100644 --- a/tee-signature/signature.py +++ b/tee-signature/signature.py @@ -1,59 +1,59 @@ -#!/usr/bin/python3 -import shutil -import json -import os - -from py_essentials.hashing import fileChecksum -from web3.auto import w3 - -### DEBUG -# enclave private = "0x564a9db84969c8159f7aa3d5393c5ecd014fce6a375842a45b12af6677b12407" -# enclave address = 0x3cB738D98D7A70e81e81B0811Fae2452BcA049Bc -# digest = w3.soliditySha3([ 'string' ], [ 'iExec the wanderer' ]).hex() - -if __name__ == '__main__': - - taskid = os.environ.get('TASKID' ) # or '0x8b43265c231bd32d1b249c1ce58bf0c77a9ebc6a30da37e961063a073a921e06' - worker = os.environ.get('WORKER' ) # or '0x748e091bf16048cb5103E0E10F9D5a8b7fBDd860' - keyfile = os.environ.get('KEYFILE') or '/app/priv_key' - - if not taskid: raise ValueError('Missing TASKID') - if not w3.isAddress(worker): raise ValueError('Invalid worker address') - - worker = w3.toChecksumAddress(worker) - - print("Genrating result and consensus.iexec in /iexec ...") - shutil.copy("/app/result.txt", "/iexec/result.txt") - shutil.copy("/app/result.txt", "/iexec/consensus.iexec") - - with open(keyfile) as f: - private = f.read().splitlines()[0] - - digest = "0x" + fileChecksum("/iexec/consensus.iexec", "sha256") # hexstring - hash = w3.soliditySha3([ 'bytes32', 'bytes32' ], [ taskid, digest ]) - seal = w3.soliditySha3([ 'address', 'bytes32', 'bytes32' ], [ worker, taskid, digest ]) - contrib = w3.soliditySha3([ 'bytes32', 'bytes32' ], [ hash, seal ]) - message = w3.soliditySha3([ 'bytes' ], [ b'\x19Ethereum Signed Message:\n32' + contrib ]) - signature = w3.eth.account.signHash(message, private) - - with open("/iexec/enclaveSig.iexec", 'w') as f: - json.dump({ - 'digest': digest, - 'hash': w3.toHex(hash), - 'seal': w3.toHex(seal), - 'sign': - { - 'v': signature.v, - 'r': w3.toHex(signature.r), - 's': w3.toHex(signature.s) - } - }, f, ensure_ascii=False) - - print("------ Additional log -------") - print("Listing files in /iexec:") - for entry in os.listdir("/iexec"): - print("- {}".format(entry)) - print("Content of /iexec/enclaveSig.iexec") - with open("/iexec/enclaveSig.iexec") as f: - for line in f: - print(f, end='') +#!/usr/bin/python3 +import shutil +import json +import os + +from py_essentials.hashing import fileChecksum +from web3.auto import w3 + +### DEBUG +# enclave private = "0x564a9db84969c8159f7aa3d5393c5ecd014fce6a375842a45b12af6677b12407" +# enclave address = 0x3cB738D98D7A70e81e81B0811Fae2452BcA049Bc +# digest = w3.soliditySha3([ 'string' ], [ 'iExec the wanderer' ]).hex() + +if __name__ == '__main__': + + taskid = os.environ.get('TASKID' ) # or '0x8b43265c231bd32d1b249c1ce58bf0c77a9ebc6a30da37e961063a073a921e06' + worker = os.environ.get('WORKER' ) # or '0x748e091bf16048cb5103E0E10F9D5a8b7fBDd860' + keyfile = os.environ.get('KEYFILE') or '/app/priv_key' + + if not taskid: raise ValueError('Missing TASKID') + if not w3.isAddress(worker): raise ValueError('Invalid worker address') + + worker = w3.toChecksumAddress(worker) + + print("Genrating result and consensus.iexec in /iexec ...") + shutil.copy("/app/result.txt", "/iexec/result.txt") + shutil.copy("/app/result.txt", "/iexec/consensus.iexec") + + with open(keyfile) as f: + private = f.read().splitlines()[0] + + digest = "0x" + fileChecksum("/iexec/consensus.iexec", "sha256") # hexstring + hash = w3.soliditySha3([ 'bytes32', 'bytes32' ], [ taskid, digest ]) + seal = w3.soliditySha3([ 'address', 'bytes32', 'bytes32' ], [ worker, taskid, digest ]) + contrib = w3.soliditySha3([ 'bytes32', 'bytes32' ], [ hash, seal ]) + message = w3.soliditySha3([ 'bytes' ], [ b'\x19Ethereum Signed Message:\n32' + contrib ]) + signature = w3.eth.account.signHash(message, private) + + with open("/iexec/enclaveSig.iexec", 'w') as f: + json.dump({ + 'digest': digest, + 'hash': w3.toHex(hash), + 'seal': w3.toHex(seal), + 'sign': + { + 'v': signature.v, + 'r': w3.toHex(signature.r), + 's': w3.toHex(signature.s) + } + }, f, ensure_ascii=False) + + print("------ Additional log -------") + print("Listing files in /iexec:") + for entry in os.listdir("/iexec"): + print("- {}".format(entry)) + print("Content of /iexec/enclaveSig.iexec") + with open("/iexec/enclaveSig.iexec") as f: + for line in f: + print(f, end='') diff --git a/ups-package-tracker/.gitignore b/ups-package-tracker/.gitignore new file mode 100644 index 00000000..0a3569a1 --- /dev/null +++ b/ups-package-tracker/.gitignore @@ -0,0 +1,4 @@ +./smart-contract/build +./smart-contract/daemon/node_modules +./smart-contract/node_modules +./app/node_modules \ No newline at end of file diff --git a/ups-package-tracker/app/Dockerfile b/ups-package-tracker/app/Dockerfile new file mode 100644 index 00000000..7b3ca70c --- /dev/null +++ b/ups-package-tracker/app/Dockerfile @@ -0,0 +1,6 @@ +FROM node:11-alpine +COPY package-tracker.js /src/package-tracker.js +COPY entrypoint.sh /entrypoint.sh +RUN npm i https ethers fs +RUN chmod +x /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] \ No newline at end of file diff --git a/ups-package-tracker/app/entrypoint.sh b/ups-package-tracker/app/entrypoint.sh new file mode 100644 index 00000000..d6426a4a --- /dev/null +++ b/ups-package-tracker/app/entrypoint.sh @@ -0,0 +1,2 @@ +#!/bin/sh +node src/package-tracker.js $@ \ No newline at end of file diff --git a/ups-package-tracker/app/package-lock.json b/ups-package-tracker/app/package-lock.json new file mode 100644 index 00000000..50bf46d4 --- /dev/null +++ b/ups-package-tracker/app/package-lock.json @@ -0,0 +1,98 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@types/node": { + "version": "10.14.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.19.tgz", + "integrity": "sha512-j6Sqt38ssdMKutXBUuAcmWF8QtHW1Fwz/mz4Y+Wd9mzpBiVFirjpNQf363hG5itkG+yGaD+oiLyb50HxJ36l9Q==" + }, + "aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "elliptic": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", + "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "inherits": "^2.0.1" + } + }, + "ethers": { + "version": "4.0.37", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.37.tgz", + "integrity": "sha512-B7bDdyQ45A5lPr6k2HOkEKMtYOuqlfy+nNf8glnRvWidkDQnToKw1bv7UyrwlbsIgY2mE03UxTVtouXcT6Vvcw==", + "requires": { + "@types/node": "^10.3.2", + "aes-js": "3.0.0", + "bn.js": "^4.4.0", + "elliptic": "6.3.3", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==" + }, + "setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=" + }, + "uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=" + }, + "xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=" + } + } +} diff --git a/ups-package-tracker/app/package-tracker.js b/ups-package-tracker/app/package-tracker.js new file mode 100644 index 00000000..45bcf85d --- /dev/null +++ b/ups-package-tracker/app/package-tracker.js @@ -0,0 +1,133 @@ +const https = require('https'); +const ethers = require('ethers'); +const fs = require('fs'); + +const root = 'iexec_out'; +const determinismFilePath = `${root}/determinism.iexec`; +const callbackFilePath = `${root}/callback.iexec`; +const errorFilePath = `${root}/error.iexec`; + + +/***************************************************************************** + * TOOLS * + *****************************************************************************/ +const sleep = (ms) => { + return new Promise(resolve => setTimeout(resolve, ms)); +} + +const cat = (path) => { + try { return fs.readFileSync(path).toString(); } catch (e) { return null; } +} + +/***************************************************************************** + * CONFIG * + *****************************************************************************/ + +// UPS api key +const APIKEY = '7D6C7B558EF337F2'; + +// random delay +const WAIT_MIN = parseInt(process.env.WAIT_MIN) || 0; // in ms +const WAIT_MAX = parseInt(process.env.WAIT_MAX) || 0; // in ms + +/***************************************************************************** + * ARGUMENTS * + *****************************************************************************/ + +var [ UPS_username, UPS_password, trackingNumber ] = process.argv.slice(2); + +/***************************************************************************** + * HTTP QUERY * + *****************************************************************************/ + +const post_data = JSON.stringify({ + "UPSSecurity": { + "UsernameToken": { + "Username": UPS_username, + "Password": UPS_password + }, + "ServiceAccessToken": { + "AccessLicenseNumber": APIKEY + } + }, + "TrackRequest": { + "Request": { + "RequestOption": "1", + "TransactionReference": { + "CustomerContext": "Your Test Case Summary Description" + } + }, + "InquiryNumber": trackingNumber + } + +}); + +const options = { + method: 'POST', + host: 'onlinetools.ups.com', + path: '/rest/Track', + headers: {'Content-Type': 'application/json', 'Content-Length': post_data.length}, +}; + +/***************************************************************************** + * EXECUTE * + *****************************************************************************/ +new Promise(async (resolve, reject) => { + + const delay = (WAIT_MAX-WAIT_MIN) * Math.random() + WAIT_MIN; + console.log(`- Waiting for ${delay} ms.`); + await sleep(delay); + + console.log(`making request`); + let chunks = []; + let request = https.request(options, res => { + res.on('data', (chunk) => { + chunks.push(chunk); + }); + res.on('end', () => { + if (chunks.length) + { + resolve(chunks.join('')); + } + else + { + reject(`[HTTP ERROR]\nstatusCode: ${res.statusCode}`); + } + }); + }); + request.write(post_data); + request.on('error', reject); + request.end(); +}) +.then(data => { + console.log("parsing JSON"); + let results = JSON.parse(data.toString()); + // console.log(results); + + if (results.Fault !== undefined) + { + console.log("error"); + throw new Error(JSON.stringify(results.Fault.detail)); + } + let deliveryStatus = results.TrackResponse.Shipment.Package.Activity[0].Status.Description; + + var iexeccallback = ethers.utils.defaultAbiCoder.encode(['string'], [deliveryStatus]); + var iexecconsensus = ethers.utils.keccak256(iexeccallback); + fs.writeFile(callbackFilePath, iexeccallback , (err) => {}); + fs.writeFile(determinismFilePath, iexecconsensus, (err) => {}); + + console.log(`- Success: ${deliveryStatus}`); +}) +.catch(error => { + fs.writeFile( + errorFilePath, + error.toString(), + (err) => {} + ); + fs.writeFile( + determinismFilePath, + ethers.utils.solidityKeccak256(['string'],[error.toString()]), + (err) => {} + ); + console.log(error.toString()); +}); diff --git a/ups-package-tracker/chain.json b/ups-package-tracker/chain.json new file mode 100644 index 00000000..700ab0e4 --- /dev/null +++ b/ups-package-tracker/chain.json @@ -0,0 +1,29 @@ +{ + "default": "kovan", + "chains": { + "dev": { + "host": "http://localhost:8545", + "sms": "http://localhost:5000", + "id": "17", + "hub": "0x60E25C038D70A15364DAc11A042DB1dD7A2cccBC" + }, + "ropsten": { + "host": "https://ropsten.infura.io/v3/f3e0664e01504f5ab2b4360853ce0dc7", + "id": "3" + }, + "rinkeby": { + "host": "https://rinkeby.infura.io/v3/f3e0664e01504f5ab2b4360853ce0dc7", + "id": "4" + }, + "kovan": { + "host": "https://kovan.infura.io/v3/f3e0664e01504f5ab2b4360853ce0dc7", + "id": "42", + "sms": "https://sms-kovan.iex.ec" + }, + "mainnet": { + "host": "https://mainnet.infura.io/v3/f3e0664e01504f5ab2b4360853ce0dc7", + "id": "1", + "sms": "https://sms-mainnet.iex.ec" + } + } +} \ No newline at end of file diff --git a/ups-package-tracker/deployed.json b/ups-package-tracker/deployed.json new file mode 100644 index 00000000..9f67b9a9 --- /dev/null +++ b/ups-package-tracker/deployed.json @@ -0,0 +1,5 @@ +{ + "app": { + "42": "0x8Ee07bCf22573a5D934e907E71E5127a55DAe6A0" + } +} \ No newline at end of file diff --git a/ups-package-tracker/iexec.json b/ups-package-tracker/iexec.json new file mode 100644 index 00000000..a5354612 --- /dev/null +++ b/ups-package-tracker/iexec.json @@ -0,0 +1,35 @@ +{ + "description": "UPS package tracker - simple doracle to get delivery status given a UPS username, password, and tracking number. ", + "license": "MIT", + "author": "?", + "social": { + "website": "?", + "github": "?" + }, + "logo": "logo.png", + "buyConf": { + "params": "", + "tag": "0x0000000000000000000000000000000000000000000000000000000000000000", + "trust": "0", + "callback": "0x0000000000000000000000000000000000000000" + }, + "app": { + "owner": "0xe4B6901be4bc68f5de8E62af44Ee1773B103c461", + "name": "UPSPackageTracker", + "type": "DOCKER", + "multiaddr": "registry.hub.docker.com/frippo40/ups-package-tracker:1.0.2", + "checksum": "0x78c67f7d576f2982943adbd8273d50244a2cdb082bb01c5fad4582be4b7d12cd", + "mrenclave": "" + }, + "order": { + "apporder": { + "app": "0x8Ee07bCf22573a5D934e907E71E5127a55DAe6A0", + "appprice": "0", + "volume": "1000000", + "tag": "0x0000000000000000000000000000000000000000000000000000000000000000", + "datasetrestrict": "0x0000000000000000000000000000000000000000", + "workerpoolrestrict": "0x0000000000000000000000000000000000000000", + "requesterrestrict": "0x0000000000000000000000000000000000000000" + } + } +} \ No newline at end of file diff --git a/ups-package-tracker/orders.json b/ups-package-tracker/orders.json new file mode 100644 index 00000000..9f9c509b --- /dev/null +++ b/ups-package-tracker/orders.json @@ -0,0 +1,15 @@ +{ + "42": { + "apporder": { + "app": "0x8Ee07bCf22573a5D934e907E71E5127a55DAe6A0", + "appprice": "0", + "volume": "1000000", + "tag": "0x0000000000000000000000000000000000000000000000000000000000000000", + "datasetrestrict": "0x0000000000000000000000000000000000000000", + "workerpoolrestrict": "0x0000000000000000000000000000000000000000", + "requesterrestrict": "0x0000000000000000000000000000000000000000", + "salt": "0x6818fc0531f2d84d95ccf574de6a61e2cfcae35bac9a1ff7e4e0b08caa016d5b", + "sign": "0xea2feb31fe4edebb788ac7a002b5d5313f371cbd8e1c42d2ce8ea9a578b0aa6e2e54618acd0118c0ab08f9e1a700bf640d33c8e792bf87d0d6c3373b358b9d1e1b" + } + } +} \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/README.md b/ups-package-tracker/smart-contract/README.md new file mode 100644 index 00000000..893dfb85 --- /dev/null +++ b/ups-package-tracker/smart-contract/README.md @@ -0,0 +1,75 @@ +iExec Dencentralized Oracle System +================================== + +About iExec +----------- + +Thanks to iExec, it is possible to achieve onchain consensus about the result of an offchain application. Applications are represented by smart contracts and execution results can be made available onchain with all the necessary proof. + +Building an oracle application +------------------------------ + +iExec applications produce different outputs. +* The consensus is achieved based on a deterministic value describing the application output. By default this is the hash of the result archive, but can be overriden by the content of `/iexec_out/determinism.iexec`. Upon successful verification, this is stored onchain in the `task.resultDigest` field. +* The actual result. By default this is the IPFS address of a (potentially encrypted) archive containing the outputs, but can be overridden by the content of `/iexec_out/callback.iexec`. Upon successful verification, this is stored onchain in the `task.results` field. + +An iExec oracle application such as the one used in the price-oracle example uses these 2 elements to produce verified results to the blockchain. + +Given a set of parameters, the application produces a self-describing result, encodes it in a way that can be interpreted onchain, stores it in `/iexec_out/callback.iexec` so that is can be accessed onchain, and stores the hash of this encoded value to perform the consensus. + +For example, given the parameters "BTC USD 9 2019-04-11T13:08:32.605Z" the price-oracle application will: + +1. Retreive the price of BTC in USD at 2019-04-11T13:08:32.605Z +2. Multiply this value by 10e9 (to capture price value more accurately as it will be represented by an integer onchain) +3. encode the date, the description ("btc-usd-9") and the value using `abi.encode` +4. Store this result in `/iexec_out/callback.iexec` +5. hash the result and store it in `/iexec_out/determinism.iexec` + +iExec will then achieve PoCo consensus on the `/iexec_out/determinism.iexec` value, and will store both the `/iexec_out/determinism.iexec` and the `/iexec_out/callback.iexec` onchain. + +Given a taskID, it is possible to retrieve all the details of the computation as described above. The oracle smart contract just needs to retrieve the information, verify the validity of the execution and process the encoded result. Thanks to the PoCo consensus, anyone can require a computation and ask the oracle to update itself in a trustless manner. + +How to setup an oracle contract +------------------------------- + +1. Record the address of the iExec Hub and Clerk contracts + +2. Register the requirements needed for a result to be processed + * Which application (single, any, whitelist?) + * Which dataset (single, any, whitelist?) + * Which workerpool (single, any, whitelist?) + * Minimum level of trust + * Mandatory tag + +How to update an oracle contract +-------------------------------- + +1. Send the taskID of a valid execution to the oracle smart contract. +2. The oracle smart contract retrieves details about this task from the iexec's smart contracts. +3. The oracle smart contract verifies the execution is valid (authorized app, dataset, workerpool, trust level and tags). +4. The oracle smart contract verifies the hash of the results correspond to the resultDigest that achieved consensus, thus verifying the validity of the result field. +5. The oracle smart contract decodes the results using `abi.decode`. +6. The oracle smart contract processes the results. In the case of the price oracle, this means storing the value if it is more recent than the one currently recorded. + +How to read price from the iExec price oracle +--------------------------------------------- + +Just query the oracle `values` field with the id of the requested field. For example, to get the most recent price of BTC in USD with 9 place precision (as described above), query `values(keccak256(bytes("BTC-USD-9")))` and this will return a structure containing the value, the associate date, and the details of the request. + +Deployed addresses +------------------ + +1. **Kovan:** + + price oracle: `https://kovan.etherscan.io/address/0x3b9f1a9aecb1991f3818f45bd4cc735f4bee93ac` + + app whitelist: `https://kovan.etherscan.io/address/0x651a09cdff5a6669ea8bf05be11eff4aa9cbfdaf` + + whitelist contains: + + * `0xf92f39545340ce2fd6f4248a689fca4f660ae42f` + * `0xe01bccbcab54c42f999b6ce88d63d3a5e96cfdb7` + + Whitelist is administered by: + + * `0x7bd4783FDCAD405A28052a0d1f11236A741da593` diff --git a/ups-package-tracker/smart-contract/build/contracts/IERC1271.json b/ups-package-tracker/smart-contract/build/contracts/IERC1271.json new file mode 100644 index 00000000..cde2b1ef --- /dev/null +++ b/ups-package-tracker/smart-contract/build/contracts/IERC1271.json @@ -0,0 +1,438 @@ +{ + "contractName": "IERC1271", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_data", + "type": "bytes32" + }, + { + "name": "_signature", + "type": "bytes" + } + ], + "name": "isValidSignature", + "outputs": [ + { + "name": "isValid", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"_data\",\"type\":\"bytes32\"},{\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"name\":\"isValid\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"isValidSignature(bytes32,bytes)\":{\"details\":\"Should return whether the signature provided is valid for the provided data\",\"params\":{\"_data\":\"Arbitrary length data signed on the behalf of address(this)\",\"_signature\":\"Signature byte array associated with _data\\t * MUST return the bytes4 magic value 0x20c13b0b when function passes. MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5) MUST allow external calls\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"iexec-solidity/contracts/ERC1271/IERC1271.sol\":\"IERC1271\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-solidity/contracts/ERC1271/IERC1271.sol\":{\"keccak256\":\"0x90daa992bd38a335a1e6503b4b815b5aa5315366637dc0cb0b98e7f39096c842\",\"urls\":[\"bzzr://9c88f54779ee800bd2235d96ea251b3c80e45d4c127db93a9a71a8b9235becb2\",\"dweb:/ipfs/QmYUozJfjw7r62NVhfu2p9i9iREcSygNx3pW6YvxpTXx7J\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.5.0;\n\ncontract IERC1271\n{\n\t// bytes4(keccak256(\"isValidSignature(bytes,bytes)\")\n\tbytes4 constant internal MAGICVALUE = 0x20c13b0b;\n\n\t/**\n\t * @dev Should return whether the signature provided is valid for the provided data\n\t * @param _data Arbitrary length data signed on the behalf of address(this)\n\t * @param _signature Signature byte array associated with _data\n\t *\n\t * MUST return the bytes4 magic value 0x20c13b0b when function passes.\n\t * MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5)\n\t * MUST allow external calls\n\t */\n\t// function isValidSignature(\n\t// \tbytes memory _data,\n\t// \tbytes memory _signature)\n\t// \tpublic\n\t// \tview\n\t// \treturns (bytes4 magicValue);\n\n\t// Newer version ? From 0x V2\n\tfunction isValidSignature(\n\t\tbytes32 _data,\n\t\tbytes memory _signature\n\t)\n\tpublic\n\tview\n\treturns (bool isValid);\n}\n", + "sourcePath": "iexec-solidity/contracts/ERC1271/IERC1271.sol", + "ast": { + "absolutePath": "iexec-solidity/contracts/ERC1271/IERC1271.sol", + "exportedSymbols": { + "IERC1271": [ + 1585 + ] + }, + "id": 1586, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1572, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:10" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 1585, + "linearizedBaseContracts": [ + 1585 + ], + "name": "IERC1271", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1575, + "name": "MAGICVALUE", + "nodeType": "VariableDeclaration", + "scope": 1585, + "src": "100:48:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1573, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "100:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783230633133623062", + "id": 1574, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "138:10:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_549534475_by_1", + "typeString": "int_const 549534475" + }, + "value": "0x20c13b0b" + }, + "visibility": "internal" + }, + { + "body": null, + "documentation": "@dev Should return whether the signature provided is valid for the provided data\n@param _data Arbitrary length data signed on the behalf of address(this)\n@param _signature Signature byte array associated with _data\n\t * MUST return the bytes4 magic value 0x20c13b0b when function passes.\nMUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5)\nMUST allow external calls", + "id": 1584, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isValidSignature", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1580, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1577, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 1584, + "src": "788:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1576, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "788:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1579, + "name": "_signature", + "nodeType": "VariableDeclaration", + "scope": 1584, + "src": "805:23:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1578, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "805:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "784:47:10" + }, + "returnParameters": { + "id": 1583, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1582, + "name": "isValid", + "nodeType": "VariableDeclaration", + "scope": 1584, + "src": "856:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1581, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "856:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "855:14:10" + }, + "scope": 1585, + "src": "759:111:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1586, + "src": "25:847:10" + } + ], + "src": "0:873:10" + }, + "legacyAST": { + "absolutePath": "iexec-solidity/contracts/ERC1271/IERC1271.sol", + "exportedSymbols": { + "IERC1271": [ + 1585 + ] + }, + "id": 1586, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1572, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:10" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 1585, + "linearizedBaseContracts": [ + 1585 + ], + "name": "IERC1271", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1575, + "name": "MAGICVALUE", + "nodeType": "VariableDeclaration", + "scope": 1585, + "src": "100:48:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1573, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "100:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783230633133623062", + "id": 1574, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "138:10:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_549534475_by_1", + "typeString": "int_const 549534475" + }, + "value": "0x20c13b0b" + }, + "visibility": "internal" + }, + { + "body": null, + "documentation": "@dev Should return whether the signature provided is valid for the provided data\n@param _data Arbitrary length data signed on the behalf of address(this)\n@param _signature Signature byte array associated with _data\n\t * MUST return the bytes4 magic value 0x20c13b0b when function passes.\nMUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5)\nMUST allow external calls", + "id": 1584, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isValidSignature", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1580, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1577, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 1584, + "src": "788:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1576, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "788:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1579, + "name": "_signature", + "nodeType": "VariableDeclaration", + "scope": 1584, + "src": "805:23:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1578, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "805:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "784:47:10" + }, + "returnParameters": { + "id": 1583, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1582, + "name": "isValid", + "nodeType": "VariableDeclaration", + "scope": 1584, + "src": "856:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1581, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "856:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "855:14:10" + }, + "scope": 1585, + "src": "759:111:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1586, + "src": "25:847:10" + } + ], + "src": "0:873:10" + }, + "compiler": { + "name": "solc", + "version": "0.5.10+commit.5a6ea5b1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.16", + "updatedAt": "2019-10-22T00:23:52.021Z", + "devdoc": { + "methods": { + "isValidSignature(bytes32,bytes)": { + "details": "Should return whether the signature provided is valid for the provided data", + "params": { + "_data": "Arbitrary length data signed on the behalf of address(this)", + "_signature": "Signature byte array associated with _data\t * MUST return the bytes4 magic value 0x20c13b0b when function passes. MUST NOT modify state (using STATICCALL for solc < 0.5, view modifier for solc > 0.5) MUST allow external calls" + } + } + } + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/build/contracts/IERC20.json b/ups-package-tracker/smart-contract/build/contracts/IERC20.json new file mode 100644 index 00000000..f0415ac4 --- /dev/null +++ b/ups-package-tracker/smart-contract/build/contracts/IERC20.json @@ -0,0 +1,1884 @@ +{ + "contractName": "IERC20", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "recipient", + "type": "address" + }, + { + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "owner", + "type": "address" + }, + { + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "spender", + "type": "address" + }, + { + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "sender", + "type": "address" + }, + { + "name": "recipient", + "type": "address" + }, + { + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\"},{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"recipient\",\"type\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP. Does not include the optional functions; to access them see `ERC20Detailed`.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through `transferFrom`. This is zero by default. * This value changes when `approve` or `transferFrom` are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. * Returns a boolean value indicating whether the operation succeeded. * > Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * Emits an `Approval` event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `recipient`. * Returns a boolean value indicating whether the operation succeeded. * Emits a `Transfer` event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. * Returns a boolean value indicating whether the operation succeeded. * Emits a `Transfer` event.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x90e8c2521653bbb1768b05889c5760031e688d9cd361f167489b89215e201b95\",\"urls\":[\"bzzr://aa8b45b57edafc3d67bc5d916327ea16807fae33f753ca163ae0c4061b789766\",\"dweb:/ipfs/QmP5NaEwZthQeM2ESz4WTT3osrP7jhbvu7ocbttBi2JAw6\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.5.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP. Does not include\n * the optional functions; to access them see `ERC20Detailed`.\n */\ninterface IERC20 {\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a `Transfer` event.\n */\n function transfer(address recipient, uint256 amount) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through `transferFrom`. This is\n * zero by default.\n *\n * This value changes when `approve` or `transferFrom` are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * > Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an `Approval` event.\n */\n function approve(address spender, uint256 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `sender` to `recipient` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a `Transfer` event.\n */\n function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);\n\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to `approve`. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n", + "sourcePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", + "ast": { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", + "exportedSymbols": { + "IERC20": [ + 1907 + ] + }, + "id": 1908, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1840, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:13" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": "@dev Interface of the ERC20 standard as defined in the EIP. Does not include\nthe optional functions; to access them see `ERC20Detailed`.", + "fullyImplemented": false, + "id": 1907, + "linearizedBaseContracts": [ + 1907 + ], + "name": "IERC20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": "@dev Returns the amount of tokens in existence.", + "id": 1845, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1841, + "nodeType": "ParameterList", + "parameters": [], + "src": "290:2:13" + }, + "returnParameters": { + "id": 1844, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1843, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1845, + "src": "316:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1842, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "316:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "315:9:13" + }, + "scope": 1907, + "src": "270:55:13", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": "@dev Returns the amount of tokens owned by `account`.", + "id": 1852, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1848, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1847, + "name": "account", + "nodeType": "VariableDeclaration", + "scope": 1852, + "src": "427:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1846, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "427:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "426:17:13" + }, + "returnParameters": { + "id": 1851, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1850, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1852, + "src": "467:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1849, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "467:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "466:9:13" + }, + "scope": 1907, + "src": "408:68:13", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": "@dev Moves `amount` tokens from the caller's account to `recipient`.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a `Transfer` event.", + "id": 1861, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1857, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1854, + "name": "recipient", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "714:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1853, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "714:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1856, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "733:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1855, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "733:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "713:35:13" + }, + "returnParameters": { + "id": 1860, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1859, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "767:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1858, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "767:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "766:6:13" + }, + "scope": 1907, + "src": "696:77:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": "@dev Returns the remaining number of tokens that `spender` will be\nallowed to spend on behalf of `owner` through `transferFrom`. This is\nzero by default.\n * This value changes when `approve` or `transferFrom` are called.", + "id": 1870, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1863, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1870, + "src": "1067:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1862, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1067:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1865, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 1870, + "src": "1082:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1864, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1082:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1066:32:13" + }, + "returnParameters": { + "id": 1869, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1868, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1870, + "src": "1122:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1867, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1122:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1121:9:13" + }, + "scope": 1907, + "src": "1048:83:13", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": "@dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n * Returns a boolean value indicating whether the operation succeeded.\n * > Beware that changing an allowance with this method brings the risk\nthat someone may use both the old and the new allowance by unfortunate\ntransaction ordering. One possible solution to mitigate this race\ncondition is to first reduce the spender's allowance to 0 and set the\ndesired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * Emits an `Approval` event.", + "id": 1879, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1875, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1872, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 1879, + "src": "1792:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1871, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1792:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1874, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 1879, + "src": "1809:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1873, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1809:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1791:33:13" + }, + "returnParameters": { + "id": 1878, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1877, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1879, + "src": "1843:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1876, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1843:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1842:6:13" + }, + "scope": 1907, + "src": "1775:74:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": "@dev Moves `amount` tokens from `sender` to `recipient` using the\nallowance mechanism. `amount` is then deducted from the caller's\nallowance.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a `Transfer` event.", + "id": 1890, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1886, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1881, + "name": "sender", + "nodeType": "VariableDeclaration", + "scope": 1890, + "src": "2178:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1880, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2178:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1883, + "name": "recipient", + "nodeType": "VariableDeclaration", + "scope": 1890, + "src": "2194:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1882, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2194:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1885, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 1890, + "src": "2213:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1884, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2213:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2177:51:13" + }, + "returnParameters": { + "id": 1889, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1888, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1890, + "src": "2247:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1887, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2247:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2246:6:13" + }, + "scope": 1907, + "src": "2156:97:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "anonymous": false, + "documentation": "@dev Emitted when `value` tokens are moved from one account (`from`) to\nanother (`to`).\n * Note that `value` may be zero.", + "id": 1898, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 1897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1892, + "indexed": true, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 1898, + "src": "2437:20:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1891, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2437:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1894, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1898, + "src": "2459:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1893, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2459:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1896, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1898, + "src": "2479:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1895, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2479:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2436:57:13" + }, + "src": "2422:72:13" + }, + { + "anonymous": false, + "documentation": "@dev Emitted when the allowance of a `spender` for an `owner` is set by\na call to `approve`. `value` is the new allowance.", + "id": 1906, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 1905, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1900, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1906, + "src": "2668:21:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1899, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2668:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1902, + "indexed": true, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 1906, + "src": "2691:23:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1901, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2691:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1904, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1906, + "src": "2716:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1903, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2716:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2667:63:13" + }, + "src": "2653:78:13" + } + ], + "scope": 1908, + "src": "176:2557:13" + } + ], + "src": "0:2734:13" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", + "exportedSymbols": { + "IERC20": [ + 1907 + ] + }, + "id": 1908, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1840, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:13" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": "@dev Interface of the ERC20 standard as defined in the EIP. Does not include\nthe optional functions; to access them see `ERC20Detailed`.", + "fullyImplemented": false, + "id": 1907, + "linearizedBaseContracts": [ + 1907 + ], + "name": "IERC20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": "@dev Returns the amount of tokens in existence.", + "id": 1845, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1841, + "nodeType": "ParameterList", + "parameters": [], + "src": "290:2:13" + }, + "returnParameters": { + "id": 1844, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1843, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1845, + "src": "316:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1842, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "316:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "315:9:13" + }, + "scope": 1907, + "src": "270:55:13", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": "@dev Returns the amount of tokens owned by `account`.", + "id": 1852, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1848, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1847, + "name": "account", + "nodeType": "VariableDeclaration", + "scope": 1852, + "src": "427:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1846, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "427:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "426:17:13" + }, + "returnParameters": { + "id": 1851, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1850, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1852, + "src": "467:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1849, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "467:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "466:9:13" + }, + "scope": 1907, + "src": "408:68:13", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": "@dev Moves `amount` tokens from the caller's account to `recipient`.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a `Transfer` event.", + "id": 1861, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1857, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1854, + "name": "recipient", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "714:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1853, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "714:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1856, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "733:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1855, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "733:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "713:35:13" + }, + "returnParameters": { + "id": 1860, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1859, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "767:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1858, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "767:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "766:6:13" + }, + "scope": 1907, + "src": "696:77:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": "@dev Returns the remaining number of tokens that `spender` will be\nallowed to spend on behalf of `owner` through `transferFrom`. This is\nzero by default.\n * This value changes when `approve` or `transferFrom` are called.", + "id": 1870, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1866, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1863, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1870, + "src": "1067:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1862, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1067:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1865, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 1870, + "src": "1082:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1864, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1082:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1066:32:13" + }, + "returnParameters": { + "id": 1869, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1868, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1870, + "src": "1122:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1867, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1122:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1121:9:13" + }, + "scope": 1907, + "src": "1048:83:13", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": "@dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n * Returns a boolean value indicating whether the operation succeeded.\n * > Beware that changing an allowance with this method brings the risk\nthat someone may use both the old and the new allowance by unfortunate\ntransaction ordering. One possible solution to mitigate this race\ncondition is to first reduce the spender's allowance to 0 and set the\ndesired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * Emits an `Approval` event.", + "id": 1879, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1875, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1872, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 1879, + "src": "1792:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1871, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1792:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1874, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 1879, + "src": "1809:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1873, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1809:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1791:33:13" + }, + "returnParameters": { + "id": 1878, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1877, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1879, + "src": "1843:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1876, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1843:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1842:6:13" + }, + "scope": 1907, + "src": "1775:74:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": "@dev Moves `amount` tokens from `sender` to `recipient` using the\nallowance mechanism. `amount` is then deducted from the caller's\nallowance.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a `Transfer` event.", + "id": 1890, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1886, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1881, + "name": "sender", + "nodeType": "VariableDeclaration", + "scope": 1890, + "src": "2178:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1880, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2178:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1883, + "name": "recipient", + "nodeType": "VariableDeclaration", + "scope": 1890, + "src": "2194:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1882, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2194:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1885, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 1890, + "src": "2213:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1884, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2213:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2177:51:13" + }, + "returnParameters": { + "id": 1889, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1888, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1890, + "src": "2247:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1887, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2247:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2246:6:13" + }, + "scope": 1907, + "src": "2156:97:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "anonymous": false, + "documentation": "@dev Emitted when `value` tokens are moved from one account (`from`) to\nanother (`to`).\n * Note that `value` may be zero.", + "id": 1898, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 1897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1892, + "indexed": true, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 1898, + "src": "2437:20:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1891, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2437:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1894, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1898, + "src": "2459:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1893, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2459:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1896, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1898, + "src": "2479:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1895, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2479:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2436:57:13" + }, + "src": "2422:72:13" + }, + { + "anonymous": false, + "documentation": "@dev Emitted when the allowance of a `spender` for an `owner` is set by\na call to `approve`. `value` is the new allowance.", + "id": 1906, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 1905, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1900, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1906, + "src": "2668:21:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1899, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2668:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1902, + "indexed": true, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 1906, + "src": "2691:23:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1901, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2691:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1904, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1906, + "src": "2716:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1903, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2716:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2667:63:13" + }, + "src": "2653:78:13" + } + ], + "scope": 1908, + "src": "176:2557:13" + } + ], + "src": "0:2734:13" + }, + "compiler": { + "name": "solc", + "version": "0.5.10+commit.5a6ea5b1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.16", + "updatedAt": "2019-10-22T00:23:52.028Z", + "devdoc": { + "details": "Interface of the ERC20 standard as defined in the EIP. Does not include the optional functions; to access them see `ERC20Detailed`.", + "methods": { + "allowance(address,address)": { + "details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through `transferFrom`. This is zero by default. * This value changes when `approve` or `transferFrom` are called." + }, + "approve(address,uint256)": { + "details": "Sets `amount` as the allowance of `spender` over the caller's tokens. * Returns a boolean value indicating whether the operation succeeded. * > Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * Emits an `Approval` event." + }, + "balanceOf(address)": { + "details": "Returns the amount of tokens owned by `account`." + }, + "totalSupply()": { + "details": "Returns the amount of tokens in existence." + }, + "transfer(address,uint256)": { + "details": "Moves `amount` tokens from the caller's account to `recipient`. * Returns a boolean value indicating whether the operation succeeded. * Emits a `Transfer` event." + }, + "transferFrom(address,address,uint256)": { + "details": "Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. * Returns a boolean value indicating whether the operation succeeded. * Emits a `Transfer` event." + } + } + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/build/contracts/IERC734.json b/ups-package-tracker/smart-contract/build/contracts/IERC734.json new file mode 100644 index 00000000..c952c4e2 --- /dev/null +++ b/ups-package-tracker/smart-contract/build/contracts/IERC734.json @@ -0,0 +1,3928 @@ +{ + "contractName": "IERC734", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "MANAGEMENT_KEY", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "RSA_TYPE", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ECDSA_TYPE", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ACTION_KEY", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ENCRYPTION_KEY", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CLAIM_SIGNER_KEY", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "key", + "type": "bytes32" + }, + { + "indexed": true, + "name": "purpose", + "type": "uint256" + }, + { + "indexed": true, + "name": "keyType", + "type": "uint256" + } + ], + "name": "KeyAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "key", + "type": "bytes32" + }, + { + "indexed": true, + "name": "purpose", + "type": "uint256" + }, + { + "indexed": true, + "name": "keyType", + "type": "uint256" + } + ], + "name": "KeyRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "executionId", + "type": "uint256" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": true, + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "name": "data", + "type": "bytes" + } + ], + "name": "ExecutionRequested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "executionId", + "type": "uint256" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": true, + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "name": "data", + "type": "bytes" + } + ], + "name": "Executed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "executionId", + "type": "uint256" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": true, + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "name": "data", + "type": "bytes" + } + ], + "name": "ExecutionFailed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "executionId", + "type": "uint256" + }, + { + "indexed": false, + "name": "approved", + "type": "bool" + } + ], + "name": "Approved", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "getKey", + "outputs": [ + { + "name": "purposes", + "type": "uint256[]" + }, + { + "name": "keyType", + "type": "uint256" + }, + { + "name": "key", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + }, + { + "name": "purpose", + "type": "uint256" + } + ], + "name": "keyHasPurpose", + "outputs": [ + { + "name": "exists", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_purpose", + "type": "uint256" + } + ], + "name": "getKeysByPurpose", + "outputs": [ + { + "name": "keys", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + }, + { + "name": "_purpose", + "type": "uint256" + }, + { + "name": "_keyType", + "type": "uint256" + } + ], + "name": "addKey", + "outputs": [ + { + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + }, + { + "name": "_purpose", + "type": "uint256" + } + ], + "name": "removeKey", + "outputs": [ + { + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + }, + { + "name": "_data", + "type": "bytes" + } + ], + "name": "execute", + "outputs": [ + { + "name": "executionId", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_id", + "type": "uint256" + }, + { + "name": "_approve", + "type": "bool" + } + ], + "name": "approve", + "outputs": [ + { + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"MANAGEMENT_KEY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_key\",\"type\":\"bytes32\"}],\"name\":\"getKey\",\"outputs\":[{\"name\":\"purposes\",\"type\":\"uint256[]\"},{\"name\":\"keyType\",\"type\":\"uint256\"},{\"name\":\"key\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_key\",\"type\":\"bytes32\"},{\"name\":\"_purpose\",\"type\":\"uint256\"},{\"name\":\"_keyType\",\"type\":\"uint256\"}],\"name\":\"addKey\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"RSA_TYPE\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ECDSA_TYPE\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_key\",\"type\":\"bytes32\"},{\"name\":\"_purpose\",\"type\":\"uint256\"}],\"name\":\"removeKey\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_id\",\"type\":\"uint256\"},{\"name\":\"_approve\",\"type\":\"bool\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ACTION_KEY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_purpose\",\"type\":\"uint256\"}],\"name\":\"getKeysByPurpose\",\"outputs\":[{\"name\":\"keys\",\"type\":\"bytes32[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ENCRYPTION_KEY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[{\"name\":\"executionId\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"CLAIM_SIGNER_KEY\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_key\",\"type\":\"bytes32\"},{\"name\":\"purpose\",\"type\":\"uint256\"}],\"name\":\"keyHasPurpose\",\"outputs\":[{\"name\":\"exists\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"key\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"purpose\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"keyType\",\"type\":\"uint256\"}],\"name\":\"KeyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"key\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"purpose\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"keyType\",\"type\":\"uint256\"}],\"name\":\"KeyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"executionId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"ExecutionRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"executionId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Executed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"executionId\",\"type\":\"uint256\"},{\"indexed\":true,\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"ExecutionFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"executionId\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"Approved\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"iexec-solidity/contracts/ERC734_KeyManager/IERC734.sol\":\"IERC734\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-solidity/contracts/ERC734_KeyManager/IERC734.sol\":{\"keccak256\":\"0x46532e2d419a87bf604b354318a19d56a3dc25fa7ad6f94c77bd2aa8ce54a755\",\"urls\":[\"bzzr://8ada95bcec956bdd6e7c4e3ec840e9e13cfc04584668d0df2c00459f94d74541\",\"dweb:/ipfs/QmPMM8Prd6iG2g23gbu3arBiy8F8CiDuEZMJPd99WYpXbf\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.5.0;\n\ncontract IERC734\n{\n\t// 1: MANAGEMENT keys, which can manage the identity\n\tuint256 public constant MANAGEMENT_KEY = 1;\n\t// 2: ACTION keys, which perform actions in this identities name (signing, logins, transactions, etc.)\n\tuint256 public constant ACTION_KEY = 2;\n\t// 3: CLAIM signer keys, used to sign claims on other identities which need to be revokable.\n\tuint256 public constant CLAIM_SIGNER_KEY = 3;\n\t// 4: ENCRYPTION keys, used to encrypt data e.g. hold in claims.\n\tuint256 public constant ENCRYPTION_KEY = 4;\n\n\t// KeyType\n\tuint256 public constant ECDSA_TYPE = 1;\n\t// https://medium.com/@alexberegszaszi/lets-bring-the-70s-to-ethereum-48daa16a4b51\n\tuint256 public constant RSA_TYPE = 2;\n\n\t// Events\n\tevent KeyAdded (bytes32 indexed key, uint256 indexed purpose, uint256 indexed keyType);\n\tevent KeyRemoved (bytes32 indexed key, uint256 indexed purpose, uint256 indexed keyType);\n\tevent ExecutionRequested(uint256 indexed executionId, address indexed to, uint256 indexed value, bytes data);\n\tevent Executed (uint256 indexed executionId, address indexed to, uint256 indexed value, bytes data);\n\tevent ExecutionFailed (uint256 indexed executionId, address indexed to, uint256 indexed value, bytes data);\n\tevent Approved (uint256 indexed executionId, bool approved);\n\n\t// Functions\n\tfunction getKey (bytes32 _key ) external view returns (uint256[] memory purposes, uint256 keyType, bytes32 key);\n\tfunction keyHasPurpose (bytes32 _key, uint256 purpose ) external view returns (bool exists);\n\tfunction getKeysByPurpose(uint256 _purpose ) external view returns (bytes32[] memory keys);\n\tfunction addKey (bytes32 _key, uint256 _purpose, uint256 _keyType ) external returns (bool success);\n\tfunction removeKey (bytes32 _key, uint256 _purpose ) external returns (bool success);\n\tfunction execute (address _to, uint256 _value, bytes calldata _data) external returns (uint256 executionId);\n\tfunction approve (uint256 _id, bool _approve ) external returns (bool success);\n}\n", + "sourcePath": "iexec-solidity/contracts/ERC734_KeyManager/IERC734.sol", + "ast": { + "absolutePath": "iexec-solidity/contracts/ERC734_KeyManager/IERC734.sol", + "exportedSymbols": { + "IERC734": [ + 1727 + ] + }, + "id": 1728, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1587, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:11" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 1727, + "linearizedBaseContracts": [ + 1727 + ], + "name": "IERC734", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1590, + "name": "MANAGEMENT_KEY", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "99:42:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1588, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "99:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31", + "id": 1589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "140:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1593, + "name": "ACTION_KEY", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "248:38:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1591, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "248:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 1592, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "285:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1596, + "name": "CLAIM_SIGNER_KEY", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "383:44:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1594, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "383:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "33", + "id": 1595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "426:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1599, + "name": "ENCRYPTION_KEY", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "496:42:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "496:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "34", + "id": 1598, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "537:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1602, + "name": "ECDSA_TYPE", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "554:38:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "554:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31", + "id": 1601, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "591:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1605, + "name": "RSA_TYPE", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "679:36:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "679:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 1604, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "714:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 1613, + "name": "KeyAdded", + "nodeType": "EventDefinition", + "parameters": { + "id": 1612, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1607, + "indexed": true, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 1613, + "src": "755:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1606, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "755:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1609, + "indexed": true, + "name": "purpose", + "nodeType": "VariableDeclaration", + "scope": 1613, + "src": "776:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1608, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "776:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1611, + "indexed": true, + "name": "keyType", + "nodeType": "VariableDeclaration", + "scope": 1613, + "src": "801:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1610, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "801:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "754:71:11" + }, + "src": "730:96:11" + }, + { + "anonymous": false, + "documentation": null, + "id": 1621, + "name": "KeyRemoved", + "nodeType": "EventDefinition", + "parameters": { + "id": 1620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1615, + "indexed": true, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 1621, + "src": "853:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1614, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "853:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1617, + "indexed": true, + "name": "purpose", + "nodeType": "VariableDeclaration", + "scope": 1621, + "src": "874:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1616, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "874:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1619, + "indexed": true, + "name": "keyType", + "nodeType": "VariableDeclaration", + "scope": 1621, + "src": "899:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1618, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "899:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "852:71:11" + }, + "src": "828:96:11" + }, + { + "anonymous": false, + "documentation": null, + "id": 1631, + "name": "ExecutionRequested", + "nodeType": "EventDefinition", + "parameters": { + "id": 1630, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1623, + "indexed": true, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1631, + "src": "951:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1622, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "951:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1625, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1631, + "src": "980:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1624, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "980:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1627, + "indexed": true, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1631, + "src": "1000:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1626, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1000:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1629, + "indexed": false, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 1631, + "src": "1023:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1628, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1023:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "950:84:11" + }, + "src": "926:109:11" + }, + { + "anonymous": false, + "documentation": null, + "id": 1641, + "name": "Executed", + "nodeType": "EventDefinition", + "parameters": { + "id": 1640, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1633, + "indexed": true, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "1062:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1632, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1062:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1635, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "1091:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1634, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1091:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1637, + "indexed": true, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "1111:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1636, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1111:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1639, + "indexed": false, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "1134:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1638, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1134:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1061:84:11" + }, + "src": "1037:109:11" + }, + { + "anonymous": false, + "documentation": null, + "id": 1651, + "name": "ExecutionFailed", + "nodeType": "EventDefinition", + "parameters": { + "id": 1650, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1643, + "indexed": true, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1651, + "src": "1173:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1642, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1173:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1645, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1651, + "src": "1202:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1644, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1202:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1647, + "indexed": true, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1651, + "src": "1222:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1646, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1222:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1649, + "indexed": false, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 1651, + "src": "1245:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1648, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1245:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1172:84:11" + }, + "src": "1148:109:11" + }, + { + "anonymous": false, + "documentation": null, + "id": 1657, + "name": "Approved", + "nodeType": "EventDefinition", + "parameters": { + "id": 1656, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1653, + "indexed": true, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1657, + "src": "1284:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1652, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1284:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1655, + "indexed": false, + "name": "approved", + "nodeType": "VariableDeclaration", + "scope": 1657, + "src": "1313:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1654, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1313:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1283:44:11" + }, + "src": "1259:69:11" + }, + { + "body": null, + "documentation": null, + "id": 1669, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getKey", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1660, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1659, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 1669, + "src": "1371:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1658, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1371:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1370:51:11" + }, + "returnParameters": { + "id": 1668, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1663, + "name": "purposes", + "nodeType": "VariableDeclaration", + "scope": 1669, + "src": "1445:25:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1661, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1445:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1662, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1445:9:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1665, + "name": "keyType", + "nodeType": "VariableDeclaration", + "scope": 1669, + "src": "1472:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1664, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1472:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1667, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 1669, + "src": "1489:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1666, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1489:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1444:57:11" + }, + "scope": 1727, + "src": "1345:157:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1678, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "keyHasPurpose", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1674, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1671, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 1678, + "src": "1530:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1670, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1530:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1673, + "name": "purpose", + "nodeType": "VariableDeclaration", + "scope": 1678, + "src": "1544:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1672, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1544:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1529:51:11" + }, + "returnParameters": { + "id": 1677, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1676, + "name": "exists", + "nodeType": "VariableDeclaration", + "scope": 1678, + "src": "1604:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1675, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1604:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1603:13:11" + }, + "scope": 1727, + "src": "1504:113:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1686, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getKeysByPurpose", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1680, + "name": "_purpose", + "nodeType": "VariableDeclaration", + "scope": 1686, + "src": "1645:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1679, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1645:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1644:51:11" + }, + "returnParameters": { + "id": 1685, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1684, + "name": "keys", + "nodeType": "VariableDeclaration", + "scope": 1686, + "src": "1719:21:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1682, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1719:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1683, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1719:9:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1718:23:11" + }, + "scope": 1727, + "src": "1619:123:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1697, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addKey", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1693, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1688, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 1697, + "src": "1770:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1687, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1770:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1690, + "name": "_purpose", + "nodeType": "VariableDeclaration", + "scope": 1697, + "src": "1784:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1689, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1784:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1692, + "name": "_keyType", + "nodeType": "VariableDeclaration", + "scope": 1697, + "src": "1802:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1691, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1802:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1769:51:11" + }, + "returnParameters": { + "id": 1696, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1695, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 1697, + "src": "1844:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1694, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1844:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1843:14:11" + }, + "scope": 1727, + "src": "1744:114:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1706, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "removeKey", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1702, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1699, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 1706, + "src": "1886:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1698, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1886:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1701, + "name": "_purpose", + "nodeType": "VariableDeclaration", + "scope": 1706, + "src": "1900:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1700, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1900:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1885:51:11" + }, + "returnParameters": { + "id": 1705, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1704, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 1706, + "src": "1960:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1703, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1960:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1959:14:11" + }, + "scope": 1727, + "src": "1860:114:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1717, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "execute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1708, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 1717, + "src": "2002:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1707, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2002:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1710, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 1717, + "src": "2015:14:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1709, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2015:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1712, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 1717, + "src": "2031:20:11", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1711, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2031:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2001:51:11" + }, + "returnParameters": { + "id": 1716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1715, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1717, + "src": "2076:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1714, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2076:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2075:21:11" + }, + "scope": 1727, + "src": "1976:121:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1726, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1722, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1719, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 1726, + "src": "2125:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1718, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2125:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1721, + "name": "_approve", + "nodeType": "VariableDeclaration", + "scope": 1726, + "src": "2138:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1720, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2138:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2124:51:11" + }, + "returnParameters": { + "id": 1725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1724, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 1726, + "src": "2199:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1723, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2199:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2198:14:11" + }, + "scope": 1727, + "src": "2099:114:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1728, + "src": "25:2190:11" + } + ], + "src": "0:2216:11" + }, + "legacyAST": { + "absolutePath": "iexec-solidity/contracts/ERC734_KeyManager/IERC734.sol", + "exportedSymbols": { + "IERC734": [ + 1727 + ] + }, + "id": 1728, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1587, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:11" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 1727, + "linearizedBaseContracts": [ + 1727 + ], + "name": "IERC734", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1590, + "name": "MANAGEMENT_KEY", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "99:42:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1588, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "99:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31", + "id": 1589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "140:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1593, + "name": "ACTION_KEY", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "248:38:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1591, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "248:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 1592, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "285:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1596, + "name": "CLAIM_SIGNER_KEY", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "383:44:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1594, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "383:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "33", + "id": 1595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "426:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1599, + "name": "ENCRYPTION_KEY", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "496:42:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "496:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "34", + "id": 1598, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "537:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1602, + "name": "ECDSA_TYPE", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "554:38:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "554:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31", + "id": 1601, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "591:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1605, + "name": "RSA_TYPE", + "nodeType": "VariableDeclaration", + "scope": 1727, + "src": "679:36:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "679:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 1604, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "714:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 1613, + "name": "KeyAdded", + "nodeType": "EventDefinition", + "parameters": { + "id": 1612, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1607, + "indexed": true, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 1613, + "src": "755:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1606, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "755:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1609, + "indexed": true, + "name": "purpose", + "nodeType": "VariableDeclaration", + "scope": 1613, + "src": "776:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1608, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "776:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1611, + "indexed": true, + "name": "keyType", + "nodeType": "VariableDeclaration", + "scope": 1613, + "src": "801:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1610, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "801:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "754:71:11" + }, + "src": "730:96:11" + }, + { + "anonymous": false, + "documentation": null, + "id": 1621, + "name": "KeyRemoved", + "nodeType": "EventDefinition", + "parameters": { + "id": 1620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1615, + "indexed": true, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 1621, + "src": "853:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1614, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "853:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1617, + "indexed": true, + "name": "purpose", + "nodeType": "VariableDeclaration", + "scope": 1621, + "src": "874:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1616, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "874:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1619, + "indexed": true, + "name": "keyType", + "nodeType": "VariableDeclaration", + "scope": 1621, + "src": "899:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1618, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "899:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "852:71:11" + }, + "src": "828:96:11" + }, + { + "anonymous": false, + "documentation": null, + "id": 1631, + "name": "ExecutionRequested", + "nodeType": "EventDefinition", + "parameters": { + "id": 1630, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1623, + "indexed": true, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1631, + "src": "951:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1622, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "951:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1625, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1631, + "src": "980:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1624, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "980:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1627, + "indexed": true, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1631, + "src": "1000:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1626, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1000:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1629, + "indexed": false, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 1631, + "src": "1023:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1628, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1023:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "950:84:11" + }, + "src": "926:109:11" + }, + { + "anonymous": false, + "documentation": null, + "id": 1641, + "name": "Executed", + "nodeType": "EventDefinition", + "parameters": { + "id": 1640, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1633, + "indexed": true, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "1062:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1632, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1062:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1635, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "1091:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1634, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1091:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1637, + "indexed": true, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "1111:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1636, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1111:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1639, + "indexed": false, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 1641, + "src": "1134:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1638, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1134:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1061:84:11" + }, + "src": "1037:109:11" + }, + { + "anonymous": false, + "documentation": null, + "id": 1651, + "name": "ExecutionFailed", + "nodeType": "EventDefinition", + "parameters": { + "id": 1650, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1643, + "indexed": true, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1651, + "src": "1173:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1642, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1173:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1645, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1651, + "src": "1202:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1644, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1202:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1647, + "indexed": true, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1651, + "src": "1222:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1646, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1222:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1649, + "indexed": false, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 1651, + "src": "1245:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1648, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1245:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1172:84:11" + }, + "src": "1148:109:11" + }, + { + "anonymous": false, + "documentation": null, + "id": 1657, + "name": "Approved", + "nodeType": "EventDefinition", + "parameters": { + "id": 1656, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1653, + "indexed": true, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1657, + "src": "1284:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1652, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1284:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1655, + "indexed": false, + "name": "approved", + "nodeType": "VariableDeclaration", + "scope": 1657, + "src": "1313:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1654, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1313:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1283:44:11" + }, + "src": "1259:69:11" + }, + { + "body": null, + "documentation": null, + "id": 1669, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getKey", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1660, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1659, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 1669, + "src": "1371:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1658, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1371:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1370:51:11" + }, + "returnParameters": { + "id": 1668, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1663, + "name": "purposes", + "nodeType": "VariableDeclaration", + "scope": 1669, + "src": "1445:25:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1661, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1445:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1662, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1445:9:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1665, + "name": "keyType", + "nodeType": "VariableDeclaration", + "scope": 1669, + "src": "1472:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1664, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1472:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1667, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 1669, + "src": "1489:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1666, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1489:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1444:57:11" + }, + "scope": 1727, + "src": "1345:157:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1678, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "keyHasPurpose", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1674, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1671, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 1678, + "src": "1530:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1670, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1530:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1673, + "name": "purpose", + "nodeType": "VariableDeclaration", + "scope": 1678, + "src": "1544:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1672, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1544:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1529:51:11" + }, + "returnParameters": { + "id": 1677, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1676, + "name": "exists", + "nodeType": "VariableDeclaration", + "scope": 1678, + "src": "1604:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1675, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1604:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1603:13:11" + }, + "scope": 1727, + "src": "1504:113:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1686, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getKeysByPurpose", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1680, + "name": "_purpose", + "nodeType": "VariableDeclaration", + "scope": 1686, + "src": "1645:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1679, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1645:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1644:51:11" + }, + "returnParameters": { + "id": 1685, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1684, + "name": "keys", + "nodeType": "VariableDeclaration", + "scope": 1686, + "src": "1719:21:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1682, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1719:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1683, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1719:9:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1718:23:11" + }, + "scope": 1727, + "src": "1619:123:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1697, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addKey", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1693, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1688, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 1697, + "src": "1770:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1687, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1770:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1690, + "name": "_purpose", + "nodeType": "VariableDeclaration", + "scope": 1697, + "src": "1784:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1689, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1784:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1692, + "name": "_keyType", + "nodeType": "VariableDeclaration", + "scope": 1697, + "src": "1802:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1691, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1802:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1769:51:11" + }, + "returnParameters": { + "id": 1696, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1695, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 1697, + "src": "1844:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1694, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1844:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1843:14:11" + }, + "scope": 1727, + "src": "1744:114:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1706, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "removeKey", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1702, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1699, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 1706, + "src": "1886:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1698, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1886:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1701, + "name": "_purpose", + "nodeType": "VariableDeclaration", + "scope": 1706, + "src": "1900:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1700, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1900:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1885:51:11" + }, + "returnParameters": { + "id": 1705, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1704, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 1706, + "src": "1960:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1703, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1960:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1959:14:11" + }, + "scope": 1727, + "src": "1860:114:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1717, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "execute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1708, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 1717, + "src": "2002:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1707, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2002:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1710, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 1717, + "src": "2015:14:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1709, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2015:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1712, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 1717, + "src": "2031:20:11", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1711, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2031:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2001:51:11" + }, + "returnParameters": { + "id": 1716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1715, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1717, + "src": "2076:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1714, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2076:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2075:21:11" + }, + "scope": 1727, + "src": "1976:121:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1726, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1722, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1719, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 1726, + "src": "2125:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1718, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2125:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1721, + "name": "_approve", + "nodeType": "VariableDeclaration", + "scope": 1726, + "src": "2138:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1720, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2138:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2124:51:11" + }, + "returnParameters": { + "id": 1725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1724, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 1726, + "src": "2199:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1723, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2199:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2198:14:11" + }, + "scope": 1727, + "src": "2099:114:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1728, + "src": "25:2190:11" + } + ], + "src": "0:2216:11" + }, + "compiler": { + "name": "solc", + "version": "0.5.10+commit.5a6ea5b1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.16", + "updatedAt": "2019-10-22T00:23:52.023Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/build/contracts/IOracle.json b/ups-package-tracker/smart-contract/build/contracts/IOracle.json new file mode 100644 index 00000000..f88bac9a --- /dev/null +++ b/ups-package-tracker/smart-contract/build/contracts/IOracle.json @@ -0,0 +1,488 @@ +{ + "contractName": "IOracle", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "resultFor", + "outputs": [ + { + "name": "", + "type": "bytes" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"resultFor\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol\":\"IOracle\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol\":{\"keccak256\":\"0xca20f6a22ba7bce6ed87cb53c2f8cfe0751d9b5e02e5f12d1112f0480f6ae31d\",\"urls\":[\"bzzr://31de73df2626e208672a80d8fd78b290af2e126782b70e3c85f62ced8325464f\",\"dweb:/ipfs/QmP7DedzKVi3L2FKhWGfpDgX5ZUE7rncuGKq3B7hefidJ5\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.5.0;\n\n/**\n * @title EIP1154 interface\n * @dev see https://eips.ethereum.org/EIPS/eip-1154\n */\ninterface IOracleConsumer\n{\n\tfunction receiveResult(bytes32, bytes calldata)\n\t\texternal;\n}\n\ninterface IOracle\n{\n\tfunction resultFor(bytes32)\n\t\texternal view returns (bytes memory);\n}\n", + "sourcePath": "iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol", + "ast": { + "absolutePath": "iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol", + "exportedSymbols": { + "IOracle": [ + 1570 + ], + "IOracleConsumer": [ + 1562 + ] + }, + "id": 1571, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1554, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": "@title EIP1154 interface\n@dev see https://eips.ethereum.org/EIPS/eip-1154", + "fullyImplemented": false, + "id": 1562, + "linearizedBaseContracts": [ + 1562 + ], + "name": "IOracleConsumer", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1561, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "receiveResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1559, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1556, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1561, + "src": "165:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1555, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "165:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1558, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1561, + "src": "174:14:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1557, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "174:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "164:25:9" + }, + "returnParameters": { + "id": 1560, + "nodeType": "ParameterList", + "parameters": [], + "src": "200:0:9" + }, + "scope": 1562, + "src": "142:59:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1571, + "src": "113:90:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 1570, + "linearizedBaseContracts": [ + 1570 + ], + "name": "IOracle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1569, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resultFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1565, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1564, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1569, + "src": "245:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1563, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "245:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "244:9:9" + }, + "returnParameters": { + "id": 1568, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1567, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1569, + "src": "279:12:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1566, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "279:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "278:14:9" + }, + "scope": 1570, + "src": "226:67:9", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1571, + "src": "205:90:9" + } + ], + "src": "0:296:9" + }, + "legacyAST": { + "absolutePath": "iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol", + "exportedSymbols": { + "IOracle": [ + 1570 + ], + "IOracleConsumer": [ + 1562 + ] + }, + "id": 1571, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1554, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": "@title EIP1154 interface\n@dev see https://eips.ethereum.org/EIPS/eip-1154", + "fullyImplemented": false, + "id": 1562, + "linearizedBaseContracts": [ + 1562 + ], + "name": "IOracleConsumer", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1561, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "receiveResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1559, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1556, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1561, + "src": "165:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1555, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "165:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1558, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1561, + "src": "174:14:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1557, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "174:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "164:25:9" + }, + "returnParameters": { + "id": 1560, + "nodeType": "ParameterList", + "parameters": [], + "src": "200:0:9" + }, + "scope": 1562, + "src": "142:59:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1571, + "src": "113:90:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 1570, + "linearizedBaseContracts": [ + 1570 + ], + "name": "IOracle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1569, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resultFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1565, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1564, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1569, + "src": "245:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1563, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "245:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "244:9:9" + }, + "returnParameters": { + "id": 1568, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1567, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1569, + "src": "279:12:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1566, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "279:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "278:14:9" + }, + "scope": 1570, + "src": "226:67:9", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1571, + "src": "205:90:9" + } + ], + "src": "0:296:9" + }, + "compiler": { + "name": "solc", + "version": "0.5.10+commit.5a6ea5b1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.16", + "updatedAt": "2019-10-22T00:23:52.019Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/build/contracts/IOracleConsumer.json b/ups-package-tracker/smart-contract/build/contracts/IOracleConsumer.json new file mode 100644 index 00000000..0df2bca9 --- /dev/null +++ b/ups-package-tracker/smart-contract/build/contracts/IOracleConsumer.json @@ -0,0 +1,489 @@ +{ + "contractName": "IOracleConsumer", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "", + "type": "bytes32" + }, + { + "name": "", + "type": "bytes" + } + ], + "name": "receiveResult", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveResult\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"see https://eips.ethereum.org/EIPS/eip-1154\",\"methods\":{},\"title\":\"EIP1154 interface\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol\":\"IOracleConsumer\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol\":{\"keccak256\":\"0xca20f6a22ba7bce6ed87cb53c2f8cfe0751d9b5e02e5f12d1112f0480f6ae31d\",\"urls\":[\"bzzr://31de73df2626e208672a80d8fd78b290af2e126782b70e3c85f62ced8325464f\",\"dweb:/ipfs/QmP7DedzKVi3L2FKhWGfpDgX5ZUE7rncuGKq3B7hefidJ5\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.5.0;\n\n/**\n * @title EIP1154 interface\n * @dev see https://eips.ethereum.org/EIPS/eip-1154\n */\ninterface IOracleConsumer\n{\n\tfunction receiveResult(bytes32, bytes calldata)\n\t\texternal;\n}\n\ninterface IOracle\n{\n\tfunction resultFor(bytes32)\n\t\texternal view returns (bytes memory);\n}\n", + "sourcePath": "iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol", + "ast": { + "absolutePath": "iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol", + "exportedSymbols": { + "IOracle": [ + 1570 + ], + "IOracleConsumer": [ + 1562 + ] + }, + "id": 1571, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1554, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": "@title EIP1154 interface\n@dev see https://eips.ethereum.org/EIPS/eip-1154", + "fullyImplemented": false, + "id": 1562, + "linearizedBaseContracts": [ + 1562 + ], + "name": "IOracleConsumer", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1561, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "receiveResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1559, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1556, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1561, + "src": "165:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1555, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "165:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1558, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1561, + "src": "174:14:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1557, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "174:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "164:25:9" + }, + "returnParameters": { + "id": 1560, + "nodeType": "ParameterList", + "parameters": [], + "src": "200:0:9" + }, + "scope": 1562, + "src": "142:59:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1571, + "src": "113:90:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 1570, + "linearizedBaseContracts": [ + 1570 + ], + "name": "IOracle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1569, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resultFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1565, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1564, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1569, + "src": "245:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1563, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "245:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "244:9:9" + }, + "returnParameters": { + "id": 1568, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1567, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1569, + "src": "279:12:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1566, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "279:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "278:14:9" + }, + "scope": 1570, + "src": "226:67:9", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1571, + "src": "205:90:9" + } + ], + "src": "0:296:9" + }, + "legacyAST": { + "absolutePath": "iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol", + "exportedSymbols": { + "IOracle": [ + 1570 + ], + "IOracleConsumer": [ + 1562 + ] + }, + "id": 1571, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1554, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": "@title EIP1154 interface\n@dev see https://eips.ethereum.org/EIPS/eip-1154", + "fullyImplemented": false, + "id": 1562, + "linearizedBaseContracts": [ + 1562 + ], + "name": "IOracleConsumer", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1561, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "receiveResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1559, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1556, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1561, + "src": "165:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1555, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "165:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1558, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1561, + "src": "174:14:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1557, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "174:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "164:25:9" + }, + "returnParameters": { + "id": 1560, + "nodeType": "ParameterList", + "parameters": [], + "src": "200:0:9" + }, + "scope": 1562, + "src": "142:59:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1571, + "src": "113:90:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 1570, + "linearizedBaseContracts": [ + 1570 + ], + "name": "IOracle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1569, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resultFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1565, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1564, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1569, + "src": "245:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1563, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "245:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "244:9:9" + }, + "returnParameters": { + "id": 1568, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1567, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1569, + "src": "279:12:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1566, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "279:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "278:14:9" + }, + "scope": 1570, + "src": "226:67:9", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1571, + "src": "205:90:9" + } + ], + "src": "0:296:9" + }, + "compiler": { + "name": "solc", + "version": "0.5.10+commit.5a6ea5b1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.16", + "updatedAt": "2019-10-22T00:23:52.020Z", + "devdoc": { + "details": "see https://eips.ethereum.org/EIPS/eip-1154", + "methods": {}, + "title": "EIP1154 interface" + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/build/contracts/IexecClerkInterface.json b/ups-package-tracker/smart-contract/build/contracts/IexecClerkInterface.json new file mode 100644 index 00000000..bbf639eb --- /dev/null +++ b/ups-package-tracker/smart-contract/build/contracts/IexecClerkInterface.json @@ -0,0 +1,8555 @@ +{ + "contractName": "IexecClerkInterface", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "EIP712DOMAIN_SEPARATOR", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "WORKERPOOL_STAKE_RATIO", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "KITTY_RATIO", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "GROUPMEMBER_PURPOSE", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "KITTY_MIN", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "token", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "dealid", + "type": "bytes32" + }, + { + "indexed": false, + "name": "appHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "datasetHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "workerpoolHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "requestHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "volume", + "type": "uint256" + } + ], + "name": "OrdersMatched", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "appHash", + "type": "bytes32" + } + ], + "name": "ClosedAppOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "datasetHash", + "type": "bytes32" + } + ], + "name": "ClosedDatasetOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "workerpoolHash", + "type": "bytes32" + } + ], + "name": "ClosedWorkerpoolOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "requestHash", + "type": "bytes32" + } + ], + "name": "ClosedRequestOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "workerpool", + "type": "address" + }, + { + "indexed": false, + "name": "dealid", + "type": "bytes32" + } + ], + "name": "SchedulerNotice", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "name": "target", + "type": "address" + } + ], + "name": "DepositFor", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "user", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "name": "ref", + "type": "bytes32" + } + ], + "name": "Reward", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "user", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "name": "ref", + "type": "bytes32" + } + ], + "name": "Seize", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "user", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Lock", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "user", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Unlock", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { + "name": "app", + "type": "address" + }, + { + "name": "appprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "datasetrestrict", + "type": "address" + }, + { + "name": "workerpoolrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "indexed": false, + "name": "apporder", + "type": "tuple" + } + ], + "name": "BroadcastAppOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { + "name": "dataset", + "type": "address" + }, + { + "name": "datasetprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "apprestrict", + "type": "address" + }, + { + "name": "workerpoolrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "indexed": false, + "name": "datasetorder", + "type": "tuple" + } + ], + "name": "BroadcastDatasetOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { + "name": "workerpool", + "type": "address" + }, + { + "name": "workerpoolprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "category", + "type": "uint256" + }, + { + "name": "trust", + "type": "uint256" + }, + { + "name": "apprestrict", + "type": "address" + }, + { + "name": "datasetrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "indexed": false, + "name": "workerpoolorder", + "type": "tuple" + } + ], + "name": "BroadcastWorkerpoolOrder", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { + "name": "app", + "type": "address" + }, + { + "name": "appmaxprice", + "type": "uint256" + }, + { + "name": "dataset", + "type": "address" + }, + { + "name": "datasetmaxprice", + "type": "uint256" + }, + { + "name": "workerpool", + "type": "address" + }, + { + "name": "workerpoolmaxprice", + "type": "uint256" + }, + { + "name": "requester", + "type": "address" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "category", + "type": "uint256" + }, + { + "name": "trust", + "type": "uint256" + }, + { + "name": "beneficiary", + "type": "address" + }, + { + "name": "callback", + "type": "address" + }, + { + "name": "params", + "type": "string" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "indexed": false, + "name": "requestorder", + "type": "tuple" + } + ], + "name": "BroadcastRequestOrder", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "name": "viewRequestDeals", + "outputs": [ + { + "name": "", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "name": "viewDeal", + "outputs": [ + { + "components": [ + { + "components": [ + { + "name": "pointer", + "type": "address" + }, + { + "name": "owner", + "type": "address" + }, + { + "name": "price", + "type": "uint256" + } + ], + "name": "app", + "type": "tuple" + }, + { + "components": [ + { + "name": "pointer", + "type": "address" + }, + { + "name": "owner", + "type": "address" + }, + { + "name": "price", + "type": "uint256" + } + ], + "name": "dataset", + "type": "tuple" + }, + { + "components": [ + { + "name": "pointer", + "type": "address" + }, + { + "name": "owner", + "type": "address" + }, + { + "name": "price", + "type": "uint256" + } + ], + "name": "workerpool", + "type": "tuple" + }, + { + "name": "trust", + "type": "uint256" + }, + { + "name": "category", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "requester", + "type": "address" + }, + { + "name": "beneficiary", + "type": "address" + }, + { + "name": "callback", + "type": "address" + }, + { + "name": "params", + "type": "string" + }, + { + "name": "startTime", + "type": "uint256" + }, + { + "name": "botFirst", + "type": "uint256" + }, + { + "name": "botSize", + "type": "uint256" + }, + { + "name": "workerStake", + "type": "uint256" + }, + { + "name": "schedulerRewardRatio", + "type": "uint256" + } + ], + "name": "", + "type": "tuple" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "name": "viewConsumed", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "name": "viewPresigned", + "outputs": [ + { + "name": "presigned", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "components": [ + { + "name": "app", + "type": "address" + }, + { + "name": "appprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "datasetrestrict", + "type": "address" + }, + { + "name": "workerpoolrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_apporder", + "type": "tuple" + } + ], + "name": "signAppOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "components": [ + { + "name": "dataset", + "type": "address" + }, + { + "name": "datasetprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "apprestrict", + "type": "address" + }, + { + "name": "workerpoolrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_datasetorder", + "type": "tuple" + } + ], + "name": "signDatasetOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "components": [ + { + "name": "workerpool", + "type": "address" + }, + { + "name": "workerpoolprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "category", + "type": "uint256" + }, + { + "name": "trust", + "type": "uint256" + }, + { + "name": "apprestrict", + "type": "address" + }, + { + "name": "datasetrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_workerpoolorder", + "type": "tuple" + } + ], + "name": "signWorkerpoolOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "components": [ + { + "name": "app", + "type": "address" + }, + { + "name": "appmaxprice", + "type": "uint256" + }, + { + "name": "dataset", + "type": "address" + }, + { + "name": "datasetmaxprice", + "type": "uint256" + }, + { + "name": "workerpool", + "type": "address" + }, + { + "name": "workerpoolmaxprice", + "type": "uint256" + }, + { + "name": "requester", + "type": "address" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "category", + "type": "uint256" + }, + { + "name": "trust", + "type": "uint256" + }, + { + "name": "beneficiary", + "type": "address" + }, + { + "name": "callback", + "type": "address" + }, + { + "name": "params", + "type": "string" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_requestorder", + "type": "tuple" + } + ], + "name": "signRequestOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "components": [ + { + "name": "app", + "type": "address" + }, + { + "name": "appprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "datasetrestrict", + "type": "address" + }, + { + "name": "workerpoolrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_apporder", + "type": "tuple" + }, + { + "components": [ + { + "name": "dataset", + "type": "address" + }, + { + "name": "datasetprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "apprestrict", + "type": "address" + }, + { + "name": "workerpoolrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_datasetorder", + "type": "tuple" + }, + { + "components": [ + { + "name": "workerpool", + "type": "address" + }, + { + "name": "workerpoolprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "category", + "type": "uint256" + }, + { + "name": "trust", + "type": "uint256" + }, + { + "name": "apprestrict", + "type": "address" + }, + { + "name": "datasetrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_workerpoolorder", + "type": "tuple" + }, + { + "components": [ + { + "name": "app", + "type": "address" + }, + { + "name": "appmaxprice", + "type": "uint256" + }, + { + "name": "dataset", + "type": "address" + }, + { + "name": "datasetmaxprice", + "type": "uint256" + }, + { + "name": "workerpool", + "type": "address" + }, + { + "name": "workerpoolmaxprice", + "type": "uint256" + }, + { + "name": "requester", + "type": "address" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "category", + "type": "uint256" + }, + { + "name": "trust", + "type": "uint256" + }, + { + "name": "beneficiary", + "type": "address" + }, + { + "name": "callback", + "type": "address" + }, + { + "name": "params", + "type": "string" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_requestorder", + "type": "tuple" + } + ], + "name": "matchOrders", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "components": [ + { + "name": "app", + "type": "address" + }, + { + "name": "appprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "datasetrestrict", + "type": "address" + }, + { + "name": "workerpoolrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_apporder", + "type": "tuple" + } + ], + "name": "cancelAppOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "components": [ + { + "name": "dataset", + "type": "address" + }, + { + "name": "datasetprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "apprestrict", + "type": "address" + }, + { + "name": "workerpoolrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_datasetorder", + "type": "tuple" + } + ], + "name": "cancelDatasetOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "components": [ + { + "name": "workerpool", + "type": "address" + }, + { + "name": "workerpoolprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "category", + "type": "uint256" + }, + { + "name": "trust", + "type": "uint256" + }, + { + "name": "apprestrict", + "type": "address" + }, + { + "name": "datasetrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_workerpoolorder", + "type": "tuple" + } + ], + "name": "cancelWorkerpoolOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "components": [ + { + "name": "app", + "type": "address" + }, + { + "name": "appmaxprice", + "type": "uint256" + }, + { + "name": "dataset", + "type": "address" + }, + { + "name": "datasetmaxprice", + "type": "uint256" + }, + { + "name": "workerpool", + "type": "address" + }, + { + "name": "workerpoolmaxprice", + "type": "uint256" + }, + { + "name": "requester", + "type": "address" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "category", + "type": "uint256" + }, + { + "name": "trust", + "type": "uint256" + }, + { + "name": "beneficiary", + "type": "address" + }, + { + "name": "callback", + "type": "address" + }, + { + "name": "params", + "type": "string" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_requestorder", + "type": "tuple" + } + ], + "name": "cancelRequestOrder", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "viewAccount", + "outputs": [ + { + "components": [ + { + "name": "stake", + "type": "uint256" + }, + { + "name": "locked", + "type": "uint256" + } + ], + "name": "", + "type": "tuple" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_amount", + "type": "uint256" + }, + { + "name": "_target", + "type": "address" + } + ], + "name": "depositFor", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_amounts", + "type": "uint256[]" + }, + { + "name": "_targets", + "type": "address[]" + } + ], + "name": "depositForArray", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "components": [ + { + "name": "app", + "type": "address" + }, + { + "name": "appprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "datasetrestrict", + "type": "address" + }, + { + "name": "workerpoolrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_apporder", + "type": "tuple" + } + ], + "name": "broadcastAppOrder", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "components": [ + { + "name": "dataset", + "type": "address" + }, + { + "name": "datasetprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "apprestrict", + "type": "address" + }, + { + "name": "workerpoolrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_datasetorder", + "type": "tuple" + } + ], + "name": "broadcastDatasetOrder", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "components": [ + { + "name": "workerpool", + "type": "address" + }, + { + "name": "workerpoolprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "category", + "type": "uint256" + }, + { + "name": "trust", + "type": "uint256" + }, + { + "name": "apprestrict", + "type": "address" + }, + { + "name": "datasetrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_workerpoolorder", + "type": "tuple" + } + ], + "name": "broadcastWorkerpoolOrder", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "components": [ + { + "name": "app", + "type": "address" + }, + { + "name": "appmaxprice", + "type": "uint256" + }, + { + "name": "dataset", + "type": "address" + }, + { + "name": "datasetmaxprice", + "type": "uint256" + }, + { + "name": "workerpool", + "type": "address" + }, + { + "name": "workerpoolmaxprice", + "type": "uint256" + }, + { + "name": "requester", + "type": "address" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "category", + "type": "uint256" + }, + { + "name": "trust", + "type": "uint256" + }, + { + "name": "beneficiary", + "type": "address" + }, + { + "name": "callback", + "type": "address" + }, + { + "name": "params", + "type": "string" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_requestorder", + "type": "tuple" + } + ], + "name": "broadcastRequestOrder", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"EIP712DOMAIN_SEPARATOR\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"name\":\"app\",\"type\":\"address\"},{\"name\":\"appprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"datasetrestrict\",\"type\":\"address\"},{\"name\":\"workerpoolrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_apporder\",\"type\":\"tuple\"},{\"components\":[{\"name\":\"dataset\",\"type\":\"address\"},{\"name\":\"datasetprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"apprestrict\",\"type\":\"address\"},{\"name\":\"workerpoolrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_datasetorder\",\"type\":\"tuple\"},{\"components\":[{\"name\":\"workerpool\",\"type\":\"address\"},{\"name\":\"workerpoolprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"category\",\"type\":\"uint256\"},{\"name\":\"trust\",\"type\":\"uint256\"},{\"name\":\"apprestrict\",\"type\":\"address\"},{\"name\":\"datasetrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_workerpoolorder\",\"type\":\"tuple\"},{\"components\":[{\"name\":\"app\",\"type\":\"address\"},{\"name\":\"appmaxprice\",\"type\":\"uint256\"},{\"name\":\"dataset\",\"type\":\"address\"},{\"name\":\"datasetmaxprice\",\"type\":\"uint256\"},{\"name\":\"workerpool\",\"type\":\"address\"},{\"name\":\"workerpoolmaxprice\",\"type\":\"uint256\"},{\"name\":\"requester\",\"type\":\"address\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"category\",\"type\":\"uint256\"},{\"name\":\"trust\",\"type\":\"uint256\"},{\"name\":\"beneficiary\",\"type\":\"address\"},{\"name\":\"callback\",\"type\":\"address\"},{\"name\":\"params\",\"type\":\"string\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_requestorder\",\"type\":\"tuple\"}],\"name\":\"matchOrders\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_amounts\",\"type\":\"uint256[]\"},{\"name\":\"_targets\",\"type\":\"address[]\"}],\"name\":\"depositForArray\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_amount\",\"type\":\"uint256\"},{\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"depositFor\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"name\":\"app\",\"type\":\"address\"},{\"name\":\"appmaxprice\",\"type\":\"uint256\"},{\"name\":\"dataset\",\"type\":\"address\"},{\"name\":\"datasetmaxprice\",\"type\":\"uint256\"},{\"name\":\"workerpool\",\"type\":\"address\"},{\"name\":\"workerpoolmaxprice\",\"type\":\"uint256\"},{\"name\":\"requester\",\"type\":\"address\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"category\",\"type\":\"uint256\"},{\"name\":\"trust\",\"type\":\"uint256\"},{\"name\":\"beneficiary\",\"type\":\"address\"},{\"name\":\"callback\",\"type\":\"address\"},{\"name\":\"params\",\"type\":\"string\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_requestorder\",\"type\":\"tuple\"}],\"name\":\"cancelRequestOrder\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"name\":\"app\",\"type\":\"address\"},{\"name\":\"appmaxprice\",\"type\":\"uint256\"},{\"name\":\"dataset\",\"type\":\"address\"},{\"name\":\"datasetmaxprice\",\"type\":\"uint256\"},{\"name\":\"workerpool\",\"type\":\"address\"},{\"name\":\"workerpoolmaxprice\",\"type\":\"uint256\"},{\"name\":\"requester\",\"type\":\"address\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"category\",\"type\":\"uint256\"},{\"name\":\"trust\",\"type\":\"uint256\"},{\"name\":\"beneficiary\",\"type\":\"address\"},{\"name\":\"callback\",\"type\":\"address\"},{\"name\":\"params\",\"type\":\"string\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_requestorder\",\"type\":\"tuple\"}],\"name\":\"broadcastRequestOrder\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"viewConsumed\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"name\":\"dataset\",\"type\":\"address\"},{\"name\":\"datasetprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"apprestrict\",\"type\":\"address\"},{\"name\":\"workerpoolrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_datasetorder\",\"type\":\"tuple\"}],\"name\":\"broadcastDatasetOrder\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"WORKERPOOL_STAKE_RATIO\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"KITTY_RATIO\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"name\":\"dataset\",\"type\":\"address\"},{\"name\":\"datasetprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"apprestrict\",\"type\":\"address\"},{\"name\":\"workerpoolrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_datasetorder\",\"type\":\"tuple\"}],\"name\":\"cancelDatasetOrder\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"GROUPMEMBER_PURPOSE\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"name\":\"workerpool\",\"type\":\"address\"},{\"name\":\"workerpoolprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"category\",\"type\":\"uint256\"},{\"name\":\"trust\",\"type\":\"uint256\"},{\"name\":\"apprestrict\",\"type\":\"address\"},{\"name\":\"datasetrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_workerpoolorder\",\"type\":\"tuple\"}],\"name\":\"signWorkerpoolOrder\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"viewAccount\",\"outputs\":[{\"components\":[{\"name\":\"stake\",\"type\":\"uint256\"},{\"name\":\"locked\",\"type\":\"uint256\"}],\"name\":\"\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"name\":\"app\",\"type\":\"address\"},{\"name\":\"appprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"datasetrestrict\",\"type\":\"address\"},{\"name\":\"workerpoolrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_apporder\",\"type\":\"tuple\"}],\"name\":\"signAppOrder\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"viewRequestDeals\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"name\":\"app\",\"type\":\"address\"},{\"name\":\"appmaxprice\",\"type\":\"uint256\"},{\"name\":\"dataset\",\"type\":\"address\"},{\"name\":\"datasetmaxprice\",\"type\":\"uint256\"},{\"name\":\"workerpool\",\"type\":\"address\"},{\"name\":\"workerpoolmaxprice\",\"type\":\"uint256\"},{\"name\":\"requester\",\"type\":\"address\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"category\",\"type\":\"uint256\"},{\"name\":\"trust\",\"type\":\"uint256\"},{\"name\":\"beneficiary\",\"type\":\"address\"},{\"name\":\"callback\",\"type\":\"address\"},{\"name\":\"params\",\"type\":\"string\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_requestorder\",\"type\":\"tuple\"}],\"name\":\"signRequestOrder\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"name\":\"app\",\"type\":\"address\"},{\"name\":\"appprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"datasetrestrict\",\"type\":\"address\"},{\"name\":\"workerpoolrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_apporder\",\"type\":\"tuple\"}],\"name\":\"cancelAppOrder\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"name\":\"workerpool\",\"type\":\"address\"},{\"name\":\"workerpoolprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"category\",\"type\":\"uint256\"},{\"name\":\"trust\",\"type\":\"uint256\"},{\"name\":\"apprestrict\",\"type\":\"address\"},{\"name\":\"datasetrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_workerpoolorder\",\"type\":\"tuple\"}],\"name\":\"broadcastWorkerpoolOrder\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"name\":\"dataset\",\"type\":\"address\"},{\"name\":\"datasetprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"apprestrict\",\"type\":\"address\"},{\"name\":\"workerpoolrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_datasetorder\",\"type\":\"tuple\"}],\"name\":\"signDatasetOrder\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"name\":\"workerpool\",\"type\":\"address\"},{\"name\":\"workerpoolprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"category\",\"type\":\"uint256\"},{\"name\":\"trust\",\"type\":\"uint256\"},{\"name\":\"apprestrict\",\"type\":\"address\"},{\"name\":\"datasetrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_workerpoolorder\",\"type\":\"tuple\"}],\"name\":\"cancelWorkerpoolOrder\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"viewDeal\",\"outputs\":[{\"components\":[{\"components\":[{\"name\":\"pointer\",\"type\":\"address\"},{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"app\",\"type\":\"tuple\"},{\"components\":[{\"name\":\"pointer\",\"type\":\"address\"},{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"dataset\",\"type\":\"tuple\"},{\"components\":[{\"name\":\"pointer\",\"type\":\"address\"},{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"workerpool\",\"type\":\"tuple\"},{\"name\":\"trust\",\"type\":\"uint256\"},{\"name\":\"category\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"requester\",\"type\":\"address\"},{\"name\":\"beneficiary\",\"type\":\"address\"},{\"name\":\"callback\",\"type\":\"address\"},{\"name\":\"params\",\"type\":\"string\"},{\"name\":\"startTime\",\"type\":\"uint256\"},{\"name\":\"botFirst\",\"type\":\"uint256\"},{\"name\":\"botSize\",\"type\":\"uint256\"},{\"name\":\"workerStake\",\"type\":\"uint256\"},{\"name\":\"schedulerRewardRatio\",\"type\":\"uint256\"}],\"name\":\"\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"components\":[{\"name\":\"app\",\"type\":\"address\"},{\"name\":\"appprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"datasetrestrict\",\"type\":\"address\"},{\"name\":\"workerpoolrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_apporder\",\"type\":\"tuple\"}],\"name\":\"broadcastAppOrder\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"viewPresigned\",\"outputs\":[{\"name\":\"presigned\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"KITTY_MIN\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"dealid\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"appHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"datasetHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"workerpoolHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"requestHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"volume\",\"type\":\"uint256\"}],\"name\":\"OrdersMatched\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"appHash\",\"type\":\"bytes32\"}],\"name\":\"ClosedAppOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"datasetHash\",\"type\":\"bytes32\"}],\"name\":\"ClosedDatasetOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"workerpoolHash\",\"type\":\"bytes32\"}],\"name\":\"ClosedWorkerpoolOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"requestHash\",\"type\":\"bytes32\"}],\"name\":\"ClosedRequestOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"workerpool\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"dealid\",\"type\":\"bytes32\"}],\"name\":\"SchedulerNotice\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"target\",\"type\":\"address\"}],\"name\":\"DepositFor\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"ref\",\"type\":\"bytes32\"}],\"name\":\"Reward\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"ref\",\"type\":\"bytes32\"}],\"name\":\"Seize\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Lock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Unlock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"name\":\"app\",\"type\":\"address\"},{\"name\":\"appprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"datasetrestrict\",\"type\":\"address\"},{\"name\":\"workerpoolrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"indexed\":false,\"name\":\"apporder\",\"type\":\"tuple\"}],\"name\":\"BroadcastAppOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"name\":\"dataset\",\"type\":\"address\"},{\"name\":\"datasetprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"apprestrict\",\"type\":\"address\"},{\"name\":\"workerpoolrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"indexed\":false,\"name\":\"datasetorder\",\"type\":\"tuple\"}],\"name\":\"BroadcastDatasetOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"name\":\"workerpool\",\"type\":\"address\"},{\"name\":\"workerpoolprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"category\",\"type\":\"uint256\"},{\"name\":\"trust\",\"type\":\"uint256\"},{\"name\":\"apprestrict\",\"type\":\"address\"},{\"name\":\"datasetrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"indexed\":false,\"name\":\"workerpoolorder\",\"type\":\"tuple\"}],\"name\":\"BroadcastWorkerpoolOrder\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"name\":\"app\",\"type\":\"address\"},{\"name\":\"appmaxprice\",\"type\":\"uint256\"},{\"name\":\"dataset\",\"type\":\"address\"},{\"name\":\"datasetmaxprice\",\"type\":\"uint256\"},{\"name\":\"workerpool\",\"type\":\"address\"},{\"name\":\"workerpoolmaxprice\",\"type\":\"uint256\"},{\"name\":\"requester\",\"type\":\"address\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"category\",\"type\":\"uint256\"},{\"name\":\"trust\",\"type\":\"uint256\"},{\"name\":\"beneficiary\",\"type\":\"address\"},{\"name\":\"callback\",\"type\":\"address\"},{\"name\":\"params\",\"type\":\"string\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"indexed\":false,\"name\":\"requestorder\",\"type\":\"tuple\"}],\"name\":\"BroadcastRequestOrder\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"iexec-doracle-base/contracts/iexec-poco-interfaces/IexecClerkInterface.sol\":\"IexecClerkInterface\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-doracle-base/contracts/iexec-poco-interfaces/IexecClerkInterface.sol\":{\"keccak256\":\"0xa7a0fa79543be8f912f863594ea972301985e63ecb57cc0c74f5622533e9e02f\",\"urls\":[\"bzzr://439b54843d3e0c113a0b524d159fc53c5fa56024084a436d7334f2cdacbc01e8\",\"dweb:/ipfs/QmRYSTfFCpoKcX8io7qvhxPpTjAmcEQuCFfM4GA3HcCsHB\"]},\"iexec-poco/contracts/libs/IexecODBLibCore.sol\":{\"keccak256\":\"0x3e1a247b137866fe9b7272fc9ea189cf83f8f8a3ad439bbdef1c770f67349b7a\",\"urls\":[\"bzzr://788a11e860998e576e89358eb050b74debca9ab2e46e292abb34753f4abfad60\",\"dweb:/ipfs/QmVt1iunRyGqXa88HvFjYEDRraJCrX5iF478cKhJAeCrh6\"]},\"iexec-poco/contracts/libs/IexecODBLibOrders.sol\":{\"keccak256\":\"0xceb5c2483f92c7bbed29ac473f92371d04830f0c40bd734d01d26eef09e88f4f\",\"urls\":[\"bzzr://054a5f4728d0d5e774bb974181d4d97f98f23f8f2cf695f18723c79e8401b8a0\",\"dweb:/ipfs/QmbgL6dN9Y5osfm9jWDtzy1TMqRWS75EFyFefBwguAcg6W\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x90e8c2521653bbb1768b05889c5760031e688d9cd361f167489b89215e201b95\",\"urls\":[\"bzzr://aa8b45b57edafc3d67bc5d916327ea16807fae33f753ca163ae0c4061b789766\",\"dweb:/ipfs/QmP5NaEwZthQeM2ESz4WTT3osrP7jhbvu7ocbttBi2JAw6\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.5.8;\npragma experimental ABIEncoderV2;\n\nimport \"iexec-poco/contracts/libs/IexecODBLibCore.sol\";\nimport \"iexec-poco/contracts/libs/IexecODBLibOrders.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\";\n\n\ncontract IexecClerkInterface\n{\n\tuint256 public constant WORKERPOOL_STAKE_RATIO = 30;\n\tuint256 public constant KITTY_RATIO = 10;\n\tuint256 public constant KITTY_MIN = 1000000000;\n\tuint256 public constant GROUPMEMBER_PURPOSE = 4;\n\n\tbytes32 public /* immutable */ EIP712DOMAIN_SEPARATOR;\n\n\tIERC20 public token;\n\n\tevent OrdersMatched (bytes32 dealid, bytes32 appHash, bytes32 datasetHash, bytes32 workerpoolHash, bytes32 requestHash, uint256 volume);\n\tevent ClosedAppOrder (bytes32 appHash);\n\tevent ClosedDatasetOrder (bytes32 datasetHash);\n\tevent ClosedWorkerpoolOrder(bytes32 workerpoolHash);\n\tevent ClosedRequestOrder (bytes32 requestHash);\n\tevent SchedulerNotice (address indexed workerpool, bytes32 dealid);\n\n\tevent Deposit (address owner, uint256 amount);\n\tevent DepositFor(address owner, uint256 amount, address target);\n\tevent Withdraw (address owner, uint256 amount);\n\tevent Reward (address user, uint256 amount, bytes32 ref);\n\tevent Seize (address user, uint256 amount, bytes32 ref);\n\tevent Lock (address user, uint256 amount);\n\tevent Unlock (address user, uint256 amount);\n\n\tevent BroadcastAppOrder (IexecODBLibOrders.AppOrder apporder );\n\tevent BroadcastDatasetOrder (IexecODBLibOrders.DatasetOrder datasetorder );\n\tevent BroadcastWorkerpoolOrder(IexecODBLibOrders.WorkerpoolOrder workerpoolorder);\n\tevent BroadcastRequestOrder (IexecODBLibOrders.RequestOrder requestorder );\n\n\tfunction viewRequestDeals(bytes32 _id)\n\texternal view returns (bytes32[] memory);\n\n\tfunction viewDeal(bytes32 _id)\n\texternal view returns (IexecODBLibCore.Deal memory);\n\n\tfunction viewConsumed(bytes32 _id)\n\texternal view returns (uint256);\n\n\tfunction viewPresigned(bytes32 _id)\n\texternal view returns (bool presigned);\n\n\tfunction signAppOrder(IexecODBLibOrders.AppOrder memory _apporder)\n\tpublic returns (bool);\n\n\tfunction signDatasetOrder(IexecODBLibOrders.DatasetOrder memory _datasetorder)\n\tpublic returns (bool);\n\n\tfunction signWorkerpoolOrder(IexecODBLibOrders.WorkerpoolOrder memory _workerpoolorder)\n\tpublic returns (bool);\n\n\tfunction signRequestOrder(IexecODBLibOrders.RequestOrder memory _requestorder)\n\tpublic returns (bool);\n\n\tfunction matchOrders(\n\t\tIexecODBLibOrders.AppOrder memory _apporder,\n\t\tIexecODBLibOrders.DatasetOrder memory _datasetorder,\n\t\tIexecODBLibOrders.WorkerpoolOrder memory _workerpoolorder,\n\t\tIexecODBLibOrders.RequestOrder memory _requestorder)\n\tpublic returns (bytes32);\n\n\tfunction cancelAppOrder(IexecODBLibOrders.AppOrder memory _apporder)\n\tpublic returns (bool);\n\n\tfunction cancelDatasetOrder(IexecODBLibOrders.DatasetOrder memory _datasetorder)\n\tpublic returns (bool);\n\n\tfunction cancelWorkerpoolOrder(IexecODBLibOrders.WorkerpoolOrder memory _workerpoolorder)\n\tpublic returns (bool);\n\n\tfunction cancelRequestOrder(IexecODBLibOrders.RequestOrder memory _requestorder)\n\tpublic returns (bool);\n\n\tfunction viewAccount(address _user)\n\texternal view returns (IexecODBLibCore.Account memory);\n\n\tfunction deposit(uint256 _amount)\n\texternal returns (bool);\n\n\tfunction depositFor(uint256 _amount, address _target)\n\tpublic returns (bool);\n\n\tfunction depositForArray(uint256[] calldata _amounts, address[] calldata _targets)\n\texternal returns (bool);\n\n\tfunction withdraw(uint256 _amount)\n\texternal returns (bool);\n\n\tfunction broadcastAppOrder(IexecODBLibOrders.AppOrder memory _apporder)\n\tpublic;\n\n\tfunction broadcastDatasetOrder(IexecODBLibOrders.DatasetOrder memory _datasetorder)\n\tpublic;\n\n\tfunction broadcastWorkerpoolOrder(IexecODBLibOrders.WorkerpoolOrder memory _workerpoolorder)\n\tpublic;\n\n\tfunction broadcastRequestOrder(IexecODBLibOrders.RequestOrder memory _requestorder)\n\tpublic;\n}\n", + "sourcePath": "iexec-doracle-base\\contracts\\iexec-poco-interfaces\\IexecClerkInterface.sol", + "ast": { + "absolutePath": "iexec-doracle-base/contracts/iexec-poco-interfaces/IexecClerkInterface.sol", + "exportedSymbols": { + "IexecClerkInterface": [ + 845 + ] + }, + "id": 846, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 565, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:4" + }, + { + "id": 566, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:4" + }, + { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "file": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "id": 567, + "nodeType": "ImportDirective", + "scope": 846, + "sourceUnit": 1320, + "src": "59:55:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibOrders.sol", + "file": "iexec-poco/contracts/libs/IexecODBLibOrders.sol", + "id": 568, + "nodeType": "ImportDirective", + "scope": 846, + "sourceUnit": 1553, + "src": "115:57:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", + "file": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", + "id": 569, + "nodeType": "ImportDirective", + "scope": 846, + "sourceUnit": 1908, + "src": "173:64:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 845, + "linearizedBaseContracts": [ + 845 + ], + "name": "IexecClerkInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 572, + "name": "WORKERPOOL_STAKE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "272:51:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 570, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "272:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3330", + "id": 571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "321:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 575, + "name": "KITTY_RATIO", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "326:51:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 573, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "326:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3130", + "id": 574, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "375:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 578, + "name": "KITTY_MIN", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "380:59:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 576, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "380:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31303030303030303030", + "id": 577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "429:10:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + }, + "value": "1000000000" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 581, + "name": "GROUPMEMBER_PURPOSE", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "442:50:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 579, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "442:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "34", + "id": 580, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "491:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 583, + "name": "EIP712DOMAIN_SEPARATOR", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "496:53:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 582, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "496:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 585, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "553:19:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$1907", + "typeString": "contract IERC20" + }, + "typeName": { + "contractScope": null, + "id": 584, + "name": "IERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1907, + "src": "553:6:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$1907", + "typeString": "contract IERC20" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 599, + "name": "OrdersMatched", + "nodeType": "EventDefinition", + "parameters": { + "id": 598, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 587, + "indexed": false, + "name": "dealid", + "nodeType": "VariableDeclaration", + "scope": 599, + "src": "604:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 586, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "604:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 589, + "indexed": false, + "name": "appHash", + "nodeType": "VariableDeclaration", + "scope": 599, + "src": "620:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 588, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "620:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 591, + "indexed": false, + "name": "datasetHash", + "nodeType": "VariableDeclaration", + "scope": 599, + "src": "637:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 590, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "637:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 593, + "indexed": false, + "name": "workerpoolHash", + "nodeType": "VariableDeclaration", + "scope": 599, + "src": "658:22:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 592, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "658:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 595, + "indexed": false, + "name": "requestHash", + "nodeType": "VariableDeclaration", + "scope": 599, + "src": "682:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 594, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "682:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 597, + "indexed": false, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 599, + "src": "703:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 596, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "703:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "603:115:4" + }, + "src": "576:143:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 603, + "name": "ClosedAppOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 601, + "indexed": false, + "name": "appHash", + "nodeType": "VariableDeclaration", + "scope": 603, + "src": "749:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 600, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "749:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "748:17:4" + }, + "src": "721:45:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 607, + "name": "ClosedDatasetOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 606, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 605, + "indexed": false, + "name": "datasetHash", + "nodeType": "VariableDeclaration", + "scope": 607, + "src": "796:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 604, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "796:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "795:21:4" + }, + "src": "768:49:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 611, + "name": "ClosedWorkerpoolOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 610, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 609, + "indexed": false, + "name": "workerpoolHash", + "nodeType": "VariableDeclaration", + "scope": 611, + "src": "847:22:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 608, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "847:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "846:24:4" + }, + "src": "819:52:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 615, + "name": "ClosedRequestOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 613, + "indexed": false, + "name": "requestHash", + "nodeType": "VariableDeclaration", + "scope": 615, + "src": "901:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 612, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "901:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "900:21:4" + }, + "src": "873:49:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 621, + "name": "SchedulerNotice", + "nodeType": "EventDefinition", + "parameters": { + "id": 620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 617, + "indexed": true, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 621, + "src": "952:26:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 616, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "952:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 619, + "indexed": false, + "name": "dealid", + "nodeType": "VariableDeclaration", + "scope": 621, + "src": "980:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 618, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "980:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "951:44:4" + }, + "src": "924:72:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 627, + "name": "Deposit", + "nodeType": "EventDefinition", + "parameters": { + "id": 626, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 623, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "1016:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 622, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1016:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 625, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "1031:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 624, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1031:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1015:31:4" + }, + "src": "999:48:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 635, + "name": "DepositFor", + "nodeType": "EventDefinition", + "parameters": { + "id": 634, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 629, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 635, + "src": "1066:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 628, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1066:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 631, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 635, + "src": "1081:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 630, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1081:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 633, + "indexed": false, + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 635, + "src": "1097:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 632, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1097:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1065:47:4" + }, + "src": "1049:64:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 641, + "name": "Withdraw", + "nodeType": "EventDefinition", + "parameters": { + "id": 640, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 637, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 641, + "src": "1132:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 636, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1132:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 639, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 641, + "src": "1147:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 638, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1147:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1131:31:4" + }, + "src": "1115:48:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 649, + "name": "Reward", + "nodeType": "EventDefinition", + "parameters": { + "id": 648, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 643, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "1182:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 642, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1182:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 645, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "1197:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 644, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1197:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 647, + "indexed": false, + "name": "ref", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "1213:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 646, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1213:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1181:44:4" + }, + "src": "1165:61:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 657, + "name": "Seize", + "nodeType": "EventDefinition", + "parameters": { + "id": 656, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 651, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 657, + "src": "1245:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 650, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1245:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 653, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 657, + "src": "1260:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 652, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1260:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 655, + "indexed": false, + "name": "ref", + "nodeType": "VariableDeclaration", + "scope": 657, + "src": "1276:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 654, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1276:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1244:44:4" + }, + "src": "1228:61:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 663, + "name": "Lock", + "nodeType": "EventDefinition", + "parameters": { + "id": 662, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 659, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 663, + "src": "1308:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 658, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1308:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 661, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 663, + "src": "1323:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 660, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1323:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1307:31:4" + }, + "src": "1291:48:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 669, + "name": "Unlock", + "nodeType": "EventDefinition", + "parameters": { + "id": 668, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 665, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 669, + "src": "1358:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 664, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1358:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 667, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 669, + "src": "1373:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 666, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1373:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1357:31:4" + }, + "src": "1341:48:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 673, + "name": "BroadcastAppOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 672, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 671, + "indexed": false, + "name": "apporder", + "nodeType": "VariableDeclaration", + "scope": 673, + "src": "1423:42:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 670, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1365, + "src": "1423:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1422:51:4" + }, + "src": "1392:82:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 677, + "name": "BroadcastDatasetOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 676, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 675, + "indexed": false, + "name": "datasetorder", + "nodeType": "VariableDeclaration", + "scope": 677, + "src": "1507:46:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 674, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1384, + "src": "1507:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1506:51:4" + }, + "src": "1476:82:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 681, + "name": "BroadcastWorkerpoolOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 680, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 679, + "indexed": false, + "name": "workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 681, + "src": "1591:49:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 678, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1407, + "src": "1591:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1590:51:4" + }, + "src": "1560:82:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 685, + "name": "BroadcastRequestOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 684, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 683, + "indexed": false, + "name": "requestorder", + "nodeType": "VariableDeclaration", + "scope": 685, + "src": "1675:46:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 682, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1440, + "src": "1675:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1674:51:4" + }, + "src": "1644:82:4" + }, + { + "body": null, + "documentation": null, + "id": 693, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewRequestDeals", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 687, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 693, + "src": "1755:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 686, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1755:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1754:13:4" + }, + "returnParameters": { + "id": 692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 691, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 693, + "src": "1792:16:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 689, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1792:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 690, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1792:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1791:18:4" + }, + "scope": 845, + "src": "1729:81:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 700, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewDeal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 696, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 695, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 700, + "src": "1831:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 694, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1831:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1830:13:4" + }, + "returnParameters": { + "id": 699, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 698, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 700, + "src": "1868:27:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal" + }, + "typeName": { + "contractScope": null, + "id": 697, + "name": "IexecODBLibCore.Deal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1270, + "src": "1868:20:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_storage_ptr", + "typeString": "struct IexecODBLibCore.Deal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1867:29:4" + }, + "scope": 845, + "src": "1813:84:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 707, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewConsumed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 702, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 707, + "src": "1922:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 701, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1922:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1921:13:4" + }, + "returnParameters": { + "id": 706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 705, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 707, + "src": "1959:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 704, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1959:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1958:9:4" + }, + "scope": 845, + "src": "1900:68:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 714, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewPresigned", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 710, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 709, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 714, + "src": "1994:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 708, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1994:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1993:13:4" + }, + "returnParameters": { + "id": 713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 712, + "name": "presigned", + "nodeType": "VariableDeclaration", + "scope": 714, + "src": "2031:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 711, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2031:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2030:16:4" + }, + "scope": 845, + "src": "1971:76:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 721, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "signAppOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 717, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 716, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 721, + "src": "2072:43:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 715, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1365, + "src": "2072:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2071:45:4" + }, + "returnParameters": { + "id": 720, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 719, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 721, + "src": "2134:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 718, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2134:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2133:6:4" + }, + "scope": 845, + "src": "2050:90:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 728, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "signDatasetOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 724, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 723, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "2169:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 722, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1384, + "src": "2169:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2168:53:4" + }, + "returnParameters": { + "id": 727, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 726, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "2239:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 725, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2239:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2238:6:4" + }, + "scope": 845, + "src": "2143:102:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 735, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "signWorkerpoolOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 731, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 730, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 735, + "src": "2277:57:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 729, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1407, + "src": "2277:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2276:59:4" + }, + "returnParameters": { + "id": 734, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 733, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 735, + "src": "2353:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 732, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2353:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2352:6:4" + }, + "scope": 845, + "src": "2248:111:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 742, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "signRequestOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 737, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 742, + "src": "2388:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 736, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1440, + "src": "2388:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2387:53:4" + }, + "returnParameters": { + "id": 741, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 740, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 742, + "src": "2458:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 739, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2458:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2457:6:4" + }, + "scope": 845, + "src": "2362:102:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 755, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "matchOrders", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 751, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 744, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 755, + "src": "2491:50:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 743, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1365, + "src": "2491:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 746, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 755, + "src": "2545:54:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 745, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1384, + "src": "2545:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 748, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 755, + "src": "2603:57:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 747, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1407, + "src": "2603:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 750, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 755, + "src": "2664:54:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 749, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1440, + "src": "2664:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2487:232:4" + }, + "returnParameters": { + "id": 754, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 753, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 755, + "src": "2737:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 752, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2737:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2736:9:4" + }, + "scope": 845, + "src": "2467:279:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 762, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelAppOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 758, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 757, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 762, + "src": "2773:43:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 756, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1365, + "src": "2773:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2772:45:4" + }, + "returnParameters": { + "id": 761, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 760, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 762, + "src": "2835:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 759, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2835:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2834:6:4" + }, + "scope": 845, + "src": "2749:92:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 769, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelDatasetOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 765, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 764, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 769, + "src": "2872:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 763, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1384, + "src": "2872:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2871:53:4" + }, + "returnParameters": { + "id": 768, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 767, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 769, + "src": "2942:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 766, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2942:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2941:6:4" + }, + "scope": 845, + "src": "2844:104:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 776, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelWorkerpoolOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 772, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 771, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 776, + "src": "2982:57:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 770, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1407, + "src": "2982:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2981:59:4" + }, + "returnParameters": { + "id": 775, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 774, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 776, + "src": "3058:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 773, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3058:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3057:6:4" + }, + "scope": 845, + "src": "2951:113:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 783, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelRequestOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 779, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 778, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 783, + "src": "3095:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 777, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1440, + "src": "3095:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3094:53:4" + }, + "returnParameters": { + "id": 782, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 781, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 783, + "src": "3165:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 780, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3165:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3164:6:4" + }, + "scope": 845, + "src": "3067:104:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 790, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewAccount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 785, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 790, + "src": "3195:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 784, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3195:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3194:15:4" + }, + "returnParameters": { + "id": 789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 788, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 790, + "src": "3234:30:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$1225_memory_ptr", + "typeString": "struct IexecODBLibCore.Account" + }, + "typeName": { + "contractScope": null, + "id": 787, + "name": "IexecODBLibCore.Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1225, + "src": "3234:23:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$1225_storage_ptr", + "typeString": "struct IexecODBLibCore.Account" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3233:32:4" + }, + "scope": 845, + "src": "3174:92:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 797, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "deposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 793, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 792, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "3286:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 791, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3286:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3285:17:4" + }, + "returnParameters": { + "id": 796, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 795, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "3322:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 794, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3322:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3321:6:4" + }, + "scope": 845, + "src": "3269:59:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 806, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "depositFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 802, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 799, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 806, + "src": "3351:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 798, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3351:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 801, + "name": "_target", + "nodeType": "VariableDeclaration", + "scope": 806, + "src": "3368:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 800, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3368:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3350:34:4" + }, + "returnParameters": { + "id": 805, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 804, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 806, + "src": "3402:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 803, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3402:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3401:6:4" + }, + "scope": 845, + "src": "3331:77:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 817, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "depositForArray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 813, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 809, + "name": "_amounts", + "nodeType": "VariableDeclaration", + "scope": 817, + "src": "3436:27:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 807, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3436:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 808, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3436:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 812, + "name": "_targets", + "nodeType": "VariableDeclaration", + "scope": 817, + "src": "3465:27:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 810, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3465:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 811, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3465:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3435:58:4" + }, + "returnParameters": { + "id": 816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 815, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 817, + "src": "3513:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 814, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3513:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3512:6:4" + }, + "scope": 845, + "src": "3411:108:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 824, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 819, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "3540:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 818, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3540:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3539:17:4" + }, + "returnParameters": { + "id": 823, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 822, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "3576:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 821, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3576:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3575:6:4" + }, + "scope": 845, + "src": "3522:60:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 829, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcastAppOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 827, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 826, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 829, + "src": "3612:43:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 825, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1365, + "src": "3612:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3611:45:4" + }, + "returnParameters": { + "id": 828, + "nodeType": "ParameterList", + "parameters": [], + "src": "3664:0:4" + }, + "scope": 845, + "src": "3585:80:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 834, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcastDatasetOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 832, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 831, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 834, + "src": "3699:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 830, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1384, + "src": "3699:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3698:53:4" + }, + "returnParameters": { + "id": 833, + "nodeType": "ParameterList", + "parameters": [], + "src": "3759:0:4" + }, + "scope": 845, + "src": "3668:92:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 839, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcastWorkerpoolOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 836, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 839, + "src": "3797:57:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 835, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1407, + "src": "3797:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3796:59:4" + }, + "returnParameters": { + "id": 838, + "nodeType": "ParameterList", + "parameters": [], + "src": "3863:0:4" + }, + "scope": 845, + "src": "3763:101:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 844, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcastRequestOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 841, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 844, + "src": "3898:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 840, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1440, + "src": "3898:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3897:53:4" + }, + "returnParameters": { + "id": 843, + "nodeType": "ParameterList", + "parameters": [], + "src": "3958:0:4" + }, + "scope": 845, + "src": "3867:92:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 846, + "src": "240:3721:4" + } + ], + "src": "0:3962:4" + }, + "legacyAST": { + "absolutePath": "iexec-doracle-base/contracts/iexec-poco-interfaces/IexecClerkInterface.sol", + "exportedSymbols": { + "IexecClerkInterface": [ + 845 + ] + }, + "id": 846, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 565, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:4" + }, + { + "id": 566, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:4" + }, + { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "file": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "id": 567, + "nodeType": "ImportDirective", + "scope": 846, + "sourceUnit": 1320, + "src": "59:55:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibOrders.sol", + "file": "iexec-poco/contracts/libs/IexecODBLibOrders.sol", + "id": 568, + "nodeType": "ImportDirective", + "scope": 846, + "sourceUnit": 1553, + "src": "115:57:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", + "file": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", + "id": 569, + "nodeType": "ImportDirective", + "scope": 846, + "sourceUnit": 1908, + "src": "173:64:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 845, + "linearizedBaseContracts": [ + 845 + ], + "name": "IexecClerkInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 572, + "name": "WORKERPOOL_STAKE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "272:51:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 570, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "272:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3330", + "id": 571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "321:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 575, + "name": "KITTY_RATIO", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "326:51:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 573, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "326:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3130", + "id": 574, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "375:2:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 578, + "name": "KITTY_MIN", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "380:59:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 576, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "380:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31303030303030303030", + "id": 577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "429:10:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + }, + "value": "1000000000" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 581, + "name": "GROUPMEMBER_PURPOSE", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "442:50:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 579, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "442:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "34", + "id": 580, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "491:1:4", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 583, + "name": "EIP712DOMAIN_SEPARATOR", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "496:53:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 582, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "496:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 585, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "553:19:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$1907", + "typeString": "contract IERC20" + }, + "typeName": { + "contractScope": null, + "id": 584, + "name": "IERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1907, + "src": "553:6:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$1907", + "typeString": "contract IERC20" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 599, + "name": "OrdersMatched", + "nodeType": "EventDefinition", + "parameters": { + "id": 598, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 587, + "indexed": false, + "name": "dealid", + "nodeType": "VariableDeclaration", + "scope": 599, + "src": "604:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 586, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "604:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 589, + "indexed": false, + "name": "appHash", + "nodeType": "VariableDeclaration", + "scope": 599, + "src": "620:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 588, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "620:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 591, + "indexed": false, + "name": "datasetHash", + "nodeType": "VariableDeclaration", + "scope": 599, + "src": "637:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 590, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "637:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 593, + "indexed": false, + "name": "workerpoolHash", + "nodeType": "VariableDeclaration", + "scope": 599, + "src": "658:22:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 592, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "658:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 595, + "indexed": false, + "name": "requestHash", + "nodeType": "VariableDeclaration", + "scope": 599, + "src": "682:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 594, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "682:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 597, + "indexed": false, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 599, + "src": "703:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 596, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "703:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "603:115:4" + }, + "src": "576:143:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 603, + "name": "ClosedAppOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 601, + "indexed": false, + "name": "appHash", + "nodeType": "VariableDeclaration", + "scope": 603, + "src": "749:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 600, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "749:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "748:17:4" + }, + "src": "721:45:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 607, + "name": "ClosedDatasetOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 606, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 605, + "indexed": false, + "name": "datasetHash", + "nodeType": "VariableDeclaration", + "scope": 607, + "src": "796:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 604, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "796:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "795:21:4" + }, + "src": "768:49:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 611, + "name": "ClosedWorkerpoolOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 610, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 609, + "indexed": false, + "name": "workerpoolHash", + "nodeType": "VariableDeclaration", + "scope": 611, + "src": "847:22:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 608, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "847:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "846:24:4" + }, + "src": "819:52:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 615, + "name": "ClosedRequestOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 613, + "indexed": false, + "name": "requestHash", + "nodeType": "VariableDeclaration", + "scope": 615, + "src": "901:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 612, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "901:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "900:21:4" + }, + "src": "873:49:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 621, + "name": "SchedulerNotice", + "nodeType": "EventDefinition", + "parameters": { + "id": 620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 617, + "indexed": true, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 621, + "src": "952:26:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 616, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "952:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 619, + "indexed": false, + "name": "dealid", + "nodeType": "VariableDeclaration", + "scope": 621, + "src": "980:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 618, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "980:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "951:44:4" + }, + "src": "924:72:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 627, + "name": "Deposit", + "nodeType": "EventDefinition", + "parameters": { + "id": 626, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 623, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "1016:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 622, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1016:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 625, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 627, + "src": "1031:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 624, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1031:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1015:31:4" + }, + "src": "999:48:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 635, + "name": "DepositFor", + "nodeType": "EventDefinition", + "parameters": { + "id": 634, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 629, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 635, + "src": "1066:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 628, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1066:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 631, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 635, + "src": "1081:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 630, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1081:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 633, + "indexed": false, + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 635, + "src": "1097:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 632, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1097:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1065:47:4" + }, + "src": "1049:64:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 641, + "name": "Withdraw", + "nodeType": "EventDefinition", + "parameters": { + "id": 640, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 637, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 641, + "src": "1132:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 636, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1132:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 639, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 641, + "src": "1147:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 638, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1147:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1131:31:4" + }, + "src": "1115:48:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 649, + "name": "Reward", + "nodeType": "EventDefinition", + "parameters": { + "id": 648, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 643, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "1182:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 642, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1182:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 645, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "1197:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 644, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1197:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 647, + "indexed": false, + "name": "ref", + "nodeType": "VariableDeclaration", + "scope": 649, + "src": "1213:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 646, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1213:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1181:44:4" + }, + "src": "1165:61:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 657, + "name": "Seize", + "nodeType": "EventDefinition", + "parameters": { + "id": 656, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 651, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 657, + "src": "1245:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 650, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1245:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 653, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 657, + "src": "1260:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 652, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1260:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 655, + "indexed": false, + "name": "ref", + "nodeType": "VariableDeclaration", + "scope": 657, + "src": "1276:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 654, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1276:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1244:44:4" + }, + "src": "1228:61:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 663, + "name": "Lock", + "nodeType": "EventDefinition", + "parameters": { + "id": 662, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 659, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 663, + "src": "1308:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 658, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1308:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 661, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 663, + "src": "1323:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 660, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1323:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1307:31:4" + }, + "src": "1291:48:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 669, + "name": "Unlock", + "nodeType": "EventDefinition", + "parameters": { + "id": 668, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 665, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 669, + "src": "1358:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 664, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1358:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 667, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 669, + "src": "1373:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 666, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1373:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1357:31:4" + }, + "src": "1341:48:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 673, + "name": "BroadcastAppOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 672, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 671, + "indexed": false, + "name": "apporder", + "nodeType": "VariableDeclaration", + "scope": 673, + "src": "1423:42:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 670, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1365, + "src": "1423:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1422:51:4" + }, + "src": "1392:82:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 677, + "name": "BroadcastDatasetOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 676, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 675, + "indexed": false, + "name": "datasetorder", + "nodeType": "VariableDeclaration", + "scope": 677, + "src": "1507:46:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 674, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1384, + "src": "1507:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1506:51:4" + }, + "src": "1476:82:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 681, + "name": "BroadcastWorkerpoolOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 680, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 679, + "indexed": false, + "name": "workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 681, + "src": "1591:49:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 678, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1407, + "src": "1591:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1590:51:4" + }, + "src": "1560:82:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 685, + "name": "BroadcastRequestOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 684, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 683, + "indexed": false, + "name": "requestorder", + "nodeType": "VariableDeclaration", + "scope": 685, + "src": "1675:46:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 682, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1440, + "src": "1675:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1674:51:4" + }, + "src": "1644:82:4" + }, + { + "body": null, + "documentation": null, + "id": 693, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewRequestDeals", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 687, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 693, + "src": "1755:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 686, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1755:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1754:13:4" + }, + "returnParameters": { + "id": 692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 691, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 693, + "src": "1792:16:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 689, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1792:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 690, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1792:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1791:18:4" + }, + "scope": 845, + "src": "1729:81:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 700, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewDeal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 696, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 695, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 700, + "src": "1831:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 694, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1831:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1830:13:4" + }, + "returnParameters": { + "id": 699, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 698, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 700, + "src": "1868:27:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal" + }, + "typeName": { + "contractScope": null, + "id": 697, + "name": "IexecODBLibCore.Deal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1270, + "src": "1868:20:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_storage_ptr", + "typeString": "struct IexecODBLibCore.Deal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1867:29:4" + }, + "scope": 845, + "src": "1813:84:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 707, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewConsumed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 702, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 707, + "src": "1922:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 701, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1922:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1921:13:4" + }, + "returnParameters": { + "id": 706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 705, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 707, + "src": "1959:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 704, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1959:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1958:9:4" + }, + "scope": 845, + "src": "1900:68:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 714, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewPresigned", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 710, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 709, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 714, + "src": "1994:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 708, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1994:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1993:13:4" + }, + "returnParameters": { + "id": 713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 712, + "name": "presigned", + "nodeType": "VariableDeclaration", + "scope": 714, + "src": "2031:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 711, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2031:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2030:16:4" + }, + "scope": 845, + "src": "1971:76:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 721, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "signAppOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 717, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 716, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 721, + "src": "2072:43:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 715, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1365, + "src": "2072:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2071:45:4" + }, + "returnParameters": { + "id": 720, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 719, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 721, + "src": "2134:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 718, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2134:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2133:6:4" + }, + "scope": 845, + "src": "2050:90:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 728, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "signDatasetOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 724, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 723, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "2169:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 722, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1384, + "src": "2169:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2168:53:4" + }, + "returnParameters": { + "id": 727, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 726, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 728, + "src": "2239:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 725, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2239:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2238:6:4" + }, + "scope": 845, + "src": "2143:102:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 735, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "signWorkerpoolOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 731, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 730, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 735, + "src": "2277:57:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 729, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1407, + "src": "2277:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2276:59:4" + }, + "returnParameters": { + "id": 734, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 733, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 735, + "src": "2353:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 732, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2353:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2352:6:4" + }, + "scope": 845, + "src": "2248:111:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 742, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "signRequestOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 737, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 742, + "src": "2388:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 736, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1440, + "src": "2388:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2387:53:4" + }, + "returnParameters": { + "id": 741, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 740, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 742, + "src": "2458:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 739, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2458:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2457:6:4" + }, + "scope": 845, + "src": "2362:102:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 755, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "matchOrders", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 751, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 744, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 755, + "src": "2491:50:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 743, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1365, + "src": "2491:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 746, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 755, + "src": "2545:54:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 745, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1384, + "src": "2545:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 748, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 755, + "src": "2603:57:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 747, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1407, + "src": "2603:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 750, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 755, + "src": "2664:54:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 749, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1440, + "src": "2664:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2487:232:4" + }, + "returnParameters": { + "id": 754, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 753, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 755, + "src": "2737:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 752, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2737:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2736:9:4" + }, + "scope": 845, + "src": "2467:279:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 762, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelAppOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 758, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 757, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 762, + "src": "2773:43:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 756, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1365, + "src": "2773:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2772:45:4" + }, + "returnParameters": { + "id": 761, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 760, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 762, + "src": "2835:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 759, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2835:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2834:6:4" + }, + "scope": 845, + "src": "2749:92:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 769, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelDatasetOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 765, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 764, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 769, + "src": "2872:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 763, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1384, + "src": "2872:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2871:53:4" + }, + "returnParameters": { + "id": 768, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 767, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 769, + "src": "2942:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 766, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2942:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2941:6:4" + }, + "scope": 845, + "src": "2844:104:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 776, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelWorkerpoolOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 772, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 771, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 776, + "src": "2982:57:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 770, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1407, + "src": "2982:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2981:59:4" + }, + "returnParameters": { + "id": 775, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 774, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 776, + "src": "3058:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 773, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3058:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3057:6:4" + }, + "scope": 845, + "src": "2951:113:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 783, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelRequestOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 779, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 778, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 783, + "src": "3095:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 777, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1440, + "src": "3095:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3094:53:4" + }, + "returnParameters": { + "id": 782, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 781, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 783, + "src": "3165:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 780, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3165:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3164:6:4" + }, + "scope": 845, + "src": "3067:104:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 790, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewAccount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 785, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 790, + "src": "3195:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 784, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3195:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3194:15:4" + }, + "returnParameters": { + "id": 789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 788, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 790, + "src": "3234:30:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$1225_memory_ptr", + "typeString": "struct IexecODBLibCore.Account" + }, + "typeName": { + "contractScope": null, + "id": 787, + "name": "IexecODBLibCore.Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1225, + "src": "3234:23:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$1225_storage_ptr", + "typeString": "struct IexecODBLibCore.Account" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3233:32:4" + }, + "scope": 845, + "src": "3174:92:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 797, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "deposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 793, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 792, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "3286:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 791, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3286:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3285:17:4" + }, + "returnParameters": { + "id": 796, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 795, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "3322:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 794, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3322:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3321:6:4" + }, + "scope": 845, + "src": "3269:59:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 806, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "depositFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 802, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 799, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 806, + "src": "3351:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 798, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3351:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 801, + "name": "_target", + "nodeType": "VariableDeclaration", + "scope": 806, + "src": "3368:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 800, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3368:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3350:34:4" + }, + "returnParameters": { + "id": 805, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 804, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 806, + "src": "3402:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 803, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3402:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3401:6:4" + }, + "scope": 845, + "src": "3331:77:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 817, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "depositForArray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 813, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 809, + "name": "_amounts", + "nodeType": "VariableDeclaration", + "scope": 817, + "src": "3436:27:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 807, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3436:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 808, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3436:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 812, + "name": "_targets", + "nodeType": "VariableDeclaration", + "scope": 817, + "src": "3465:27:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 810, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3465:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 811, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3465:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3435:58:4" + }, + "returnParameters": { + "id": 816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 815, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 817, + "src": "3513:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 814, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3513:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3512:6:4" + }, + "scope": 845, + "src": "3411:108:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 824, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 819, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "3540:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 818, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3540:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3539:17:4" + }, + "returnParameters": { + "id": 823, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 822, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "3576:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 821, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3576:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3575:6:4" + }, + "scope": 845, + "src": "3522:60:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 829, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcastAppOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 827, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 826, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 829, + "src": "3612:43:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 825, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1365, + "src": "3612:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3611:45:4" + }, + "returnParameters": { + "id": 828, + "nodeType": "ParameterList", + "parameters": [], + "src": "3664:0:4" + }, + "scope": 845, + "src": "3585:80:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 834, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcastDatasetOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 832, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 831, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 834, + "src": "3699:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 830, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1384, + "src": "3699:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3698:53:4" + }, + "returnParameters": { + "id": 833, + "nodeType": "ParameterList", + "parameters": [], + "src": "3759:0:4" + }, + "scope": 845, + "src": "3668:92:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 839, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcastWorkerpoolOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 836, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 839, + "src": "3797:57:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 835, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1407, + "src": "3797:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3796:59:4" + }, + "returnParameters": { + "id": 838, + "nodeType": "ParameterList", + "parameters": [], + "src": "3863:0:4" + }, + "scope": 845, + "src": "3763:101:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 844, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcastRequestOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 841, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 844, + "src": "3898:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 840, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1440, + "src": "3898:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3897:53:4" + }, + "returnParameters": { + "id": 843, + "nodeType": "ParameterList", + "parameters": [], + "src": "3958:0:4" + }, + "scope": 845, + "src": "3867:92:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 846, + "src": "240:3721:4" + } + ], + "src": "0:3962:4" + }, + "compiler": { + "name": "solc", + "version": "0.5.10+commit.5a6ea5b1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.16", + "updatedAt": "2019-10-22T00:23:52.000Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/build/contracts/IexecDoracle.json b/ups-package-tracker/smart-contract/build/contracts/IexecDoracle.json new file mode 100644 index 00000000..c7062b46 --- /dev/null +++ b/ups-package-tracker/smart-contract/build/contracts/IexecDoracle.json @@ -0,0 +1,6073 @@ +{ + "contractName": "IexecDoracle", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_identity", + "type": "address" + }, + { + "name": "_hash", + "type": "bytes32" + }, + { + "name": "_signature", + "type": "bytes" + } + ], + "name": "verifySignature", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "iexecClerk", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_authorizedApp", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_authorizedDataset", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "iexecHub", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_authorizedWorkerpool", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_requiredtrust", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_requiredtag", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_iexecHubAddr", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "doracleCallId", + "type": "bytes32" + } + ], + "name": "ResultReady", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_doracleCallId", + "type": "bytes32" + }, + { + "name": "", + "type": "bytes" + } + ], + "name": "receiveResult", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"_identity\",\"type\":\"address\"},{\"name\":\"_hash\",\"type\":\"bytes32\"},{\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"verifySignature\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"iexecClerk\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"m_authorizedApp\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_doracleCallId\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveResult\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"m_authorizedDataset\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"iexecHub\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"m_authorizedWorkerpool\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"m_requiredtrust\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"m_requiredtag\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_iexecHubAddr\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"doracleCallId\",\"type\":\"bytes32\"}],\"name\":\"ResultReady\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"iexec-doracle-base/contracts/IexecDoracle.sol\":\"IexecDoracle\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-doracle-base/contracts/IexecDoracle.sol\":{\"keccak256\":\"0x799f46b490f54609a7fb11276700aab5c7c022acefba27920910db563a2f7d8b\",\"urls\":[\"bzzr://c48533a56725a53b510e873fb8cc8e812559d05c7f110086bf9f4b0751be875e\",\"dweb:/ipfs/QmY8EA1S4hhxnXigDQ9fyEAFrKM1FsVSjjDgBXddZtU72m\"]},\"iexec-doracle-base/contracts/IexecInterface.sol\":{\"keccak256\":\"0xfe44f456bab0157df1a8b345c48da04a276b78313fa6288f103778ffc59f6de3\",\"urls\":[\"bzzr://49b3a62a65e46ac26092d512f152da7272a4ded655506374ab01dcf15399aa90\",\"dweb:/ipfs/QmX2BKhYEJq5GeaZBMqxbUA4BEBRUa3MvUiDBXbExChMX6\"]},\"iexec-doracle-base/contracts/iexec-poco-interfaces/IexecClerkInterface.sol\":{\"keccak256\":\"0xa7a0fa79543be8f912f863594ea972301985e63ecb57cc0c74f5622533e9e02f\",\"urls\":[\"bzzr://439b54843d3e0c113a0b524d159fc53c5fa56024084a436d7334f2cdacbc01e8\",\"dweb:/ipfs/QmRYSTfFCpoKcX8io7qvhxPpTjAmcEQuCFfM4GA3HcCsHB\"]},\"iexec-doracle-base/contracts/iexec-poco-interfaces/IexecHubInterface.sol\":{\"keccak256\":\"0x846e5ad3468a4020ccd311883d8b6fec8cb59539eea3cbbbe8a800b25d829287\",\"urls\":[\"bzzr://59cae26b1bed2633fc6643980e0f0c3c05a32078fc8229e20bf9fb376ff2c1ed\",\"dweb:/ipfs/QmX3aTe9X5c3KB3psi4oiTchLy9GQVByvM41i4L9eqLdHx\"]},\"iexec-poco/contracts/SignatureVerifier.sol\":{\"keccak256\":\"0x2e26922d87f29c337002a30babc615638cbee6cd87ed599f6ed90e67971e86a0\",\"urls\":[\"bzzr://1528fea12280336ed0c1c124746a4ce238c21f18c5d6a9323f3917546bd1e2a2\",\"dweb:/ipfs/QmWLU2j8xW9R1QGTb91bXefcpm5vdQ5dXeQFjA5pBp2BRv\"]},\"iexec-poco/contracts/libs/IexecODBLibCore.sol\":{\"keccak256\":\"0x3e1a247b137866fe9b7272fc9ea189cf83f8f8a3ad439bbdef1c770f67349b7a\",\"urls\":[\"bzzr://788a11e860998e576e89358eb050b74debca9ab2e46e292abb34753f4abfad60\",\"dweb:/ipfs/QmVt1iunRyGqXa88HvFjYEDRraJCrX5iF478cKhJAeCrh6\"]},\"iexec-poco/contracts/libs/IexecODBLibOrders.sol\":{\"keccak256\":\"0xceb5c2483f92c7bbed29ac473f92371d04830f0c40bd734d01d26eef09e88f4f\",\"urls\":[\"bzzr://054a5f4728d0d5e774bb974181d4d97f98f23f8f2cf695f18723c79e8401b8a0\",\"dweb:/ipfs/QmbgL6dN9Y5osfm9jWDtzy1TMqRWS75EFyFefBwguAcg6W\"]},\"iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol\":{\"keccak256\":\"0xca20f6a22ba7bce6ed87cb53c2f8cfe0751d9b5e02e5f12d1112f0480f6ae31d\",\"urls\":[\"bzzr://31de73df2626e208672a80d8fd78b290af2e126782b70e3c85f62ced8325464f\",\"dweb:/ipfs/QmP7DedzKVi3L2FKhWGfpDgX5ZUE7rncuGKq3B7hefidJ5\"]},\"iexec-solidity/contracts/ERC1271/IERC1271.sol\":{\"keccak256\":\"0x90daa992bd38a335a1e6503b4b815b5aa5315366637dc0cb0b98e7f39096c842\",\"urls\":[\"bzzr://9c88f54779ee800bd2235d96ea251b3c80e45d4c127db93a9a71a8b9235becb2\",\"dweb:/ipfs/QmYUozJfjw7r62NVhfu2p9i9iREcSygNx3pW6YvxpTXx7J\"]},\"iexec-solidity/contracts/ERC734_KeyManager/IERC734.sol\":{\"keccak256\":\"0x46532e2d419a87bf604b354318a19d56a3dc25fa7ad6f94c77bd2aa8ce54a755\",\"urls\":[\"bzzr://8ada95bcec956bdd6e7c4e3ec840e9e13cfc04584668d0df2c00459f94d74541\",\"dweb:/ipfs/QmPMM8Prd6iG2g23gbu3arBiy8F8CiDuEZMJPd99WYpXbf\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x90e8c2521653bbb1768b05889c5760031e688d9cd361f167489b89215e201b95\",\"urls\":[\"bzzr://aa8b45b57edafc3d67bc5d916327ea16807fae33f753ca163ae0c4061b789766\",\"dweb:/ipfs/QmP5NaEwZthQeM2ESz4WTT3osrP7jhbvu7ocbttBi2JAw6\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b5060405162000ac138038062000ac18339810160408190526200003491620002f6565b8060006200004b826001600160e01b03620002df16565b11156200007357600080546001600160a01b0319166001600160a01b0383161790556200022d565b60006200009d731383c16c927c4a853684d1a9c676986f25e221116001600160e01b03620002df16565b1115620000d057600080546001600160a01b031916731383c16c927c4a853684d1a9c676986f25e221111790556200022d565b6000620000fa73dbe30645ea7d216c31d09f8c5736fe74de774e636001600160e01b03620002df16565b11156200012d57600080546001600160a01b03191673dbe30645ea7d216c31d09f8c5736fe74de774e631790556200022d565b600062000143816001600160e01b03620002df16565b11156200016057600080546001600160a01b03191690556200022d565b60006200018a73b3901d04cf645747b99dbbe8f2ee9cb41a89cebf6001600160e01b03620002df16565b1115620001bd57600080546001600160a01b03191673b3901d04cf645747b99dbbe8f2ee9cb41a89cebf1790556200022d565b6000620001d3816001600160e01b03620002df16565b1115620001f057600080546001600160a01b03191690556200022d565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000224906200035a565b60405180910390fd5b6000809054906101000a90046001600160a01b03166001600160a01b031663b01c68466040518163ffffffff1660e01b815260040160206040518083038186803b1580156200027b57600080fd5b505afa15801562000290573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620002b69190810190620002f6565b600180546001600160a01b0319166001600160a01b039290921691909117905550620003a19050565b3b90565b8051620002f08162000387565b92915050565b6000602082840312156200030957600080fd5b6000620003178484620002e3565b949350505050565b60006200032e6013836200036c565b7f696e76616c69642d6875622d6164647265737300000000000000000000000000815260200192915050565b60208082528101620002f0816200031f565b90815260200190565b60006001600160a01b038216620002f0565b620003928162000375565b81146200039e57600080fd5b50565b61071080620003b16000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806378dd4ae51161006657806378dd4ae514610100578063a41f45e914610108578063ca2ef3c414610110578063e73482a214610118578063f6eba5471461012d57610093565b806301751998146100985780631ce3aa0d146100c1578063482fb13e146100d65780635dd80855146100eb575b600080fd5b6100ab6100a63660046103f0565b610135565b6040516100b8919061054a565b60405180910390f35b6100c96101d0565b6040516100b891906105c4565b6100de6101df565b6040516100b8919061053c565b6100fe6100f936600461047b565b6101ee565b005b6100de61021e565b6100c961022d565b6100de61023c565b61012061024b565b6040516100b89190610558565b610120610251565b6000610142848484610257565b806101c65750604051630b135d3f60e11b81526001600160a01b03851690631626ba7e906101769086908690600401610566565b60206040518083038186803b15801561018e57600080fd5b505afa1580156101a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101c69190810190610455565b90505b9392505050565b6001546001600160a01b031681565b6002546001600160a01b031681565b60405183907f28e9507238ce29efc9797f8791b89bf517f253f275a4ab2688a7cd108e40bc7a90600090a2505050565b6003546001600160a01b031681565b6000546001600160a01b031681565b6004546001600160a01b031681565b60065481565b60055481565b600080600080845160411461027257600093505050506101c9565b50505060208201516040830151606084015160001a601b81101561029457601b015b8060ff16601b141580156102ac57508060ff16601c14155b156102bd57600093505050506101c9565b600186828585604051600081526020016040526040516102e09493929190610586565b6020604051602081039080840390855afa158015610302573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b8035610337816106a4565b92915050565b8051610337816106bb565b8035610337816106c4565b60008083601f84011261036557600080fd5b50813567ffffffffffffffff81111561037d57600080fd5b60208301915083600182028301111561039557600080fd5b9250929050565b600082601f8301126103ad57600080fd5b81356103c06103bb826105f9565b6105d2565b915080825260208301602083018583830111156103dc57600080fd5b6103e783828461065e565b50505092915050565b60008060006060848603121561040557600080fd5b6000610411868661032c565b935050602061042286828701610348565b925050604084013567ffffffffffffffff81111561043f57600080fd5b61044b8682870161039c565b9150509250925092565b60006020828403121561046757600080fd5b6000610473848461033d565b949350505050565b60008060006040848603121561049057600080fd5b600061049c8686610348565b935050602084013567ffffffffffffffff8111156104b957600080fd5b6104c586828701610353565b92509250509250925092565b6104da8161062e565b82525050565b6104da81610639565b6104da8161063e565b60006104fd82610621565b6105078185610625565b935061051781856020860161066a565b6105208161069a565b9093019392505050565b6104da81610653565b6104da8161064d565b6020810161033782846104d1565b6020810161033782846104e0565b6020810161033782846104e9565b6040810161057482856104e9565b81810360208301526101c681846104f2565b6080810161059482876104e9565b6105a16020830186610533565b6105ae60408301856104e9565b6105bb60608301846104e9565b95945050505050565b60208101610337828461052a565b60405181810167ffffffffffffffff811182821017156105f157600080fd5b604052919050565b600067ffffffffffffffff82111561061057600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b600061033782610641565b151590565b90565b6001600160a01b031690565b60ff1690565b60006103378261062e565b82818337506000910152565b60005b8381101561068557818101518382015260200161066d565b83811115610694576000848401525b50505050565b601f01601f191690565b6106ad8161062e565b81146106b857600080fd5b50565b6106ad81610639565b6106ad8161063e56fea365627a7a723058200b224fa8b95386908abc68ce3c301b0af78a5de4c4ea273c7da67fcc603d35396c6578706572696d656e74616cf564736f6c634300050a0040", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806378dd4ae51161006657806378dd4ae514610100578063a41f45e914610108578063ca2ef3c414610110578063e73482a214610118578063f6eba5471461012d57610093565b806301751998146100985780631ce3aa0d146100c1578063482fb13e146100d65780635dd80855146100eb575b600080fd5b6100ab6100a63660046103f0565b610135565b6040516100b8919061054a565b60405180910390f35b6100c96101d0565b6040516100b891906105c4565b6100de6101df565b6040516100b8919061053c565b6100fe6100f936600461047b565b6101ee565b005b6100de61021e565b6100c961022d565b6100de61023c565b61012061024b565b6040516100b89190610558565b610120610251565b6000610142848484610257565b806101c65750604051630b135d3f60e11b81526001600160a01b03851690631626ba7e906101769086908690600401610566565b60206040518083038186803b15801561018e57600080fd5b505afa1580156101a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101c69190810190610455565b90505b9392505050565b6001546001600160a01b031681565b6002546001600160a01b031681565b60405183907f28e9507238ce29efc9797f8791b89bf517f253f275a4ab2688a7cd108e40bc7a90600090a2505050565b6003546001600160a01b031681565b6000546001600160a01b031681565b6004546001600160a01b031681565b60065481565b60055481565b600080600080845160411461027257600093505050506101c9565b50505060208201516040830151606084015160001a601b81101561029457601b015b8060ff16601b141580156102ac57508060ff16601c14155b156102bd57600093505050506101c9565b600186828585604051600081526020016040526040516102e09493929190610586565b6020604051602081039080840390855afa158015610302573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b8035610337816106a4565b92915050565b8051610337816106bb565b8035610337816106c4565b60008083601f84011261036557600080fd5b50813567ffffffffffffffff81111561037d57600080fd5b60208301915083600182028301111561039557600080fd5b9250929050565b600082601f8301126103ad57600080fd5b81356103c06103bb826105f9565b6105d2565b915080825260208301602083018583830111156103dc57600080fd5b6103e783828461065e565b50505092915050565b60008060006060848603121561040557600080fd5b6000610411868661032c565b935050602061042286828701610348565b925050604084013567ffffffffffffffff81111561043f57600080fd5b61044b8682870161039c565b9150509250925092565b60006020828403121561046757600080fd5b6000610473848461033d565b949350505050565b60008060006040848603121561049057600080fd5b600061049c8686610348565b935050602084013567ffffffffffffffff8111156104b957600080fd5b6104c586828701610353565b92509250509250925092565b6104da8161062e565b82525050565b6104da81610639565b6104da8161063e565b60006104fd82610621565b6105078185610625565b935061051781856020860161066a565b6105208161069a565b9093019392505050565b6104da81610653565b6104da8161064d565b6020810161033782846104d1565b6020810161033782846104e0565b6020810161033782846104e9565b6040810161057482856104e9565b81810360208301526101c681846104f2565b6080810161059482876104e9565b6105a16020830186610533565b6105ae60408301856104e9565b6105bb60608301846104e9565b95945050505050565b60208101610337828461052a565b60405181810167ffffffffffffffff811182821017156105f157600080fd5b604052919050565b600067ffffffffffffffff82111561061057600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b600061033782610641565b151590565b90565b6001600160a01b031690565b60ff1690565b60006103378261062e565b82818337506000910152565b60005b8381101561068557818101518382015260200161066d565b83811115610694576000848401525b50505050565b601f01601f191690565b6106ad8161062e565b81146106b857600080fd5b50565b6106ad81610639565b6106ad8161063e56fea365627a7a723058200b224fa8b95386908abc68ce3c301b0af78a5de4c4ea273c7da67fcc603d35396c6578706572696d656e74616cf564736f6c634300050a0040", + "sourceMap": "217:2501:2:-;;;523:76;8:9:-1;5:2;;;30:1;27;20:12;5:2;523:76:2;;;;;;;;;;;;;;;;;;;;;581:13;782:1:3;749:30;581:13:2;-1:-1:-1;;;;;749:11:3;:30;:::i;:::-;:34;740:688;;;787:8;:47;;-1:-1:-1;;;;;;787:47:3;-1:-1:-1;;;;;787:47:3;;;;;740:688;;;882:1;849:30;239:42;-1:-1:-1;;;;;849:11:3;:30;:::i;:::-;:34;845:583;;;887:8;:47;;-1:-1:-1;;;;;;887:47:3;239:42;887:47;;;845:583;;;982:1;949:30;321:42;-1:-1:-1;;;;;949:11:3;:30;:::i;:::-;:34;945:483;;;987:8;:47;;-1:-1:-1;;;;;;987:47:3;321:42;987:47;;;945:483;;;1082:1;1049:30;1082:1;-1:-1:-1;;;;;1049:11:3;:30;:::i;:::-;:34;1045:383;;;403:42;1087:47;;-1:-1:-1;;;;;;1087:47:3;;;1045:383;;;1182:1;1149:30;485:42;-1:-1:-1;;;;;1149:11:3;:30;:::i;:::-;:34;1145:283;;;1187:8;:47;;-1:-1:-1;;;;;;1187:47:3;485:42;1187:47;;;1145:283;;;1282:1;1249:30;1282:1;-1:-1:-1;;;;;1249:11:3;:30;:::i;:::-;:34;1245:183;;;567:42;1287:47;;-1:-1:-1;;;;;;1287:47:3;;;1245:183;;;1387:29;;;;;;;;;;;;;;;;;;;1245:183;1464:8;;;;;;;;;-1:-1:-1;;;;;1464:8:3;-1:-1:-1;;;;;1464:19:3;;:21;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1464:21:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1464:21:3;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;1464:21:3;;;;;;;;;1431:10;:55;;-1:-1:-1;;;;;;1431:55:3;-1:-1:-1;;;;;1431:55:3;;;;;;;;;;-1:-1:-1;217:2501:2;;-1:-1:-1;217:2501:2;1493:120:3;1590:18;;1579:31::o;5:134:-1:-;83:13;;101:33;83:13;101:33;;;68:71;;;;;146:263;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;;;319:74;223:186;-1:-1;;;;223:186;417:364;;577:67;641:2;636:3;577:67;;;677:66;657:87;;772:2;763:12;;563:218;-1:-1;;563:218;789:407;980:2;994:47;;;965:18;;1055:131;965:18;1055:131;;1204:163;1307:19;;;1356:4;1347:14;;1300:67;1375:91;;-1:-1;;;;;1535:54;;1437:24;1518:76;1601:117;1670:24;1688:5;1670:24;;;1663:5;1660:35;1650:2;;1709:1;1706;1699:12;1650:2;1644:74;;;217:2501:2;;;;;;", + "deployedSourceMap": "217:2501:2:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;217:2501:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;609:246:6;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;651:37:3;;;:::i;:::-;;;;;;;;296:30:2;;;:::i;:::-;;;;;;;;602:114;;;;;;;;;:::i;:::-;;329:34;;;:::i;613:35:3:-;;;:::i;366:37:2:-;;;:::i;437:30::-;;;:::i;:::-;;;;;;;;406:28;;;:::i;609:246:6:-;732:4;750:42;763:9;774:5;781:10;750:12;:42::i;:::-;:101;;;-1:-1:-1;796:55:6;;-1:-1:-1;;;796:55:6;;-1:-1:-1;;;;;796:36:6;;;;;:55;;833:5;;840:10;;796:55;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:55:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;796:55:6;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;796:55:6;;;;;;;;;743:108;;609:246;;;;;;:::o;651:37:3:-;;;-1:-1:-1;;;;;651:37:3;;:::o;296:30:2:-;;;-1:-1:-1;;;;;296:30:2;;:::o;602:114::-;685:27;;697:14;;685:27;;;;;602:114;;;:::o;329:34::-;;;-1:-1:-1;;;;;329:34:2;;:::o;613:35:3:-;;;-1:-1:-1;;;;;613:35:3;;:::o;366:37:2:-;;;-1:-1:-1;;;;;366:37:2;;:::o;437:30::-;;;;:::o;406:28::-;;;;:::o;923:435:6:-;1021:4;1032:9;1045;1058;1075:4;:11;1090:2;1075:17;1071:35;;1101:5;1094:12;;;;;;;1071:35;-1:-1:-1;;;1155:4:6;1145:15;;1139:22;1194:4;1184:15;;1178:22;1233:4;1223:15;;1217:22;1214:1;1209:31;1255:2;1251:6;;1247:19;;;1264:2;1259:7;1247:19;1274:1;:7;;1279:2;1274:7;;:18;;;;;1285:1;:7;;1290:2;1285:7;;1274:18;1270:36;;;1301:5;1294:12;;;;;;;1270:36;1330:24;1340:4;1346:1;1349;1352;1330:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1330:24:6;;;;;;;;-1:-1:-1;;;;;1317:37:6;:9;-1:-1:-1;;;;;1317:37:6;;1310:44;;;;;923:435;;;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;;57:78;;;;;142:128;217:13;;235:30;217:13;235:30;;277:130;344:20;;369:33;344:20;369:33;;428:335;;;542:3;535:4;527:6;523:17;519:27;509:2;;560:1;557;550:12;509:2;-1:-1;580:20;;620:18;609:30;;606:2;;;652:1;649;642:12;606:2;686:4;678:6;674:17;662:29;;736:3;729;721:6;717:16;707:8;703:31;700:40;697:2;;;753:1;750;743:12;697:2;502:261;;;;;;772:440;;873:3;866:4;858:6;854:17;850:27;840:2;;891:1;888;881:12;840:2;928:6;915:20;950:64;965:48;1006:6;965:48;;;950:64;;;941:73;;1034:6;1027:5;1020:21;1070:4;1062:6;1058:17;1103:4;1096:5;1092:16;1138:3;1129:6;1124:3;1120:16;1117:25;1114:2;;;1155:1;1152;1145:12;1114:2;1165:41;1199:6;1194:3;1189;1165:41;;;833:379;;;;;;;;1220:595;;;;1367:2;1355:9;1346:7;1342:23;1338:32;1335:2;;;1383:1;1380;1373:12;1335:2;1418:1;1435:53;1480:7;1460:9;1435:53;;;1425:63;;1397:97;1525:2;1543:53;1588:7;1579:6;1568:9;1564:22;1543:53;;;1533:63;;1504:98;1661:2;1650:9;1646:18;1633:32;1685:18;1677:6;1674:30;1671:2;;;1717:1;1714;1707:12;1671:2;1737:62;1791:7;1782:6;1771:9;1767:22;1737:62;;;1727:72;;1612:193;1329:486;;;;;;1822:257;;1934:2;1922:9;1913:7;1909:23;1905:32;1902:2;;;1950:1;1947;1940:12;1902:2;1985:1;2002:61;2055:7;2035:9;2002:61;;;1992:71;1896:183;-1:-1;;;;1896:183;2086:490;;;;2226:2;2214:9;2205:7;2201:23;2197:32;2194:2;;;2242:1;2239;2232:12;2194:2;2277:1;2294:53;2339:7;2319:9;2294:53;;;2284:63;;2256:97;2412:2;2401:9;2397:18;2384:32;2436:18;2428:6;2425:30;2422:2;;;2468:1;2465;2458:12;2422:2;2496:64;2552:7;2543:6;2532:9;2528:22;2496:64;;;2486:74;;;;2363:203;2188:388;;;;;;2583:113;2666:24;2684:5;2666:24;;;2661:3;2654:37;2648:48;;;2703:104;2780:21;2795:5;2780:21;;2814:113;2897:24;2915:5;2897:24;;2934:343;;3044:38;3076:5;3044:38;;;3094:70;3157:6;3152:3;3094:70;;;3087:77;;3169:52;3214:6;3209:3;3202:4;3195:5;3191:16;3169:52;;;3242:29;3264:6;3242:29;;;3233:39;;;;3024:253;-1:-1;;;3024:253;3284:180;3394:64;3452:5;3394:64;;3776:107;3855:22;3871:5;3855:22;;3890:213;4008:2;3993:18;;4022:71;3997:9;4066:6;4022:71;;4110:201;4222:2;4207:18;;4236:65;4211:9;4274:6;4236:65;;4318:213;4436:2;4421:18;;4450:71;4425:9;4494:6;4450:71;;4538:408;4702:2;4687:18;;4716:71;4691:9;4760:6;4716:71;;;4835:9;4829:4;4825:20;4820:2;4809:9;4805:18;4798:48;4860:76;4931:4;4922:6;4860:76;;4953:539;5151:3;5136:19;;5166:71;5140:9;5210:6;5166:71;;;5248:68;5312:2;5301:9;5297:18;5288:6;5248:68;;;5327:72;5395:2;5384:9;5380:18;5371:6;5327:72;;;5410;5478:2;5467:9;5463:18;5454:6;5410:72;;;5122:370;;;;;;;;5499:267;5644:2;5629:18;;5658:98;5633:9;5729:6;5658:98;;6265:256;6327:2;6321:9;6353:17;;;6428:18;6413:34;;6449:22;;;6410:62;6407:2;;;6485:1;6482;6475:12;6407:2;6501;6494:22;6305:216;;-1:-1;6305:216;6528:321;;6671:18;6663:6;6660:30;6657:2;;;6703:1;6700;6693:12;6657:2;-1:-1;6834:4;6770;6747:17;;;;-1:-1;;6743:33;6824:15;;6594:255;6856:121;6943:12;;6914:63;6985:162;7087:19;;;7136:4;7127:14;;7080:67;7155:91;;7217:24;7235:5;7217:24;;7253:85;7319:13;7312:21;;7295:43;7345:72;7407:5;7390:27;7424:121;-1:-1;;;;;7486:54;;7469:76;7631:81;7702:4;7691:16;;7674:38;7719:175;;7825:64;7883:5;7825:64;;8365:145;8446:6;8441:3;8436;8423:30;-1:-1;8502:1;8484:16;;8477:27;8416:94;8519:268;8584:1;8591:101;8605:6;8602:1;8599:13;8591:101;;;8672:11;;;8666:18;8653:11;;;8646:39;8627:2;8620:10;8591:101;;;8707:6;8704:1;8701:13;8698:2;;;8772:1;8763:6;8758:3;8754:16;8747:27;8698:2;8568:219;;;;;8795:97;8883:2;8863:14;-1:-1;;8859:28;;8843:49;8900:117;8969:24;8987:5;8969:24;;;8962:5;8959:35;8949:2;;9008:1;9005;8998:12;8949:2;8943:74;;9024:111;9090:21;9105:5;9090:21;;9142:117;9211:24;9229:5;9211:24;", + "source": "pragma solidity ^0.5.8;\npragma experimental ABIEncoderV2;\n\nimport \"iexec-poco/contracts/SignatureVerifier.sol\";\nimport \"iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol\";\nimport \"./IexecInterface.sol\";\n\n\ncontract IexecDoracle is IexecInterface, SignatureVerifier, IOracleConsumer\n{\n\taddress public m_authorizedApp;\n\taddress public m_authorizedDataset;\n\taddress public m_authorizedWorkerpool;\n\tbytes32 public m_requiredtag;\n\tuint256 public m_requiredtrust;\n\n\tevent ResultReady(bytes32 indexed doracleCallId);\n\n\tconstructor(address _iexecHubAddr)\n\tpublic IexecInterface(_iexecHubAddr)\n\t{}\n\n\tfunction receiveResult(bytes32 _doracleCallId, bytes calldata)\n\texternal\n\t{\n\t\temit ResultReady(_doracleCallId);\n\t}\n\n\tfunction _iexecDoracleUpdateSettings(\n\t\taddress _authorizedApp\n\t,\taddress _authorizedDataset\n\t,\taddress _authorizedWorkerpool\n\t, bytes32 _requiredtag\n\t, uint256 _requiredtrust\n\t)\n\tinternal\n\t{\n\t\tm_authorizedApp = _authorizedApp;\n\t\tm_authorizedDataset = _authorizedDataset;\n\t\tm_authorizedWorkerpool = _authorizedWorkerpool;\n\t\tm_requiredtag = _requiredtag;\n\t\tm_requiredtrust = _requiredtrust;\n\t}\n\n\tfunction _iexecDoracleGetVerifiedResult(bytes32 _doracleCallId)\n\tinternal view returns (bytes memory)\n\t{\n\t\tIexecODBLibCore.Task memory task = iexecHub.viewTask(_doracleCallId);\n\t\tIexecODBLibCore.Deal memory deal = iexecClerk.viewDeal(task.dealid);\n\n\t\trequire(task.status == IexecODBLibCore.TaskStatusEnum.COMPLETED, \"result-not-available\" );\n\t\trequire(task.resultDigest == keccak256(task.results), \"result-not-validated-by-consensus\");\n\t\trequire(m_authorizedApp == address(0) || checkIdentity(m_authorizedApp, deal.app.pointer, iexecClerk.GROUPMEMBER_PURPOSE()), \"unauthorized-app\" );\n\t\trequire(m_authorizedDataset == address(0) || checkIdentity(m_authorizedDataset, deal.dataset.pointer, iexecClerk.GROUPMEMBER_PURPOSE()), \"unauthorized-dataset\" );\n\t\trequire(m_authorizedWorkerpool == address(0) || checkIdentity(m_authorizedWorkerpool, deal.workerpool.pointer, iexecClerk.GROUPMEMBER_PURPOSE()), \"unauthorized-workerpool\" );\n\t\trequire(m_requiredtag & ~deal.tag == bytes32(0), \"invalid-tag\" );\n\t\trequire(m_requiredtrust <= deal.trust, \"invalid-trust\" );\n\t\treturn task.results;\n\t}\n}\n", + "sourcePath": "iexec-doracle-base/contracts/IexecDoracle.sol", + "ast": { + "absolutePath": "iexec-doracle-base/contracts/IexecDoracle.sol", + "exportedSymbols": { + "IexecDoracle": [ + 432 + ] + }, + "id": 433, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 223, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:2" + }, + { + "id": 224, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:2" + }, + { + "absolutePath": "iexec-poco/contracts/SignatureVerifier.sol", + "file": "iexec-poco/contracts/SignatureVerifier.sol", + "id": 225, + "nodeType": "ImportDirective", + "scope": 433, + "sourceUnit": 1219, + "src": "59:52:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol", + "file": "iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol", + "id": 226, + "nodeType": "ImportDirective", + "scope": 433, + "sourceUnit": 1571, + "src": "112:71:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-doracle-base/contracts/IexecInterface.sol", + "file": "./IexecInterface.sol", + "id": 227, + "nodeType": "ImportDirective", + "scope": 433, + "sourceUnit": 564, + "src": "184:30:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 228, + "name": "IexecInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 563, + "src": "242:14:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecInterface_$563", + "typeString": "contract IexecInterface" + } + }, + "id": 229, + "nodeType": "InheritanceSpecifier", + "src": "242:14:2" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 230, + "name": "SignatureVerifier", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1218, + "src": "258:17:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SignatureVerifier_$1218", + "typeString": "contract SignatureVerifier" + } + }, + "id": 231, + "nodeType": "InheritanceSpecifier", + "src": "258:17:2" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 232, + "name": "IOracleConsumer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1562, + "src": "277:15:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IOracleConsumer_$1562", + "typeString": "contract IOracleConsumer" + } + }, + "id": 233, + "nodeType": "InheritanceSpecifier", + "src": "277:15:2" + } + ], + "contractDependencies": [ + 563, + 1218, + 1562 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 432, + "linearizedBaseContracts": [ + 432, + 1562, + 1218, + 563 + ], + "name": "IexecDoracle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 235, + "name": "m_authorizedApp", + "nodeType": "VariableDeclaration", + "scope": 432, + "src": "296:30:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 234, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "296:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 237, + "name": "m_authorizedDataset", + "nodeType": "VariableDeclaration", + "scope": 432, + "src": "329:34:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 236, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "329:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 239, + "name": "m_authorizedWorkerpool", + "nodeType": "VariableDeclaration", + "scope": 432, + "src": "366:37:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 238, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "366:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 241, + "name": "m_requiredtag", + "nodeType": "VariableDeclaration", + "scope": 432, + "src": "406:28:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 240, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "406:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 243, + "name": "m_requiredtrust", + "nodeType": "VariableDeclaration", + "scope": 432, + "src": "437:30:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 242, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "437:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 247, + "name": "ResultReady", + "nodeType": "EventDefinition", + "parameters": { + "id": 246, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 245, + "indexed": true, + "name": "doracleCallId", + "nodeType": "VariableDeclaration", + "scope": 247, + "src": "489:29:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 244, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "489:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "488:31:2" + }, + "src": "471:49:2" + }, + { + "body": { + "id": 255, + "nodeType": "Block", + "src": "597:2:2", + "statements": [] + }, + "documentation": null, + "id": 256, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 252, + "name": "_iexecHubAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 249, + "src": "581:13:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 253, + "modifierName": { + "argumentTypes": null, + "id": 251, + "name": "IexecInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 563, + "src": "566:14:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecInterface_$563_$", + "typeString": "type(contract IexecInterface)" + } + }, + "nodeType": "ModifierInvocation", + "src": "566:29:2" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 250, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 249, + "name": "_iexecHubAddr", + "nodeType": "VariableDeclaration", + "scope": 256, + "src": "535:21:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 248, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "535:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "534:23:2" + }, + "returnParameters": { + "id": 254, + "nodeType": "ParameterList", + "parameters": [], + "src": "597:0:2" + }, + "scope": 432, + "src": "523:76:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 267, + "nodeType": "Block", + "src": "676:40:2", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 264, + "name": "_doracleCallId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 258, + "src": "697:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 263, + "name": "ResultReady", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "685:11:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "685:27:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 266, + "nodeType": "EmitStatement", + "src": "680:32:2" + } + ] + }, + "documentation": null, + "id": 268, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "receiveResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 261, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 258, + "name": "_doracleCallId", + "nodeType": "VariableDeclaration", + "scope": 268, + "src": "625:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 257, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "625:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 260, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 268, + "src": "649:14:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 259, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "649:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "624:40:2" + }, + "returnParameters": { + "id": 262, + "nodeType": "ParameterList", + "parameters": [], + "src": "676:0:2" + }, + "scope": 432, + "src": "602:114:2", + "stateMutability": "nonpayable", + "superFunction": 1561, + "visibility": "external" + }, + { + "body": { + "id": 301, + "nodeType": "Block", + "src": "909:228:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 281, + "name": "m_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "913:15:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 282, + "name": "_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 270, + "src": "938:14:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "913:39:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 284, + "nodeType": "ExpressionStatement", + "src": "913:39:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 285, + "name": "m_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 237, + "src": "956:19:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 286, + "name": "_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 272, + "src": "981:18:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "956:43:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 288, + "nodeType": "ExpressionStatement", + "src": "956:43:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 289, + "name": "m_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 239, + "src": "1003:22:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 290, + "name": "_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 274, + "src": "1028:21:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1003:46:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 292, + "nodeType": "ExpressionStatement", + "src": "1003:46:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 293, + "name": "m_requiredtag", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 241, + "src": "1053:13:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 294, + "name": "_requiredtag", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "1078:12:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1053:37:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 296, + "nodeType": "ExpressionStatement", + "src": "1053:37:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 297, + "name": "m_requiredtrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 243, + "src": "1094:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 298, + "name": "_requiredtrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 278, + "src": "1119:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1094:39:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 300, + "nodeType": "ExpressionStatement", + "src": "1094:39:2" + } + ] + }, + "documentation": null, + "id": 302, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_iexecDoracleUpdateSettings", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 279, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 270, + "name": "_authorizedApp", + "nodeType": "VariableDeclaration", + "scope": 302, + "src": "759:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 269, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "759:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 272, + "name": "_authorizedDataset", + "nodeType": "VariableDeclaration", + "scope": 302, + "src": "785:26:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 271, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "785:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 274, + "name": "_authorizedWorkerpool", + "nodeType": "VariableDeclaration", + "scope": 302, + "src": "815:29:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 273, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "815:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 276, + "name": "_requiredtag", + "nodeType": "VariableDeclaration", + "scope": 302, + "src": "848:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 275, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "848:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 278, + "name": "_requiredtrust", + "nodeType": "VariableDeclaration", + "scope": 302, + "src": "872:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 277, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "872:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "755:142:2" + }, + "returnParameters": { + "id": 280, + "nodeType": "ParameterList", + "parameters": [], + "src": "909:0:2" + }, + "scope": 432, + "src": "719:418:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 430, + "nodeType": "Block", + "src": "1243:1473:2", + "statements": [ + { + "assignments": [ + 312 + ], + "declarations": [ + { + "constant": false, + "id": 312, + "name": "task", + "nodeType": "VariableDeclaration", + "scope": 430, + "src": "1247:32:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_memory_ptr", + "typeString": "struct IexecODBLibCore.Task" + }, + "typeName": { + "contractScope": null, + "id": 311, + "name": "IexecODBLibCore.Task", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1304, + "src": "1247:20:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_storage_ptr", + "typeString": "struct IexecODBLibCore.Task" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 317, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 315, + "name": "_doracleCallId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 304, + "src": "1300:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 313, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "1282:8:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "id": 314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "viewTask", + "nodeType": "MemberAccess", + "referencedDeclaration": 938, + "src": "1282:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Task_$1304_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct IexecODBLibCore.Task memory)" + } + }, + "id": 316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1282:33:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1247:68:2" + }, + { + "assignments": [ + 321 + ], + "declarations": [ + { + "constant": false, + "id": 321, + "name": "deal", + "nodeType": "VariableDeclaration", + "scope": 430, + "src": "1319:32:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal" + }, + "typeName": { + "contractScope": null, + "id": 320, + "name": "IexecODBLibCore.Deal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1270, + "src": "1319:20:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_storage_ptr", + "typeString": "struct IexecODBLibCore.Deal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 327, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 324, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "1374:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 325, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dealid", + "nodeType": "MemberAccess", + "referencedDeclaration": 1280, + "src": "1374:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 322, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 456, + "src": "1354:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "viewDeal", + "nodeType": "MemberAccess", + "referencedDeclaration": 700, + "src": "1354:19:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Deal_$1270_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct IexecODBLibCore.Deal memory)" + } + }, + "id": 326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1354:32:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1319:67:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1276", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + }, + "id": 334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 329, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "1399:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 330, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 1278, + "src": "1399:11:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1276", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 331, + "name": "IexecODBLibCore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1319, + "src": "1414:15:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecODBLibCore_$1319_$", + "typeString": "type(library IexecODBLibCore)" + } + }, + "id": 332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "TaskStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 1276, + "src": "1414:30:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_TaskStatusEnum_$1276_$", + "typeString": "type(enum IexecODBLibCore.TaskStatusEnum)" + } + }, + "id": 333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "COMPLETED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1414:40:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1276", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + } + }, + "src": "1399:55:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "726573756c742d6e6f742d617661696c61626c65", + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1537:22:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d69270f5ae52af5932ae4b645d839abaedbef4d911fcb0aef3cb5950a6e7dbc6", + "typeString": "literal_string \"result-not-available\"" + }, + "value": "result-not-available" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d69270f5ae52af5932ae4b645d839abaedbef4d911fcb0aef3cb5950a6e7dbc6", + "typeString": "literal_string \"result-not-available\"" + } + ], + "id": 328, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "1391:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1391:182:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 337, + "nodeType": "ExpressionStatement", + "src": "1391:182:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 339, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "1585:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 340, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultDigest", + "nodeType": "MemberAccess", + "referencedDeclaration": 1301, + "src": "1585:17:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 342, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "1616:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 343, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "results", + "nodeType": "MemberAccess", + "referencedDeclaration": 1303, + "src": "1616:12:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + ], + "id": 341, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1916, + "src": "1606:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1606:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1585:44:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "726573756c742d6e6f742d76616c6964617465642d62792d636f6e73656e737573", + "id": 346, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1723:35:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_effd92561db1e076a58acaf5e4bf3af2bd58ffdd7dfb455053c6ee6f87871e9e", + "typeString": "literal_string \"result-not-validated-by-consensus\"" + }, + "value": "result-not-validated-by-consensus" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_effd92561db1e076a58acaf5e4bf3af2bd58ffdd7dfb455053c6ee6f87871e9e", + "typeString": "literal_string \"result-not-validated-by-consensus\"" + } + ], + "id": 338, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "1577:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1577:182:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 348, + "nodeType": "ExpressionStatement", + "src": "1577:182:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 350, + "name": "m_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "1771:15:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1805:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1797:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 353, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1797:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1771:36:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 356, + "name": "m_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "1825:15:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 357, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 321, + "src": "1849:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 358, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "app", + "nodeType": "MemberAccess", + "referencedDeclaration": 1241, + "src": "1849:8:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_memory", + "typeString": "struct IexecODBLibCore.Resource memory" + } + }, + "id": 359, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pointer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1234, + "src": "1849:16:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 360, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 456, + "src": "1874:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "GROUPMEMBER_PURPOSE", + "nodeType": "MemberAccess", + "referencedDeclaration": 581, + "src": "1874:30:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1874:32:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 355, + "name": "checkIdentity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "1811:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) view returns (bool)" + } + }, + "id": 363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1811:96:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1771:136:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "756e617574686f72697a65642d617070", + "id": 365, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1909:18:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ea77c3ead12002987db4d83aa96b54fe12f3a973fd8783e02c7519a846412e9", + "typeString": "literal_string \"unauthorized-app\"" + }, + "value": "unauthorized-app" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4ea77c3ead12002987db4d83aa96b54fe12f3a973fd8783e02c7519a846412e9", + "typeString": "literal_string \"unauthorized-app\"" + } + ], + "id": 349, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "1763:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1763:182:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 367, + "nodeType": "ExpressionStatement", + "src": "1763:182:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 369, + "name": "m_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 237, + "src": "1957:19:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1991:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 370, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1983:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1983:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1957:36:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 375, + "name": "m_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 237, + "src": "2011:19:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 376, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 321, + "src": "2035:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 377, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dataset", + "nodeType": "MemberAccess", + "referencedDeclaration": 1243, + "src": "2035:12:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_memory", + "typeString": "struct IexecODBLibCore.Resource memory" + } + }, + "id": 378, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pointer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1234, + "src": "2035:20:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 379, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 456, + "src": "2060:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "GROUPMEMBER_PURPOSE", + "nodeType": "MemberAccess", + "referencedDeclaration": 581, + "src": "2060:30:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2060:32:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 374, + "name": "checkIdentity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "1997:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) view returns (bool)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1997:96:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1957:136:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "756e617574686f72697a65642d64617461736574", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2095:22:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bf525b5472fd396b7f6f7a14cbb15f890199960d0984e8b8bf6ce9f25fd49af5", + "typeString": "literal_string \"unauthorized-dataset\"" + }, + "value": "unauthorized-dataset" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_bf525b5472fd396b7f6f7a14cbb15f890199960d0984e8b8bf6ce9f25fd49af5", + "typeString": "literal_string \"unauthorized-dataset\"" + } + ], + "id": 368, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "1949:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1949:182:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 386, + "nodeType": "ExpressionStatement", + "src": "1949:182:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 388, + "name": "m_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 239, + "src": "2143:22:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 390, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2177:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2169:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 391, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2169:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2143:36:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 394, + "name": "m_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 239, + "src": "2197:22:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 395, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 321, + "src": "2221:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 396, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 1245, + "src": "2221:15:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_memory", + "typeString": "struct IexecODBLibCore.Resource memory" + } + }, + "id": 397, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pointer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1234, + "src": "2221:23:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 398, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 456, + "src": "2246:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "GROUPMEMBER_PURPOSE", + "nodeType": "MemberAccess", + "referencedDeclaration": 581, + "src": "2246:30:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2246:32:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 393, + "name": "checkIdentity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "2183:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) view returns (bool)" + } + }, + "id": 401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2183:96:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2143:136:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "756e617574686f72697a65642d776f726b6572706f6f6c", + "id": 403, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2281:25:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cd9d5b91ce392ae4e14603789b529f4ed6dc406963f1568f4dd39ad738e11945", + "typeString": "literal_string \"unauthorized-workerpool\"" + }, + "value": "unauthorized-workerpool" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_cd9d5b91ce392ae4e14603789b529f4ed6dc406963f1568f4dd39ad738e11945", + "typeString": "literal_string \"unauthorized-workerpool\"" + } + ], + "id": 387, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "2135:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2135:182:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 405, + "nodeType": "ExpressionStatement", + "src": "2135:182:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 407, + "name": "m_requiredtag", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 241, + "src": "2329:13:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "argumentTypes": null, + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "2345:9:2", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 408, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 321, + "src": "2346:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 409, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tag", + "nodeType": "MemberAccess", + "referencedDeclaration": 1251, + "src": "2346:8:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2329:25:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2366:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 412, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2358:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 414, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2358:10:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2329:39:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "696e76616c69642d746167", + "id": 416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2467:13:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_02cdd25b54a70d71eb740fc00118440c157bc4dc994a1498d50f0c343234d4d2", + "typeString": "literal_string \"invalid-tag\"" + }, + "value": "invalid-tag" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_02cdd25b54a70d71eb740fc00118440c157bc4dc994a1498d50f0c343234d4d2", + "typeString": "literal_string \"invalid-tag\"" + } + ], + "id": 406, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "2321:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2321:182:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 418, + "nodeType": "ExpressionStatement", + "src": "2321:182:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 420, + "name": "m_requiredtrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 243, + "src": "2515:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 421, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 321, + "src": "2534:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 422, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "trust", + "nodeType": "MemberAccess", + "referencedDeclaration": 1247, + "src": "2534:10:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2515:29:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "696e76616c69642d7472757374", + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2653:15:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f331d332d4edefa3b8602ebf0aa54d028069b1d557ce6fa4cfd9eb30c6dc64a4", + "typeString": "literal_string \"invalid-trust\"" + }, + "value": "invalid-trust" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f331d332d4edefa3b8602ebf0aa54d028069b1d557ce6fa4cfd9eb30c6dc64a4", + "typeString": "literal_string \"invalid-trust\"" + } + ], + "id": 419, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "2507:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2507:182:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 426, + "nodeType": "ExpressionStatement", + "src": "2507:182:2" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 427, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2700:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 428, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "results", + "nodeType": "MemberAccess", + "referencedDeclaration": 1303, + "src": "2700:12:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 308, + "id": 429, + "nodeType": "Return", + "src": "2693:19:2" + } + ] + }, + "documentation": null, + "id": 431, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_iexecDoracleGetVerifiedResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 304, + "name": "_doracleCallId", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "1180:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 303, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1180:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1179:24:2" + }, + "returnParameters": { + "id": 308, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 307, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "1228:12:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 306, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1228:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1227:14:2" + }, + "scope": 432, + "src": "1140:1576:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 433, + "src": "217:2501:2" + } + ], + "src": "0:2719:2" + }, + "legacyAST": { + "absolutePath": "iexec-doracle-base/contracts/IexecDoracle.sol", + "exportedSymbols": { + "IexecDoracle": [ + 432 + ] + }, + "id": 433, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 223, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:2" + }, + { + "id": 224, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:2" + }, + { + "absolutePath": "iexec-poco/contracts/SignatureVerifier.sol", + "file": "iexec-poco/contracts/SignatureVerifier.sol", + "id": 225, + "nodeType": "ImportDirective", + "scope": 433, + "sourceUnit": 1219, + "src": "59:52:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol", + "file": "iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol", + "id": 226, + "nodeType": "ImportDirective", + "scope": 433, + "sourceUnit": 1571, + "src": "112:71:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-doracle-base/contracts/IexecInterface.sol", + "file": "./IexecInterface.sol", + "id": 227, + "nodeType": "ImportDirective", + "scope": 433, + "sourceUnit": 564, + "src": "184:30:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 228, + "name": "IexecInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 563, + "src": "242:14:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecInterface_$563", + "typeString": "contract IexecInterface" + } + }, + "id": 229, + "nodeType": "InheritanceSpecifier", + "src": "242:14:2" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 230, + "name": "SignatureVerifier", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1218, + "src": "258:17:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SignatureVerifier_$1218", + "typeString": "contract SignatureVerifier" + } + }, + "id": 231, + "nodeType": "InheritanceSpecifier", + "src": "258:17:2" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 232, + "name": "IOracleConsumer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1562, + "src": "277:15:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IOracleConsumer_$1562", + "typeString": "contract IOracleConsumer" + } + }, + "id": 233, + "nodeType": "InheritanceSpecifier", + "src": "277:15:2" + } + ], + "contractDependencies": [ + 563, + 1218, + 1562 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 432, + "linearizedBaseContracts": [ + 432, + 1562, + 1218, + 563 + ], + "name": "IexecDoracle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 235, + "name": "m_authorizedApp", + "nodeType": "VariableDeclaration", + "scope": 432, + "src": "296:30:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 234, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "296:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 237, + "name": "m_authorizedDataset", + "nodeType": "VariableDeclaration", + "scope": 432, + "src": "329:34:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 236, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "329:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 239, + "name": "m_authorizedWorkerpool", + "nodeType": "VariableDeclaration", + "scope": 432, + "src": "366:37:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 238, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "366:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 241, + "name": "m_requiredtag", + "nodeType": "VariableDeclaration", + "scope": 432, + "src": "406:28:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 240, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "406:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 243, + "name": "m_requiredtrust", + "nodeType": "VariableDeclaration", + "scope": 432, + "src": "437:30:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 242, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "437:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 247, + "name": "ResultReady", + "nodeType": "EventDefinition", + "parameters": { + "id": 246, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 245, + "indexed": true, + "name": "doracleCallId", + "nodeType": "VariableDeclaration", + "scope": 247, + "src": "489:29:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 244, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "489:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "488:31:2" + }, + "src": "471:49:2" + }, + { + "body": { + "id": 255, + "nodeType": "Block", + "src": "597:2:2", + "statements": [] + }, + "documentation": null, + "id": 256, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 252, + "name": "_iexecHubAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 249, + "src": "581:13:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 253, + "modifierName": { + "argumentTypes": null, + "id": 251, + "name": "IexecInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 563, + "src": "566:14:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecInterface_$563_$", + "typeString": "type(contract IexecInterface)" + } + }, + "nodeType": "ModifierInvocation", + "src": "566:29:2" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 250, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 249, + "name": "_iexecHubAddr", + "nodeType": "VariableDeclaration", + "scope": 256, + "src": "535:21:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 248, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "535:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "534:23:2" + }, + "returnParameters": { + "id": 254, + "nodeType": "ParameterList", + "parameters": [], + "src": "597:0:2" + }, + "scope": 432, + "src": "523:76:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 267, + "nodeType": "Block", + "src": "676:40:2", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 264, + "name": "_doracleCallId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 258, + "src": "697:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 263, + "name": "ResultReady", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "685:11:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "685:27:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 266, + "nodeType": "EmitStatement", + "src": "680:32:2" + } + ] + }, + "documentation": null, + "id": 268, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "receiveResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 261, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 258, + "name": "_doracleCallId", + "nodeType": "VariableDeclaration", + "scope": 268, + "src": "625:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 257, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "625:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 260, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 268, + "src": "649:14:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 259, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "649:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "624:40:2" + }, + "returnParameters": { + "id": 262, + "nodeType": "ParameterList", + "parameters": [], + "src": "676:0:2" + }, + "scope": 432, + "src": "602:114:2", + "stateMutability": "nonpayable", + "superFunction": 1561, + "visibility": "external" + }, + { + "body": { + "id": 301, + "nodeType": "Block", + "src": "909:228:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 281, + "name": "m_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "913:15:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 282, + "name": "_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 270, + "src": "938:14:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "913:39:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 284, + "nodeType": "ExpressionStatement", + "src": "913:39:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 285, + "name": "m_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 237, + "src": "956:19:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 286, + "name": "_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 272, + "src": "981:18:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "956:43:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 288, + "nodeType": "ExpressionStatement", + "src": "956:43:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 289, + "name": "m_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 239, + "src": "1003:22:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 290, + "name": "_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 274, + "src": "1028:21:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1003:46:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 292, + "nodeType": "ExpressionStatement", + "src": "1003:46:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 293, + "name": "m_requiredtag", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 241, + "src": "1053:13:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 294, + "name": "_requiredtag", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "1078:12:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1053:37:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 296, + "nodeType": "ExpressionStatement", + "src": "1053:37:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 297, + "name": "m_requiredtrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 243, + "src": "1094:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 298, + "name": "_requiredtrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 278, + "src": "1119:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1094:39:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 300, + "nodeType": "ExpressionStatement", + "src": "1094:39:2" + } + ] + }, + "documentation": null, + "id": 302, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_iexecDoracleUpdateSettings", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 279, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 270, + "name": "_authorizedApp", + "nodeType": "VariableDeclaration", + "scope": 302, + "src": "759:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 269, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "759:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 272, + "name": "_authorizedDataset", + "nodeType": "VariableDeclaration", + "scope": 302, + "src": "785:26:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 271, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "785:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 274, + "name": "_authorizedWorkerpool", + "nodeType": "VariableDeclaration", + "scope": 302, + "src": "815:29:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 273, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "815:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 276, + "name": "_requiredtag", + "nodeType": "VariableDeclaration", + "scope": 302, + "src": "848:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 275, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "848:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 278, + "name": "_requiredtrust", + "nodeType": "VariableDeclaration", + "scope": 302, + "src": "872:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 277, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "872:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "755:142:2" + }, + "returnParameters": { + "id": 280, + "nodeType": "ParameterList", + "parameters": [], + "src": "909:0:2" + }, + "scope": 432, + "src": "719:418:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 430, + "nodeType": "Block", + "src": "1243:1473:2", + "statements": [ + { + "assignments": [ + 312 + ], + "declarations": [ + { + "constant": false, + "id": 312, + "name": "task", + "nodeType": "VariableDeclaration", + "scope": 430, + "src": "1247:32:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_memory_ptr", + "typeString": "struct IexecODBLibCore.Task" + }, + "typeName": { + "contractScope": null, + "id": 311, + "name": "IexecODBLibCore.Task", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1304, + "src": "1247:20:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_storage_ptr", + "typeString": "struct IexecODBLibCore.Task" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 317, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 315, + "name": "_doracleCallId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 304, + "src": "1300:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 313, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "1282:8:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "id": 314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "viewTask", + "nodeType": "MemberAccess", + "referencedDeclaration": 938, + "src": "1282:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Task_$1304_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct IexecODBLibCore.Task memory)" + } + }, + "id": 316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1282:33:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1247:68:2" + }, + { + "assignments": [ + 321 + ], + "declarations": [ + { + "constant": false, + "id": 321, + "name": "deal", + "nodeType": "VariableDeclaration", + "scope": 430, + "src": "1319:32:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal" + }, + "typeName": { + "contractScope": null, + "id": 320, + "name": "IexecODBLibCore.Deal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1270, + "src": "1319:20:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_storage_ptr", + "typeString": "struct IexecODBLibCore.Deal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 327, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 324, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "1374:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 325, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dealid", + "nodeType": "MemberAccess", + "referencedDeclaration": 1280, + "src": "1374:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 322, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 456, + "src": "1354:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "viewDeal", + "nodeType": "MemberAccess", + "referencedDeclaration": 700, + "src": "1354:19:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Deal_$1270_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct IexecODBLibCore.Deal memory)" + } + }, + "id": 326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1354:32:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1319:67:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1276", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + }, + "id": 334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 329, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "1399:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 330, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 1278, + "src": "1399:11:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1276", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 331, + "name": "IexecODBLibCore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1319, + "src": "1414:15:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecODBLibCore_$1319_$", + "typeString": "type(library IexecODBLibCore)" + } + }, + "id": 332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "TaskStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 1276, + "src": "1414:30:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_TaskStatusEnum_$1276_$", + "typeString": "type(enum IexecODBLibCore.TaskStatusEnum)" + } + }, + "id": 333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "COMPLETED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1414:40:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1276", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + } + }, + "src": "1399:55:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "726573756c742d6e6f742d617661696c61626c65", + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1537:22:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d69270f5ae52af5932ae4b645d839abaedbef4d911fcb0aef3cb5950a6e7dbc6", + "typeString": "literal_string \"result-not-available\"" + }, + "value": "result-not-available" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d69270f5ae52af5932ae4b645d839abaedbef4d911fcb0aef3cb5950a6e7dbc6", + "typeString": "literal_string \"result-not-available\"" + } + ], + "id": 328, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "1391:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1391:182:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 337, + "nodeType": "ExpressionStatement", + "src": "1391:182:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 339, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "1585:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 340, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultDigest", + "nodeType": "MemberAccess", + "referencedDeclaration": 1301, + "src": "1585:17:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 342, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "1616:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 343, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "results", + "nodeType": "MemberAccess", + "referencedDeclaration": 1303, + "src": "1616:12:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + ], + "id": 341, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1916, + "src": "1606:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1606:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1585:44:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "726573756c742d6e6f742d76616c6964617465642d62792d636f6e73656e737573", + "id": 346, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1723:35:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_effd92561db1e076a58acaf5e4bf3af2bd58ffdd7dfb455053c6ee6f87871e9e", + "typeString": "literal_string \"result-not-validated-by-consensus\"" + }, + "value": "result-not-validated-by-consensus" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_effd92561db1e076a58acaf5e4bf3af2bd58ffdd7dfb455053c6ee6f87871e9e", + "typeString": "literal_string \"result-not-validated-by-consensus\"" + } + ], + "id": 338, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "1577:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1577:182:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 348, + "nodeType": "ExpressionStatement", + "src": "1577:182:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 350, + "name": "m_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "1771:15:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1805:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1797:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 353, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1797:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1771:36:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 356, + "name": "m_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "1825:15:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 357, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 321, + "src": "1849:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 358, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "app", + "nodeType": "MemberAccess", + "referencedDeclaration": 1241, + "src": "1849:8:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_memory", + "typeString": "struct IexecODBLibCore.Resource memory" + } + }, + "id": 359, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pointer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1234, + "src": "1849:16:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 360, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 456, + "src": "1874:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "GROUPMEMBER_PURPOSE", + "nodeType": "MemberAccess", + "referencedDeclaration": 581, + "src": "1874:30:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1874:32:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 355, + "name": "checkIdentity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "1811:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) view returns (bool)" + } + }, + "id": 363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1811:96:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1771:136:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "756e617574686f72697a65642d617070", + "id": 365, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1909:18:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ea77c3ead12002987db4d83aa96b54fe12f3a973fd8783e02c7519a846412e9", + "typeString": "literal_string \"unauthorized-app\"" + }, + "value": "unauthorized-app" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4ea77c3ead12002987db4d83aa96b54fe12f3a973fd8783e02c7519a846412e9", + "typeString": "literal_string \"unauthorized-app\"" + } + ], + "id": 349, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "1763:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1763:182:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 367, + "nodeType": "ExpressionStatement", + "src": "1763:182:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 369, + "name": "m_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 237, + "src": "1957:19:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1991:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 370, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1983:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1983:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1957:36:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 375, + "name": "m_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 237, + "src": "2011:19:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 376, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 321, + "src": "2035:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 377, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dataset", + "nodeType": "MemberAccess", + "referencedDeclaration": 1243, + "src": "2035:12:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_memory", + "typeString": "struct IexecODBLibCore.Resource memory" + } + }, + "id": 378, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pointer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1234, + "src": "2035:20:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 379, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 456, + "src": "2060:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "GROUPMEMBER_PURPOSE", + "nodeType": "MemberAccess", + "referencedDeclaration": 581, + "src": "2060:30:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2060:32:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 374, + "name": "checkIdentity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "1997:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) view returns (bool)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1997:96:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1957:136:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "756e617574686f72697a65642d64617461736574", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2095:22:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bf525b5472fd396b7f6f7a14cbb15f890199960d0984e8b8bf6ce9f25fd49af5", + "typeString": "literal_string \"unauthorized-dataset\"" + }, + "value": "unauthorized-dataset" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_bf525b5472fd396b7f6f7a14cbb15f890199960d0984e8b8bf6ce9f25fd49af5", + "typeString": "literal_string \"unauthorized-dataset\"" + } + ], + "id": 368, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "1949:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1949:182:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 386, + "nodeType": "ExpressionStatement", + "src": "1949:182:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 388, + "name": "m_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 239, + "src": "2143:22:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 390, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2177:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2169:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 391, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2169:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2143:36:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 394, + "name": "m_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 239, + "src": "2197:22:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 395, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 321, + "src": "2221:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 396, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 1245, + "src": "2221:15:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_memory", + "typeString": "struct IexecODBLibCore.Resource memory" + } + }, + "id": 397, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pointer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1234, + "src": "2221:23:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 398, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 456, + "src": "2246:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "GROUPMEMBER_PURPOSE", + "nodeType": "MemberAccess", + "referencedDeclaration": 581, + "src": "2246:30:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2246:32:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 393, + "name": "checkIdentity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "2183:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) view returns (bool)" + } + }, + "id": 401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2183:96:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2143:136:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "756e617574686f72697a65642d776f726b6572706f6f6c", + "id": 403, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2281:25:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cd9d5b91ce392ae4e14603789b529f4ed6dc406963f1568f4dd39ad738e11945", + "typeString": "literal_string \"unauthorized-workerpool\"" + }, + "value": "unauthorized-workerpool" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_cd9d5b91ce392ae4e14603789b529f4ed6dc406963f1568f4dd39ad738e11945", + "typeString": "literal_string \"unauthorized-workerpool\"" + } + ], + "id": 387, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "2135:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2135:182:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 405, + "nodeType": "ExpressionStatement", + "src": "2135:182:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 407, + "name": "m_requiredtag", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 241, + "src": "2329:13:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "argumentTypes": null, + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "2345:9:2", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 408, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 321, + "src": "2346:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 409, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tag", + "nodeType": "MemberAccess", + "referencedDeclaration": 1251, + "src": "2346:8:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2329:25:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2366:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 412, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2358:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 414, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2358:10:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2329:39:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "696e76616c69642d746167", + "id": 416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2467:13:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_02cdd25b54a70d71eb740fc00118440c157bc4dc994a1498d50f0c343234d4d2", + "typeString": "literal_string \"invalid-tag\"" + }, + "value": "invalid-tag" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_02cdd25b54a70d71eb740fc00118440c157bc4dc994a1498d50f0c343234d4d2", + "typeString": "literal_string \"invalid-tag\"" + } + ], + "id": 406, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "2321:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2321:182:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 418, + "nodeType": "ExpressionStatement", + "src": "2321:182:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 420, + "name": "m_requiredtrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 243, + "src": "2515:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 421, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 321, + "src": "2534:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1270_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 422, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "trust", + "nodeType": "MemberAccess", + "referencedDeclaration": 1247, + "src": "2534:10:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2515:29:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "696e76616c69642d7472757374", + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2653:15:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f331d332d4edefa3b8602ebf0aa54d028069b1d557ce6fa4cfd9eb30c6dc64a4", + "typeString": "literal_string \"invalid-trust\"" + }, + "value": "invalid-trust" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f331d332d4edefa3b8602ebf0aa54d028069b1d557ce6fa4cfd9eb30c6dc64a4", + "typeString": "literal_string \"invalid-trust\"" + } + ], + "id": 419, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "2507:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2507:182:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 426, + "nodeType": "ExpressionStatement", + "src": "2507:182:2" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 427, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2700:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 428, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "results", + "nodeType": "MemberAccess", + "referencedDeclaration": 1303, + "src": "2700:12:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 308, + "id": 429, + "nodeType": "Return", + "src": "2693:19:2" + } + ] + }, + "documentation": null, + "id": 431, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_iexecDoracleGetVerifiedResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 304, + "name": "_doracleCallId", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "1180:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 303, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1180:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1179:24:2" + }, + "returnParameters": { + "id": 308, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 307, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 431, + "src": "1228:12:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 306, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1228:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1227:14:2" + }, + "scope": 432, + "src": "1140:1576:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 433, + "src": "217:2501:2" + } + ], + "src": "0:2719:2" + }, + "compiler": { + "name": "solc", + "version": "0.5.10+commit.5a6ea5b1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.16", + "updatedAt": "2019-10-22T00:23:51.992Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/build/contracts/IexecHubInterface.json b/ups-package-tracker/smart-contract/build/contracts/IexecHubInterface.json new file mode 100644 index 00000000..284b63b8 --- /dev/null +++ b/ups-package-tracker/smart-contract/build/contracts/IexecHubInterface.json @@ -0,0 +1,6195 @@ +{ + "contractName": "IexecHubInterface", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "appregistry", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "REVEAL_DEADLINE_RATIO", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRIBUTION_DEADLINE_RATIO", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "workerpoolregistry", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "FINAL_DEADLINE_RATIO", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "iexecclerk", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "datasetregistry", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "taskid", + "type": "bytes32" + }, + { + "indexed": true, + "name": "workerpool", + "type": "address" + } + ], + "name": "TaskInitialize", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "taskid", + "type": "bytes32" + }, + { + "indexed": true, + "name": "worker", + "type": "address" + }, + { + "indexed": false, + "name": "hash", + "type": "bytes32" + } + ], + "name": "TaskContribute", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "taskid", + "type": "bytes32" + }, + { + "indexed": false, + "name": "consensus", + "type": "bytes32" + } + ], + "name": "TaskConsensus", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "taskid", + "type": "bytes32" + }, + { + "indexed": true, + "name": "worker", + "type": "address" + }, + { + "indexed": false, + "name": "digest", + "type": "bytes32" + } + ], + "name": "TaskReveal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "taskid", + "type": "bytes32" + } + ], + "name": "TaskReopen", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "taskid", + "type": "bytes32" + }, + { + "indexed": false, + "name": "results", + "type": "bytes" + } + ], + "name": "TaskFinalize", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "taskid", + "type": "bytes32" + } + ], + "name": "TaskClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "worker", + "type": "address" + }, + { + "indexed": true, + "name": "taskid", + "type": "bytes32" + } + ], + "name": "AccurateContribution", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "worker", + "type": "address" + }, + { + "indexed": true, + "name": "taskid", + "type": "bytes32" + } + ], + "name": "FaultyContribution", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_iexecclerkAddress", + "type": "address" + }, + { + "name": "_appregistryAddress", + "type": "address" + }, + { + "name": "_datasetregistryAddress", + "type": "address" + }, + { + "name": "_workerpoolregistryAddress", + "type": "address" + } + ], + "name": "attachContracts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_taskid", + "type": "bytes32" + } + ], + "name": "viewTask", + "outputs": [ + { + "components": [ + { + "name": "status", + "type": "uint8" + }, + { + "name": "dealid", + "type": "bytes32" + }, + { + "name": "idx", + "type": "uint256" + }, + { + "name": "timeref", + "type": "uint256" + }, + { + "name": "contributionDeadline", + "type": "uint256" + }, + { + "name": "revealDeadline", + "type": "uint256" + }, + { + "name": "finalDeadline", + "type": "uint256" + }, + { + "name": "consensusValue", + "type": "bytes32" + }, + { + "name": "revealCounter", + "type": "uint256" + }, + { + "name": "winnerCounter", + "type": "uint256" + }, + { + "name": "contributors", + "type": "address[]" + }, + { + "name": "resultDigest", + "type": "bytes32" + }, + { + "name": "results", + "type": "bytes" + } + ], + "name": "", + "type": "tuple" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_taskid", + "type": "bytes32" + }, + { + "name": "_worker", + "type": "address" + } + ], + "name": "viewContribution", + "outputs": [ + { + "components": [ + { + "name": "status", + "type": "uint8" + }, + { + "name": "resultHash", + "type": "bytes32" + }, + { + "name": "resultSeal", + "type": "bytes32" + }, + { + "name": "enclaveChallenge", + "type": "address" + } + ], + "name": "", + "type": "tuple" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_worker", + "type": "address" + } + ], + "name": "viewScore", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "aap", + "type": "address" + }, + { + "name": "dataset", + "type": "address" + }, + { + "name": "workerpool", + "type": "address" + } + ], + "name": "checkResources", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "id", + "type": "bytes32" + } + ], + "name": "resultFor", + "outputs": [ + { + "name": "", + "type": "bytes" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_dealid", + "type": "bytes32" + }, + { + "name": "idx", + "type": "uint256" + } + ], + "name": "initialize", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_taskid", + "type": "bytes32" + }, + { + "name": "_resultHash", + "type": "bytes32" + }, + { + "name": "_resultSeal", + "type": "bytes32" + }, + { + "name": "_enclaveChallenge", + "type": "address" + }, + { + "name": "_enclaveSign", + "type": "bytes" + }, + { + "name": "_workerpoolSign", + "type": "bytes" + } + ], + "name": "contribute", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_taskid", + "type": "bytes32" + }, + { + "name": "_resultDigest", + "type": "bytes32" + } + ], + "name": "reveal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_taskid", + "type": "bytes32" + } + ], + "name": "reopen", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_taskid", + "type": "bytes32" + }, + { + "name": "_results", + "type": "bytes" + } + ], + "name": "finalize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_taskid", + "type": "bytes32" + } + ], + "name": "claim", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_dealid", + "type": "bytes32[]" + }, + { + "name": "_idx", + "type": "uint256[]" + } + ], + "name": "initializeArray", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_taskid", + "type": "bytes32[]" + } + ], + "name": "claimArray", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_dealid", + "type": "bytes32[]" + }, + { + "name": "_idx", + "type": "uint256[]" + } + ], + "name": "initializeAndClaimArray", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_catid", + "type": "uint256" + } + ], + "name": "viewCategory", + "outputs": [ + { + "components": [ + { + "name": "name", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "workClockTimeRef", + "type": "uint256" + } + ], + "name": "category", + "type": "tuple" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "countCategory", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "name", + "type": "string" + }, + { + "name": "description", + "type": "string" + }, + { + "name": "workClockTimeRef", + "type": "uint256" + } + ], + "name": "createCategory", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"aap\",\"type\":\"address\"},{\"name\":\"dataset\",\"type\":\"address\"},{\"name\":\"workerpool\",\"type\":\"address\"}],\"name\":\"checkResources\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"description\",\"type\":\"string\"},{\"name\":\"workClockTimeRef\",\"type\":\"uint256\"}],\"name\":\"createCategory\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_taskid\",\"type\":\"bytes32\"},{\"name\":\"_resultHash\",\"type\":\"bytes32\"},{\"name\":\"_resultSeal\",\"type\":\"bytes32\"},{\"name\":\"_enclaveChallenge\",\"type\":\"address\"},{\"name\":\"_enclaveSign\",\"type\":\"bytes\"},{\"name\":\"_workerpoolSign\",\"type\":\"bytes\"}],\"name\":\"contribute\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"appregistry\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_iexecclerkAddress\",\"type\":\"address\"},{\"name\":\"_appregistryAddress\",\"type\":\"address\"},{\"name\":\"_datasetregistryAddress\",\"type\":\"address\"},{\"name\":\"_workerpoolregistryAddress\",\"type\":\"address\"}],\"name\":\"attachContracts\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_catid\",\"type\":\"uint256\"}],\"name\":\"viewCategory\",\"outputs\":[{\"components\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"description\",\"type\":\"string\"},{\"name\":\"workClockTimeRef\",\"type\":\"uint256\"}],\"name\":\"category\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_dealid\",\"type\":\"bytes32\"},{\"name\":\"idx\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"REVEAL_DEADLINE_RATIO\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"CONTRIBUTION_DEADLINE_RATIO\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"workerpoolregistry\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"FINAL_DEADLINE_RATIO\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_taskid\",\"type\":\"bytes32\"}],\"name\":\"viewTask\",\"outputs\":[{\"components\":[{\"name\":\"status\",\"type\":\"uint8\"},{\"name\":\"dealid\",\"type\":\"bytes32\"},{\"name\":\"idx\",\"type\":\"uint256\"},{\"name\":\"timeref\",\"type\":\"uint256\"},{\"name\":\"contributionDeadline\",\"type\":\"uint256\"},{\"name\":\"revealDeadline\",\"type\":\"uint256\"},{\"name\":\"finalDeadline\",\"type\":\"uint256\"},{\"name\":\"consensusValue\",\"type\":\"bytes32\"},{\"name\":\"revealCounter\",\"type\":\"uint256\"},{\"name\":\"winnerCounter\",\"type\":\"uint256\"},{\"name\":\"contributors\",\"type\":\"address[]\"},{\"name\":\"resultDigest\",\"type\":\"bytes32\"},{\"name\":\"results\",\"type\":\"bytes\"}],\"name\":\"\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"iexecclerk\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"datasetregistry\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_dealid\",\"type\":\"bytes32[]\"},{\"name\":\"_idx\",\"type\":\"uint256[]\"}],\"name\":\"initializeArray\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_taskid\",\"type\":\"bytes32\"}],\"name\":\"claim\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_taskid\",\"type\":\"bytes32\"},{\"name\":\"_results\",\"type\":\"bytes\"}],\"name\":\"finalize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"countCategory\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"resultFor\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_worker\",\"type\":\"address\"}],\"name\":\"viewScore\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_taskid\",\"type\":\"bytes32\"},{\"name\":\"_worker\",\"type\":\"address\"}],\"name\":\"viewContribution\",\"outputs\":[{\"components\":[{\"name\":\"status\",\"type\":\"uint8\"},{\"name\":\"resultHash\",\"type\":\"bytes32\"},{\"name\":\"resultSeal\",\"type\":\"bytes32\"},{\"name\":\"enclaveChallenge\",\"type\":\"address\"}],\"name\":\"\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_taskid\",\"type\":\"bytes32\"}],\"name\":\"reopen\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_dealid\",\"type\":\"bytes32[]\"},{\"name\":\"_idx\",\"type\":\"uint256[]\"}],\"name\":\"initializeAndClaimArray\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_taskid\",\"type\":\"bytes32[]\"}],\"name\":\"claimArray\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_taskid\",\"type\":\"bytes32\"},{\"name\":\"_resultDigest\",\"type\":\"bytes32\"}],\"name\":\"reveal\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"taskid\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"workerpool\",\"type\":\"address\"}],\"name\":\"TaskInitialize\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"taskid\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"worker\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"TaskContribute\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"taskid\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"consensus\",\"type\":\"bytes32\"}],\"name\":\"TaskConsensus\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"taskid\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"worker\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"TaskReveal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"taskid\",\"type\":\"bytes32\"}],\"name\":\"TaskReopen\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"taskid\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"results\",\"type\":\"bytes\"}],\"name\":\"TaskFinalize\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"taskid\",\"type\":\"bytes32\"}],\"name\":\"TaskClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"worker\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"taskid\",\"type\":\"bytes32\"}],\"name\":\"AccurateContribution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"worker\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"taskid\",\"type\":\"bytes32\"}],\"name\":\"FaultyContribution\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"iexec-doracle-base/contracts/iexec-poco-interfaces/IexecHubInterface.sol\":\"IexecHubInterface\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-doracle-base/contracts/iexec-poco-interfaces/IexecHubInterface.sol\":{\"keccak256\":\"0x846e5ad3468a4020ccd311883d8b6fec8cb59539eea3cbbbe8a800b25d829287\",\"urls\":[\"bzzr://59cae26b1bed2633fc6643980e0f0c3c05a32078fc8229e20bf9fb376ff2c1ed\",\"dweb:/ipfs/QmX3aTe9X5c3KB3psi4oiTchLy9GQVByvM41i4L9eqLdHx\"]},\"iexec-poco/contracts/libs/IexecODBLibCore.sol\":{\"keccak256\":\"0x3e1a247b137866fe9b7272fc9ea189cf83f8f8a3ad439bbdef1c770f67349b7a\",\"urls\":[\"bzzr://788a11e860998e576e89358eb050b74debca9ab2e46e292abb34753f4abfad60\",\"dweb:/ipfs/QmVt1iunRyGqXa88HvFjYEDRraJCrX5iF478cKhJAeCrh6\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.5.8;\npragma experimental ABIEncoderV2;\n\nimport \"iexec-poco/contracts/libs/IexecODBLibCore.sol\";\n\n\ncontract IexecHubInterface\n{\n\tuint256 public constant CONTRIBUTION_DEADLINE_RATIO = 7;\n\tuint256 public constant REVEAL_DEADLINE_RATIO = 2;\n\tuint256 public constant FINAL_DEADLINE_RATIO = 10;\n\n\taddress public iexecclerk;\n\taddress public appregistry;\n\taddress public datasetregistry;\n\taddress public workerpoolregistry;\n\n\tevent TaskInitialize(bytes32 indexed taskid, address indexed workerpool );\n\tevent TaskContribute(bytes32 indexed taskid, address indexed worker, bytes32 hash );\n\tevent TaskConsensus (bytes32 indexed taskid, bytes32 consensus);\n\tevent TaskReveal (bytes32 indexed taskid, address indexed worker, bytes32 digest );\n\tevent TaskReopen (bytes32 indexed taskid );\n\tevent TaskFinalize (bytes32 indexed taskid, bytes results );\n\tevent TaskClaimed (bytes32 indexed taskid );\n\n\tevent AccurateContribution(address indexed worker, bytes32 indexed taskid);\n\tevent FaultyContribution (address indexed worker, bytes32 indexed taskid);\n\n\tfunction attachContracts(\n\t\taddress _iexecclerkAddress,\n\t\taddress _appregistryAddress,\n\t\taddress _datasetregistryAddress,\n\t\taddress _workerpoolregistryAddress)\n\texternal;\n\n\tfunction viewTask(bytes32 _taskid)\n\texternal view returns (IexecODBLibCore.Task memory);\n\n\tfunction viewContribution(bytes32 _taskid, address _worker)\n\texternal view returns (IexecODBLibCore.Contribution memory);\n\n\tfunction viewScore(address _worker)\n\texternal view returns (uint256);\n\n\tfunction checkResources(address aap, address dataset, address workerpool)\n\texternal view returns (bool);\n\n\tfunction resultFor(bytes32 id)\n\texternal view returns (bytes memory);\n\n\tfunction initialize(\n\t\tbytes32 _dealid,\n\t\tuint256 idx)\n\tpublic returns (bytes32);\n\n\tfunction contribute(\n\t\tbytes32 _taskid,\n\t\tbytes32 _resultHash,\n\t\tbytes32 _resultSeal,\n\t\taddress _enclaveChallenge,\n\t\tbytes memory _enclaveSign,\n\t\tbytes memory _workerpoolSign)\n\tpublic;\n\n\tfunction reveal(\n\t\tbytes32 _taskid,\n\t\tbytes32 _resultDigest)\n\texternal;\n\n\tfunction reopen(\n\t\tbytes32 _taskid)\n\texternal;\n\n\tfunction finalize(\n\t\tbytes32 _taskid,\n\t\tbytes calldata _results)\n\texternal;\n\n\tfunction claim(\n\t\tbytes32 _taskid)\n\tpublic;\n\n\tfunction initializeArray(\n\t\tbytes32[] calldata _dealid,\n\t\tuint256[] calldata _idx)\n\texternal returns (bool);\n\n\tfunction claimArray(\n\t\tbytes32[] calldata _taskid)\n\texternal returns (bool);\n\n\tfunction initializeAndClaimArray(\n\t\tbytes32[] calldata _dealid,\n\t\tuint256[] calldata _idx)\n\texternal returns (bool);\n\n\tfunction viewCategory(uint256 _catid)\n\texternal view returns (IexecODBLibCore.Category memory category);\n\n\tfunction countCategory()\n\texternal view returns (uint256);\n\n\tfunction createCategory(\n\t\tstring calldata name,\n\t\tstring calldata description,\n\t\tuint256 workClockTimeRef)\n\texternal returns (uint256);\n}\n", + "sourcePath": "iexec-doracle-base\\contracts\\iexec-poco-interfaces\\IexecHubInterface.sol", + "ast": { + "absolutePath": "iexec-doracle-base/contracts/iexec-poco-interfaces/IexecHubInterface.sol", + "exportedSymbols": { + "IexecHubInterface": [ + 1074 + ] + }, + "id": 1075, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 847, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:5" + }, + { + "id": 848, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:5" + }, + { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "file": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "id": 849, + "nodeType": "ImportDirective", + "scope": 1075, + "sourceUnit": 1320, + "src": "59:55:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 1074, + "linearizedBaseContracts": [ + 1074 + ], + "name": "IexecHubInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 852, + "name": "CONTRIBUTION_DEADLINE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "147:55:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 850, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "147:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "37", + "id": 851, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "201:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 855, + "name": "REVEAL_DEADLINE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "205:55:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 853, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "205:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "259:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 858, + "name": "FINAL_DEADLINE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "263:56:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 856, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "263:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3130", + "id": 857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "317:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 860, + "name": "iexecclerk", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "323:25:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 859, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "323:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 862, + "name": "appregistry", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "351:26:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 861, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "351:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 864, + "name": "datasetregistry", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "380:30:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 863, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "380:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 866, + "name": "workerpoolregistry", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "413:33:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 865, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "413:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 872, + "name": "TaskInitialize", + "nodeType": "EventDefinition", + "parameters": { + "id": 871, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 868, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 872, + "src": "471:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 867, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "471:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 870, + "indexed": true, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 872, + "src": "495:26:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 869, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "495:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "470:67:5" + }, + "src": "450:88:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 880, + "name": "TaskContribute", + "nodeType": "EventDefinition", + "parameters": { + "id": 879, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 874, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 880, + "src": "561:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 873, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "561:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 876, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 880, + "src": "585:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 875, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "585:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 878, + "indexed": false, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 880, + "src": "609:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 877, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "609:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "560:67:5" + }, + "src": "540:88:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 886, + "name": "TaskConsensus", + "nodeType": "EventDefinition", + "parameters": { + "id": 885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 882, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 886, + "src": "651:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 881, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "651:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 884, + "indexed": false, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 886, + "src": "699:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 883, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "699:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "650:67:5" + }, + "src": "630:88:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 894, + "name": "TaskReveal", + "nodeType": "EventDefinition", + "parameters": { + "id": 893, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 888, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 894, + "src": "741:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 887, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "741:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 890, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 894, + "src": "765:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 889, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "765:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 892, + "indexed": false, + "name": "digest", + "nodeType": "VariableDeclaration", + "scope": 894, + "src": "789:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 891, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "789:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "740:67:5" + }, + "src": "720:88:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 898, + "name": "TaskReopen", + "nodeType": "EventDefinition", + "parameters": { + "id": 897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 896, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 898, + "src": "831:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 895, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "831:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "830:67:5" + }, + "src": "810:88:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 904, + "name": "TaskFinalize", + "nodeType": "EventDefinition", + "parameters": { + "id": 903, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 900, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 904, + "src": "921:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 899, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "921:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 902, + "indexed": false, + "name": "results", + "nodeType": "VariableDeclaration", + "scope": 904, + "src": "969:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 901, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "969:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "920:67:5" + }, + "src": "900:88:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 908, + "name": "TaskClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 907, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 906, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 908, + "src": "1011:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 905, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1011:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1010:67:5" + }, + "src": "990:88:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 914, + "name": "AccurateContribution", + "nodeType": "EventDefinition", + "parameters": { + "id": 913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 910, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "1108:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 909, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1108:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 912, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "1132:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 911, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1132:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1107:48:5" + }, + "src": "1081:75:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 920, + "name": "FaultyContribution", + "nodeType": "EventDefinition", + "parameters": { + "id": 919, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 916, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 920, + "src": "1185:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 915, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1185:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 918, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 920, + "src": "1209:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 917, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1209:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1184:48:5" + }, + "src": "1158:75:5" + }, + { + "body": null, + "documentation": null, + "id": 931, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "attachContracts", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 929, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 922, + "name": "_iexecclerkAddress", + "nodeType": "VariableDeclaration", + "scope": 931, + "src": "1264:26:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 921, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1264:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 924, + "name": "_appregistryAddress", + "nodeType": "VariableDeclaration", + "scope": 931, + "src": "1294:27:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 923, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1294:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 926, + "name": "_datasetregistryAddress", + "nodeType": "VariableDeclaration", + "scope": 931, + "src": "1325:31:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 925, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1325:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 928, + "name": "_workerpoolregistryAddress", + "nodeType": "VariableDeclaration", + "scope": 931, + "src": "1360:34:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 927, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1360:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1260:135:5" + }, + "returnParameters": { + "id": 930, + "nodeType": "ParameterList", + "parameters": [], + "src": "1405:0:5" + }, + "scope": 1074, + "src": "1236:170:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 938, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewTask", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 934, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 933, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 938, + "src": "1427:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 932, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1427:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1426:17:5" + }, + "returnParameters": { + "id": 937, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 936, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 938, + "src": "1468:27:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_memory_ptr", + "typeString": "struct IexecODBLibCore.Task" + }, + "typeName": { + "contractScope": null, + "id": 935, + "name": "IexecODBLibCore.Task", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1304, + "src": "1468:20:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_storage_ptr", + "typeString": "struct IexecODBLibCore.Task" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1467:29:5" + }, + "scope": 1074, + "src": "1409:88:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 947, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewContribution", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 943, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 940, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 947, + "src": "1526:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 939, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1526:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 942, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 947, + "src": "1543:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 941, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1543:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1525:34:5" + }, + "returnParameters": { + "id": 946, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 945, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 947, + "src": "1584:35:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$1318_memory_ptr", + "typeString": "struct IexecODBLibCore.Contribution" + }, + "typeName": { + "contractScope": null, + "id": 944, + "name": "IexecODBLibCore.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1318, + "src": "1584:28:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$1318_storage_ptr", + "typeString": "struct IexecODBLibCore.Contribution" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1583:37:5" + }, + "scope": 1074, + "src": "1500:121:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 954, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewScore", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 950, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 949, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 954, + "src": "1643:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 948, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1643:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1642:17:5" + }, + "returnParameters": { + "id": 953, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 952, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 954, + "src": "1684:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 951, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1684:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1683:9:5" + }, + "scope": 1074, + "src": "1624:69:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 965, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "checkResources", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 961, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 956, + "name": "aap", + "nodeType": "VariableDeclaration", + "scope": 965, + "src": "1720:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 955, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1720:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 958, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 965, + "src": "1733:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 957, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1733:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 960, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 965, + "src": "1750:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 959, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1750:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1719:50:5" + }, + "returnParameters": { + "id": 964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 963, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 965, + "src": "1794:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 962, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1794:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1793:6:5" + }, + "scope": 1074, + "src": "1696:104:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 972, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resultFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 968, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 967, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "1822:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 966, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1822:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1821:12:5" + }, + "returnParameters": { + "id": 971, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 970, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "1858:12:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 969, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1858:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1857:14:5" + }, + "scope": 1074, + "src": "1803:69:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 981, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "initialize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 977, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 974, + "name": "_dealid", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "1898:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 973, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1898:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 976, + "name": "idx", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "1917:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 975, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1917:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1894:35:5" + }, + "returnParameters": { + "id": 980, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 979, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "1947:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 978, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1947:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1946:9:5" + }, + "scope": 1074, + "src": "1875:81:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 996, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "contribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 994, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 983, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 996, + "src": "1982:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 982, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1982:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 985, + "name": "_resultHash", + "nodeType": "VariableDeclaration", + "scope": 996, + "src": "2006:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 984, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2006:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 987, + "name": "_resultSeal", + "nodeType": "VariableDeclaration", + "scope": 996, + "src": "2034:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 986, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2034:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 989, + "name": "_enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 996, + "src": "2062:30:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 988, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2062:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 991, + "name": "_enclaveSign", + "nodeType": "VariableDeclaration", + "scope": 996, + "src": "2096:25:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 990, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2096:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 993, + "name": "_workerpoolSign", + "nodeType": "VariableDeclaration", + "scope": 996, + "src": "2125:28:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 992, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2125:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1978:176:5" + }, + "returnParameters": { + "id": 995, + "nodeType": "ParameterList", + "parameters": [], + "src": "2162:0:5" + }, + "scope": 1074, + "src": "1959:204:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1003, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "reveal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1001, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 998, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1003, + "src": "2185:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 997, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2185:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1000, + "name": "_resultDigest", + "nodeType": "VariableDeclaration", + "scope": 1003, + "src": "2204:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 999, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2204:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2181:45:5" + }, + "returnParameters": { + "id": 1002, + "nodeType": "ParameterList", + "parameters": [], + "src": "2236:0:5" + }, + "scope": 1074, + "src": "2166:71:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1008, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "reopen", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1006, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1005, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1008, + "src": "2259:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1004, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2259:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2255:20:5" + }, + "returnParameters": { + "id": 1007, + "nodeType": "ParameterList", + "parameters": [], + "src": "2285:0:5" + }, + "scope": 1074, + "src": "2240:46:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1015, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "finalize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1013, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1010, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1015, + "src": "2310:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1009, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2310:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1012, + "name": "_results", + "nodeType": "VariableDeclaration", + "scope": 1015, + "src": "2329:24:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1011, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2329:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2306:48:5" + }, + "returnParameters": { + "id": 1014, + "nodeType": "ParameterList", + "parameters": [], + "src": "2364:0:5" + }, + "scope": 1074, + "src": "2289:76:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1020, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "claim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1018, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1017, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1020, + "src": "2386:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1016, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2386:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2382:20:5" + }, + "returnParameters": { + "id": 1019, + "nodeType": "ParameterList", + "parameters": [], + "src": "2410:0:5" + }, + "scope": 1074, + "src": "2368:43:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1031, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "initializeArray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1027, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1023, + "name": "_dealid", + "nodeType": "VariableDeclaration", + "scope": 1031, + "src": "2442:26:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1021, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2442:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1022, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2442:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1026, + "name": "_idx", + "nodeType": "VariableDeclaration", + "scope": 1031, + "src": "2472:23:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1024, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2472:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1025, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2472:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2438:58:5" + }, + "returnParameters": { + "id": 1030, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1029, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1031, + "src": "2516:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1028, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2516:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2515:6:5" + }, + "scope": 1074, + "src": "2414:108:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1039, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "claimArray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1035, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1034, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1039, + "src": "2548:26:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1032, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2548:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1033, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2548:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2544:31:5" + }, + "returnParameters": { + "id": 1038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1037, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1039, + "src": "2595:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1036, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2595:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2594:6:5" + }, + "scope": 1074, + "src": "2525:76:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1050, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "initializeAndClaimArray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1046, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1042, + "name": "_dealid", + "nodeType": "VariableDeclaration", + "scope": 1050, + "src": "2640:26:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1040, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2640:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1041, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2640:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1045, + "name": "_idx", + "nodeType": "VariableDeclaration", + "scope": 1050, + "src": "2670:23:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1043, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2670:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1044, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2670:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2636:58:5" + }, + "returnParameters": { + "id": 1049, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1048, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1050, + "src": "2714:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1047, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2714:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2713:6:5" + }, + "scope": 1074, + "src": "2604:116:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1057, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1053, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1052, + "name": "_catid", + "nodeType": "VariableDeclaration", + "scope": 1057, + "src": "2745:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1051, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2745:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2744:16:5" + }, + "returnParameters": { + "id": 1056, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1055, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1057, + "src": "2785:40:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$1232_memory_ptr", + "typeString": "struct IexecODBLibCore.Category" + }, + "typeName": { + "contractScope": null, + "id": 1054, + "name": "IexecODBLibCore.Category", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1232, + "src": "2785:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$1232_storage_ptr", + "typeString": "struct IexecODBLibCore.Category" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2784:42:5" + }, + "scope": 1074, + "src": "2723:104:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1062, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "countCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1058, + "nodeType": "ParameterList", + "parameters": [], + "src": "2852:2:5" + }, + "returnParameters": { + "id": 1061, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1060, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1062, + "src": "2879:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1059, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2879:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2878:9:5" + }, + "scope": 1074, + "src": "2830:58:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1073, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "createCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1069, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1064, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1073, + "src": "2918:21:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1063, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2918:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1066, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 1073, + "src": "2943:28:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1065, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2943:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1068, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1073, + "src": "2975:33:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1067, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2975:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2914:95:5" + }, + "returnParameters": { + "id": 1072, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1071, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1073, + "src": "3029:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1070, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3029:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3028:9:5" + }, + "scope": 1074, + "src": "2891:147:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1075, + "src": "117:2923:5" + } + ], + "src": "0:3041:5" + }, + "legacyAST": { + "absolutePath": "iexec-doracle-base/contracts/iexec-poco-interfaces/IexecHubInterface.sol", + "exportedSymbols": { + "IexecHubInterface": [ + 1074 + ] + }, + "id": 1075, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 847, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:5" + }, + { + "id": 848, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:5" + }, + { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "file": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "id": 849, + "nodeType": "ImportDirective", + "scope": 1075, + "sourceUnit": 1320, + "src": "59:55:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 1074, + "linearizedBaseContracts": [ + 1074 + ], + "name": "IexecHubInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 852, + "name": "CONTRIBUTION_DEADLINE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "147:55:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 850, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "147:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "37", + "id": 851, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "201:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 855, + "name": "REVEAL_DEADLINE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "205:55:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 853, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "205:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "259:1:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 858, + "name": "FINAL_DEADLINE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "263:56:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 856, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "263:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3130", + "id": 857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "317:2:5", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 860, + "name": "iexecclerk", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "323:25:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 859, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "323:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 862, + "name": "appregistry", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "351:26:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 861, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "351:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 864, + "name": "datasetregistry", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "380:30:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 863, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "380:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 866, + "name": "workerpoolregistry", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "413:33:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 865, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "413:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 872, + "name": "TaskInitialize", + "nodeType": "EventDefinition", + "parameters": { + "id": 871, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 868, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 872, + "src": "471:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 867, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "471:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 870, + "indexed": true, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 872, + "src": "495:26:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 869, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "495:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "470:67:5" + }, + "src": "450:88:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 880, + "name": "TaskContribute", + "nodeType": "EventDefinition", + "parameters": { + "id": 879, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 874, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 880, + "src": "561:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 873, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "561:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 876, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 880, + "src": "585:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 875, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "585:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 878, + "indexed": false, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 880, + "src": "609:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 877, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "609:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "560:67:5" + }, + "src": "540:88:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 886, + "name": "TaskConsensus", + "nodeType": "EventDefinition", + "parameters": { + "id": 885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 882, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 886, + "src": "651:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 881, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "651:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 884, + "indexed": false, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 886, + "src": "699:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 883, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "699:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "650:67:5" + }, + "src": "630:88:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 894, + "name": "TaskReveal", + "nodeType": "EventDefinition", + "parameters": { + "id": 893, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 888, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 894, + "src": "741:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 887, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "741:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 890, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 894, + "src": "765:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 889, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "765:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 892, + "indexed": false, + "name": "digest", + "nodeType": "VariableDeclaration", + "scope": 894, + "src": "789:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 891, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "789:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "740:67:5" + }, + "src": "720:88:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 898, + "name": "TaskReopen", + "nodeType": "EventDefinition", + "parameters": { + "id": 897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 896, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 898, + "src": "831:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 895, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "831:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "830:67:5" + }, + "src": "810:88:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 904, + "name": "TaskFinalize", + "nodeType": "EventDefinition", + "parameters": { + "id": 903, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 900, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 904, + "src": "921:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 899, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "921:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 902, + "indexed": false, + "name": "results", + "nodeType": "VariableDeclaration", + "scope": 904, + "src": "969:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 901, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "969:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "920:67:5" + }, + "src": "900:88:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 908, + "name": "TaskClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 907, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 906, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 908, + "src": "1011:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 905, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1011:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1010:67:5" + }, + "src": "990:88:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 914, + "name": "AccurateContribution", + "nodeType": "EventDefinition", + "parameters": { + "id": 913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 910, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "1108:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 909, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1108:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 912, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "1132:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 911, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1132:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1107:48:5" + }, + "src": "1081:75:5" + }, + { + "anonymous": false, + "documentation": null, + "id": 920, + "name": "FaultyContribution", + "nodeType": "EventDefinition", + "parameters": { + "id": 919, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 916, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 920, + "src": "1185:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 915, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1185:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 918, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 920, + "src": "1209:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 917, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1209:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1184:48:5" + }, + "src": "1158:75:5" + }, + { + "body": null, + "documentation": null, + "id": 931, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "attachContracts", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 929, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 922, + "name": "_iexecclerkAddress", + "nodeType": "VariableDeclaration", + "scope": 931, + "src": "1264:26:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 921, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1264:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 924, + "name": "_appregistryAddress", + "nodeType": "VariableDeclaration", + "scope": 931, + "src": "1294:27:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 923, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1294:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 926, + "name": "_datasetregistryAddress", + "nodeType": "VariableDeclaration", + "scope": 931, + "src": "1325:31:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 925, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1325:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 928, + "name": "_workerpoolregistryAddress", + "nodeType": "VariableDeclaration", + "scope": 931, + "src": "1360:34:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 927, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1360:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1260:135:5" + }, + "returnParameters": { + "id": 930, + "nodeType": "ParameterList", + "parameters": [], + "src": "1405:0:5" + }, + "scope": 1074, + "src": "1236:170:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 938, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewTask", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 934, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 933, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 938, + "src": "1427:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 932, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1427:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1426:17:5" + }, + "returnParameters": { + "id": 937, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 936, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 938, + "src": "1468:27:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_memory_ptr", + "typeString": "struct IexecODBLibCore.Task" + }, + "typeName": { + "contractScope": null, + "id": 935, + "name": "IexecODBLibCore.Task", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1304, + "src": "1468:20:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1304_storage_ptr", + "typeString": "struct IexecODBLibCore.Task" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1467:29:5" + }, + "scope": 1074, + "src": "1409:88:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 947, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewContribution", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 943, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 940, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 947, + "src": "1526:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 939, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1526:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 942, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 947, + "src": "1543:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 941, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1543:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1525:34:5" + }, + "returnParameters": { + "id": 946, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 945, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 947, + "src": "1584:35:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$1318_memory_ptr", + "typeString": "struct IexecODBLibCore.Contribution" + }, + "typeName": { + "contractScope": null, + "id": 944, + "name": "IexecODBLibCore.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1318, + "src": "1584:28:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$1318_storage_ptr", + "typeString": "struct IexecODBLibCore.Contribution" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1583:37:5" + }, + "scope": 1074, + "src": "1500:121:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 954, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewScore", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 950, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 949, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 954, + "src": "1643:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 948, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1643:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1642:17:5" + }, + "returnParameters": { + "id": 953, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 952, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 954, + "src": "1684:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 951, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1684:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1683:9:5" + }, + "scope": 1074, + "src": "1624:69:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 965, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "checkResources", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 961, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 956, + "name": "aap", + "nodeType": "VariableDeclaration", + "scope": 965, + "src": "1720:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 955, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1720:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 958, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 965, + "src": "1733:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 957, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1733:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 960, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 965, + "src": "1750:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 959, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1750:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1719:50:5" + }, + "returnParameters": { + "id": 964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 963, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 965, + "src": "1794:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 962, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1794:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1793:6:5" + }, + "scope": 1074, + "src": "1696:104:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 972, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resultFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 968, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 967, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "1822:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 966, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1822:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1821:12:5" + }, + "returnParameters": { + "id": 971, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 970, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "1858:12:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 969, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1858:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1857:14:5" + }, + "scope": 1074, + "src": "1803:69:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 981, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "initialize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 977, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 974, + "name": "_dealid", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "1898:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 973, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1898:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 976, + "name": "idx", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "1917:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 975, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1917:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1894:35:5" + }, + "returnParameters": { + "id": 980, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 979, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 981, + "src": "1947:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 978, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1947:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1946:9:5" + }, + "scope": 1074, + "src": "1875:81:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 996, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "contribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 994, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 983, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 996, + "src": "1982:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 982, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1982:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 985, + "name": "_resultHash", + "nodeType": "VariableDeclaration", + "scope": 996, + "src": "2006:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 984, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2006:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 987, + "name": "_resultSeal", + "nodeType": "VariableDeclaration", + "scope": 996, + "src": "2034:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 986, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2034:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 989, + "name": "_enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 996, + "src": "2062:30:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 988, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2062:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 991, + "name": "_enclaveSign", + "nodeType": "VariableDeclaration", + "scope": 996, + "src": "2096:25:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 990, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2096:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 993, + "name": "_workerpoolSign", + "nodeType": "VariableDeclaration", + "scope": 996, + "src": "2125:28:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 992, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2125:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1978:176:5" + }, + "returnParameters": { + "id": 995, + "nodeType": "ParameterList", + "parameters": [], + "src": "2162:0:5" + }, + "scope": 1074, + "src": "1959:204:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1003, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "reveal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1001, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 998, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1003, + "src": "2185:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 997, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2185:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1000, + "name": "_resultDigest", + "nodeType": "VariableDeclaration", + "scope": 1003, + "src": "2204:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 999, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2204:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2181:45:5" + }, + "returnParameters": { + "id": 1002, + "nodeType": "ParameterList", + "parameters": [], + "src": "2236:0:5" + }, + "scope": 1074, + "src": "2166:71:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1008, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "reopen", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1006, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1005, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1008, + "src": "2259:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1004, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2259:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2255:20:5" + }, + "returnParameters": { + "id": 1007, + "nodeType": "ParameterList", + "parameters": [], + "src": "2285:0:5" + }, + "scope": 1074, + "src": "2240:46:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1015, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "finalize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1013, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1010, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1015, + "src": "2310:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1009, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2310:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1012, + "name": "_results", + "nodeType": "VariableDeclaration", + "scope": 1015, + "src": "2329:24:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1011, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2329:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2306:48:5" + }, + "returnParameters": { + "id": 1014, + "nodeType": "ParameterList", + "parameters": [], + "src": "2364:0:5" + }, + "scope": 1074, + "src": "2289:76:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1020, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "claim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1018, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1017, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1020, + "src": "2386:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1016, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2386:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2382:20:5" + }, + "returnParameters": { + "id": 1019, + "nodeType": "ParameterList", + "parameters": [], + "src": "2410:0:5" + }, + "scope": 1074, + "src": "2368:43:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1031, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "initializeArray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1027, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1023, + "name": "_dealid", + "nodeType": "VariableDeclaration", + "scope": 1031, + "src": "2442:26:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1021, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2442:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1022, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2442:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1026, + "name": "_idx", + "nodeType": "VariableDeclaration", + "scope": 1031, + "src": "2472:23:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1024, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2472:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1025, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2472:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2438:58:5" + }, + "returnParameters": { + "id": 1030, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1029, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1031, + "src": "2516:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1028, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2516:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2515:6:5" + }, + "scope": 1074, + "src": "2414:108:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1039, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "claimArray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1035, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1034, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1039, + "src": "2548:26:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1032, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2548:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1033, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2548:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2544:31:5" + }, + "returnParameters": { + "id": 1038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1037, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1039, + "src": "2595:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1036, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2595:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2594:6:5" + }, + "scope": 1074, + "src": "2525:76:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1050, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "initializeAndClaimArray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1046, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1042, + "name": "_dealid", + "nodeType": "VariableDeclaration", + "scope": 1050, + "src": "2640:26:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1040, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2640:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1041, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2640:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1045, + "name": "_idx", + "nodeType": "VariableDeclaration", + "scope": 1050, + "src": "2670:23:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1043, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2670:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1044, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2670:9:5", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2636:58:5" + }, + "returnParameters": { + "id": 1049, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1048, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1050, + "src": "2714:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1047, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2714:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2713:6:5" + }, + "scope": 1074, + "src": "2604:116:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1057, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1053, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1052, + "name": "_catid", + "nodeType": "VariableDeclaration", + "scope": 1057, + "src": "2745:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1051, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2745:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2744:16:5" + }, + "returnParameters": { + "id": 1056, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1055, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1057, + "src": "2785:40:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$1232_memory_ptr", + "typeString": "struct IexecODBLibCore.Category" + }, + "typeName": { + "contractScope": null, + "id": 1054, + "name": "IexecODBLibCore.Category", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1232, + "src": "2785:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$1232_storage_ptr", + "typeString": "struct IexecODBLibCore.Category" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2784:42:5" + }, + "scope": 1074, + "src": "2723:104:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1062, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "countCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1058, + "nodeType": "ParameterList", + "parameters": [], + "src": "2852:2:5" + }, + "returnParameters": { + "id": 1061, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1060, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1062, + "src": "2879:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1059, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2879:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2878:9:5" + }, + "scope": 1074, + "src": "2830:58:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1073, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "createCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1069, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1064, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1073, + "src": "2918:21:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1063, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2918:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1066, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 1073, + "src": "2943:28:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1065, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2943:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1068, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1073, + "src": "2975:33:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1067, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2975:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2914:95:5" + }, + "returnParameters": { + "id": 1072, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1071, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1073, + "src": "3029:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1070, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3029:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3028:9:5" + }, + "scope": 1074, + "src": "2891:147:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1075, + "src": "117:2923:5" + } + ], + "src": "0:3041:5" + }, + "compiler": { + "name": "solc", + "version": "0.5.10+commit.5a6ea5b1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.16", + "updatedAt": "2019-10-22T00:23:52.004Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/build/contracts/IexecInterface.json b/ups-package-tracker/smart-contract/build/contracts/IexecInterface.json new file mode 100644 index 00000000..9c11ebea --- /dev/null +++ b/ups-package-tracker/smart-contract/build/contracts/IexecInterface.json @@ -0,0 +1,3638 @@ +{ + "contractName": "IexecInterface", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "iexecClerk", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "iexecHub", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_iexecHubAddr", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"iexecClerk\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"iexecHub\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_iexecHubAddr\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"iexec-doracle-base/contracts/IexecInterface.sol\":\"IexecInterface\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-doracle-base/contracts/IexecInterface.sol\":{\"keccak256\":\"0xfe44f456bab0157df1a8b345c48da04a276b78313fa6288f103778ffc59f6de3\",\"urls\":[\"bzzr://49b3a62a65e46ac26092d512f152da7272a4ded655506374ab01dcf15399aa90\",\"dweb:/ipfs/QmX2BKhYEJq5GeaZBMqxbUA4BEBRUa3MvUiDBXbExChMX6\"]},\"iexec-doracle-base/contracts/iexec-poco-interfaces/IexecClerkInterface.sol\":{\"keccak256\":\"0xa7a0fa79543be8f912f863594ea972301985e63ecb57cc0c74f5622533e9e02f\",\"urls\":[\"bzzr://439b54843d3e0c113a0b524d159fc53c5fa56024084a436d7334f2cdacbc01e8\",\"dweb:/ipfs/QmRYSTfFCpoKcX8io7qvhxPpTjAmcEQuCFfM4GA3HcCsHB\"]},\"iexec-doracle-base/contracts/iexec-poco-interfaces/IexecHubInterface.sol\":{\"keccak256\":\"0x846e5ad3468a4020ccd311883d8b6fec8cb59539eea3cbbbe8a800b25d829287\",\"urls\":[\"bzzr://59cae26b1bed2633fc6643980e0f0c3c05a32078fc8229e20bf9fb376ff2c1ed\",\"dweb:/ipfs/QmX3aTe9X5c3KB3psi4oiTchLy9GQVByvM41i4L9eqLdHx\"]},\"iexec-poco/contracts/libs/IexecODBLibCore.sol\":{\"keccak256\":\"0x3e1a247b137866fe9b7272fc9ea189cf83f8f8a3ad439bbdef1c770f67349b7a\",\"urls\":[\"bzzr://788a11e860998e576e89358eb050b74debca9ab2e46e292abb34753f4abfad60\",\"dweb:/ipfs/QmVt1iunRyGqXa88HvFjYEDRraJCrX5iF478cKhJAeCrh6\"]},\"iexec-poco/contracts/libs/IexecODBLibOrders.sol\":{\"keccak256\":\"0xceb5c2483f92c7bbed29ac473f92371d04830f0c40bd734d01d26eef09e88f4f\",\"urls\":[\"bzzr://054a5f4728d0d5e774bb974181d4d97f98f23f8f2cf695f18723c79e8401b8a0\",\"dweb:/ipfs/QmbgL6dN9Y5osfm9jWDtzy1TMqRWS75EFyFefBwguAcg6W\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x90e8c2521653bbb1768b05889c5760031e688d9cd361f167489b89215e201b95\",\"urls\":[\"bzzr://aa8b45b57edafc3d67bc5d916327ea16807fae33f753ca163ae0c4061b789766\",\"dweb:/ipfs/QmP5NaEwZthQeM2ESz4WTT3osrP7jhbvu7ocbttBi2JAw6\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b5060405161046c38038061046c83398101604081905261002f916102cd565b6000610043826001600160e01b036102b816565b111561006957600080546001600160a01b0319166001600160a01b03831617905561020d565b6000610091731383c16c927c4a853684d1a9c676986f25e221116001600160e01b036102b816565b11156100c257600080546001600160a01b031916731383c16c927c4a853684d1a9c676986f25e2211117905561020d565b60006100ea73dbe30645ea7d216c31d09f8c5736fe74de774e636001600160e01b036102b816565b111561011b57600080546001600160a01b03191673dbe30645ea7d216c31d09f8c5736fe74de774e6317905561020d565b600061012f816001600160e01b036102b816565b111561014a57600080546001600160a01b031916905561020d565b600061017273b3901d04cf645747b99dbbe8f2ee9cb41a89cebf6001600160e01b036102b816565b11156101a357600080546001600160a01b03191673b3901d04cf645747b99dbbe8f2ee9cb41a89cebf17905561020d565b60006101b7816001600160e01b036102b816565b11156101d257600080546001600160a01b031916905561020d565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102049061032c565b60405180910390fd5b6000809054906101000a90046001600160a01b03166001600160a01b031663b01c68466040518163ffffffff1660e01b815260040160206040518083038186803b15801561025a57600080fd5b505afa15801561026e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061029291908101906102cd565b600180546001600160a01b0319166001600160a01b03929092169190911790555061036d565b3b90565b80516102c781610356565b92915050565b6000602082840312156102df57600080fd5b60006102eb84846102bc565b949350505050565b600061030060138361033c565b7f696e76616c69642d6875622d6164647265737300000000000000000000000000815260200192915050565b602080825281016102c7816102f3565b90815260200190565b60006001600160a01b0382166102c7565b61035f81610345565b811461036a57600080fd5b50565b60f18061037b6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80631ce3aa0d146037578063a41f45e9146051575b600080fd5b603d6057565b604051604891906082565b60405180910390f35b603d6066565b6001546001600160a01b031681565b6000546001600160a01b031681565b607c8160a0565b82525050565b60208101608e82846075565b92915050565b6001600160a01b031690565b6000608e826000608e82609456fea365627a7a72305820644d1dcf25cae66d746a10f87fbe8e61ed88ebf59024765e0db005fc97c85ec76c6578706572696d656e74616cf564736f6c634300050a0040", + "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060325760003560e01c80631ce3aa0d146037578063a41f45e9146051575b600080fd5b603d6057565b604051604891906082565b60405180910390f35b603d6066565b6001546001600160a01b031681565b6000546001600160a01b031681565b607c8160a0565b82525050565b60208101608e82846075565b92915050565b6001600160a01b031690565b6000608e826000608e82609456fea365627a7a72305820644d1dcf25cae66d746a10f87fbe8e61ed88ebf59024765e0db005fc97c85ec76c6578706572696d656e74616cf564736f6c634300050a0040", + "sourceMap": "175:1440:3:-;;;692:798;8:9:-1;5:2;;;30:1;27;20:12;5:2;692:798:3;;;;;;;;;;;;;;;;;;;;;782:1;749:30;761:13;-1:-1:-1;;;;;749:11:3;:30;:::i;:::-;:34;740:688;;;787:8;:47;;-1:-1:-1;;;;;;787:47:3;-1:-1:-1;;;;;787:47:3;;;;;740:688;;;882:1;849:30;239:42;-1:-1:-1;;;;;849:11:3;:30;:::i;:::-;:34;845:583;;;887:8;:47;;-1:-1:-1;;;;;;887:47:3;239:42;887:47;;;845:583;;;982:1;949:30;321:42;-1:-1:-1;;;;;949:11:3;:30;:::i;:::-;:34;945:483;;;987:8;:47;;-1:-1:-1;;;;;;987:47:3;321:42;987:47;;;945:483;;;1082:1;1049:30;1082:1;-1:-1:-1;;;;;1049:11:3;:30;:::i;:::-;:34;1045:383;;;403:42;1087:47;;-1:-1:-1;;;;;;1087:47:3;;;1045:383;;;1182:1;1149:30;485:42;-1:-1:-1;;;;;1149:11:3;:30;:::i;:::-;:34;1145:283;;;1187:8;:47;;-1:-1:-1;;;;;;1187:47:3;485:42;1187:47;;;1145:283;;;1282:1;1249:30;1282:1;-1:-1:-1;;;;;1249:11:3;:30;:::i;:::-;:34;1245:183;;;567:42;1287:47;;-1:-1:-1;;;;;;1287:47:3;;;1245:183;;;1387:29;;;;;;;;;;;;;;;;;;;1245:183;1464:8;;;;;;;;;-1:-1:-1;;;;;1464:8:3;-1:-1:-1;;;;;1464:19:3;;:21;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1464:21:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1464:21:3;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;1464:21:3;;;;;;;;;1431:10;:55;;-1:-1:-1;;;;;;1431:55:3;-1:-1:-1;;;;;1431:55:3;;;;;;;;;;-1:-1:-1;175:1440:3;;1493:120;1590:18;;1579:31::o;5:134:-1:-;83:13;;101:33;83:13;101:33;;;68:71;;;;;146:263;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;;;319:74;223:186;-1:-1;;;;223:186;417:364;;577:67;641:2;636:3;577:67;;;677:66;657:87;;772:2;763:12;;563:218;-1:-1;;563:218;789:407;980:2;994:47;;;965:18;;1055:131;965:18;1055:131;;1204:163;1307:19;;;1356:4;1347:14;;1300:67;1375:91;;-1:-1;;;;;1535:54;;1437:24;1518:76;1601:117;1670:24;1688:5;1670:24;;;1663:5;1660:35;1650:2;;1709:1;1706;1699:12;1650:2;1644:74;;;175:1440:3;;;;;;", + "deployedSourceMap": "175:1440:3:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;175:1440:3;;;;;;;;;;;;;;;;;;;;;;;;651:37;;;:::i;:::-;;;;;;;;;;;;;;;;613:35;;;:::i;651:37::-;;;-1:-1:-1;;;;;651:37:3;;:::o;613:35::-;;;-1:-1:-1;;;;;613:35:3;;:::o;5:180:-1:-;115:64;173:5;115:64;;;110:3;103:77;97:88;;;377:267;522:2;507:18;;536:98;511:9;607:6;536:98;;;493:151;;;;;923:121;-1:-1;;;;;985:54;;968:76;1051:175;;1157:64;1215:5;1233:135;1339:24;1357:5;1339:24;", + "source": "pragma solidity ^0.5.8;\npragma experimental ABIEncoderV2;\n\nimport \"./iexec-poco-interfaces/IexecHubInterface.sol\";\nimport \"./iexec-poco-interfaces/IexecClerkInterface.sol\";\n\n\ncontract IexecInterface\n{\n\taddress constant IEXEC_HUB_MAINNET = 0x1383c16c927c4A853684d1a9c676986f25E22111;\n\taddress constant IEXEC_HUB_ROPSTEN = 0xDbe30645EA7d216c31D09f8c5736FE74de774e63;\n\taddress constant IEXEC_HUB_RINKEBY = 0x0000000000000000000000000000000000000000;\n\taddress constant IEXEC_HUB_KOVAN = 0xb3901d04CF645747b99DBbe8f2eE9cb41A89CeBF;\n\taddress constant IEXEC_HUB_GOERLI = 0x0000000000000000000000000000000000000000;\n\n\tIexecHubInterface public iexecHub;\n\tIexecClerkInterface public iexecClerk;\n\n\tconstructor(address _iexecHubAddr)\n\tpublic\n\t{\n\t\tif (getCodeSize(_iexecHubAddr ) > 0) { iexecHub = IexecHubInterface(_iexecHubAddr ); }\n\t\telse if (getCodeSize(IEXEC_HUB_MAINNET) > 0) { iexecHub = IexecHubInterface(IEXEC_HUB_MAINNET); }\n\t\telse if (getCodeSize(IEXEC_HUB_ROPSTEN) > 0) { iexecHub = IexecHubInterface(IEXEC_HUB_ROPSTEN); }\n\t\telse if (getCodeSize(IEXEC_HUB_RINKEBY) > 0) { iexecHub = IexecHubInterface(IEXEC_HUB_RINKEBY); }\n\t\telse if (getCodeSize(IEXEC_HUB_KOVAN ) > 0) { iexecHub = IexecHubInterface(IEXEC_HUB_KOVAN ); }\n\t\telse if (getCodeSize(IEXEC_HUB_GOERLI ) > 0) { iexecHub = IexecHubInterface(IEXEC_HUB_GOERLI ); }\n\t\telse { revert(\"invalid-hub-address\"); }\n\t\tiexecClerk = IexecClerkInterface(iexecHub.iexecclerk());\n\t}\n\n\tfunction getCodeSize(address _addr)\n\tinternal view returns (uint _size)\n\t{\n\t\tassembly { _size := extcodesize(_addr) }\n\t}\n}\n", + "sourcePath": "iexec-doracle-base\\contracts\\IexecInterface.sol", + "ast": { + "absolutePath": "iexec-doracle-base/contracts/IexecInterface.sol", + "exportedSymbols": { + "IexecInterface": [ + 563 + ] + }, + "id": 564, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 434, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:3" + }, + { + "id": 435, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:3" + }, + { + "absolutePath": "iexec-doracle-base/contracts/iexec-poco-interfaces/IexecHubInterface.sol", + "file": "./iexec-poco-interfaces/IexecHubInterface.sol", + "id": 436, + "nodeType": "ImportDirective", + "scope": 564, + "sourceUnit": 1075, + "src": "59:55:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-doracle-base/contracts/iexec-poco-interfaces/IexecClerkInterface.sol", + "file": "./iexec-poco-interfaces/IexecClerkInterface.sol", + "id": 437, + "nodeType": "ImportDirective", + "scope": 564, + "sourceUnit": 846, + "src": "115:57:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 563, + "linearizedBaseContracts": [ + 563 + ], + "name": "IexecInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 440, + "name": "IEXEC_HUB_MAINNET", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "202:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 438, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "202:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307831333833633136633932376334413835333638346431613963363736393836663235453232313131", + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "239:42:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "value": "0x1383c16c927c4A853684d1a9c676986f25E22111" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 443, + "name": "IEXEC_HUB_ROPSTEN", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "284:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 441, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "284:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307844626533303634354541376432313663333144303966386335373336464537346465373734653633", + "id": 442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "321:42:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "value": "0xDbe30645EA7d216c31D09f8c5736FE74de774e63" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 446, + "name": "IEXEC_HUB_RINKEBY", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "366:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 444, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "366:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303030", + "id": 445, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "403:42:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "value": "0x0000000000000000000000000000000000000000" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 449, + "name": "IEXEC_HUB_KOVAN", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "448:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 447, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "448:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307862333930316430344346363435373437623939444262653866326545396362343141383943654246", + "id": 448, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "485:42:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "value": "0xb3901d04CF645747b99DBbe8f2eE9cb41A89CeBF" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 452, + "name": "IEXEC_HUB_GOERLI", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "530:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 450, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "530:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303030", + "id": 451, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "567:42:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "value": "0x0000000000000000000000000000000000000000" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 454, + "name": "iexecHub", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "613:35:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + }, + "typeName": { + "contractScope": null, + "id": 453, + "name": "IexecHubInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1074, + "src": "613:17:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 456, + "name": "iexecClerk", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "651:37:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + }, + "typeName": { + "contractScope": null, + "id": 455, + "name": "IexecClerkInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 845, + "src": "651:19:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 552, + "nodeType": "Block", + "src": "736:754:3", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 462, + "name": "_iexecHubAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 458, + "src": "761:13:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 461, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 562, + "src": "749:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "749:30:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "782:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "749:34:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 474, + "name": "IEXEC_HUB_MAINNET", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 440, + "src": "861:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 473, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 562, + "src": "849:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "849:30:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "882:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "849:34:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 486, + "name": "IEXEC_HUB_ROPSTEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 443, + "src": "961:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 485, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 562, + "src": "949:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "949:30:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "982:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "949:34:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 498, + "name": "IEXEC_HUB_RINKEBY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 446, + "src": "1061:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 497, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 562, + "src": "1049:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1049:30:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1082:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1049:34:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 510, + "name": "IEXEC_HUB_KOVAN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "1161:15:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 509, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 562, + "src": "1149:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1149:30:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 512, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1182:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1149:34:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 522, + "name": "IEXEC_HUB_GOERLI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 452, + "src": "1261:16:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 521, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 562, + "src": "1249:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1249:30:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1282:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1249:34:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 537, + "nodeType": "Block", + "src": "1385:43:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "696e76616c69642d6875622d61646472657373", + "id": 534, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1394:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3cb2d56adf2e8ce35fb7760ce27fd2db590e14a694bef7fa0bba204833a1cd2e", + "typeString": "literal_string \"invalid-hub-address\"" + }, + "value": "invalid-hub-address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3cb2d56adf2e8ce35fb7760ce27fd2db590e14a694bef7fa0bba204833a1cd2e", + "typeString": "literal_string \"invalid-hub-address\"" + } + ], + "id": 533, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1927, + 1928 + ], + "referencedDeclaration": 1928, + "src": "1387:6:3", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1387:29:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 536, + "nodeType": "ExpressionStatement", + "src": "1387:29:3" + } + ] + }, + "id": 538, + "nodeType": "IfStatement", + "src": "1245:183:3", + "trueBody": { + "id": 532, + "nodeType": "Block", + "src": "1285:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 526, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "1287:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 528, + "name": "IEXEC_HUB_GOERLI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 452, + "src": "1316:16:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 527, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "1298:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1074_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1298:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "src": "1287:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "id": 531, + "nodeType": "ExpressionStatement", + "src": "1287:47:3" + } + ] + } + }, + "id": 539, + "nodeType": "IfStatement", + "src": "1145:283:3", + "trueBody": { + "id": 520, + "nodeType": "Block", + "src": "1185:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 514, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "1187:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 516, + "name": "IEXEC_HUB_KOVAN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "1216:15:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 515, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "1198:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1074_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 517, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1198:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "src": "1187:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "id": 519, + "nodeType": "ExpressionStatement", + "src": "1187:47:3" + } + ] + } + }, + "id": 540, + "nodeType": "IfStatement", + "src": "1045:383:3", + "trueBody": { + "id": 508, + "nodeType": "Block", + "src": "1085:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 502, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "1087:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 504, + "name": "IEXEC_HUB_RINKEBY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 446, + "src": "1116:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 503, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "1098:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1074_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 505, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1098:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "src": "1087:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "id": 507, + "nodeType": "ExpressionStatement", + "src": "1087:47:3" + } + ] + } + }, + "id": 541, + "nodeType": "IfStatement", + "src": "945:483:3", + "trueBody": { + "id": 496, + "nodeType": "Block", + "src": "985:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 490, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "987:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 492, + "name": "IEXEC_HUB_ROPSTEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 443, + "src": "1016:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 491, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "998:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1074_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "998:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "src": "987:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "id": 495, + "nodeType": "ExpressionStatement", + "src": "987:47:3" + } + ] + } + }, + "id": 542, + "nodeType": "IfStatement", + "src": "845:583:3", + "trueBody": { + "id": 484, + "nodeType": "Block", + "src": "885:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 478, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "887:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 480, + "name": "IEXEC_HUB_MAINNET", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 440, + "src": "916:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 479, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "898:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1074_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 481, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "898:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "src": "887:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "id": 483, + "nodeType": "ExpressionStatement", + "src": "887:47:3" + } + ] + } + }, + "id": 543, + "nodeType": "IfStatement", + "src": "740:688:3", + "trueBody": { + "id": 472, + "nodeType": "Block", + "src": "785:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 466, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "787:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 468, + "name": "_iexecHubAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 458, + "src": "816:13:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 467, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "798:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1074_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "798:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "src": "787:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "id": 471, + "nodeType": "ExpressionStatement", + "src": "787:47:3" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 544, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 456, + "src": "1431:10:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 546, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "1464:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "id": 547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "iexecclerk", + "nodeType": "MemberAccess", + "referencedDeclaration": 860, + "src": "1464:19:3", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1464:21:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 545, + "name": "IexecClerkInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 845, + "src": "1444:19:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecClerkInterface_$845_$", + "typeString": "type(contract IexecClerkInterface)" + } + }, + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1444:42:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + } + }, + "src": "1431:55:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 551, + "nodeType": "ExpressionStatement", + "src": "1431:55:3" + } + ] + }, + "documentation": null, + "id": 553, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 459, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 458, + "name": "_iexecHubAddr", + "nodeType": "VariableDeclaration", + "scope": 553, + "src": "704:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 457, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "704:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "703:23:3" + }, + "returnParameters": { + "id": 460, + "nodeType": "ParameterList", + "parameters": [], + "src": "736:0:3" + }, + "scope": 563, + "src": "692:798:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 561, + "nodeType": "Block", + "src": "1566:47:3", + "statements": [ + { + "externalReferences": [ + { + "_size": { + "declaration": 558, + "isOffset": false, + "isSlot": false, + "src": "1581:5:3", + "valueSize": 1 + } + }, + { + "_addr": { + "declaration": 555, + "isOffset": false, + "isSlot": false, + "src": "1602:5:3", + "valueSize": 1 + } + } + ], + "id": 560, + "nodeType": "InlineAssembly", + "operations": "{ _size := extcodesize(_addr) }", + "src": "1570:40:3" + } + ] + }, + "documentation": null, + "id": 562, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getCodeSize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 556, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 555, + "name": "_addr", + "nodeType": "VariableDeclaration", + "scope": 562, + "src": "1514:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 554, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1514:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1513:15:3" + }, + "returnParameters": { + "id": 559, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 558, + "name": "_size", + "nodeType": "VariableDeclaration", + "scope": 562, + "src": "1553:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 557, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1553:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1552:12:3" + }, + "scope": 563, + "src": "1493:120:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 564, + "src": "175:1440:3" + } + ], + "src": "0:1616:3" + }, + "legacyAST": { + "absolutePath": "iexec-doracle-base/contracts/IexecInterface.sol", + "exportedSymbols": { + "IexecInterface": [ + 563 + ] + }, + "id": 564, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 434, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:3" + }, + { + "id": 435, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:3" + }, + { + "absolutePath": "iexec-doracle-base/contracts/iexec-poco-interfaces/IexecHubInterface.sol", + "file": "./iexec-poco-interfaces/IexecHubInterface.sol", + "id": 436, + "nodeType": "ImportDirective", + "scope": 564, + "sourceUnit": 1075, + "src": "59:55:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-doracle-base/contracts/iexec-poco-interfaces/IexecClerkInterface.sol", + "file": "./iexec-poco-interfaces/IexecClerkInterface.sol", + "id": 437, + "nodeType": "ImportDirective", + "scope": 564, + "sourceUnit": 846, + "src": "115:57:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 563, + "linearizedBaseContracts": [ + 563 + ], + "name": "IexecInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 440, + "name": "IEXEC_HUB_MAINNET", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "202:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 438, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "202:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307831333833633136633932376334413835333638346431613963363736393836663235453232313131", + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "239:42:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "value": "0x1383c16c927c4A853684d1a9c676986f25E22111" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 443, + "name": "IEXEC_HUB_ROPSTEN", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "284:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 441, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "284:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307844626533303634354541376432313663333144303966386335373336464537346465373734653633", + "id": 442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "321:42:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "value": "0xDbe30645EA7d216c31D09f8c5736FE74de774e63" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 446, + "name": "IEXEC_HUB_RINKEBY", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "366:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 444, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "366:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303030", + "id": 445, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "403:42:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "value": "0x0000000000000000000000000000000000000000" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 449, + "name": "IEXEC_HUB_KOVAN", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "448:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 447, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "448:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307862333930316430344346363435373437623939444262653866326545396362343141383943654246", + "id": 448, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "485:42:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "value": "0xb3901d04CF645747b99DBbe8f2eE9cb41A89CeBF" + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 452, + "name": "IEXEC_HUB_GOERLI", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "530:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 450, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "530:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303030", + "id": 451, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "567:42:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "value": "0x0000000000000000000000000000000000000000" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 454, + "name": "iexecHub", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "613:35:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + }, + "typeName": { + "contractScope": null, + "id": 453, + "name": "IexecHubInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1074, + "src": "613:17:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 456, + "name": "iexecClerk", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "651:37:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + }, + "typeName": { + "contractScope": null, + "id": 455, + "name": "IexecClerkInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 845, + "src": "651:19:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 552, + "nodeType": "Block", + "src": "736:754:3", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 462, + "name": "_iexecHubAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 458, + "src": "761:13:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 461, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 562, + "src": "749:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "749:30:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "782:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "749:34:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 474, + "name": "IEXEC_HUB_MAINNET", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 440, + "src": "861:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 473, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 562, + "src": "849:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "849:30:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "882:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "849:34:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 486, + "name": "IEXEC_HUB_ROPSTEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 443, + "src": "961:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 485, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 562, + "src": "949:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "949:30:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "982:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "949:34:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 498, + "name": "IEXEC_HUB_RINKEBY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 446, + "src": "1061:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 497, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 562, + "src": "1049:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1049:30:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1082:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1049:34:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 510, + "name": "IEXEC_HUB_KOVAN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "1161:15:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 509, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 562, + "src": "1149:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1149:30:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 512, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1182:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1149:34:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 522, + "name": "IEXEC_HUB_GOERLI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 452, + "src": "1261:16:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 521, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 562, + "src": "1249:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1249:30:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1282:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1249:34:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 537, + "nodeType": "Block", + "src": "1385:43:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "696e76616c69642d6875622d61646472657373", + "id": 534, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1394:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3cb2d56adf2e8ce35fb7760ce27fd2db590e14a694bef7fa0bba204833a1cd2e", + "typeString": "literal_string \"invalid-hub-address\"" + }, + "value": "invalid-hub-address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3cb2d56adf2e8ce35fb7760ce27fd2db590e14a694bef7fa0bba204833a1cd2e", + "typeString": "literal_string \"invalid-hub-address\"" + } + ], + "id": 533, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1927, + 1928 + ], + "referencedDeclaration": 1928, + "src": "1387:6:3", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1387:29:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 536, + "nodeType": "ExpressionStatement", + "src": "1387:29:3" + } + ] + }, + "id": 538, + "nodeType": "IfStatement", + "src": "1245:183:3", + "trueBody": { + "id": 532, + "nodeType": "Block", + "src": "1285:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 526, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "1287:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 528, + "name": "IEXEC_HUB_GOERLI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 452, + "src": "1316:16:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 527, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "1298:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1074_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1298:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "src": "1287:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "id": 531, + "nodeType": "ExpressionStatement", + "src": "1287:47:3" + } + ] + } + }, + "id": 539, + "nodeType": "IfStatement", + "src": "1145:283:3", + "trueBody": { + "id": 520, + "nodeType": "Block", + "src": "1185:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 514, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "1187:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 516, + "name": "IEXEC_HUB_KOVAN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "1216:15:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 515, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "1198:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1074_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 517, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1198:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "src": "1187:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "id": 519, + "nodeType": "ExpressionStatement", + "src": "1187:47:3" + } + ] + } + }, + "id": 540, + "nodeType": "IfStatement", + "src": "1045:383:3", + "trueBody": { + "id": 508, + "nodeType": "Block", + "src": "1085:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 502, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "1087:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 504, + "name": "IEXEC_HUB_RINKEBY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 446, + "src": "1116:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 503, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "1098:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1074_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 505, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1098:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "src": "1087:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "id": 507, + "nodeType": "ExpressionStatement", + "src": "1087:47:3" + } + ] + } + }, + "id": 541, + "nodeType": "IfStatement", + "src": "945:483:3", + "trueBody": { + "id": 496, + "nodeType": "Block", + "src": "985:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 490, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "987:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 492, + "name": "IEXEC_HUB_ROPSTEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 443, + "src": "1016:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 491, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "998:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1074_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "998:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "src": "987:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "id": 495, + "nodeType": "ExpressionStatement", + "src": "987:47:3" + } + ] + } + }, + "id": 542, + "nodeType": "IfStatement", + "src": "845:583:3", + "trueBody": { + "id": 484, + "nodeType": "Block", + "src": "885:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 478, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "887:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 480, + "name": "IEXEC_HUB_MAINNET", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 440, + "src": "916:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 479, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "898:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1074_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 481, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "898:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "src": "887:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "id": 483, + "nodeType": "ExpressionStatement", + "src": "887:47:3" + } + ] + } + }, + "id": 543, + "nodeType": "IfStatement", + "src": "740:688:3", + "trueBody": { + "id": 472, + "nodeType": "Block", + "src": "785:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 466, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "787:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 468, + "name": "_iexecHubAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 458, + "src": "816:13:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 467, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1074, + "src": "798:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1074_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "798:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "src": "787:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "id": 471, + "nodeType": "ExpressionStatement", + "src": "787:47:3" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 544, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 456, + "src": "1431:10:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 546, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 454, + "src": "1464:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1074", + "typeString": "contract IexecHubInterface" + } + }, + "id": 547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "iexecclerk", + "nodeType": "MemberAccess", + "referencedDeclaration": 860, + "src": "1464:19:3", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1464:21:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 545, + "name": "IexecClerkInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 845, + "src": "1444:19:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecClerkInterface_$845_$", + "typeString": "type(contract IexecClerkInterface)" + } + }, + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1444:42:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + } + }, + "src": "1431:55:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$845", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 551, + "nodeType": "ExpressionStatement", + "src": "1431:55:3" + } + ] + }, + "documentation": null, + "id": 553, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 459, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 458, + "name": "_iexecHubAddr", + "nodeType": "VariableDeclaration", + "scope": 553, + "src": "704:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 457, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "704:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "703:23:3" + }, + "returnParameters": { + "id": 460, + "nodeType": "ParameterList", + "parameters": [], + "src": "736:0:3" + }, + "scope": 563, + "src": "692:798:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 561, + "nodeType": "Block", + "src": "1566:47:3", + "statements": [ + { + "externalReferences": [ + { + "_size": { + "declaration": 558, + "isOffset": false, + "isSlot": false, + "src": "1581:5:3", + "valueSize": 1 + } + }, + { + "_addr": { + "declaration": 555, + "isOffset": false, + "isSlot": false, + "src": "1602:5:3", + "valueSize": 1 + } + } + ], + "id": 560, + "nodeType": "InlineAssembly", + "operations": "{ _size := extcodesize(_addr) }", + "src": "1570:40:3" + } + ] + }, + "documentation": null, + "id": 562, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getCodeSize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 556, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 555, + "name": "_addr", + "nodeType": "VariableDeclaration", + "scope": 562, + "src": "1514:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 554, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1514:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1513:15:3" + }, + "returnParameters": { + "id": 559, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 558, + "name": "_size", + "nodeType": "VariableDeclaration", + "scope": 562, + "src": "1553:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 557, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1553:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1552:12:3" + }, + "scope": 563, + "src": "1493:120:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 564, + "src": "175:1440:3" + } + ], + "src": "0:1616:3" + }, + "compiler": { + "name": "solc", + "version": "0.5.10+commit.5a6ea5b1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.16", + "updatedAt": "2019-10-22T00:23:51.996Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/build/contracts/IexecODBLibCore.json b/ups-package-tracker/smart-contract/build/contracts/IexecODBLibCore.json new file mode 100644 index 00000000..39accc8d --- /dev/null +++ b/ups-package-tracker/smart-contract/build/contracts/IexecODBLibCore.json @@ -0,0 +1,2516 @@ +{ + "contractName": "IexecODBLibCore", + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"iexec-poco/contracts/libs/IexecODBLibCore.sol\":\"IexecODBLibCore\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-poco/contracts/libs/IexecODBLibCore.sol\":{\"keccak256\":\"0x3e1a247b137866fe9b7272fc9ea189cf83f8f8a3ad439bbdef1c770f67349b7a\",\"urls\":[\"bzzr://788a11e860998e576e89358eb050b74debca9ab2e46e292abb34753f4abfad60\",\"dweb:/ipfs/QmVt1iunRyGqXa88HvFjYEDRraJCrX5iF478cKhJAeCrh6\"]}},\"version\":1}", + "bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72305820c67947ea9116c3a204ca0624ae7ff61f17825c1c2ae0ea2c8bd2e274103ddf1564736f6c634300050a0032", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72305820c67947ea9116c3a204ca0624ae7ff61f17825c1c2ae0ea2c8bd2e274103ddf1564736f6c634300050a0032", + "sourceMap": "25:1602:7:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", + "deployedSourceMap": "25:1602:7:-;;;;;;;;", + "source": "pragma solidity ^0.5.8;\n\nlibrary IexecODBLibCore\n{\n\t/**\n\t* Tools\n\t*/\n\tstruct Account\n\t{\n\t\tuint256 stake;\n\t\tuint256 locked;\n\t}\n\tstruct Category\n\t{\n\t\tstring name;\n\t\tstring description;\n\t\tuint256 workClockTimeRef;\n\t}\n\n\t/**\n\t * Clerk - Deals\n\t */\n\tstruct Resource\n\t{\n\t\taddress pointer;\n\t\taddress owner;\n\t\tuint256 price;\n\t}\n\tstruct Deal\n\t{\n\t\t// Ressources\n\t\tResource app;\n\t\tResource dataset;\n\t\tResource workerpool;\n\t\tuint256 trust;\n\t\tuint256 category;\n\t\tbytes32 tag;\n\t\t// execution details\n\t\taddress requester;\n\t\taddress beneficiary;\n\t\taddress callback;\n\t\tstring params;\n\t\t// execution settings\n\t\tuint256 startTime;\n\t\tuint256 botFirst;\n\t\tuint256 botSize;\n\t\t// consistency\n\t\tuint256 workerStake;\n\t\tuint256 schedulerRewardRatio;\n\t}\n\n\t/**\n\t * Tasks\n\t // TODO: rename Workorder → Task\n\t */\n\tenum TaskStatusEnum\n\t{\n\t\tUNSET, // Work order not yet initialized (invalid address)\n\t\tACTIVE, // Marketed → constributions are open\n\t\tREVEALING, // Starting consensus reveal\n\t\tCOMPLETED, // Concensus achieved\n\t\tFAILLED // Failled consensus\n\t}\n\tstruct Task\n\t{\n\t\tTaskStatusEnum status;\n\t\tbytes32 dealid;\n\t\tuint256 idx;\n\t\tuint256 timeref;\n\t\tuint256 contributionDeadline;\n\t\tuint256 revealDeadline;\n\t\tuint256 finalDeadline;\n\t\tbytes32 consensusValue;\n\t\tuint256 revealCounter;\n\t\tuint256 winnerCounter;\n\t\taddress[] contributors;\n\t\tbytes32 resultDigest;\n\t\tbytes results;\n\t}\n\n\t/**\n\t * Consensus\n\t */\n\tenum ContributionStatusEnum\n\t{\n\t\tUNSET,\n\t\tCONTRIBUTED,\n\t\tPROVED,\n\t\tREJECTED\n\t}\n\tstruct Contribution\n\t{\n\t\tContributionStatusEnum status;\n\t\tbytes32 resultHash;\n\t\tbytes32 resultSeal;\n\t\taddress enclaveChallenge;\n\t}\n\n}\n", + "sourcePath": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "ast": { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "exportedSymbols": { + "IexecODBLibCore": [ + 1319 + ] + }, + "id": 1320, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1220, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:7" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 1319, + "linearizedBaseContracts": [ + 1319 + ], + "name": "IexecODBLibCore", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "IexecODBLibCore.Account", + "id": 1225, + "members": [ + { + "constant": false, + "id": 1222, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 1225, + "src": "90:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1221, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "90:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1224, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 1225, + "src": "107:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1223, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "107:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Account", + "nodeType": "StructDefinition", + "scope": 1319, + "src": "70:55:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.Category", + "id": 1232, + "members": [ + { + "constant": false, + "id": 1227, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1232, + "src": "148:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1226, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "148:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1229, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 1232, + "src": "164:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1228, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "164:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1231, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1232, + "src": "187:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1230, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "187:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Category", + "nodeType": "StructDefinition", + "scope": 1319, + "src": "127:88:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.Resource", + "id": 1239, + "members": [ + { + "constant": false, + "id": 1234, + "name": "pointer", + "nodeType": "VariableDeclaration", + "scope": 1239, + "src": "267:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1233, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "267:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1236, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1239, + "src": "286:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1235, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "286:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1238, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 1239, + "src": "303:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1237, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "303:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Resource", + "nodeType": "StructDefinition", + "scope": 1319, + "src": "246:74:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.Deal", + "id": 1270, + "members": [ + { + "constant": false, + "id": 1241, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "355:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + }, + "typeName": { + "contractScope": null, + "id": 1240, + "name": "Resource", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1239, + "src": "355:8:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1243, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "371:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + }, + "typeName": { + "contractScope": null, + "id": 1242, + "name": "Resource", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1239, + "src": "371:8:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1245, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "391:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + }, + "typeName": { + "contractScope": null, + "id": 1244, + "name": "Resource", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1239, + "src": "391:8:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1247, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "414:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1246, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "414:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1249, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "431:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1248, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "431:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1251, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "451:11:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1250, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "451:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1253, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "489:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1252, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "489:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1255, + "name": "beneficiary", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "510:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1254, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "510:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1257, + "name": "callback", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "533:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1256, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "533:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1259, + "name": "params", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "553:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1258, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "553:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1261, + "name": "startTime", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "595:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1260, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "595:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1263, + "name": "botFirst", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "616:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "616:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1265, + "name": "botSize", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "636:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1264, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "636:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1267, + "name": "workerStake", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "672:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "672:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1269, + "name": "schedulerRewardRatio", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "695:28:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "695:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Deal", + "nodeType": "StructDefinition", + "scope": 1319, + "src": "322:405:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.TaskStatusEnum", + "id": 1276, + "members": [ + { + "id": 1271, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "812:5:7" + }, + { + "id": 1272, + "name": "ACTIVE", + "nodeType": "EnumValue", + "src": "877:6:7" + }, + { + "id": 1273, + "name": "REVEALING", + "nodeType": "EnumValue", + "src": "930:9:7" + }, + { + "id": 1274, + "name": "COMPLETED", + "nodeType": "EnumValue", + "src": "972:9:7" + }, + { + "id": 1275, + "name": "FAILLED", + "nodeType": "EnumValue", + "src": "1007:7:7" + } + ], + "name": "TaskStatusEnum", + "nodeType": "EnumDefinition", + "src": "787:254:7" + }, + { + "canonicalName": "IexecODBLibCore.Task", + "id": 1304, + "members": [ + { + "constant": false, + "id": 1278, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1060:21:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1276", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 1277, + "name": "TaskStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1276, + "src": "1060:14:7", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1276", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1280, + "name": "dealid", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1085:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1279, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1085:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1282, + "name": "idx", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1105:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1281, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1105:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1284, + "name": "timeref", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1122:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1283, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1122:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1286, + "name": "contributionDeadline", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1143:30:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1285, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1143:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1288, + "name": "revealDeadline", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1177:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1287, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1177:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1290, + "name": "finalDeadline", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1205:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1289, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1205:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1292, + "name": "consensusValue", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1232:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1291, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1232:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1294, + "name": "revealCounter", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1260:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1260:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1296, + "name": "winnerCounter", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1287:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1287:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1299, + "name": "contributors", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1314:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1297, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1314:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1298, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1314:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1301, + "name": "resultDigest", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1340:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1300, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1340:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1303, + "name": "results", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1366:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1302, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1366:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Task", + "nodeType": "StructDefinition", + "scope": 1319, + "src": "1043:344:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.ContributionStatusEnum", + "id": 1309, + "members": [ + { + "id": 1305, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "1447:5:7" + }, + { + "id": 1306, + "name": "CONTRIBUTED", + "nodeType": "EnumValue", + "src": "1456:11:7" + }, + { + "id": 1307, + "name": "PROVED", + "nodeType": "EnumValue", + "src": "1471:6:7" + }, + { + "id": 1308, + "name": "REJECTED", + "nodeType": "EnumValue", + "src": "1481:8:7" + } + ], + "name": "ContributionStatusEnum", + "nodeType": "EnumDefinition", + "src": "1414:78:7" + }, + { + "canonicalName": "IexecODBLibCore.Contribution", + "id": 1318, + "members": [ + { + "constant": false, + "id": 1311, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 1318, + "src": "1519:29:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$1309", + "typeString": "enum IexecODBLibCore.ContributionStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 1310, + "name": "ContributionStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1309, + "src": "1519:22:7", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$1309", + "typeString": "enum IexecODBLibCore.ContributionStatusEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1313, + "name": "resultHash", + "nodeType": "VariableDeclaration", + "scope": 1318, + "src": "1552:18:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1312, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1552:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1315, + "name": "resultSeal", + "nodeType": "VariableDeclaration", + "scope": 1318, + "src": "1574:18:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1314, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1574:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1317, + "name": "enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 1318, + "src": "1596:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1316, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1596:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Contribution", + "nodeType": "StructDefinition", + "scope": 1319, + "src": "1494:130:7", + "visibility": "public" + } + ], + "scope": 1320, + "src": "25:1602:7" + } + ], + "src": "0:1628:7" + }, + "legacyAST": { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "exportedSymbols": { + "IexecODBLibCore": [ + 1319 + ] + }, + "id": 1320, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1220, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:7" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 1319, + "linearizedBaseContracts": [ + 1319 + ], + "name": "IexecODBLibCore", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "IexecODBLibCore.Account", + "id": 1225, + "members": [ + { + "constant": false, + "id": 1222, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 1225, + "src": "90:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1221, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "90:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1224, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 1225, + "src": "107:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1223, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "107:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Account", + "nodeType": "StructDefinition", + "scope": 1319, + "src": "70:55:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.Category", + "id": 1232, + "members": [ + { + "constant": false, + "id": 1227, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1232, + "src": "148:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1226, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "148:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1229, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 1232, + "src": "164:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1228, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "164:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1231, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1232, + "src": "187:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1230, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "187:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Category", + "nodeType": "StructDefinition", + "scope": 1319, + "src": "127:88:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.Resource", + "id": 1239, + "members": [ + { + "constant": false, + "id": 1234, + "name": "pointer", + "nodeType": "VariableDeclaration", + "scope": 1239, + "src": "267:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1233, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "267:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1236, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1239, + "src": "286:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1235, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "286:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1238, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 1239, + "src": "303:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1237, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "303:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Resource", + "nodeType": "StructDefinition", + "scope": 1319, + "src": "246:74:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.Deal", + "id": 1270, + "members": [ + { + "constant": false, + "id": 1241, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "355:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + }, + "typeName": { + "contractScope": null, + "id": 1240, + "name": "Resource", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1239, + "src": "355:8:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1243, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "371:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + }, + "typeName": { + "contractScope": null, + "id": 1242, + "name": "Resource", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1239, + "src": "371:8:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1245, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "391:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + }, + "typeName": { + "contractScope": null, + "id": 1244, + "name": "Resource", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1239, + "src": "391:8:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1239_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1247, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "414:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1246, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "414:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1249, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "431:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1248, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "431:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1251, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "451:11:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1250, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "451:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1253, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "489:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1252, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "489:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1255, + "name": "beneficiary", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "510:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1254, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "510:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1257, + "name": "callback", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "533:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1256, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "533:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1259, + "name": "params", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "553:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1258, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "553:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1261, + "name": "startTime", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "595:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1260, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "595:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1263, + "name": "botFirst", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "616:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "616:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1265, + "name": "botSize", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "636:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1264, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "636:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1267, + "name": "workerStake", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "672:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "672:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1269, + "name": "schedulerRewardRatio", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "695:28:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "695:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Deal", + "nodeType": "StructDefinition", + "scope": 1319, + "src": "322:405:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.TaskStatusEnum", + "id": 1276, + "members": [ + { + "id": 1271, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "812:5:7" + }, + { + "id": 1272, + "name": "ACTIVE", + "nodeType": "EnumValue", + "src": "877:6:7" + }, + { + "id": 1273, + "name": "REVEALING", + "nodeType": "EnumValue", + "src": "930:9:7" + }, + { + "id": 1274, + "name": "COMPLETED", + "nodeType": "EnumValue", + "src": "972:9:7" + }, + { + "id": 1275, + "name": "FAILLED", + "nodeType": "EnumValue", + "src": "1007:7:7" + } + ], + "name": "TaskStatusEnum", + "nodeType": "EnumDefinition", + "src": "787:254:7" + }, + { + "canonicalName": "IexecODBLibCore.Task", + "id": 1304, + "members": [ + { + "constant": false, + "id": 1278, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1060:21:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1276", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 1277, + "name": "TaskStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1276, + "src": "1060:14:7", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1276", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1280, + "name": "dealid", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1085:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1279, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1085:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1282, + "name": "idx", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1105:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1281, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1105:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1284, + "name": "timeref", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1122:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1283, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1122:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1286, + "name": "contributionDeadline", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1143:30:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1285, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1143:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1288, + "name": "revealDeadline", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1177:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1287, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1177:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1290, + "name": "finalDeadline", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1205:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1289, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1205:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1292, + "name": "consensusValue", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1232:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1291, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1232:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1294, + "name": "revealCounter", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1260:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1260:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1296, + "name": "winnerCounter", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1287:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1287:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1299, + "name": "contributors", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1314:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1297, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1314:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1298, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1314:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1301, + "name": "resultDigest", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1340:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1300, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1340:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1303, + "name": "results", + "nodeType": "VariableDeclaration", + "scope": 1304, + "src": "1366:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1302, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1366:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Task", + "nodeType": "StructDefinition", + "scope": 1319, + "src": "1043:344:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.ContributionStatusEnum", + "id": 1309, + "members": [ + { + "id": 1305, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "1447:5:7" + }, + { + "id": 1306, + "name": "CONTRIBUTED", + "nodeType": "EnumValue", + "src": "1456:11:7" + }, + { + "id": 1307, + "name": "PROVED", + "nodeType": "EnumValue", + "src": "1471:6:7" + }, + { + "id": 1308, + "name": "REJECTED", + "nodeType": "EnumValue", + "src": "1481:8:7" + } + ], + "name": "ContributionStatusEnum", + "nodeType": "EnumDefinition", + "src": "1414:78:7" + }, + { + "canonicalName": "IexecODBLibCore.Contribution", + "id": 1318, + "members": [ + { + "constant": false, + "id": 1311, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 1318, + "src": "1519:29:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$1309", + "typeString": "enum IexecODBLibCore.ContributionStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 1310, + "name": "ContributionStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1309, + "src": "1519:22:7", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$1309", + "typeString": "enum IexecODBLibCore.ContributionStatusEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1313, + "name": "resultHash", + "nodeType": "VariableDeclaration", + "scope": 1318, + "src": "1552:18:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1312, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1552:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1315, + "name": "resultSeal", + "nodeType": "VariableDeclaration", + "scope": 1318, + "src": "1574:18:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1314, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1574:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1317, + "name": "enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 1318, + "src": "1596:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1316, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1596:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Contribution", + "nodeType": "StructDefinition", + "scope": 1319, + "src": "1494:130:7", + "visibility": "public" + } + ], + "scope": 1320, + "src": "25:1602:7" + } + ], + "src": "0:1628:7" + }, + "compiler": { + "name": "solc", + "version": "0.5.10+commit.5a6ea5b1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.16", + "updatedAt": "2019-10-22T00:23:52.011Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/build/contracts/IexecODBLibOrders.json b/ups-package-tracker/smart-contract/build/contracts/IexecODBLibOrders.json new file mode 100644 index 00000000..095467dc --- /dev/null +++ b/ups-package-tracker/smart-contract/build/contracts/IexecODBLibOrders.json @@ -0,0 +1,7213 @@ +{ + "contractName": "IexecODBLibOrders", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "APPORDER_TYPEHASH", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "WORKERPOOLORDER_TYPEHASH", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "DATASETORDER_TYPEHASH", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "REQUESTORDER_TYPEHASH", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "EIP712DOMAIN_TYPEHASH", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "components": [ + { + "name": "app", + "type": "address" + }, + { + "name": "appprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "datasetrestrict", + "type": "address" + }, + { + "name": "workerpoolrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_apporder", + "type": "tuple" + } + ], + "name": "hash", + "outputs": [ + { + "name": "apphash", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "components": [ + { + "name": "app", + "type": "address" + }, + { + "name": "appmaxprice", + "type": "uint256" + }, + { + "name": "dataset", + "type": "address" + }, + { + "name": "datasetmaxprice", + "type": "uint256" + }, + { + "name": "workerpool", + "type": "address" + }, + { + "name": "workerpoolmaxprice", + "type": "uint256" + }, + { + "name": "requester", + "type": "address" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "category", + "type": "uint256" + }, + { + "name": "trust", + "type": "uint256" + }, + { + "name": "beneficiary", + "type": "address" + }, + { + "name": "callback", + "type": "address" + }, + { + "name": "params", + "type": "string" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_requestorder", + "type": "tuple" + } + ], + "name": "hash", + "outputs": [ + { + "name": "requesthash", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "components": [ + { + "name": "dataset", + "type": "address" + }, + { + "name": "datasetprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "apprestrict", + "type": "address" + }, + { + "name": "workerpoolrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_datasetorder", + "type": "tuple" + } + ], + "name": "hash", + "outputs": [ + { + "name": "datasethash", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "components": [ + { + "name": "workerpool", + "type": "address" + }, + { + "name": "workerpoolprice", + "type": "uint256" + }, + { + "name": "volume", + "type": "uint256" + }, + { + "name": "tag", + "type": "bytes32" + }, + { + "name": "category", + "type": "uint256" + }, + { + "name": "trust", + "type": "uint256" + }, + { + "name": "apprestrict", + "type": "address" + }, + { + "name": "datasetrestrict", + "type": "address" + }, + { + "name": "requesterrestrict", + "type": "address" + }, + { + "name": "salt", + "type": "bytes32" + }, + { + "name": "sign", + "type": "bytes" + } + ], + "name": "_workerpoolorder", + "type": "tuple" + } + ], + "name": "hash", + "outputs": [ + { + "name": "workerpoolhash", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "components": [ + { + "name": "name", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "chainId", + "type": "uint256" + }, + { + "name": "verifyingContract", + "type": "address" + } + ], + "name": "_domain", + "type": "tuple" + } + ], + "name": "hash", + "outputs": [ + { + "name": "domainhash", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_structHash", + "type": "bytes32" + }, + { + "name": "_domainHash", + "type": "bytes32" + } + ], + "name": "toEthTypedStructHash", + "outputs": [ + { + "name": "typedStructHash", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"components\":[{\"name\":\"app\",\"type\":\"address\"},{\"name\":\"appprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"datasetrestrict\",\"type\":\"address\"},{\"name\":\"workerpoolrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_apporder\",\"type\":\"tuple\"}],\"name\":\"hash\",\"outputs\":[{\"name\":\"apphash\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"components\":[{\"name\":\"app\",\"type\":\"address\"},{\"name\":\"appmaxprice\",\"type\":\"uint256\"},{\"name\":\"dataset\",\"type\":\"address\"},{\"name\":\"datasetmaxprice\",\"type\":\"uint256\"},{\"name\":\"workerpool\",\"type\":\"address\"},{\"name\":\"workerpoolmaxprice\",\"type\":\"uint256\"},{\"name\":\"requester\",\"type\":\"address\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"category\",\"type\":\"uint256\"},{\"name\":\"trust\",\"type\":\"uint256\"},{\"name\":\"beneficiary\",\"type\":\"address\"},{\"name\":\"callback\",\"type\":\"address\"},{\"name\":\"params\",\"type\":\"string\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_requestorder\",\"type\":\"tuple\"}],\"name\":\"hash\",\"outputs\":[{\"name\":\"requesthash\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_structHash\",\"type\":\"bytes32\"},{\"name\":\"_domainHash\",\"type\":\"bytes32\"}],\"name\":\"toEthTypedStructHash\",\"outputs\":[{\"name\":\"typedStructHash\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"APPORDER_TYPEHASH\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"components\":[{\"name\":\"dataset\",\"type\":\"address\"},{\"name\":\"datasetprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"apprestrict\",\"type\":\"address\"},{\"name\":\"workerpoolrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_datasetorder\",\"type\":\"tuple\"}],\"name\":\"hash\",\"outputs\":[{\"name\":\"datasethash\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"components\":[{\"name\":\"workerpool\",\"type\":\"address\"},{\"name\":\"workerpoolprice\",\"type\":\"uint256\"},{\"name\":\"volume\",\"type\":\"uint256\"},{\"name\":\"tag\",\"type\":\"bytes32\"},{\"name\":\"category\",\"type\":\"uint256\"},{\"name\":\"trust\",\"type\":\"uint256\"},{\"name\":\"apprestrict\",\"type\":\"address\"},{\"name\":\"datasetrestrict\",\"type\":\"address\"},{\"name\":\"requesterrestrict\",\"type\":\"address\"},{\"name\":\"salt\",\"type\":\"bytes32\"},{\"name\":\"sign\",\"type\":\"bytes\"}],\"name\":\"_workerpoolorder\",\"type\":\"tuple\"}],\"name\":\"hash\",\"outputs\":[{\"name\":\"workerpoolhash\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"WORKERPOOLORDER_TYPEHASH\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"DATASETORDER_TYPEHASH\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"REQUESTORDER_TYPEHASH\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"EIP712DOMAIN_TYPEHASH\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"components\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"version\",\"type\":\"string\"},{\"name\":\"chainId\",\"type\":\"uint256\"},{\"name\":\"verifyingContract\",\"type\":\"address\"}],\"name\":\"_domain\",\"type\":\"tuple\"}],\"name\":\"hash\",\"outputs\":[{\"name\":\"domainhash\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"iexec-poco/contracts/libs/IexecODBLibOrders.sol\":\"IexecODBLibOrders\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-poco/contracts/libs/IexecODBLibOrders.sol\":{\"keccak256\":\"0xceb5c2483f92c7bbed29ac473f92371d04830f0c40bd734d01d26eef09e88f4f\",\"urls\":[\"bzzr://054a5f4728d0d5e774bb974181d4d97f98f23f8f2cf695f18723c79e8401b8a0\",\"dweb:/ipfs/QmbgL6dN9Y5osfm9jWDtzy1TMqRWS75EFyFefBwguAcg6W\"]}},\"version\":1}", + "bytecode": "0x610ab0610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100b35760003560e01c806358b505861161007b57806358b505861461012257806365db1dbb146101355780636f84d2da1461013d5780639a6f72ee14610145578063c49f91d31461014d578063eca34ccf14610155576100b3565b806304951329146100b85780630813424e146100e1578063176eaa49146100f4578063207dbbfe146101075780632bd4c7341461010f575b600080fd5b6100cb6100c636600461087a565b610168565b6040516100d891906109c5565b60405180910390f35b6100cb6100ef3660046108ec565b61019b565b6100cb610102366004610840565b6101e4565b6100cb610218565b6100cb61011d36600461087a565b61023c565b6100cb610130366004610921565b61026f565b6100cb6102a2565b6100cb6102c6565b6100cb6102ea565b6100cb61030e565b6100cb6101633660046108b7565b610332565b601f190180517f60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d00882526101208220915290565b6101a08101805180516020820120601f1990930180517ff24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae082529383526102008120939052905290565b600081836040516020016101f9929190610994565b6040516020818303038152906040528051906020012090505b92915050565b7f60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d00881565b601f190180517f6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c82526101208220915290565b601f190180517faa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb82526101608220915290565b7faa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb81565b7f6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c81565b7ff24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae081565b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b805180516020808301919091208184018051805193810193909320601f19860180517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f825293875290825260a0812092905292909352905290565b803561021281610a4d565b803561021281610a64565b600082601f8301126103b457600080fd5b81356103c76103c2826109fa565b6109d3565b915080825260208301602083018583830111156103e357600080fd5b6103ee838284610a41565b50505092915050565b6000610120828403121561040a57600080fd5b6104156101206109d3565b90506000610423848461038d565b825250602061043484848301610398565b602083015250604061044884828501610398565b604083015250606061045c84828501610398565b60608301525060806104708482850161038d565b60808301525060a06104848482850161038d565b60a08301525060c06104988482850161038d565b60c08301525060e06104ac84828501610398565b60e08301525061010082013567ffffffffffffffff8111156104cd57600080fd5b6104d9848285016103a3565b6101008301525092915050565b6000608082840312156104f857600080fd5b61050260806109d3565b9050813567ffffffffffffffff81111561051b57600080fd5b610527848285016103a3565b825250602082013567ffffffffffffffff81111561054457600080fd5b610550848285016103a3565b602083015250604061056484828501610398565b60408301525060606105788482850161038d565b60608301525092915050565b6000610200828403121561059757600080fd5b6105a26102006109d3565b905060006105b0848461038d565b82525060206105c184848301610398565b60208301525060406105d58482850161038d565b60408301525060606105e984828501610398565b60608301525060806105fd8482850161038d565b60808301525060a061061184828501610398565b60a08301525060c06106258482850161038d565b60c08301525060e061063984828501610398565b60e08301525061010061064e84828501610398565b6101008301525061012061066484828501610398565b6101208301525061014061067a84828501610398565b610140830152506101606106908482850161038d565b610160830152506101806106a68482850161038d565b610180830152506101a082013567ffffffffffffffff8111156106c857600080fd5b6106d4848285016103a3565b6101a0830152506101c06106ea84828501610398565b6101c0830152506101e082013567ffffffffffffffff81111561070c57600080fd5b610718848285016103a3565b6101e08301525092915050565b6000610160828403121561073857600080fd5b6107436101606109d3565b90506000610751848461038d565b825250602061076284848301610398565b602083015250604061077684828501610398565b604083015250606061078a84828501610398565b606083015250608061079e84828501610398565b60808301525060a06107b284828501610398565b60a08301525060c06107c68482850161038d565b60c08301525060e06107da8482850161038d565b60e0830152506101006107ef8482850161038d565b6101008301525061012061080584828501610398565b6101208301525061014082013567ffffffffffffffff81111561082757600080fd5b610833848285016103a3565b6101408301525092915050565b6000806040838503121561085357600080fd5b600061085f8585610398565b925050602061087085828601610398565b9150509250929050565b60006020828403121561088c57600080fd5b813567ffffffffffffffff8111156108a357600080fd5b6108af848285016103f7565b949350505050565b6000602082840312156108c957600080fd5b813567ffffffffffffffff8111156108e057600080fd5b6108af848285016104e6565b6000602082840312156108fe57600080fd5b813567ffffffffffffffff81111561091557600080fd5b6108af84828501610584565b60006020828403121561093357600080fd5b813567ffffffffffffffff81111561094a57600080fd5b6108af84828501610725565b61095f81610a32565b82525050565b61095f61097182610a32565b610a32565b6000610983600283610a22565b61190160f01b815260020192915050565b600061099f82610976565b91506109ab8285610965565b6020820191506109bb8284610965565b5060200192915050565b602081016102128284610956565b60405181810167ffffffffffffffff811182821017156109f257600080fd5b604052919050565b600067ffffffffffffffff821115610a1157600080fd5b506020601f91909101601f19160190565b919050565b600061021282610a35565b90565b6001600160a01b031690565b82818337506000910152565b610a5681610a27565b8114610a6157600080fd5b50565b610a5681610a3256fea365627a7a72305820309f22470bdb0b3c57da6174972426538cfc3694d75bc2fcd5b10b95af3c32d66c6578706572696d656e74616cf564736f6c634300050a0040", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100b35760003560e01c806358b505861161007b57806358b505861461012257806365db1dbb146101355780636f84d2da1461013d5780639a6f72ee14610145578063c49f91d31461014d578063eca34ccf14610155576100b3565b806304951329146100b85780630813424e146100e1578063176eaa49146100f4578063207dbbfe146101075780632bd4c7341461010f575b600080fd5b6100cb6100c636600461087a565b610168565b6040516100d891906109c5565b60405180910390f35b6100cb6100ef3660046108ec565b61019b565b6100cb610102366004610840565b6101e4565b6100cb610218565b6100cb61011d36600461087a565b61023c565b6100cb610130366004610921565b61026f565b6100cb6102a2565b6100cb6102c6565b6100cb6102ea565b6100cb61030e565b6100cb6101633660046108b7565b610332565b601f190180517f60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d00882526101208220915290565b6101a08101805180516020820120601f1990930180517ff24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae082529383526102008120939052905290565b600081836040516020016101f9929190610994565b6040516020818303038152906040528051906020012090505b92915050565b7f60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d00881565b601f190180517f6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c82526101208220915290565b601f190180517faa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb82526101608220915290565b7faa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb81565b7f6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c81565b7ff24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae081565b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b805180516020808301919091208184018051805193810193909320601f19860180517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f825293875290825260a0812092905292909352905290565b803561021281610a4d565b803561021281610a64565b600082601f8301126103b457600080fd5b81356103c76103c2826109fa565b6109d3565b915080825260208301602083018583830111156103e357600080fd5b6103ee838284610a41565b50505092915050565b6000610120828403121561040a57600080fd5b6104156101206109d3565b90506000610423848461038d565b825250602061043484848301610398565b602083015250604061044884828501610398565b604083015250606061045c84828501610398565b60608301525060806104708482850161038d565b60808301525060a06104848482850161038d565b60a08301525060c06104988482850161038d565b60c08301525060e06104ac84828501610398565b60e08301525061010082013567ffffffffffffffff8111156104cd57600080fd5b6104d9848285016103a3565b6101008301525092915050565b6000608082840312156104f857600080fd5b61050260806109d3565b9050813567ffffffffffffffff81111561051b57600080fd5b610527848285016103a3565b825250602082013567ffffffffffffffff81111561054457600080fd5b610550848285016103a3565b602083015250604061056484828501610398565b60408301525060606105788482850161038d565b60608301525092915050565b6000610200828403121561059757600080fd5b6105a26102006109d3565b905060006105b0848461038d565b82525060206105c184848301610398565b60208301525060406105d58482850161038d565b60408301525060606105e984828501610398565b60608301525060806105fd8482850161038d565b60808301525060a061061184828501610398565b60a08301525060c06106258482850161038d565b60c08301525060e061063984828501610398565b60e08301525061010061064e84828501610398565b6101008301525061012061066484828501610398565b6101208301525061014061067a84828501610398565b610140830152506101606106908482850161038d565b610160830152506101806106a68482850161038d565b610180830152506101a082013567ffffffffffffffff8111156106c857600080fd5b6106d4848285016103a3565b6101a0830152506101c06106ea84828501610398565b6101c0830152506101e082013567ffffffffffffffff81111561070c57600080fd5b610718848285016103a3565b6101e08301525092915050565b6000610160828403121561073857600080fd5b6107436101606109d3565b90506000610751848461038d565b825250602061076284848301610398565b602083015250604061077684828501610398565b604083015250606061078a84828501610398565b606083015250608061079e84828501610398565b60808301525060a06107b284828501610398565b60a08301525060c06107c68482850161038d565b60c08301525060e06107da8482850161038d565b60e0830152506101006107ef8482850161038d565b6101008301525061012061080584828501610398565b6101208301525061014082013567ffffffffffffffff81111561082757600080fd5b610833848285016103a3565b6101408301525092915050565b6000806040838503121561085357600080fd5b600061085f8585610398565b925050602061087085828601610398565b9150509250929050565b60006020828403121561088c57600080fd5b813567ffffffffffffffff8111156108a357600080fd5b6108af848285016103f7565b949350505050565b6000602082840312156108c957600080fd5b813567ffffffffffffffff8111156108e057600080fd5b6108af848285016104e6565b6000602082840312156108fe57600080fd5b813567ffffffffffffffff81111561091557600080fd5b6108af84828501610584565b60006020828403121561093357600080fd5b813567ffffffffffffffff81111561094a57600080fd5b6108af84828501610725565b61095f81610a32565b82525050565b61095f61097182610a32565b610a32565b6000610983600283610a22565b61190160f01b815260020192915050565b600061099f82610976565b91506109ab8285610965565b6020820191506109bb8284610965565b5060200192915050565b602081016102128284610956565b60405181810167ffffffffffffffff811182821017156109f257600080fd5b604052919050565b600067ffffffffffffffff821115610a1157600080fd5b506020601f91909101601f19160190565b919050565b600061021282610a35565b90565b6001600160a01b031690565b82818337506000910152565b610a5681610a27565b8114610a6157600080fd5b50565b610a5681610a3256fea365627a7a72305820309f22470bdb0b3c57da6174972426538cfc3694d75bc2fcd5b10b95af3c32d66c6578706572696d656e74616cf564736f6c634300050a0040", + "sourceMap": "59:8264:8:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", + "deployedSourceMap": "59:8264:8:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4138:793;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6795:1323;;;;;;;;;:::i;8121:200::-;;;;;;;;;:::i;1429:117::-;;;:::i;4933:869::-;;;;;;;;;:::i;5804:989::-;;;;;;;;;:::i;1669:117::-;;;:::i;1549:::-;;;:::i;1789:::-;;;:::i;1309:::-;;;:::i;3054:1082::-;;;;;;;;;:::i;4138:793::-;-1:-1:-1;;4675:20:8;4669:27;;1480:66;4736:38;;4840:5;4808:38;;4889:35;;4808:38;4623:305::o;6795:1323::-;7610:20;;;;;7594:38;;;;;;-1:-1:-1;;7697:25:8;;;7691:32;;1840:66;7812:43;;7859:45;;;7978:5;7942:42;;8027:40;;;8071;;7942:42;7645:470::o;8121:200::-;8215:23;8291:11;8304;8262:54;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8262:54:8;;;8252:65;;;;;;8245:72;;8121:200;;;;;:::o;1429:117::-;1480:66;1429:117;:::o;4933:869::-;-1:-1:-1;;5526:24:8;5520:31;;1600:66;5591:42;;5707:5;5671:42;;5756:39;;5671:42;5474:325::o;5804:989::-;-1:-1:-1;;6502:27:8;6496:34;;1720:66;6570:45;;6695:5;6656:45;;6744:42;;6656:45;6450:340::o;1669:117::-;1720:66;1669:117;:::o;1549:::-;1600:66;1549:117;:::o;1789:::-;1840:66;1789:117;:::o;1309:::-;1360:66;1309:117;:::o;3054:1082::-;3501:12;;3485:30;;;;;;;;;;3557:15;;;;;3541:33;;;;;;;;;-1:-1:-1;;3639:18:8;;3633:25;;1360:66;3782:39;;3825;;;3868;;;3974:4;3944:35;;4022:33;;;4059;;;;4096;;3944:35;3587:546::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;142:130;209:20;;234:33;209:20;234:33;;280:432;;377:3;370:4;362:6;358:17;354:27;344:2;;395:1;392;385:12;344:2;432:6;419:20;454:60;469:44;506:6;469:44;;;454:60;;;445:69;;534:6;527:5;520:21;570:4;562:6;558:17;603:4;596:5;592:16;638:3;629:6;624:3;620:16;617:25;614:2;;;655:1;652;645:12;614:2;665:41;699:6;694:3;689;665:41;;;337:375;;;;;;;;1203:1616;;1318:5;1306:9;1301:3;1297:19;1293:31;1290:2;;;1337:1;1334;1327:12;1290:2;1355:21;1370:5;1355:21;;;1346:30;-1:-1;1425:1;1456:49;1501:3;1481:9;1456:49;;;1432:74;;-1:-1;1571:2;1604:49;1649:3;1625:22;;;1604:49;;;1597:4;1590:5;1586:16;1579:75;1527:138;1717:2;1750:49;1795:3;1786:6;1775:9;1771:22;1750:49;;;1743:4;1736:5;1732:16;1725:75;1675:136;1860:2;1893:49;1938:3;1929:6;1918:9;1914:22;1893:49;;;1886:4;1879:5;1875:16;1868:75;1821:133;2015:3;2049:49;2094:3;2085:6;2074:9;2070:22;2049:49;;;2042:4;2035:5;2031:16;2024:75;1964:146;2174:3;2208:49;2253:3;2244:6;2233:9;2229:22;2208:49;;;2201:4;2194:5;2190:16;2183:75;2120:149;2332:3;2366:49;2411:3;2402:6;2391:9;2387:22;2366:49;;;2359:4;2352:5;2348:16;2341:75;2279:148;2477:3;2511:49;2556:3;2547:6;2536:9;2532:22;2511:49;;;2504:4;2497:5;2493:16;2486:75;2437:135;2650:3;2639:9;2635:19;2622:33;2675:18;2667:6;2664:30;2661:2;;;2707:1;2704;2697:12;2661:2;2743:54;2793:3;2784:6;2773:9;2769:22;2743:54;;;2735:5;2728;2724:17;2717:81;2582:227;1284:1535;;;;;4545:962;;4664:4;4652:9;4647:3;4643:19;4639:30;4636:2;;;4682:1;4679;4672:12;4636:2;4700:20;4715:4;4700:20;;;4691:29;-1:-1;4770:31;;4821:18;4810:30;;4807:2;;;4853:1;4850;4843:12;4807:2;4887:55;4938:3;4929:6;4918:9;4914:22;4887:55;;;4863:80;;-1:-1;5035:2;5020:18;;5007:32;5059:18;5048:30;;5045:2;;;5091:1;5088;5081:12;5045:2;5126:55;5177:3;5168:6;5157:9;5153:22;5126:55;;;5119:4;5112:5;5108:16;5101:81;4964:229;5246:2;5279:49;5324:3;5315:6;5304:9;5300:22;5279:49;;;5272:4;5265:5;5261:16;5254:75;5203:137;5403:2;5436:49;5481:3;5472:6;5461:9;5457:22;5436:49;;;5429:4;5422:5;5418:16;5411:75;5350:147;4630:877;;;;;5558:2756;;5677:5;5665:9;5660:3;5656:19;5652:31;5649:2;;;5696:1;5693;5686:12;5649:2;5714:21;5729:5;5714:21;;;5705:30;-1:-1;5784:1;5815:49;5860:3;5840:9;5815:49;;;5791:74;;-1:-1;5933:2;5966:49;6011:3;5987:22;;;5966:49;;;5959:4;5952:5;5948:16;5941:75;5886:141;6080:2;6113:49;6158:3;6149:6;6138:9;6134:22;6113:49;;;6106:4;6099:5;6095:16;6088:75;6037:137;6235:2;6268:49;6313:3;6304:6;6293:9;6289:22;6268:49;;;6261:4;6254:5;6250:16;6243:75;6184:145;6385:3;6419:49;6464:3;6455:6;6444:9;6440:22;6419:49;;;6412:4;6405:5;6401:16;6394:75;6339:141;6544:3;6578:49;6623:3;6614:6;6603:9;6599:22;6578:49;;;6571:4;6564:5;6560:16;6553:75;6490:149;6694:3;6728:49;6773:3;6764:6;6753:9;6749:22;6728:49;;;6721:4;6714:5;6710:16;6703:75;6649:140;6841:3;6875:49;6920:3;6911:6;6900:9;6896:22;6875:49;;;6868:4;6861:5;6857:16;6850:75;6799:137;6985:3;7020:49;7065:3;7056:6;7045:9;7041:22;7020:49;;;7012:5;7005;7001:17;6994:76;6946:135;7135:3;7170:49;7215:3;7206:6;7195:9;7191:22;7170:49;;;7162:5;7155;7151:17;7144:76;7091:140;7282:3;7317:49;7362:3;7353:6;7342:9;7338:22;7317:49;;;7309:5;7302;7298:17;7291:76;7241:137;7435:3;7470:49;7515:3;7506:6;7495:9;7491:22;7470:49;;;7462:5;7455;7451:17;7444:76;7388:143;7585:3;7620:49;7665:3;7656:6;7645:9;7641:22;7620:49;;;7612:5;7605;7601:17;7594:76;7541:140;7761:3;7750:9;7746:19;7733:33;7786:18;7778:6;7775:30;7772:2;;;7818:1;7815;7808:12;7772:2;7854:55;7905:3;7896:6;7885:9;7881:22;7854:55;;;7846:5;7839;7835:17;7828:82;7691:230;7971:3;8006:49;8051:3;8042:6;8031:9;8027:22;8006:49;;;7998:5;7991;7987:17;7980:76;7931:136;8145:3;8134:9;8130:19;8117:33;8170:18;8162:6;8159:30;8156:2;;;8202:1;8199;8192:12;8156:2;8238:54;8288:3;8279:6;8268:9;8264:22;8238:54;;;8230:5;8223;8219:17;8212:81;8077:227;5643:2671;;;;;8368:1927;;8490:5;8478:9;8473:3;8469:19;8465:31;8462:2;;;8509:1;8506;8499:12;8462:2;8527:21;8542:5;8527:21;;;8518:30;-1:-1;8604:1;8635:49;8680:3;8660:9;8635:49;;;8611:74;;-1:-1;8757:2;8790:49;8835:3;8811:22;;;8790:49;;;8783:4;8776:5;8772:16;8765:75;8706:145;8903:2;8936:49;8981:3;8972:6;8961:9;8957:22;8936:49;;;8929:4;8922:5;8918:16;8911:75;8861:136;9046:2;9079:49;9124:3;9115:6;9104:9;9100:22;9079:49;;;9072:4;9065:5;9061:16;9054:75;9007:133;9194:3;9228:49;9273:3;9264:6;9253:9;9249:22;9228:49;;;9221:4;9214:5;9210:16;9203:75;9150:139;9340:3;9374:49;9419:3;9410:6;9399:9;9395:22;9374:49;;;9367:4;9360:5;9356:16;9349:75;9299:136;9492:3;9526:49;9571:3;9562:6;9551:9;9547:22;9526:49;;;9519:4;9512:5;9508:16;9501:75;9445:142;9648:3;9682:49;9727:3;9718:6;9707:9;9703:22;9682:49;;;9675:4;9668:5;9664:16;9657:75;9597:146;9806:3;9841:49;9886:3;9877:6;9866:9;9862:22;9841:49;;;9833:5;9826;9822:17;9815:76;9753:149;9952:3;9987:49;10032:3;10023:6;10012:9;10008:22;9987:49;;;9979:5;9972;9968:17;9961:76;9912:136;10126:3;10115:9;10111:19;10098:33;10151:18;10143:6;10140:30;10137:2;;;10183:1;10180;10173:12;10137:2;10219:54;10269:3;10260:6;10249:9;10245:22;10219:54;;;10211:5;10204;10200:17;10193:81;10058:227;8456:1839;;;;;10439:366;;;10560:2;10548:9;10539:7;10535:23;10531:32;10528:2;;;10576:1;10573;10566:12;10528:2;10611:1;10628:53;10673:7;10653:9;10628:53;;;10618:63;;10590:97;10718:2;10736:53;10781:7;10772:6;10761:9;10757:22;10736:53;;;10726:63;;10697:98;10522:283;;;;;;10812:379;;10942:2;10930:9;10921:7;10917:23;10913:32;10910:2;;;10958:1;10955;10948:12;10910:2;10993:31;;11044:18;11033:30;;11030:2;;;11076:1;11073;11066:12;11030:2;11096:79;11167:7;11158:6;11147:9;11143:22;11096:79;;;11086:89;10904:287;-1:-1;;;;10904:287;11592:387;;11726:2;11714:9;11705:7;11701:23;11697:32;11694:2;;;11742:1;11739;11732:12;11694:2;11777:31;;11828:18;11817:30;;11814:2;;;11860:1;11857;11850:12;11814:2;11880:83;11955:7;11946:6;11935:9;11931:22;11880:83;;11986:387;;12120:2;12108:9;12099:7;12095:23;12091:32;12088:2;;;12136:1;12133;12126:12;12088:2;12171:31;;12222:18;12211:30;;12208:2;;;12254:1;12251;12244:12;12208:2;12274:83;12349:7;12340:6;12329:9;12325:22;12274:83;;12380:393;;12517:2;12505:9;12496:7;12492:23;12488:32;12485:2;;;12533:1;12530;12523:12;12485:2;12568:31;;12619:18;12608:30;;12605:2;;;12651:1;12648;12641:12;12605:2;12671:86;12749:7;12740:6;12729:9;12725:22;12671:86;;12780:121;12871:24;12889:5;12871:24;;;12866:3;12859:37;12853:48;;;12908:152;13009:45;13029:24;13047:5;13029:24;;;13009:45;;13068:398;;13246:84;13328:1;13323:3;13246:84;;;-1:-1;;;13343:87;;13458:1;13449:11;;13232:234;-1:-1;;13232:234;13474:650;;13729:148;13873:3;13729:148;;;13722:155;;13888:75;13959:3;13950:6;13888:75;;;13985:2;13980:3;13976:12;13969:19;;13999:75;14070:3;14061:6;13999:75;;;-1:-1;14096:2;14087:12;;13710:414;-1:-1;;13710:414;14131:229;14257:2;14242:18;;14271:79;14246:9;14323:6;14271:79;;14367:256;14429:2;14423:9;14455:17;;;14530:18;14515:34;;14551:22;;;14512:62;14509:2;;;14587:1;14584;14577:12;14509:2;14603;14596:22;14407:216;;-1:-1;14407:216;14630:317;;14769:18;14761:6;14758:30;14755:2;;;14801:1;14798;14791:12;14755:2;-1:-1;14932:4;14868;14845:17;;;;-1:-1;;14841:33;14922:15;;14692:255;15280:145;15416:3;15394:31;-1:-1;15394:31;15433:91;;15495:24;15513:5;15495:24;;15531:72;15593:5;15576:27;15610:121;-1:-1;;;;;15672:54;;15655:76;15818:145;15899:6;15894:3;15889;15876:30;-1:-1;15955:1;15937:16;;15930:27;15869:94;16052:117;16121:24;16139:5;16121:24;;;16114:5;16111:35;16101:2;;16160:1;16157;16150:12;16101:2;16095:74;;16176:117;16245:24;16263:5;16245:24;", + "source": "pragma solidity ^0.5.8;\npragma experimental ABIEncoderV2;\n\nlibrary IexecODBLibOrders\n{\n\t// bytes32 public constant EIP712DOMAIN_TYPEHASH = keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\");\n\t// bytes32 public constant APPORDER_TYPEHASH = keccak256(\"AppOrder(address app,uint256 appprice,uint256 volume,bytes32 tag,address datasetrestrict,address workerpoolrestrict,address requesterrestrict,bytes32 salt)\");\n\t// bytes32 public constant DATASETORDER_TYPEHASH = keccak256(\"DatasetOrder(address dataset,uint256 datasetprice,uint256 volume,bytes32 tag,address apprestrict,address workerpoolrestrict,address requesterrestrict,bytes32 salt)\");\n\t// bytes32 public constant WORKERPOOLORDER_TYPEHASH = keccak256(\"WorkerpoolOrder(address workerpool,uint256 workerpoolprice,uint256 volume,bytes32 tag,uint256 category,uint256 trust,address apprestrict,address datasetrestrict,address requesterrestrict,bytes32 salt)\");\n\t// bytes32 public constant REQUESTORDER_TYPEHASH = keccak256(\"RequestOrder(address app,uint256 appmaxprice,address dataset,uint256 datasetmaxprice,address workerpool,uint256 workerpoolmaxprice,address requester,uint256 volume,bytes32 tag,uint256 category,uint256 trust,address beneficiary,address callback,string params,bytes32 salt)\");\n\tbytes32 public constant EIP712DOMAIN_TYPEHASH = 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f;\n\tbytes32 public constant APPORDER_TYPEHASH = 0x60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d008;\n\tbytes32 public constant DATASETORDER_TYPEHASH = 0x6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c;\n\tbytes32 public constant WORKERPOOLORDER_TYPEHASH = 0xaa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb;\n\tbytes32 public constant REQUESTORDER_TYPEHASH = 0xf24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae0;\n\n\tstruct EIP712Domain\n\t{\n\t\tstring name;\n\t\tstring version;\n\t\tuint256 chainId;\n\t\taddress verifyingContract;\n\t}\n\tstruct AppOrder\n\t{\n\t\taddress app;\n\t\tuint256 appprice;\n\t\tuint256 volume;\n\t\tbytes32 tag;\n\t\taddress datasetrestrict;\n\t\taddress workerpoolrestrict;\n\t\taddress requesterrestrict;\n\t\tbytes32 salt;\n\t\tbytes sign;\n\t}\n\tstruct DatasetOrder\n\t{\n\t\taddress dataset;\n\t\tuint256 datasetprice;\n\t\tuint256 volume;\n\t\tbytes32 tag;\n\t\taddress apprestrict;\n\t\taddress workerpoolrestrict;\n\t\taddress requesterrestrict;\n\t\tbytes32 salt;\n\t\tbytes sign;\n\t}\n\tstruct WorkerpoolOrder\n\t{\n\t\taddress workerpool;\n\t\tuint256 workerpoolprice;\n\t\tuint256 volume;\n\t\tbytes32 tag;\n\t\tuint256 category;\n\t\tuint256 trust;\n\t\taddress apprestrict;\n\t\taddress datasetrestrict;\n\t\taddress requesterrestrict;\n\t\tbytes32 salt;\n\t\tbytes sign;\n\t}\n\tstruct RequestOrder\n\t{\n\t\taddress app;\n\t\tuint256 appmaxprice;\n\t\taddress dataset;\n\t\tuint256 datasetmaxprice;\n\t\taddress workerpool;\n\t\tuint256 workerpoolmaxprice;\n\t\taddress requester;\n\t\tuint256 volume;\n\t\tbytes32 tag;\n\t\tuint256 category;\n\t\tuint256 trust;\n\t\taddress beneficiary;\n\t\taddress callback;\n\t\tstring params;\n\t\tbytes32 salt;\n\t\tbytes sign;\n\t}\n\n\tfunction hash(EIP712Domain memory _domain)\n\tpublic pure returns (bytes32 domainhash)\n\t{\n\t\t/**\n\t\t * Readeable but expensive\n\t\t */\n\t\t// return keccak256(abi.encode(\n\t\t// \tEIP712DOMAIN_TYPEHASH\n\t\t// , keccak256(bytes(_domain.name))\n\t\t// , keccak256(bytes(_domain.version))\n\t\t// , _domain.chainId\n\t\t// , _domain.verifyingContract\n\t\t// ));\n\n\t\t// Compute sub-hashes\n\t\tbytes32 typeHash = EIP712DOMAIN_TYPEHASH;\n\t\tbytes32 nameHash = keccak256(bytes(_domain.name));\n\t\tbytes32 versionHash = keccak256(bytes(_domain.version));\n\t\tassembly {\n\t\t\t// Back up select memory\n\t\t\tlet temp1 := mload(sub(_domain, 0x20))\n\t\t\tlet temp2 := mload(add(_domain, 0x00))\n\t\t\tlet temp3 := mload(add(_domain, 0x20))\n\t\t\t// Write typeHash and sub-hashes\n\t\t\tmstore(sub(_domain, 0x20), typeHash)\n\t\t\tmstore(add(_domain, 0x00), nameHash)\n\t\t\tmstore(add(_domain, 0x20), versionHash)\n\t\t\t// Compute hash\n\t\t\tdomainhash := keccak256(sub(_domain, 0x20), 0xA0) // 160 = 32 + 128\n\t\t\t// Restore memory\n\t\t\tmstore(sub(_domain, 0x20), temp1)\n\t\t\tmstore(add(_domain, 0x00), temp2)\n\t\t\tmstore(add(_domain, 0x20), temp3)\n\t\t}\n\t}\n\tfunction hash(AppOrder memory _apporder)\n\tpublic pure returns (bytes32 apphash)\n\t{\n\t\t/**\n\t\t * Readeable but expensive\n\t\t */\n\t\t// return keccak256(abi.encode(\n\t\t// \tAPPORDER_TYPEHASH\n\t\t// , _apporder.app\n\t\t// , _apporder.appprice\n\t\t// , _apporder.volume\n\t\t// , _apporder.tag\n\t\t// , _apporder.datasetrestrict\n\t\t// , _apporder.workerpoolrestrict\n\t\t// , _apporder.requesterrestrict\n\t\t// , _apporder.salt\n\t\t// ));\n\n\t\t// Compute sub-hashes\n\t\tbytes32 typeHash = APPORDER_TYPEHASH;\n\t\tassembly {\n\t\t\t// Back up select memory\n\t\t\tlet temp1 := mload(sub(_apporder, 0x20))\n\t\t\t// Write typeHash and sub-hashes\n\t\t\tmstore(sub(_apporder, 0x20), typeHash)\n\t\t\t// Compute hash\n\t\t\tapphash := keccak256(sub(_apporder, 0x20), 0x120) // 288 = 32 + 256\n\t\t\t// Restore memory\n\t\t\tmstore(sub(_apporder, 0x20), temp1)\n\t\t}\n\t}\n\tfunction hash(DatasetOrder memory _datasetorder)\n\tpublic pure returns (bytes32 datasethash)\n\t{\n\t\t/**\n\t\t * Readeable but expensive\n\t\t */\n\t\t// return keccak256(abi.encode(\n\t\t// \tDATASETORDER_TYPEHASH\n\t\t// , _datasetorder.dataset\n\t\t// , _datasetorder.datasetprice\n\t\t// , _datasetorder.volume\n\t\t// , _datasetorder.tag\n\t\t// , _datasetorder.apprestrict\n\t\t// , _datasetorder.workerpoolrestrict\n\t\t// , _datasetorder.requesterrestrict\n\t\t// , _datasetorder.salt\n\t\t// ));\n\n\t\t// Compute sub-hashes\n\t\tbytes32 typeHash = DATASETORDER_TYPEHASH;\n\t\tassembly {\n\t\t\t// Back up select memory\n\t\t\tlet temp1 := mload(sub(_datasetorder, 0x20))\n\t\t\t// Write typeHash and sub-hashes\n\t\t\tmstore(sub(_datasetorder, 0x20), typeHash)\n\t\t\t// Compute hash\n\t\t\tdatasethash := keccak256(sub(_datasetorder, 0x20), 0x120) // 288 = 32 + 256\n\t\t\t// Restore memory\n\t\t\tmstore(sub(_datasetorder, 0x20), temp1)\n\t\t}\n\t}\n\tfunction hash(WorkerpoolOrder memory _workerpoolorder)\n\tpublic pure returns (bytes32 workerpoolhash)\n\t{\n\t\t/**\n\t\t * Readeable but expensive\n\t\t */\n\t\t// return keccak256(abi.encode(\n\t\t// \tWORKERPOOLORDER_TYPEHASH\n\t\t// , _workerpoolorder.workerpool\n\t\t// , _workerpoolorder.workerpoolprice\n\t\t// , _workerpoolorder.volume\n\t\t// , _workerpoolorder.tag\n\t\t// , _workerpoolorder.category\n\t\t// , _workerpoolorder.trust\n\t\t// , _workerpoolorder.apprestrict\n\t\t// , _workerpoolorder.datasetrestrict\n\t\t// , _workerpoolorder.requesterrestrict\n\t\t// , _workerpoolorder.salt\n\t\t// ));\n\n\t\t// Compute sub-hashes\n\t\tbytes32 typeHash = WORKERPOOLORDER_TYPEHASH;\n\t\tassembly {\n\t\t\t// Back up select memory\n\t\t\tlet temp1 := mload(sub(_workerpoolorder, 0x20))\n\t\t\t// Write typeHash and sub-hashes\n\t\t\tmstore(sub(_workerpoolorder, 0x20), typeHash)\n\t\t\t// Compute hash\n\t\t\tworkerpoolhash := keccak256(sub(_workerpoolorder, 0x20), 0x160) // 352 = 32 + 320\n\t\t\t// Restore memory\n\t\t\tmstore(sub(_workerpoolorder, 0x20), temp1)\n\t\t}\n\t}\n\tfunction hash(RequestOrder memory _requestorder)\n\tpublic pure returns (bytes32 requesthash)\n\t{\n\t\t/**\n\t\t * Readeable but expensive\n\t\t */\n\t\t//return keccak256(abi.encodePacked(\n\t\t//\tabi.encode(\n\t\t//\t\tREQUESTORDER_TYPEHASH\n\t\t//\t, _requestorder.app\n\t\t//\t, _requestorder.appmaxprice\n\t\t//\t, _requestorder.dataset\n\t\t//\t, _requestorder.datasetmaxprice\n\t\t//\t, _requestorder.workerpool\n\t\t//\t, _requestorder.workerpoolmaxprice\n\t\t//\t, _requestorder.requester\n\t\t//\t, _requestorder.volume\n\t\t//\t, _requestorder.tag\n\t\t//\t, _requestorder.category\n\t\t//\t, _requestorder.trust\n\t\t//\t, _requestorder.beneficiary\n\t\t//\t, _requestorder.callback\n\t\t//\t, keccak256(bytes(_requestorder.params))\n\t\t//\t, _requestorder.salt\n\t\t//\t)\n\t\t//));\n\n\t\t// Compute sub-hashes\n\t\tbytes32 typeHash = REQUESTORDER_TYPEHASH;\n\t\tbytes32 paramsHash = keccak256(bytes(_requestorder.params));\n\t\tassembly {\n\t\t\t// Back up select memory\n\t\t\tlet temp1 := mload(sub(_requestorder, 0x020))\n\t\t\tlet temp2 := mload(add(_requestorder, 0x1A0))\n\t\t\t// Write typeHash and sub-hashes\n\t\t\tmstore(sub(_requestorder, 0x020), typeHash)\n\t\t\tmstore(add(_requestorder, 0x1A0), paramsHash)\n\t\t\t// Compute hash\n\t\t\trequesthash := keccak256(sub(_requestorder, 0x20), 0x200) // 512 = 32 + 480\n\t\t\t// Restore memory\n\t\t\tmstore(sub(_requestorder, 0x020), temp1)\n\t\t\tmstore(add(_requestorder, 0x1A0), temp2)\n\t\t}\n\t}\n\n\tfunction toEthTypedStructHash(bytes32 _structHash, bytes32 _domainHash)\n\tpublic pure returns (bytes32 typedStructHash)\n\t{\n\t\treturn keccak256(abi.encodePacked(\"\\x19\\x01\", _domainHash, _structHash));\n\t}\n}\n", + "sourcePath": "iexec-poco/contracts/libs/IexecODBLibOrders.sol", + "ast": { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibOrders.sol", + "exportedSymbols": { + "IexecODBLibOrders": [ + 1552 + ] + }, + "id": 1553, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1321, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:8" + }, + { + "id": 1322, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:8" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 1552, + "linearizedBaseContracts": [ + 1552 + ], + "name": "IexecODBLibOrders", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1325, + "name": "EIP712DOMAIN_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "1309:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1323, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1309:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307838623733633363363962623866653364353132656363346366373539636337393233396637623137396230666661636161396137356435323262333934303066", + "id": 1324, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1360:66:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_63076024560530113402979550242307453568063438748328787417531900361828837441551_by_1", + "typeString": "int_const 6307...(69 digits omitted)...1551" + }, + "value": "0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1328, + "name": "APPORDER_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "1429:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1326, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1429:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307836303831356130656565633437646464663136313566653533623331643031366333313434346530316239643739366462333635343433613634343564303038", + "id": 1327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1480:66:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_43650578295105606754044185872167596760177065654633489567262380834068554436616_by_1", + "typeString": "int_const 4365...(69 digits omitted)...6616" + }, + "value": "0x60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d008" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1331, + "name": "DATASETORDER_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "1549:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1329, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1549:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307836636663393332613561336432326334333539323935623966343333656466663532623630373033666134373639306130346138336534303933336464343763", + "id": 1330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1600:66:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_49296048805850917090765960952023182941721207539109048881877448770624132338812_by_1", + "typeString": "int_const 4929...(69 digits omitted)...8812" + }, + "value": "0x6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1334, + "name": "WORKERPOOLORDER_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "1669:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1332, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1669:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307861613334323966623238316233343639313830333133336433643937386137356262373763363137656436626339616131363262396233303932303032326262", + "id": 1333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1720:66:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_76985350049294276919496274109432266747292083504708634510021467980890602742459_by_1", + "typeString": "int_const 7698...(69 digits omitted)...2459" + }, + "value": "0xaa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1337, + "name": "REQUESTORDER_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "1789:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1335, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1789:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307866323465383533303334613361343530616261383435613832393134666262353634616438356163636361366366363262653131326131353435323066616530", + "id": 1336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1840:66:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_109598442660088300653958618162198742178051133390042090218504207231673715194592_by_1", + "typeString": "int_const 1095...(70 digits omitted)...4592" + }, + "value": "0xf24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae0" + }, + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.EIP712Domain", + "id": 1346, + "members": [ + { + "constant": false, + "id": 1339, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1346, + "src": "1935:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1338, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1935:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1341, + "name": "version", + "nodeType": "VariableDeclaration", + "scope": 1346, + "src": "1951:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1340, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1951:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1343, + "name": "chainId", + "nodeType": "VariableDeclaration", + "scope": 1346, + "src": "1970:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1342, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1970:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1345, + "name": "verifyingContract", + "nodeType": "VariableDeclaration", + "scope": 1346, + "src": "1989:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1344, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1989:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "EIP712Domain", + "nodeType": "StructDefinition", + "scope": 1552, + "src": "1910:108:8", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.AppOrder", + "id": 1365, + "members": [ + { + "constant": false, + "id": 1348, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2041:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1347, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2041:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1350, + "name": "appprice", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2056:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1349, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2056:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1352, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2076:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1351, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2076:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1354, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2094:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1353, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2094:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1356, + "name": "datasetrestrict", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2109:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1355, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2109:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1358, + "name": "workerpoolrestrict", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2136:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1357, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2136:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1360, + "name": "requesterrestrict", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2166:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1359, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2166:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1362, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2195:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1361, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2195:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1364, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2211:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1363, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2211:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "AppOrder", + "nodeType": "StructDefinition", + "scope": 1552, + "src": "2020:207:8", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.DatasetOrder", + "id": 1384, + "members": [ + { + "constant": false, + "id": 1367, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2254:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2254:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1369, + "name": "datasetprice", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2273:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1368, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2273:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1371, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2297:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1370, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2297:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1373, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2315:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1372, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2315:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1375, + "name": "apprestrict", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2330:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1374, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2330:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1377, + "name": "workerpoolrestrict", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2353:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1376, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2353:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1379, + "name": "requesterrestrict", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2383:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1378, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2383:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1381, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2412:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1380, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2412:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1383, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2428:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1382, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2428:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "DatasetOrder", + "nodeType": "StructDefinition", + "scope": 1552, + "src": "2229:215:8", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.WorkerpoolOrder", + "id": 1407, + "members": [ + { + "constant": false, + "id": 1386, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2474:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1385, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2474:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1388, + "name": "workerpoolprice", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2496:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1387, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2496:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1390, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2523:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1389, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2523:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1392, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2541:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1391, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2541:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1394, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2556:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1393, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2556:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1396, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2576:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1395, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2576:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1398, + "name": "apprestrict", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2593:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1397, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2593:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1400, + "name": "datasetrestrict", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2616:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1399, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2616:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1402, + "name": "requesterrestrict", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2643:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1401, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2643:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1404, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2672:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1403, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2672:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1406, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2688:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1405, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2688:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "WorkerpoolOrder", + "nodeType": "StructDefinition", + "scope": 1552, + "src": "2446:258:8", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.RequestOrder", + "id": 1440, + "members": [ + { + "constant": false, + "id": 1409, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2731:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1408, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2731:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1411, + "name": "appmaxprice", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2746:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1410, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2746:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1413, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2769:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1412, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2769:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1415, + "name": "datasetmaxprice", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2788:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1414, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2788:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1417, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2815:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1416, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2815:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1419, + "name": "workerpoolmaxprice", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2837:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2837:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1421, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2867:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1420, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2867:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1423, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2888:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2888:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1425, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2906:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1424, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2906:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1427, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2921:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1426, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2921:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1429, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2941:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1428, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2941:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1431, + "name": "beneficiary", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2958:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1430, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2958:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1433, + "name": "callback", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2981:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1432, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2981:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1435, + "name": "params", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "3001:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1434, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3001:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1437, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "3019:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1436, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3019:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1439, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "3035:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1438, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3035:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "RequestOrder", + "nodeType": "StructDefinition", + "scope": 1552, + "src": "2706:345:8", + "visibility": "public" + }, + { + "body": { + "id": 1470, + "nodeType": "Block", + "src": "3140:996:8", + "statements": [ + { + "assignments": [ + 1448 + ], + "declarations": [ + { + "constant": false, + "id": 1448, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "3416:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1447, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3416:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1450, + "initialValue": { + "argumentTypes": null, + "id": 1449, + "name": "EIP712DOMAIN_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1325, + "src": "3438:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3416:43:8" + }, + { + "assignments": [ + 1452 + ], + "declarations": [ + { + "constant": false, + "id": 1452, + "name": "nameHash", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "3463:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1451, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3463:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1459, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1455, + "name": "_domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1442, + "src": "3501:7:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP712Domain_$1346_memory_ptr", + "typeString": "struct IexecODBLibOrders.EIP712Domain memory" + } + }, + "id": 1456, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "3501:12:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + ], + "id": 1454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3495:5:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3495:19:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1453, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1916, + "src": "3485:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3485:30:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3463:52:8" + }, + { + "assignments": [ + 1461 + ], + "declarations": [ + { + "constant": false, + "id": 1461, + "name": "versionHash", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "3519:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1460, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3519:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1468, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1464, + "name": "_domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1442, + "src": "3557:7:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP712Domain_$1346_memory_ptr", + "typeString": "struct IexecODBLibOrders.EIP712Domain memory" + } + }, + "id": 1465, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "version", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "3557:15:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + ], + "id": 1463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3551:5:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3551:22:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1462, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1916, + "src": "3541:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3541:33:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3519:55:8" + }, + { + "externalReferences": [ + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "3643:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "3685:7:8", + "valueSize": 1 + } + }, + { + "domainhash": { + "declaration": 1445, + "isOffset": false, + "isSlot": false, + "src": "3930:10:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "3727:7:8", + "valueSize": 1 + } + }, + { + "versionHash": { + "declaration": 1461, + "isOffset": false, + "isSlot": false, + "src": "3895:11:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "3879:7:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1448, + "isOffset": false, + "isSlot": false, + "src": "3812:8:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "3793:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "3958:7:8", + "valueSize": 1 + } + }, + { + "nameHash": { + "declaration": 1452, + "isOffset": false, + "isSlot": false, + "src": "3855:8:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "3836:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "4107:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "4033:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "4070:7:8", + "valueSize": 1 + } + } + ], + "id": 1469, + "nodeType": "InlineAssembly", + "operations": "{\n let temp1 := mload(sub(_domain, 0x20))\n let temp2 := mload(add(_domain, 0x00))\n let temp3 := mload(add(_domain, 0x20))\n mstore(sub(_domain, 0x20), typeHash)\n mstore(add(_domain, 0x00), nameHash)\n mstore(add(_domain, 0x20), versionHash)\n domainhash := keccak256(sub(_domain, 0x20), 0xA0)\n mstore(sub(_domain, 0x20), temp1)\n mstore(add(_domain, 0x00), temp2)\n mstore(add(_domain, 0x20), temp3)\n}", + "src": "3578:555:8" + } + ] + }, + "documentation": null, + "id": 1471, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1443, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1442, + "name": "_domain", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "3068:27:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP712Domain_$1346_memory_ptr", + "typeString": "struct IexecODBLibOrders.EIP712Domain" + }, + "typeName": { + "contractScope": null, + "id": 1441, + "name": "EIP712Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1346, + "src": "3068:12:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP712Domain_$1346_storage_ptr", + "typeString": "struct IexecODBLibOrders.EIP712Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3067:29:8" + }, + "returnParameters": { + "id": 1446, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1445, + "name": "domainhash", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "3119:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1444, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3119:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3118:20:8" + }, + "scope": 1552, + "src": "3054:1082:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1483, + "nodeType": "Block", + "src": "4219:712:8", + "statements": [ + { + "assignments": [ + 1479 + ], + "declarations": [ + { + "constant": false, + "id": 1479, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1483, + "src": "4574:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1478, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4574:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1481, + "initialValue": { + "argumentTypes": null, + "id": 1480, + "name": "APPORDER_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "4593:17:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4574:36:8" + }, + { + "externalReferences": [ + { + "_apporder": { + "declaration": 1473, + "isOffset": false, + "isSlot": false, + "src": "4679:9:8", + "valueSize": 1 + } + }, + { + "apphash": { + "declaration": 1476, + "isOffset": false, + "isSlot": false, + "src": "4797:7:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1479, + "isOffset": false, + "isSlot": false, + "src": "4765:8:8", + "valueSize": 1 + } + }, + { + "_apporder": { + "declaration": 1473, + "isOffset": false, + "isSlot": false, + "src": "4747:9:8", + "valueSize": 1 + } + }, + { + "_apporder": { + "declaration": 1473, + "isOffset": false, + "isSlot": false, + "src": "4822:9:8", + "valueSize": 1 + } + }, + { + "_apporder": { + "declaration": 1473, + "isOffset": false, + "isSlot": false, + "src": "4900:9:8", + "valueSize": 1 + } + } + ], + "id": 1482, + "nodeType": "InlineAssembly", + "operations": "{\n let temp1 := mload(sub(_apporder, 0x20))\n mstore(sub(_apporder, 0x20), typeHash)\n apphash := keccak256(sub(_apporder, 0x20), 0x120)\n mstore(sub(_apporder, 0x20), temp1)\n}", + "src": "4614:314:8" + } + ] + }, + "documentation": null, + "id": 1484, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1474, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1473, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 1484, + "src": "4152:25:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 1472, + "name": "AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1365, + "src": "4152:8:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4151:27:8" + }, + "returnParameters": { + "id": 1477, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1476, + "name": "apphash", + "nodeType": "VariableDeclaration", + "scope": 1484, + "src": "4201:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1475, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4201:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4200:17:8" + }, + "scope": 1552, + "src": "4138:793:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1496, + "nodeType": "Block", + "src": "5026:776:8", + "statements": [ + { + "assignments": [ + 1492 + ], + "declarations": [ + { + "constant": false, + "id": 1492, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1496, + "src": "5421:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1491, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5421:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1494, + "initialValue": { + "argumentTypes": null, + "id": 1493, + "name": "DATASETORDER_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1331, + "src": "5440:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5421:40:8" + }, + { + "externalReferences": [ + { + "_datasetorder": { + "declaration": 1486, + "isOffset": false, + "isSlot": false, + "src": "5530:13:8", + "valueSize": 1 + } + }, + { + "datasethash": { + "declaration": 1489, + "isOffset": false, + "isSlot": false, + "src": "5656:11:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1492, + "isOffset": false, + "isSlot": false, + "src": "5624:8:8", + "valueSize": 1 + } + }, + { + "_datasetorder": { + "declaration": 1486, + "isOffset": false, + "isSlot": false, + "src": "5602:13:8", + "valueSize": 1 + } + }, + { + "_datasetorder": { + "declaration": 1486, + "isOffset": false, + "isSlot": false, + "src": "5685:13:8", + "valueSize": 1 + } + }, + { + "_datasetorder": { + "declaration": 1486, + "isOffset": false, + "isSlot": false, + "src": "5767:13:8", + "valueSize": 1 + } + } + ], + "id": 1495, + "nodeType": "InlineAssembly", + "operations": "{\n let temp1 := mload(sub(_datasetorder, 0x20))\n mstore(sub(_datasetorder, 0x20), typeHash)\n datasethash := keccak256(sub(_datasetorder, 0x20), 0x120)\n mstore(sub(_datasetorder, 0x20), temp1)\n}", + "src": "5465:334:8" + } + ] + }, + "documentation": null, + "id": 1497, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1487, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1486, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 1497, + "src": "4947:33:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 1485, + "name": "DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1384, + "src": "4947:12:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4946:35:8" + }, + "returnParameters": { + "id": 1490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1489, + "name": "datasethash", + "nodeType": "VariableDeclaration", + "scope": 1497, + "src": "5004:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1488, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5004:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5003:21:8" + }, + "scope": 1552, + "src": "4933:869:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1509, + "nodeType": "Block", + "src": "5906:887:8", + "statements": [ + { + "assignments": [ + 1505 + ], + "declarations": [ + { + "constant": false, + "id": 1505, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1509, + "src": "6394:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1504, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6394:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1507, + "initialValue": { + "argumentTypes": null, + "id": 1506, + "name": "WORKERPOOLORDER_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1334, + "src": "6413:24:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6394:43:8" + }, + { + "externalReferences": [ + { + "_workerpoolorder": { + "declaration": 1499, + "isOffset": false, + "isSlot": false, + "src": "6506:16:8", + "valueSize": 1 + } + }, + { + "workerpoolhash": { + "declaration": 1502, + "isOffset": false, + "isSlot": false, + "src": "6638:14:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1505, + "isOffset": false, + "isSlot": false, + "src": "6606:8:8", + "valueSize": 1 + } + }, + { + "_workerpoolorder": { + "declaration": 1499, + "isOffset": false, + "isSlot": false, + "src": "6581:16:8", + "valueSize": 1 + } + }, + { + "_workerpoolorder": { + "declaration": 1499, + "isOffset": false, + "isSlot": false, + "src": "6670:16:8", + "valueSize": 1 + } + }, + { + "_workerpoolorder": { + "declaration": 1499, + "isOffset": false, + "isSlot": false, + "src": "6755:16:8", + "valueSize": 1 + } + } + ], + "id": 1508, + "nodeType": "InlineAssembly", + "operations": "{\n let temp1 := mload(sub(_workerpoolorder, 0x20))\n mstore(sub(_workerpoolorder, 0x20), typeHash)\n workerpoolhash := keccak256(sub(_workerpoolorder, 0x20), 0x160)\n mstore(sub(_workerpoolorder, 0x20), temp1)\n}", + "src": "6441:349:8" + } + ] + }, + "documentation": null, + "id": 1510, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1500, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1499, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "5818:39:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 1498, + "name": "WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1407, + "src": "5818:15:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5817:41:8" + }, + "returnParameters": { + "id": 1503, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1502, + "name": "workerpoolhash", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "5881:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1501, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5881:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5880:24:8" + }, + "scope": 1552, + "src": "5804:989:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1531, + "nodeType": "Block", + "src": "6888:1230:8", + "statements": [ + { + "assignments": [ + 1518 + ], + "declarations": [ + { + "constant": false, + "id": 1518, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "7529:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1517, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7529:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1520, + "initialValue": { + "argumentTypes": null, + "id": 1519, + "name": "REQUESTORDER_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1337, + "src": "7548:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7529:40:8" + }, + { + "assignments": [ + 1522 + ], + "declarations": [ + { + "constant": false, + "id": 1522, + "name": "paramsHash", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "7573:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1521, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7573:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1529, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1525, + "name": "_requestorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1512, + "src": "7610:13:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder memory" + } + }, + "id": 1526, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "params", + "nodeType": "MemberAccess", + "referencedDeclaration": 1435, + "src": "7610:20:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + ], + "id": 1524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7604:5:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7604:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1523, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1916, + "src": "7594:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7594:38:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7573:59:8" + }, + { + "externalReferences": [ + { + "_requestorder": { + "declaration": 1512, + "isOffset": false, + "isSlot": false, + "src": "7701:13:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1512, + "isOffset": false, + "isSlot": false, + "src": "7750:13:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1512, + "isOffset": false, + "isSlot": false, + "src": "7956:13:8", + "valueSize": 1 + } + }, + { + "requesthash": { + "declaration": 1515, + "isOffset": false, + "isSlot": false, + "src": "7927:11:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1518, + "isOffset": false, + "isSlot": false, + "src": "7846:8:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1512, + "isOffset": false, + "isSlot": false, + "src": "7823:13:8", + "valueSize": 1 + } + }, + { + "paramsHash": { + "declaration": 1522, + "isOffset": false, + "isSlot": false, + "src": "7893:10:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1512, + "isOffset": false, + "isSlot": false, + "src": "7870:13:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1512, + "isOffset": false, + "isSlot": false, + "src": "8038:13:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1512, + "isOffset": false, + "isSlot": false, + "src": "8082:13:8", + "valueSize": 1 + } + } + ], + "id": 1530, + "nodeType": "InlineAssembly", + "operations": "{\n let temp1 := mload(sub(_requestorder, 0x020))\n let temp2 := mload(add(_requestorder, 0x1A0))\n mstore(sub(_requestorder, 0x020), typeHash)\n mstore(add(_requestorder, 0x1A0), paramsHash)\n requesthash := keccak256(sub(_requestorder, 0x20), 0x200)\n mstore(sub(_requestorder, 0x020), temp1)\n mstore(add(_requestorder, 0x1A0), temp2)\n}", + "src": "7636:479:8" + } + ] + }, + "documentation": null, + "id": 1532, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1513, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1512, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 1532, + "src": "6809:33:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 1511, + "name": "RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1440, + "src": "6809:12:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6808:35:8" + }, + "returnParameters": { + "id": 1516, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1515, + "name": "requesthash", + "nodeType": "VariableDeclaration", + "scope": 1532, + "src": "6866:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1514, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6866:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6865:21:8" + }, + "scope": 1552, + "src": "6795:1323:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1550, + "nodeType": "Block", + "src": "8241:80:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "1901", + "id": 1544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8279:10:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", + "typeString": "literal_string \"\u0019\u0001\"" + }, + "value": "\u0019\u0001" + }, + { + "argumentTypes": null, + "id": 1545, + "name": "_domainHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1536, + "src": "8291:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1546, + "name": "_structHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1534, + "src": "8304:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", + "typeString": "literal_string \"\u0019\u0001\"" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1542, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1909, + "src": "8262:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8262:16:8", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8262:54:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1541, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1916, + "src": "8252:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8252:65:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1540, + "id": 1549, + "nodeType": "Return", + "src": "8245:72:8" + } + ] + }, + "documentation": null, + "id": 1551, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toEthTypedStructHash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1534, + "name": "_structHash", + "nodeType": "VariableDeclaration", + "scope": 1551, + "src": "8151:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1533, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8151:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1536, + "name": "_domainHash", + "nodeType": "VariableDeclaration", + "scope": 1551, + "src": "8172:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1535, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8172:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8150:42:8" + }, + "returnParameters": { + "id": 1540, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1539, + "name": "typedStructHash", + "nodeType": "VariableDeclaration", + "scope": 1551, + "src": "8215:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1538, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8215:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8214:25:8" + }, + "scope": 1552, + "src": "8121:200:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1553, + "src": "59:8264:8" + } + ], + "src": "0:8324:8" + }, + "legacyAST": { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibOrders.sol", + "exportedSymbols": { + "IexecODBLibOrders": [ + 1552 + ] + }, + "id": 1553, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1321, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:8" + }, + { + "id": 1322, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:8" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 1552, + "linearizedBaseContracts": [ + 1552 + ], + "name": "IexecODBLibOrders", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1325, + "name": "EIP712DOMAIN_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "1309:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1323, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1309:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307838623733633363363962623866653364353132656363346366373539636337393233396637623137396230666661636161396137356435323262333934303066", + "id": 1324, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1360:66:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_63076024560530113402979550242307453568063438748328787417531900361828837441551_by_1", + "typeString": "int_const 6307...(69 digits omitted)...1551" + }, + "value": "0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1328, + "name": "APPORDER_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "1429:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1326, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1429:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307836303831356130656565633437646464663136313566653533623331643031366333313434346530316239643739366462333635343433613634343564303038", + "id": 1327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1480:66:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_43650578295105606754044185872167596760177065654633489567262380834068554436616_by_1", + "typeString": "int_const 4365...(69 digits omitted)...6616" + }, + "value": "0x60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d008" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1331, + "name": "DATASETORDER_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "1549:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1329, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1549:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307836636663393332613561336432326334333539323935623966343333656466663532623630373033666134373639306130346138336534303933336464343763", + "id": 1330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1600:66:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_49296048805850917090765960952023182941721207539109048881877448770624132338812_by_1", + "typeString": "int_const 4929...(69 digits omitted)...8812" + }, + "value": "0x6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1334, + "name": "WORKERPOOLORDER_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "1669:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1332, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1669:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307861613334323966623238316233343639313830333133336433643937386137356262373763363137656436626339616131363262396233303932303032326262", + "id": 1333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1720:66:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_76985350049294276919496274109432266747292083504708634510021467980890602742459_by_1", + "typeString": "int_const 7698...(69 digits omitted)...2459" + }, + "value": "0xaa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 1337, + "name": "REQUESTORDER_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "1789:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1335, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1789:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307866323465383533303334613361343530616261383435613832393134666262353634616438356163636361366366363262653131326131353435323066616530", + "id": 1336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1840:66:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_109598442660088300653958618162198742178051133390042090218504207231673715194592_by_1", + "typeString": "int_const 1095...(70 digits omitted)...4592" + }, + "value": "0xf24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae0" + }, + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.EIP712Domain", + "id": 1346, + "members": [ + { + "constant": false, + "id": 1339, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1346, + "src": "1935:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1338, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1935:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1341, + "name": "version", + "nodeType": "VariableDeclaration", + "scope": 1346, + "src": "1951:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1340, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1951:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1343, + "name": "chainId", + "nodeType": "VariableDeclaration", + "scope": 1346, + "src": "1970:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1342, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1970:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1345, + "name": "verifyingContract", + "nodeType": "VariableDeclaration", + "scope": 1346, + "src": "1989:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1344, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1989:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "EIP712Domain", + "nodeType": "StructDefinition", + "scope": 1552, + "src": "1910:108:8", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.AppOrder", + "id": 1365, + "members": [ + { + "constant": false, + "id": 1348, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2041:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1347, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2041:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1350, + "name": "appprice", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2056:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1349, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2056:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1352, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2076:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1351, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2076:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1354, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2094:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1353, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2094:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1356, + "name": "datasetrestrict", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2109:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1355, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2109:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1358, + "name": "workerpoolrestrict", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2136:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1357, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2136:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1360, + "name": "requesterrestrict", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2166:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1359, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2166:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1362, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2195:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1361, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2195:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1364, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1365, + "src": "2211:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1363, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2211:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "AppOrder", + "nodeType": "StructDefinition", + "scope": 1552, + "src": "2020:207:8", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.DatasetOrder", + "id": 1384, + "members": [ + { + "constant": false, + "id": 1367, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2254:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2254:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1369, + "name": "datasetprice", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2273:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1368, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2273:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1371, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2297:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1370, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2297:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1373, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2315:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1372, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2315:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1375, + "name": "apprestrict", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2330:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1374, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2330:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1377, + "name": "workerpoolrestrict", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2353:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1376, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2353:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1379, + "name": "requesterrestrict", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2383:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1378, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2383:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1381, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2412:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1380, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2412:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1383, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "2428:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1382, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2428:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "DatasetOrder", + "nodeType": "StructDefinition", + "scope": 1552, + "src": "2229:215:8", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.WorkerpoolOrder", + "id": 1407, + "members": [ + { + "constant": false, + "id": 1386, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2474:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1385, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2474:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1388, + "name": "workerpoolprice", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2496:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1387, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2496:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1390, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2523:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1389, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2523:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1392, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2541:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1391, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2541:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1394, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2556:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1393, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2556:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1396, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2576:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1395, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2576:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1398, + "name": "apprestrict", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2593:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1397, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2593:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1400, + "name": "datasetrestrict", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2616:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1399, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2616:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1402, + "name": "requesterrestrict", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2643:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1401, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2643:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1404, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2672:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1403, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2672:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1406, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1407, + "src": "2688:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1405, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2688:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "WorkerpoolOrder", + "nodeType": "StructDefinition", + "scope": 1552, + "src": "2446:258:8", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.RequestOrder", + "id": 1440, + "members": [ + { + "constant": false, + "id": 1409, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2731:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1408, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2731:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1411, + "name": "appmaxprice", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2746:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1410, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2746:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1413, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2769:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1412, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2769:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1415, + "name": "datasetmaxprice", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2788:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1414, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2788:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1417, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2815:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1416, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2815:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1419, + "name": "workerpoolmaxprice", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2837:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2837:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1421, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2867:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1420, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2867:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1423, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2888:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2888:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1425, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2906:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1424, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2906:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1427, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2921:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1426, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2921:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1429, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2941:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1428, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2941:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1431, + "name": "beneficiary", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2958:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1430, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2958:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1433, + "name": "callback", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "2981:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1432, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2981:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1435, + "name": "params", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "3001:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1434, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3001:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1437, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "3019:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1436, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3019:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1439, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1440, + "src": "3035:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1438, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3035:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "RequestOrder", + "nodeType": "StructDefinition", + "scope": 1552, + "src": "2706:345:8", + "visibility": "public" + }, + { + "body": { + "id": 1470, + "nodeType": "Block", + "src": "3140:996:8", + "statements": [ + { + "assignments": [ + 1448 + ], + "declarations": [ + { + "constant": false, + "id": 1448, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "3416:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1447, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3416:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1450, + "initialValue": { + "argumentTypes": null, + "id": 1449, + "name": "EIP712DOMAIN_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1325, + "src": "3438:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3416:43:8" + }, + { + "assignments": [ + 1452 + ], + "declarations": [ + { + "constant": false, + "id": 1452, + "name": "nameHash", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "3463:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1451, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3463:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1459, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1455, + "name": "_domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1442, + "src": "3501:7:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP712Domain_$1346_memory_ptr", + "typeString": "struct IexecODBLibOrders.EIP712Domain memory" + } + }, + "id": 1456, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1339, + "src": "3501:12:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + ], + "id": 1454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3495:5:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3495:19:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1453, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1916, + "src": "3485:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3485:30:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3463:52:8" + }, + { + "assignments": [ + 1461 + ], + "declarations": [ + { + "constant": false, + "id": 1461, + "name": "versionHash", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "3519:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1460, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3519:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1468, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1464, + "name": "_domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1442, + "src": "3557:7:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP712Domain_$1346_memory_ptr", + "typeString": "struct IexecODBLibOrders.EIP712Domain memory" + } + }, + "id": 1465, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "version", + "nodeType": "MemberAccess", + "referencedDeclaration": 1341, + "src": "3557:15:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + ], + "id": 1463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3551:5:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3551:22:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1462, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1916, + "src": "3541:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3541:33:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3519:55:8" + }, + { + "externalReferences": [ + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "3643:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "3685:7:8", + "valueSize": 1 + } + }, + { + "domainhash": { + "declaration": 1445, + "isOffset": false, + "isSlot": false, + "src": "3930:10:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "3727:7:8", + "valueSize": 1 + } + }, + { + "versionHash": { + "declaration": 1461, + "isOffset": false, + "isSlot": false, + "src": "3895:11:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "3879:7:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1448, + "isOffset": false, + "isSlot": false, + "src": "3812:8:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "3793:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "3958:7:8", + "valueSize": 1 + } + }, + { + "nameHash": { + "declaration": 1452, + "isOffset": false, + "isSlot": false, + "src": "3855:8:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "3836:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "4107:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "4033:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1442, + "isOffset": false, + "isSlot": false, + "src": "4070:7:8", + "valueSize": 1 + } + } + ], + "id": 1469, + "nodeType": "InlineAssembly", + "operations": "{\n let temp1 := mload(sub(_domain, 0x20))\n let temp2 := mload(add(_domain, 0x00))\n let temp3 := mload(add(_domain, 0x20))\n mstore(sub(_domain, 0x20), typeHash)\n mstore(add(_domain, 0x00), nameHash)\n mstore(add(_domain, 0x20), versionHash)\n domainhash := keccak256(sub(_domain, 0x20), 0xA0)\n mstore(sub(_domain, 0x20), temp1)\n mstore(add(_domain, 0x00), temp2)\n mstore(add(_domain, 0x20), temp3)\n}", + "src": "3578:555:8" + } + ] + }, + "documentation": null, + "id": 1471, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1443, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1442, + "name": "_domain", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "3068:27:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP712Domain_$1346_memory_ptr", + "typeString": "struct IexecODBLibOrders.EIP712Domain" + }, + "typeName": { + "contractScope": null, + "id": 1441, + "name": "EIP712Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1346, + "src": "3068:12:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP712Domain_$1346_storage_ptr", + "typeString": "struct IexecODBLibOrders.EIP712Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3067:29:8" + }, + "returnParameters": { + "id": 1446, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1445, + "name": "domainhash", + "nodeType": "VariableDeclaration", + "scope": 1471, + "src": "3119:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1444, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3119:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3118:20:8" + }, + "scope": 1552, + "src": "3054:1082:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1483, + "nodeType": "Block", + "src": "4219:712:8", + "statements": [ + { + "assignments": [ + 1479 + ], + "declarations": [ + { + "constant": false, + "id": 1479, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1483, + "src": "4574:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1478, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4574:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1481, + "initialValue": { + "argumentTypes": null, + "id": 1480, + "name": "APPORDER_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1328, + "src": "4593:17:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4574:36:8" + }, + { + "externalReferences": [ + { + "_apporder": { + "declaration": 1473, + "isOffset": false, + "isSlot": false, + "src": "4679:9:8", + "valueSize": 1 + } + }, + { + "apphash": { + "declaration": 1476, + "isOffset": false, + "isSlot": false, + "src": "4797:7:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1479, + "isOffset": false, + "isSlot": false, + "src": "4765:8:8", + "valueSize": 1 + } + }, + { + "_apporder": { + "declaration": 1473, + "isOffset": false, + "isSlot": false, + "src": "4747:9:8", + "valueSize": 1 + } + }, + { + "_apporder": { + "declaration": 1473, + "isOffset": false, + "isSlot": false, + "src": "4822:9:8", + "valueSize": 1 + } + }, + { + "_apporder": { + "declaration": 1473, + "isOffset": false, + "isSlot": false, + "src": "4900:9:8", + "valueSize": 1 + } + } + ], + "id": 1482, + "nodeType": "InlineAssembly", + "operations": "{\n let temp1 := mload(sub(_apporder, 0x20))\n mstore(sub(_apporder, 0x20), typeHash)\n apphash := keccak256(sub(_apporder, 0x20), 0x120)\n mstore(sub(_apporder, 0x20), temp1)\n}", + "src": "4614:314:8" + } + ] + }, + "documentation": null, + "id": 1484, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1474, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1473, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 1484, + "src": "4152:25:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 1472, + "name": "AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1365, + "src": "4152:8:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1365_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4151:27:8" + }, + "returnParameters": { + "id": 1477, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1476, + "name": "apphash", + "nodeType": "VariableDeclaration", + "scope": 1484, + "src": "4201:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1475, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4201:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4200:17:8" + }, + "scope": 1552, + "src": "4138:793:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1496, + "nodeType": "Block", + "src": "5026:776:8", + "statements": [ + { + "assignments": [ + 1492 + ], + "declarations": [ + { + "constant": false, + "id": 1492, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1496, + "src": "5421:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1491, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5421:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1494, + "initialValue": { + "argumentTypes": null, + "id": 1493, + "name": "DATASETORDER_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1331, + "src": "5440:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5421:40:8" + }, + { + "externalReferences": [ + { + "_datasetorder": { + "declaration": 1486, + "isOffset": false, + "isSlot": false, + "src": "5530:13:8", + "valueSize": 1 + } + }, + { + "datasethash": { + "declaration": 1489, + "isOffset": false, + "isSlot": false, + "src": "5656:11:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1492, + "isOffset": false, + "isSlot": false, + "src": "5624:8:8", + "valueSize": 1 + } + }, + { + "_datasetorder": { + "declaration": 1486, + "isOffset": false, + "isSlot": false, + "src": "5602:13:8", + "valueSize": 1 + } + }, + { + "_datasetorder": { + "declaration": 1486, + "isOffset": false, + "isSlot": false, + "src": "5685:13:8", + "valueSize": 1 + } + }, + { + "_datasetorder": { + "declaration": 1486, + "isOffset": false, + "isSlot": false, + "src": "5767:13:8", + "valueSize": 1 + } + } + ], + "id": 1495, + "nodeType": "InlineAssembly", + "operations": "{\n let temp1 := mload(sub(_datasetorder, 0x20))\n mstore(sub(_datasetorder, 0x20), typeHash)\n datasethash := keccak256(sub(_datasetorder, 0x20), 0x120)\n mstore(sub(_datasetorder, 0x20), temp1)\n}", + "src": "5465:334:8" + } + ] + }, + "documentation": null, + "id": 1497, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1487, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1486, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 1497, + "src": "4947:33:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 1485, + "name": "DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1384, + "src": "4947:12:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1384_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4946:35:8" + }, + "returnParameters": { + "id": 1490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1489, + "name": "datasethash", + "nodeType": "VariableDeclaration", + "scope": 1497, + "src": "5004:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1488, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5004:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5003:21:8" + }, + "scope": 1552, + "src": "4933:869:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1509, + "nodeType": "Block", + "src": "5906:887:8", + "statements": [ + { + "assignments": [ + 1505 + ], + "declarations": [ + { + "constant": false, + "id": 1505, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1509, + "src": "6394:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1504, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6394:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1507, + "initialValue": { + "argumentTypes": null, + "id": 1506, + "name": "WORKERPOOLORDER_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1334, + "src": "6413:24:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6394:43:8" + }, + { + "externalReferences": [ + { + "_workerpoolorder": { + "declaration": 1499, + "isOffset": false, + "isSlot": false, + "src": "6506:16:8", + "valueSize": 1 + } + }, + { + "workerpoolhash": { + "declaration": 1502, + "isOffset": false, + "isSlot": false, + "src": "6638:14:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1505, + "isOffset": false, + "isSlot": false, + "src": "6606:8:8", + "valueSize": 1 + } + }, + { + "_workerpoolorder": { + "declaration": 1499, + "isOffset": false, + "isSlot": false, + "src": "6581:16:8", + "valueSize": 1 + } + }, + { + "_workerpoolorder": { + "declaration": 1499, + "isOffset": false, + "isSlot": false, + "src": "6670:16:8", + "valueSize": 1 + } + }, + { + "_workerpoolorder": { + "declaration": 1499, + "isOffset": false, + "isSlot": false, + "src": "6755:16:8", + "valueSize": 1 + } + } + ], + "id": 1508, + "nodeType": "InlineAssembly", + "operations": "{\n let temp1 := mload(sub(_workerpoolorder, 0x20))\n mstore(sub(_workerpoolorder, 0x20), typeHash)\n workerpoolhash := keccak256(sub(_workerpoolorder, 0x20), 0x160)\n mstore(sub(_workerpoolorder, 0x20), temp1)\n}", + "src": "6441:349:8" + } + ] + }, + "documentation": null, + "id": 1510, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1500, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1499, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "5818:39:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 1498, + "name": "WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1407, + "src": "5818:15:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1407_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5817:41:8" + }, + "returnParameters": { + "id": 1503, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1502, + "name": "workerpoolhash", + "nodeType": "VariableDeclaration", + "scope": 1510, + "src": "5881:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1501, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5881:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5880:24:8" + }, + "scope": 1552, + "src": "5804:989:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1531, + "nodeType": "Block", + "src": "6888:1230:8", + "statements": [ + { + "assignments": [ + 1518 + ], + "declarations": [ + { + "constant": false, + "id": 1518, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "7529:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1517, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7529:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1520, + "initialValue": { + "argumentTypes": null, + "id": 1519, + "name": "REQUESTORDER_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1337, + "src": "7548:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7529:40:8" + }, + { + "assignments": [ + 1522 + ], + "declarations": [ + { + "constant": false, + "id": 1522, + "name": "paramsHash", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "7573:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1521, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7573:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1529, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1525, + "name": "_requestorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1512, + "src": "7610:13:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder memory" + } + }, + "id": 1526, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "params", + "nodeType": "MemberAccess", + "referencedDeclaration": 1435, + "src": "7610:20:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + ], + "id": 1524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7604:5:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 1527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7604:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1523, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1916, + "src": "7594:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7594:38:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7573:59:8" + }, + { + "externalReferences": [ + { + "_requestorder": { + "declaration": 1512, + "isOffset": false, + "isSlot": false, + "src": "7701:13:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1512, + "isOffset": false, + "isSlot": false, + "src": "7750:13:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1512, + "isOffset": false, + "isSlot": false, + "src": "7956:13:8", + "valueSize": 1 + } + }, + { + "requesthash": { + "declaration": 1515, + "isOffset": false, + "isSlot": false, + "src": "7927:11:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1518, + "isOffset": false, + "isSlot": false, + "src": "7846:8:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1512, + "isOffset": false, + "isSlot": false, + "src": "7823:13:8", + "valueSize": 1 + } + }, + { + "paramsHash": { + "declaration": 1522, + "isOffset": false, + "isSlot": false, + "src": "7893:10:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1512, + "isOffset": false, + "isSlot": false, + "src": "7870:13:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1512, + "isOffset": false, + "isSlot": false, + "src": "8038:13:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1512, + "isOffset": false, + "isSlot": false, + "src": "8082:13:8", + "valueSize": 1 + } + } + ], + "id": 1530, + "nodeType": "InlineAssembly", + "operations": "{\n let temp1 := mload(sub(_requestorder, 0x020))\n let temp2 := mload(add(_requestorder, 0x1A0))\n mstore(sub(_requestorder, 0x020), typeHash)\n mstore(add(_requestorder, 0x1A0), paramsHash)\n requesthash := keccak256(sub(_requestorder, 0x20), 0x200)\n mstore(sub(_requestorder, 0x020), temp1)\n mstore(add(_requestorder, 0x1A0), temp2)\n}", + "src": "7636:479:8" + } + ] + }, + "documentation": null, + "id": 1532, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1513, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1512, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 1532, + "src": "6809:33:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 1511, + "name": "RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1440, + "src": "6809:12:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1440_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6808:35:8" + }, + "returnParameters": { + "id": 1516, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1515, + "name": "requesthash", + "nodeType": "VariableDeclaration", + "scope": 1532, + "src": "6866:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1514, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6866:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6865:21:8" + }, + "scope": 1552, + "src": "6795:1323:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1550, + "nodeType": "Block", + "src": "8241:80:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "1901", + "id": 1544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8279:10:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", + "typeString": "literal_string \"\u0019\u0001\"" + }, + "value": "\u0019\u0001" + }, + { + "argumentTypes": null, + "id": 1545, + "name": "_domainHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1536, + "src": "8291:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1546, + "name": "_structHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1534, + "src": "8304:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", + "typeString": "literal_string \"\u0019\u0001\"" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1542, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1909, + "src": "8262:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8262:16:8", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8262:54:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1541, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1916, + "src": "8252:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8252:65:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1540, + "id": 1549, + "nodeType": "Return", + "src": "8245:72:8" + } + ] + }, + "documentation": null, + "id": 1551, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toEthTypedStructHash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1534, + "name": "_structHash", + "nodeType": "VariableDeclaration", + "scope": 1551, + "src": "8151:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1533, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8151:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1536, + "name": "_domainHash", + "nodeType": "VariableDeclaration", + "scope": 1551, + "src": "8172:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1535, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8172:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8150:42:8" + }, + "returnParameters": { + "id": 1540, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1539, + "name": "typedStructHash", + "nodeType": "VariableDeclaration", + "scope": 1551, + "src": "8215:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1538, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8215:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8214:25:8" + }, + "scope": 1552, + "src": "8121:200:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1553, + "src": "59:8264:8" + } + ], + "src": "0:8324:8" + }, + "compiler": { + "name": "solc", + "version": "0.5.10+commit.5a6ea5b1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.16", + "updatedAt": "2019-10-22T00:23:52.016Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/build/contracts/Migrations.json b/ups-package-tracker/smart-contract/build/contracts/Migrations.json new file mode 100644 index 00000000..bf0761d6 --- /dev/null +++ b/ups-package-tracker/smart-contract/build/contracts/Migrations.json @@ -0,0 +1,1146 @@ +{ + "contractName": "Migrations", + "abi": [ + { + "constant": false, + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isOwner", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "lastCompletedMigration", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "completed", + "type": "uint256" + } + ], + "name": "setCompleted", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newAddress", + "type": "address" + } + ], + "name": "upgrade", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastCompletedMigration\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"isOwner()\":{\"details\":\"Returns true if the caller is the current owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * > Note: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/C/Users/Dustin/Documents/work/crypto/iexec/iexec-apps/ups-package-tracker/smart-contract/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/C/Users/Dustin/Documents/work/crypto/iexec/iexec-apps/ups-package-tracker/smart-contract/contracts/Migrations.sol\":{\"keccak256\":\"0x056705cd05fc6e25a639e9c5ec4e3a0fa1869a3d9671d4dc7f83c72d056b1215\",\"urls\":[\"bzzr://9a988ac70b8c63860c85b3db3e3e052eb3f5a52a77348a03d02e034a372004b4\",\"dweb:/ipfs/QmYt51NzvmGhoMFDA16SPeHC3HRnoXF413MDZLJ7Ka122q\"]},\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0xf79fb10e8235770eb4aea7249034076a3cc9f9119ad944fc48705bae9c9d20dc\",\"urls\":[\"bzzr://d12a11272051eb6586de8f7e0a82c04a98c9984ce8b2a6cf1ee439f65aba29a9\",\"dweb:/ipfs/QmS55hgTvNEAKinus19m65CB4wcymN8EiUPFpRx5tYJ1i2\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3610470806100696000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638f32d59b1161005b5780638f32d59b146100d6578063f2fde38b146100f2578063fbdbad3c14610118578063fdacd576146101325761007d565b80630900f01014610082578063715018a6146100aa5780638da5cb5b146100b2575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b031661014f565b005b6100a86101ff565b6100ba610290565b604080516001600160a01b039092168252519081900360200190f35b6100de61029f565b604080519115158252519081900360200190f35b6100a86004803603602081101561010857600080fd5b50356001600160a01b03166102b0565b610120610303565b60408051918252519081900360200190f35b6100a86004803603602081101561014857600080fd5b5035610309565b61015761029f565b610196576040805162461bcd60e51b8152602060048201819052602482015260008051602061041c833981519152604482015290519081900360640190fd5b6000819050806001600160a01b031663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156101e357600080fd5b505af11580156101f7573d6000803e3d6000fd5b505050505050565b61020761029f565b610246576040805162461bcd60e51b8152602060048201819052602482015260008051602061041c833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6102b861029f565b6102f7576040805162461bcd60e51b8152602060048201819052602482015260008051602061041c833981519152604482015290519081900360640190fd5b61030081610355565b50565b60015481565b61031161029f565b610350576040805162461bcd60e51b8152602060048201819052602482015260008051602061041c833981519152604482015290519081900360640190fd5b600155565b6001600160a01b03811661039a5760405162461bcd60e51b81526004018080602001828103825260268152602001806103f66026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a723058200bcf824c1b72c81a3abc8cb23b7253683d2f715a2d679297a8167a666c78ab5764736f6c634300050a0032", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80638f32d59b1161005b5780638f32d59b146100d6578063f2fde38b146100f2578063fbdbad3c14610118578063fdacd576146101325761007d565b80630900f01014610082578063715018a6146100aa5780638da5cb5b146100b2575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b031661014f565b005b6100a86101ff565b6100ba610290565b604080516001600160a01b039092168252519081900360200190f35b6100de61029f565b604080519115158252519081900360200190f35b6100a86004803603602081101561010857600080fd5b50356001600160a01b03166102b0565b610120610303565b60408051918252519081900360200190f35b6100a86004803603602081101561014857600080fd5b5035610309565b61015761029f565b610196576040805162461bcd60e51b8152602060048201819052602482015260008051602061041c833981519152604482015290519081900360640190fd5b6000819050806001600160a01b031663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156101e357600080fd5b505af11580156101f7573d6000803e3d6000fd5b505050505050565b61020761029f565b610246576040805162461bcd60e51b8152602060048201819052602482015260008051602061041c833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6102b861029f565b6102f7576040805162461bcd60e51b8152602060048201819052602482015260008051602061041c833981519152604482015290519081900360640190fd5b61030081610355565b50565b60015481565b61031161029f565b610350576040805162461bcd60e51b8152602060048201819052602482015260008051602061041c833981519152604482015290519081900360640190fd5b600155565b6001600160a01b03811661039a5760405162461bcd60e51b81526004018080602001828103825260268152602001806103f66026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a265627a7a723058200bcf824c1b72c81a3abc8cb23b7253683d2f715a2d679297a8167a666c78ab5764736f6c634300050a0032", + "sourceMap": "94:383:0:-;;;173:30;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;657:6:12;:19;;-1:-1:-1;;;;;;657:19:12;666:10;657:19;;;;691:40;;-1:-1:-1;;;;;724:6:12;;;;;657;691:40;;657:6;;691:40;94:383:0;;;;;;", + "deployedSourceMap": "94:383:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;94:383:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;314:160;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;314:160:0;-1:-1:-1;;;;;314:160:0;;:::i;:::-;;1599:137:12;;;:::i;814:77::-;;;:::i;:::-;;;;-1:-1:-1;;;;;814:77:12;;;;;;;;;;;;;;1165:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;1885:107;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1885:107:12;-1:-1:-1;;;;;1885:107:12;;:::i;130:37:0:-;;;:::i;:::-;;;;;;;;;;;;;;;;208:101;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;208:101:0;;:::i;314:160::-;1018:9:12;:7;:9::i;:::-;1010:54;;;;;-1:-1:-1;;;1010:54:12;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1010:54:12;;;;;;;;;;;;;;;375:19:0;408:10;375:44;;424:8;-1:-1:-1;;;;;424:21:0;;446:22;;424:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;424:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;424:45:0;;;;1074:1:12;314:160:0;:::o;1599:137:12:-;1018:9;:7;:9::i;:::-;1010:54;;;;;-1:-1:-1;;;1010:54:12;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1010:54:12;;;;;;;;;;;;;;;1697:1;1681:6;;1660:40;;-1:-1:-1;;;;;1681:6:12;;;;1660:40;;1697:1;;1660:40;1727:1;1710:19;;-1:-1:-1;;;;;;1710:19:12;;;1599:137::o;814:77::-;852:7;878:6;-1:-1:-1;;;;;878:6:12;814:77;:::o;1165:90::-;1205:4;1242:6;-1:-1:-1;;;;;1242:6:12;1228:10;:20;;1165:90::o;1885:107::-;1018:9;:7;:9::i;:::-;1010:54;;;;;-1:-1:-1;;;1010:54:12;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1010:54:12;;;;;;;;;;;;;;;1957:28;1976:8;1957:18;:28::i;:::-;1885:107;:::o;130:37:0:-;;;;:::o;208:101::-;1018:9:12;:7;:9::i;:::-;1010:54;;;;;-1:-1:-1;;;1010:54:12;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1010:54:12;;;;;;;;;;;;;;;270:22:0;:34;208:101::o;2093:225:12:-;-1:-1:-1;;;;;2166:22:12;;2158:73;;;;-1:-1:-1;;;2158:73:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2267:6;;;2246:38;;-1:-1:-1;;;;;2246:38:12;;;;2267:6;;;2246:38;;;2294:6;:17;;-1:-1:-1;;;;;;2294:17:12;-1:-1:-1;;;;;2294:17:12;;;;;;;;;;2093:225::o", + "source": "pragma solidity ^0.5.8;\r\n\r\nimport \"openzeppelin-solidity/contracts/ownership/Ownable.sol\";\r\n\r\ncontract Migrations is Ownable\r\n{\r\n\tuint256 public lastCompletedMigration;\r\n\r\n\tconstructor()\r\n\tpublic\r\n\t{\r\n\t}\r\n\r\n\tfunction setCompleted(uint completed) public onlyOwner\r\n\t{\r\n\t\tlastCompletedMigration = completed;\r\n\t}\r\n\r\n\tfunction upgrade(address newAddress) public onlyOwner\r\n\t{\r\n\t\tMigrations upgraded = Migrations(newAddress);\r\n\t\tupgraded.setCompleted(lastCompletedMigration);\r\n\t}\r\n}\r\n", + "sourcePath": "C:/Users/Dustin/Documents/work/crypto/iexec/iexec-apps/ups-package-tracker/smart-contract/contracts/Migrations.sol", + "ast": { + "absolutePath": "/C/Users/Dustin/Documents/work/crypto/iexec/iexec-apps/ups-package-tracker/smart-contract/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 43 + ] + }, + "id": 44, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:0" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 2, + "nodeType": "ImportDirective", + "scope": 44, + "sourceUnit": 1839, + "src": "27:63:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1838, + "src": "117:7:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1838", + "typeString": "contract Ownable" + } + }, + "id": 4, + "nodeType": "InheritanceSpecifier", + "src": "117:7:0" + } + ], + "contractDependencies": [ + 1838 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 43, + "linearizedBaseContracts": [ + 43, + 1838 + ], + "name": "Migrations", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 6, + "name": "lastCompletedMigration", + "nodeType": "VariableDeclaration", + "scope": 43, + "src": "130:37:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "130:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 9, + "nodeType": "Block", + "src": "198:5:0", + "statements": [] + }, + "documentation": null, + "id": 10, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7, + "nodeType": "ParameterList", + "parameters": [], + "src": "184:2:0" + }, + "returnParameters": { + "id": 8, + "nodeType": "ParameterList", + "parameters": [], + "src": "198:0:0" + }, + "scope": 43, + "src": "173:30:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 21, + "nodeType": "Block", + "src": "265:44:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17, + "name": "lastCompletedMigration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6, + "src": "270:22:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18, + "name": "completed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "295:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "270:34:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20, + "nodeType": "ExpressionStatement", + "src": "270:34:0" + } + ] + }, + "documentation": null, + "id": 22, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 15, + "modifierName": { + "argumentTypes": null, + "id": 14, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "253:9:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "253:9:0" + } + ], + "name": "setCompleted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 13, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12, + "name": "completed", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "230:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "230:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "229:16:0" + }, + "returnParameters": { + "id": 16, + "nodeType": "ParameterList", + "parameters": [], + "src": "265:0:0" + }, + "scope": 43, + "src": "208:101:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 41, + "nodeType": "Block", + "src": "370:104:0", + "statements": [ + { + "assignments": [ + 30 + ], + "declarations": [ + { + "constant": false, + "id": 30, + "name": "upgraded", + "nodeType": "VariableDeclaration", + "scope": 41, + "src": "375:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$43", + "typeString": "contract Migrations" + }, + "typeName": { + "contractScope": null, + "id": 29, + "name": "Migrations", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 43, + "src": "375:10:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$43", + "typeString": "contract Migrations" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 34, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 32, + "name": "newAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "408:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 31, + "name": "Migrations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43, + "src": "397:10:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Migrations_$43_$", + "typeString": "type(contract Migrations)" + } + }, + "id": 33, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "397:22:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$43", + "typeString": "contract Migrations" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "375:44:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 38, + "name": "lastCompletedMigration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6, + "src": "446:22:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 35, + "name": "upgraded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "424:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$43", + "typeString": "contract Migrations" + } + }, + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setCompleted", + "nodeType": "MemberAccess", + "referencedDeclaration": 22, + "src": "424:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "424:45:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 40, + "nodeType": "ExpressionStatement", + "src": "424:45:0" + } + ] + }, + "documentation": null, + "id": 42, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 27, + "modifierName": { + "argumentTypes": null, + "id": 26, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "358:9:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "358:9:0" + } + ], + "name": "upgrade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24, + "name": "newAddress", + "nodeType": "VariableDeclaration", + "scope": 42, + "src": "331:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "331:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "330:20:0" + }, + "returnParameters": { + "id": 28, + "nodeType": "ParameterList", + "parameters": [], + "src": "370:0:0" + }, + "scope": 43, + "src": "314:160:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 44, + "src": "94:383:0" + } + ], + "src": "0:479:0" + }, + "legacyAST": { + "absolutePath": "/C/Users/Dustin/Documents/work/crypto/iexec/iexec-apps/ups-package-tracker/smart-contract/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 43 + ] + }, + "id": 44, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:0" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 2, + "nodeType": "ImportDirective", + "scope": 44, + "sourceUnit": 1839, + "src": "27:63:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1838, + "src": "117:7:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1838", + "typeString": "contract Ownable" + } + }, + "id": 4, + "nodeType": "InheritanceSpecifier", + "src": "117:7:0" + } + ], + "contractDependencies": [ + 1838 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 43, + "linearizedBaseContracts": [ + 43, + 1838 + ], + "name": "Migrations", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 6, + "name": "lastCompletedMigration", + "nodeType": "VariableDeclaration", + "scope": 43, + "src": "130:37:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "130:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 9, + "nodeType": "Block", + "src": "198:5:0", + "statements": [] + }, + "documentation": null, + "id": 10, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7, + "nodeType": "ParameterList", + "parameters": [], + "src": "184:2:0" + }, + "returnParameters": { + "id": 8, + "nodeType": "ParameterList", + "parameters": [], + "src": "198:0:0" + }, + "scope": 43, + "src": "173:30:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 21, + "nodeType": "Block", + "src": "265:44:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17, + "name": "lastCompletedMigration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6, + "src": "270:22:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18, + "name": "completed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "295:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "270:34:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20, + "nodeType": "ExpressionStatement", + "src": "270:34:0" + } + ] + }, + "documentation": null, + "id": 22, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 15, + "modifierName": { + "argumentTypes": null, + "id": 14, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "253:9:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "253:9:0" + } + ], + "name": "setCompleted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 13, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12, + "name": "completed", + "nodeType": "VariableDeclaration", + "scope": 22, + "src": "230:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "230:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "229:16:0" + }, + "returnParameters": { + "id": 16, + "nodeType": "ParameterList", + "parameters": [], + "src": "265:0:0" + }, + "scope": 43, + "src": "208:101:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 41, + "nodeType": "Block", + "src": "370:104:0", + "statements": [ + { + "assignments": [ + 30 + ], + "declarations": [ + { + "constant": false, + "id": 30, + "name": "upgraded", + "nodeType": "VariableDeclaration", + "scope": 41, + "src": "375:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$43", + "typeString": "contract Migrations" + }, + "typeName": { + "contractScope": null, + "id": 29, + "name": "Migrations", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 43, + "src": "375:10:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$43", + "typeString": "contract Migrations" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 34, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 32, + "name": "newAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "408:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 31, + "name": "Migrations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43, + "src": "397:10:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Migrations_$43_$", + "typeString": "type(contract Migrations)" + } + }, + "id": 33, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "397:22:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$43", + "typeString": "contract Migrations" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "375:44:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 38, + "name": "lastCompletedMigration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6, + "src": "446:22:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 35, + "name": "upgraded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "424:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$43", + "typeString": "contract Migrations" + } + }, + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setCompleted", + "nodeType": "MemberAccess", + "referencedDeclaration": 22, + "src": "424:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 39, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "424:45:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 40, + "nodeType": "ExpressionStatement", + "src": "424:45:0" + } + ] + }, + "documentation": null, + "id": 42, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 27, + "modifierName": { + "argumentTypes": null, + "id": 26, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "358:9:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "358:9:0" + } + ], + "name": "upgrade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24, + "name": "newAddress", + "nodeType": "VariableDeclaration", + "scope": 42, + "src": "331:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "331:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "330:20:0" + }, + "returnParameters": { + "id": 28, + "nodeType": "ParameterList", + "parameters": [], + "src": "370:0:0" + }, + "scope": 43, + "src": "314:160:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 44, + "src": "94:383:0" + } + ], + "src": "0:479:0" + }, + "compiler": { + "name": "solc", + "version": "0.5.10+commit.5a6ea5b1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.16", + "updatedAt": "2019-10-22T01:27:13.486Z", + "devdoc": { + "methods": { + "isOwner()": { + "details": "Returns true if the caller is the current owner." + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * > Note: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + } + } + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/build/contracts/Ownable.json b/ups-package-tracker/smart-contract/build/contracts/Ownable.json new file mode 100644 index 00000000..4f97ec50 --- /dev/null +++ b/ups-package-tracker/smart-contract/build/contracts/Ownable.json @@ -0,0 +1,2916 @@ +{ + "contractName": "Ownable", + "abi": [ + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isOwner", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. * This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be aplied to your functions to restrict their use to the owner.\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"isOwner()\":{\"details\":\"Returns true if the caller is the current owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * > Note: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0xf79fb10e8235770eb4aea7249034076a3cc9f9119ad944fc48705bae9c9d20dc\",\"urls\":[\"bzzr://d12a11272051eb6586de8f7e0a82c04a98c9984ce8b2a6cf1ee439f65aba29a9\",\"dweb:/ipfs/QmS55hgTvNEAKinus19m65CB4wcymN8EiUPFpRx5tYJ1i2\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.5.0;\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be aplied to your functions to restrict their use to\n * the owner.\n */\ncontract Ownable {\n address private _owner;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the deployer as the initial owner.\n */\n constructor () internal {\n _owner = msg.sender;\n emit OwnershipTransferred(address(0), _owner);\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n require(isOwner(), \"Ownable: caller is not the owner\");\n _;\n }\n\n /**\n * @dev Returns true if the caller is the current owner.\n */\n function isOwner() public view returns (bool) {\n return msg.sender == _owner;\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions anymore. Can only be called by the current owner.\n *\n * > Note: Renouncing ownership will leave the contract without an owner,\n * thereby removing any functionality that is only available to the owner.\n */\n function renounceOwnership() public onlyOwner {\n emit OwnershipTransferred(_owner, address(0));\n _owner = address(0);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public onlyOwner {\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n */\n function _transferOwnership(address newOwner) internal {\n require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n emit OwnershipTransferred(_owner, newOwner);\n _owner = newOwner;\n }\n}\n", + "sourcePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "ast": { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "exportedSymbols": { + "Ownable": [ + 1838 + ] + }, + "id": 1839, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1729, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:12" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@dev Contract module which provides a basic access control mechanism, where\nthere is an account (an owner) that can be granted exclusive access to\nspecific functions.\n * This module is used through inheritance. It will make available the modifier\n`onlyOwner`, which can be aplied to your functions to restrict their use to\nthe owner.", + "fullyImplemented": true, + "id": 1838, + "linearizedBaseContracts": [ + 1838 + ], + "name": "Ownable", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1731, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 1838, + "src": "408:22:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1730, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "408:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "private" + }, + { + "anonymous": false, + "documentation": null, + "id": 1737, + "name": "OwnershipTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 1736, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1733, + "indexed": true, + "name": "previousOwner", + "nodeType": "VariableDeclaration", + "scope": 1737, + "src": "464:29:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1732, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "464:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1735, + "indexed": true, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1737, + "src": "495:24:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1734, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "495:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "463:57:12" + }, + "src": "437:84:12" + }, + { + "body": { + "id": 1752, + "nodeType": "Block", + "src": "647:91:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1740, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1731, + "src": "657:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1741, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1922, + "src": "666:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "666:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "657:19:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1744, + "nodeType": "ExpressionStatement", + "src": "657:19:12" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1747, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "720:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "712:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "712:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 1749, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1731, + "src": "724:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1745, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1737, + "src": "691:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "691:40:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1751, + "nodeType": "EmitStatement", + "src": "686:45:12" + } + ] + }, + "documentation": "@dev Initializes the contract setting the deployer as the initial owner.", + "id": 1753, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1738, + "nodeType": "ParameterList", + "parameters": [], + "src": "635:2:12" + }, + "returnParameters": { + "id": 1739, + "nodeType": "ParameterList", + "parameters": [], + "src": "647:0:12" + }, + "scope": 1838, + "src": "623:115:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1760, + "nodeType": "Block", + "src": "861:30:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1758, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1731, + "src": "878:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1757, + "id": 1759, + "nodeType": "Return", + "src": "871:13:12" + } + ] + }, + "documentation": "@dev Returns the address of the current owner.", + "id": 1761, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1754, + "nodeType": "ParameterList", + "parameters": [], + "src": "828:2:12" + }, + "returnParameters": { + "id": 1757, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1756, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1761, + "src": "852:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1755, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "852:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "851:9:12" + }, + "scope": 1838, + "src": "814:77:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1770, + "nodeType": "Block", + "src": "1000:82:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1764, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1782, + "src": "1018:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 1765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1018:9:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", + "id": 1766, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1029:34:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "typeString": "literal_string \"Ownable: caller is not the owner\"" + }, + "value": "Ownable: caller is not the owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "typeString": "literal_string \"Ownable: caller is not the owner\"" + } + ], + "id": 1763, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "1010:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1010:54:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1768, + "nodeType": "ExpressionStatement", + "src": "1010:54:12" + }, + { + "id": 1769, + "nodeType": "PlaceholderStatement", + "src": "1074:1:12" + } + ] + }, + "documentation": "@dev Throws if called by any account other than the owner.", + "id": 1771, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1762, + "nodeType": "ParameterList", + "parameters": [], + "src": "997:2:12" + }, + "src": "979:103:12", + "visibility": "internal" + }, + { + "body": { + "id": 1781, + "nodeType": "Block", + "src": "1211:44:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1776, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1922, + "src": "1228:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1228:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1778, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1731, + "src": "1242:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1228:20:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1775, + "id": 1780, + "nodeType": "Return", + "src": "1221:27:12" + } + ] + }, + "documentation": "@dev Returns true if the caller is the current owner.", + "id": 1782, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1772, + "nodeType": "ParameterList", + "parameters": [], + "src": "1181:2:12" + }, + "returnParameters": { + "id": 1775, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1774, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1782, + "src": "1205:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1773, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1205:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1204:6:12" + }, + "scope": 1838, + "src": "1165:90:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1800, + "nodeType": "Block", + "src": "1645:91:12", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1788, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1731, + "src": "1681:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1790, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1697:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1789, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1689:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1791, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1689:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 1787, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1737, + "src": "1660:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1660:40:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1793, + "nodeType": "EmitStatement", + "src": "1655:45:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 1798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1794, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1731, + "src": "1710:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1727:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1795, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1719:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1719:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1710:19:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1799, + "nodeType": "ExpressionStatement", + "src": "1710:19:12" + } + ] + }, + "documentation": "@dev Leaves the contract without owner. It will not be possible to call\n`onlyOwner` functions anymore. Can only be called by the current owner.\n * > Note: Renouncing ownership will leave the contract without an owner,\nthereby removing any functionality that is only available to the owner.", + "id": 1801, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 1785, + "modifierName": { + "argumentTypes": null, + "id": 1784, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "1635:9:12", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1635:9:12" + } + ], + "name": "renounceOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1783, + "nodeType": "ParameterList", + "parameters": [], + "src": "1625:2:12" + }, + "returnParameters": { + "id": 1786, + "nodeType": "ParameterList", + "parameters": [], + "src": "1645:0:12" + }, + "scope": 1838, + "src": "1599:137:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1812, + "nodeType": "Block", + "src": "1947:45:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1809, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1803, + "src": "1976:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1808, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1837, + "src": "1957:18:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1957:28:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1811, + "nodeType": "ExpressionStatement", + "src": "1957:28:12" + } + ] + }, + "documentation": "@dev Transfers ownership of the contract to a new account (`newOwner`).\nCan only be called by the current owner.", + "id": 1813, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 1806, + "modifierName": { + "argumentTypes": null, + "id": 1805, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "1937:9:12", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1937:9:12" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1803, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1813, + "src": "1912:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1802, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1912:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1911:18:12" + }, + "returnParameters": { + "id": 1807, + "nodeType": "ParameterList", + "parameters": [], + "src": "1947:0:12" + }, + "scope": 1838, + "src": "1885:107:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1836, + "nodeType": "Block", + "src": "2148:170:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1819, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1815, + "src": "2166:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2186:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1820, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2178:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2178:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2166:22:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373", + "id": 1824, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2190:40:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "typeString": "literal_string \"Ownable: new owner is the zero address\"" + }, + "value": "Ownable: new owner is the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "typeString": "literal_string \"Ownable: new owner is the zero address\"" + } + ], + "id": 1818, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "2158:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2158:73:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1826, + "nodeType": "ExpressionStatement", + "src": "2158:73:12" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1828, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1731, + "src": "2267:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1829, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1815, + "src": "2275:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1827, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1737, + "src": "2246:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2246:38:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1831, + "nodeType": "EmitStatement", + "src": "2241:43:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 1834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1832, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1731, + "src": "2294:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1833, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1815, + "src": "2303:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2294:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1835, + "nodeType": "ExpressionStatement", + "src": "2294:17:12" + } + ] + }, + "documentation": "@dev Transfers ownership of the contract to a new account (`newOwner`).", + "id": 1837, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1815, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1837, + "src": "2121:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1814, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2121:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2120:18:12" + }, + "returnParameters": { + "id": 1817, + "nodeType": "ParameterList", + "parameters": [], + "src": "2148:0:12" + }, + "scope": 1838, + "src": "2093:225:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1839, + "src": "385:1935:12" + } + ], + "src": "0:2321:12" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "exportedSymbols": { + "Ownable": [ + 1838 + ] + }, + "id": 1839, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1729, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:12" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@dev Contract module which provides a basic access control mechanism, where\nthere is an account (an owner) that can be granted exclusive access to\nspecific functions.\n * This module is used through inheritance. It will make available the modifier\n`onlyOwner`, which can be aplied to your functions to restrict their use to\nthe owner.", + "fullyImplemented": true, + "id": 1838, + "linearizedBaseContracts": [ + 1838 + ], + "name": "Ownable", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1731, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 1838, + "src": "408:22:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1730, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "408:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "private" + }, + { + "anonymous": false, + "documentation": null, + "id": 1737, + "name": "OwnershipTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 1736, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1733, + "indexed": true, + "name": "previousOwner", + "nodeType": "VariableDeclaration", + "scope": 1737, + "src": "464:29:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1732, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "464:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1735, + "indexed": true, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1737, + "src": "495:24:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1734, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "495:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "463:57:12" + }, + "src": "437:84:12" + }, + { + "body": { + "id": 1752, + "nodeType": "Block", + "src": "647:91:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1740, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1731, + "src": "657:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1741, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1922, + "src": "666:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "666:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "657:19:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1744, + "nodeType": "ExpressionStatement", + "src": "657:19:12" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1747, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "720:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "712:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "712:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 1749, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1731, + "src": "724:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1745, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1737, + "src": "691:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "691:40:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1751, + "nodeType": "EmitStatement", + "src": "686:45:12" + } + ] + }, + "documentation": "@dev Initializes the contract setting the deployer as the initial owner.", + "id": 1753, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1738, + "nodeType": "ParameterList", + "parameters": [], + "src": "635:2:12" + }, + "returnParameters": { + "id": 1739, + "nodeType": "ParameterList", + "parameters": [], + "src": "647:0:12" + }, + "scope": 1838, + "src": "623:115:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1760, + "nodeType": "Block", + "src": "861:30:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1758, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1731, + "src": "878:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1757, + "id": 1759, + "nodeType": "Return", + "src": "871:13:12" + } + ] + }, + "documentation": "@dev Returns the address of the current owner.", + "id": 1761, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1754, + "nodeType": "ParameterList", + "parameters": [], + "src": "828:2:12" + }, + "returnParameters": { + "id": 1757, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1756, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1761, + "src": "852:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1755, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "852:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "851:9:12" + }, + "scope": 1838, + "src": "814:77:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1770, + "nodeType": "Block", + "src": "1000:82:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1764, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1782, + "src": "1018:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 1765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1018:9:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", + "id": 1766, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1029:34:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "typeString": "literal_string \"Ownable: caller is not the owner\"" + }, + "value": "Ownable: caller is not the owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "typeString": "literal_string \"Ownable: caller is not the owner\"" + } + ], + "id": 1763, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "1010:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1010:54:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1768, + "nodeType": "ExpressionStatement", + "src": "1010:54:12" + }, + { + "id": 1769, + "nodeType": "PlaceholderStatement", + "src": "1074:1:12" + } + ] + }, + "documentation": "@dev Throws if called by any account other than the owner.", + "id": 1771, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1762, + "nodeType": "ParameterList", + "parameters": [], + "src": "997:2:12" + }, + "src": "979:103:12", + "visibility": "internal" + }, + { + "body": { + "id": 1781, + "nodeType": "Block", + "src": "1211:44:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1776, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1922, + "src": "1228:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1228:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1778, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1731, + "src": "1242:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1228:20:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1775, + "id": 1780, + "nodeType": "Return", + "src": "1221:27:12" + } + ] + }, + "documentation": "@dev Returns true if the caller is the current owner.", + "id": 1782, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1772, + "nodeType": "ParameterList", + "parameters": [], + "src": "1181:2:12" + }, + "returnParameters": { + "id": 1775, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1774, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1782, + "src": "1205:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1773, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1205:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1204:6:12" + }, + "scope": 1838, + "src": "1165:90:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1800, + "nodeType": "Block", + "src": "1645:91:12", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1788, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1731, + "src": "1681:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1790, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1697:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1789, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1689:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1791, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1689:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 1787, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1737, + "src": "1660:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1660:40:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1793, + "nodeType": "EmitStatement", + "src": "1655:45:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 1798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1794, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1731, + "src": "1710:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1727:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1795, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1719:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1719:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1710:19:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1799, + "nodeType": "ExpressionStatement", + "src": "1710:19:12" + } + ] + }, + "documentation": "@dev Leaves the contract without owner. It will not be possible to call\n`onlyOwner` functions anymore. Can only be called by the current owner.\n * > Note: Renouncing ownership will leave the contract without an owner,\nthereby removing any functionality that is only available to the owner.", + "id": 1801, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 1785, + "modifierName": { + "argumentTypes": null, + "id": 1784, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "1635:9:12", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1635:9:12" + } + ], + "name": "renounceOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1783, + "nodeType": "ParameterList", + "parameters": [], + "src": "1625:2:12" + }, + "returnParameters": { + "id": 1786, + "nodeType": "ParameterList", + "parameters": [], + "src": "1645:0:12" + }, + "scope": 1838, + "src": "1599:137:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1812, + "nodeType": "Block", + "src": "1947:45:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1809, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1803, + "src": "1976:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1808, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1837, + "src": "1957:18:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1957:28:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1811, + "nodeType": "ExpressionStatement", + "src": "1957:28:12" + } + ] + }, + "documentation": "@dev Transfers ownership of the contract to a new account (`newOwner`).\nCan only be called by the current owner.", + "id": 1813, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 1806, + "modifierName": { + "argumentTypes": null, + "id": 1805, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "1937:9:12", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1937:9:12" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1803, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1813, + "src": "1912:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1802, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1912:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1911:18:12" + }, + "returnParameters": { + "id": 1807, + "nodeType": "ParameterList", + "parameters": [], + "src": "1947:0:12" + }, + "scope": 1838, + "src": "1885:107:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1836, + "nodeType": "Block", + "src": "2148:170:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1819, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1815, + "src": "2166:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2186:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1820, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2178:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2178:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2166:22:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373", + "id": 1824, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2190:40:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "typeString": "literal_string \"Ownable: new owner is the zero address\"" + }, + "value": "Ownable: new owner is the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "typeString": "literal_string \"Ownable: new owner is the zero address\"" + } + ], + "id": 1818, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "2158:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2158:73:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1826, + "nodeType": "ExpressionStatement", + "src": "2158:73:12" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1828, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1731, + "src": "2267:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1829, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1815, + "src": "2275:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1827, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1737, + "src": "2246:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2246:38:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1831, + "nodeType": "EmitStatement", + "src": "2241:43:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 1834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1832, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1731, + "src": "2294:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1833, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1815, + "src": "2303:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2294:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1835, + "nodeType": "ExpressionStatement", + "src": "2294:17:12" + } + ] + }, + "documentation": "@dev Transfers ownership of the contract to a new account (`newOwner`).", + "id": 1837, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1815, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1837, + "src": "2121:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1814, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2121:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2120:18:12" + }, + "returnParameters": { + "id": 1817, + "nodeType": "ParameterList", + "parameters": [], + "src": "2148:0:12" + }, + "scope": 1838, + "src": "2093:225:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1839, + "src": "385:1935:12" + } + ], + "src": "0:2321:12" + }, + "compiler": { + "name": "solc", + "version": "0.5.10+commit.5a6ea5b1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.16", + "updatedAt": "2019-10-22T00:23:52.026Z", + "devdoc": { + "details": "Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. * This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be aplied to your functions to restrict their use to the owner.", + "methods": { + "constructor": { + "details": "Initializes the contract setting the deployer as the initial owner." + }, + "isOwner()": { + "details": "Returns true if the caller is the current owner." + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * > Note: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + } + } + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/build/contracts/PriceOracle.json b/ups-package-tracker/smart-contract/build/contracts/PriceOracle.json new file mode 100644 index 00000000..13465b57 --- /dev/null +++ b/ups-package-tracker/smart-contract/build/contracts/PriceOracle.json @@ -0,0 +1,5144 @@ +{ + "contractName": "PriceOracle", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_identity", + "type": "address" + }, + { + "name": "_hash", + "type": "bytes32" + }, + { + "name": "_signature", + "type": "bytes" + } + ], + "name": "verifySignature", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "iexecClerk", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_authorizedApp", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_doracleCallId", + "type": "bytes32" + }, + { + "name": "", + "type": "bytes" + } + ], + "name": "receiveResult", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_authorizedDataset", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isOwner", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "iexecHub", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_authorizedWorkerpool", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "values", + "outputs": [ + { + "name": "oracleCallID", + "type": "bytes32" + }, + { + "name": "date", + "type": "uint256" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "details", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_requiredtrust", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "m_requiredtag", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_iexecHubAddr", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "id", + "type": "bytes32" + }, + { + "indexed": true, + "name": "oracleCallID", + "type": "bytes32" + }, + { + "indexed": false, + "name": "oldDate", + "type": "uint256" + }, + { + "indexed": false, + "name": "oldValue", + "type": "uint256" + }, + { + "indexed": false, + "name": "newDate", + "type": "uint256" + }, + { + "indexed": false, + "name": "newValue", + "type": "uint256" + } + ], + "name": "ValueUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "doracleCallId", + "type": "bytes32" + } + ], + "name": "ResultReady", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_authorizedApp", + "type": "address" + }, + { + "name": "_authorizedDataset", + "type": "address" + }, + { + "name": "_authorizedWorkerpool", + "type": "address" + }, + { + "name": "_requiredtag", + "type": "bytes32" + }, + { + "name": "_requiredtrust", + "type": "uint256" + } + ], + "name": "updateEnv", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "results", + "type": "bytes" + } + ], + "name": "decodeResults", + "outputs": [ + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "string" + }, + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_oracleCallID", + "type": "bytes32" + } + ], + "name": "processResult", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"_identity\",\"type\":\"address\"},{\"name\":\"_hash\",\"type\":\"bytes32\"},{\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"verifySignature\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_authorizedApp\",\"type\":\"address\"},{\"name\":\"_authorizedDataset\",\"type\":\"address\"},{\"name\":\"_authorizedWorkerpool\",\"type\":\"address\"},{\"name\":\"_requiredtag\",\"type\":\"bytes32\"},{\"name\":\"_requiredtrust\",\"type\":\"uint256\"}],\"name\":\"updateEnv\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"iexecClerk\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"m_authorizedApp\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"results\",\"type\":\"bytes\"}],\"name\":\"decodeResults\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_doracleCallId\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveResult\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"m_authorizedDataset\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"iexecHub\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"m_authorizedWorkerpool\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"values\",\"outputs\":[{\"name\":\"oracleCallID\",\"type\":\"bytes32\"},{\"name\":\"date\",\"type\":\"uint256\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"details\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"m_requiredtrust\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_oracleCallID\",\"type\":\"bytes32\"}],\"name\":\"processResult\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"m_requiredtag\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_iexecHubAddr\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"name\":\"oracleCallID\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"oldDate\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"oldValue\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"newDate\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"newValue\",\"type\":\"uint256\"}],\"name\":\"ValueUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"doracleCallId\",\"type\":\"bytes32\"}],\"name\":\"ResultReady\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"isOwner()\":{\"details\":\"Returns true if the caller is the current owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * > Note: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/C/Users/Dustin/Documents/work/crypto/iexec/iexec-apps/ups-package-tracker/smart-contract/contracts/PriceOracle.sol\":\"PriceOracle\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/C/Users/Dustin/Documents/work/crypto/iexec/iexec-apps/ups-package-tracker/smart-contract/contracts/PriceOracle.sol\":{\"keccak256\":\"0x0450f4f287ef4e9bac0dce50b94fe7f0562b51d12eb23f12b9c9266e68d8f85e\",\"urls\":[\"bzzr://c69a05938d8a0caaa2a71651171edbfeceebe8d5bb95dfc883fa3735e82abc13\",\"dweb:/ipfs/QmY4vr8EgT94R9X1ts5suqBaePZLjygqPxfktxiFJ3kEgP\"]},\"iexec-doracle-base/contracts/IexecDoracle.sol\":{\"keccak256\":\"0x799f46b490f54609a7fb11276700aab5c7c022acefba27920910db563a2f7d8b\",\"urls\":[\"bzzr://c48533a56725a53b510e873fb8cc8e812559d05c7f110086bf9f4b0751be875e\",\"dweb:/ipfs/QmY8EA1S4hhxnXigDQ9fyEAFrKM1FsVSjjDgBXddZtU72m\"]},\"iexec-doracle-base/contracts/IexecInterface.sol\":{\"keccak256\":\"0xfe44f456bab0157df1a8b345c48da04a276b78313fa6288f103778ffc59f6de3\",\"urls\":[\"bzzr://49b3a62a65e46ac26092d512f152da7272a4ded655506374ab01dcf15399aa90\",\"dweb:/ipfs/QmX2BKhYEJq5GeaZBMqxbUA4BEBRUa3MvUiDBXbExChMX6\"]},\"iexec-doracle-base/contracts/iexec-poco-interfaces/IexecClerkInterface.sol\":{\"keccak256\":\"0xa7a0fa79543be8f912f863594ea972301985e63ecb57cc0c74f5622533e9e02f\",\"urls\":[\"bzzr://439b54843d3e0c113a0b524d159fc53c5fa56024084a436d7334f2cdacbc01e8\",\"dweb:/ipfs/QmRYSTfFCpoKcX8io7qvhxPpTjAmcEQuCFfM4GA3HcCsHB\"]},\"iexec-doracle-base/contracts/iexec-poco-interfaces/IexecHubInterface.sol\":{\"keccak256\":\"0x846e5ad3468a4020ccd311883d8b6fec8cb59539eea3cbbbe8a800b25d829287\",\"urls\":[\"bzzr://59cae26b1bed2633fc6643980e0f0c3c05a32078fc8229e20bf9fb376ff2c1ed\",\"dweb:/ipfs/QmX3aTe9X5c3KB3psi4oiTchLy9GQVByvM41i4L9eqLdHx\"]},\"iexec-poco/contracts/SignatureVerifier.sol\":{\"keccak256\":\"0x2e26922d87f29c337002a30babc615638cbee6cd87ed599f6ed90e67971e86a0\",\"urls\":[\"bzzr://1528fea12280336ed0c1c124746a4ce238c21f18c5d6a9323f3917546bd1e2a2\",\"dweb:/ipfs/QmWLU2j8xW9R1QGTb91bXefcpm5vdQ5dXeQFjA5pBp2BRv\"]},\"iexec-poco/contracts/libs/IexecODBLibCore.sol\":{\"keccak256\":\"0x3e1a247b137866fe9b7272fc9ea189cf83f8f8a3ad439bbdef1c770f67349b7a\",\"urls\":[\"bzzr://788a11e860998e576e89358eb050b74debca9ab2e46e292abb34753f4abfad60\",\"dweb:/ipfs/QmVt1iunRyGqXa88HvFjYEDRraJCrX5iF478cKhJAeCrh6\"]},\"iexec-poco/contracts/libs/IexecODBLibOrders.sol\":{\"keccak256\":\"0xceb5c2483f92c7bbed29ac473f92371d04830f0c40bd734d01d26eef09e88f4f\",\"urls\":[\"bzzr://054a5f4728d0d5e774bb974181d4d97f98f23f8f2cf695f18723c79e8401b8a0\",\"dweb:/ipfs/QmbgL6dN9Y5osfm9jWDtzy1TMqRWS75EFyFefBwguAcg6W\"]},\"iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol\":{\"keccak256\":\"0xca20f6a22ba7bce6ed87cb53c2f8cfe0751d9b5e02e5f12d1112f0480f6ae31d\",\"urls\":[\"bzzr://31de73df2626e208672a80d8fd78b290af2e126782b70e3c85f62ced8325464f\",\"dweb:/ipfs/QmP7DedzKVi3L2FKhWGfpDgX5ZUE7rncuGKq3B7hefidJ5\"]},\"iexec-solidity/contracts/ERC1271/IERC1271.sol\":{\"keccak256\":\"0x90daa992bd38a335a1e6503b4b815b5aa5315366637dc0cb0b98e7f39096c842\",\"urls\":[\"bzzr://9c88f54779ee800bd2235d96ea251b3c80e45d4c127db93a9a71a8b9235becb2\",\"dweb:/ipfs/QmYUozJfjw7r62NVhfu2p9i9iREcSygNx3pW6YvxpTXx7J\"]},\"iexec-solidity/contracts/ERC734_KeyManager/IERC734.sol\":{\"keccak256\":\"0x46532e2d419a87bf604b354318a19d56a3dc25fa7ad6f94c77bd2aa8ce54a755\",\"urls\":[\"bzzr://8ada95bcec956bdd6e7c4e3ec840e9e13cfc04584668d0df2c00459f94d74541\",\"dweb:/ipfs/QmPMM8Prd6iG2g23gbu3arBiy8F8CiDuEZMJPd99WYpXbf\"]},\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0xf79fb10e8235770eb4aea7249034076a3cc9f9119ad944fc48705bae9c9d20dc\",\"urls\":[\"bzzr://d12a11272051eb6586de8f7e0a82c04a98c9984ce8b2a6cf1ee439f65aba29a9\",\"dweb:/ipfs/QmS55hgTvNEAKinus19m65CB4wcymN8EiUPFpRx5tYJ1i2\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x90e8c2521653bbb1768b05889c5760031e688d9cd361f167489b89215e201b95\",\"urls\":[\"bzzr://aa8b45b57edafc3d67bc5d916327ea16807fae33f753ca163ae0c4061b789766\",\"dweb:/ipfs/QmP5NaEwZthQeM2ESz4WTT3osrP7jhbvu7ocbttBi2JAw6\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b5060405162001f1538038062001f15833981016040819052620000349162000340565b600080546001600160a01b0319163317808255604051839283926001600160a01b0316917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600062000093826001600160e01b036200032916565b1115620000bb57600180546001600160a01b0319166001600160a01b03831617905562000275565b6000620000e5731383c16c927c4a853684d1a9c676986f25e221116001600160e01b036200032916565b11156200011857600180546001600160a01b031916731383c16c927c4a853684d1a9c676986f25e2211117905562000275565b60006200014273dbe30645ea7d216c31d09f8c5736fe74de774e636001600160e01b036200032916565b11156200017557600180546001600160a01b03191673dbe30645ea7d216c31d09f8c5736fe74de774e6317905562000275565b60006200018b816001600160e01b036200032916565b1115620001a857600180546001600160a01b031916905562000275565b6000620001d273b3901d04cf645747b99dbbe8f2ee9cb41a89cebf6001600160e01b036200032916565b11156200020557600180546001600160a01b03191673b3901d04cf645747b99dbbe8f2ee9cb41a89cebf17905562000275565b60006200021b816001600160e01b036200032916565b11156200023857600180546001600160a01b031916905562000275565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200026c90620003a4565b60405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663b01c68466040518163ffffffff1660e01b815260040160206040518083038186803b158015620002c457600080fd5b505afa158015620002d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620002ff919081019062000340565b600280546001600160a01b0319166001600160a01b039290921691909117905550620003eb915050565b3b90565b80516200033a81620003d1565b92915050565b6000602082840312156200035357600080fd5b60006200036184846200032d565b949350505050565b600062000378601383620003b6565b7f696e76616c69642d6875622d6164647265737300000000000000000000000000815260200192915050565b602080825281016200033a8162000369565b90815260200190565b60006001600160a01b0382166200033a565b620003dc81620003bf565b8114620003e857600080fd5b50565b611b1a80620003fb6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80638da5cb5b116100a2578063ccc2195f11610071578063ccc2195f146101dd578063e73482a214610200578063eee9aa8a14610215578063f2fde38b14610228578063f6eba5471461023b5761010b565b80638da5cb5b146101bd5780638f32d59b146101c5578063a41f45e9146101cd578063ca2ef3c4146101d55761010b565b806356e484e1116100de57806356e484e1146101785780635dd808551461019a578063715018a6146101ad57806378dd4ae5146101b55761010b565b8063017519981461011057806318a4b2d0146101395780631ce3aa0d1461014e578063482fb13e14610163575b600080fd5b61012361011e366004611327565b610243565b60405161013091906117ed565b60405180910390f35b61014c6101473660046112b2565b6102de565b005b61015661031f565b60405161013091906118c6565b61016b61032e565b60405161013091906117df565b61018b61018636600461141c565b61033d565b60405161013093929190611974565b61014c6101a83660046113c7565b610364565b61014c610394565b61016b610402565b61016b610411565b610123610421565b610156610432565b61016b610441565b6101f06101eb3660046113a9565b610450565b6040516101309493929190611844565b610208610518565b60405161013091906117fb565b61014c6102233660046113a9565b61051e565b61014c61023636600461128c565b61060c565b61020861063c565b6000610250848484610642565b806102d45750604051630b135d3f60e11b81526001600160a01b03851690631626ba7e906102849086908690600401611809565b60206040518083038186803b15801561029c57600080fd5b505afa1580156102b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102d4919081019061138b565b90505b9392505050565b6102e6610421565b61030b5760405162461bcd60e51b815260040161030290611904565b60405180910390fd5b6103188585858585610717565b5050505050565b6002546001600160a01b031681565b6003546001600160a01b031681565b6000606060008380602001905161035791908101906114d6565b9196909550909350915050565b60405183907f28e9507238ce29efc9797f8791b89bf517f253f275a4ab2688a7cd108e40bc7a90600090a2505050565b61039c610421565b6103b85760405162461bcd60e51b815260040161030290611904565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6004546001600160a01b031681565b6000546001600160a01b03165b90565b6000546001600160a01b0316331490565b6001546001600160a01b031681565b6005546001600160a01b031681565b6008602052806000526040600020600091509050806000015490806001015490806002015490806003018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050e5780601f106104e35761010080835404028352916020019161050e565b820191906000526020600020905b8154815290600101906020018083116104f157829003601f168201915b5050505050905084565b60075481565b60006060600061053061018685610760565b81516020808401919091206000818152600890925260409091206001015493965091945092509084116105755760405162461bcd60e51b815260040161030290611964565b6000818152600860205260409081902060018101546002909101549151879284927febbbe9945700dfb7729b63e18aca7de43331e17e61bcfa214a3e18234f1e12b4926105c692908a9089906119a3565b60405180910390a360008181526008602090815260409091208681556001810186905560028101849055845161060492600390920191860190610be9565b505050505050565b610614610421565b6106305760405162461bcd60e51b815260040161030290611904565b61063981610b09565b50565b60065481565b600080600080845160411461065d57600093505050506102d7565b50505060208201516040830151606084015160001a601b81101561067f57601b015b8060ff16601b1415801561069757508060ff16601c14155b156106a857600093505050506102d7565b600186828585604051600081526020016040526040516106cb9493929190611888565b6020604051602081039080840390855afa1580156106ed573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b600380546001600160a01b03199081166001600160a01b039788161790915560048054821695871695909517909455600580549094169290941691909117909155600655600755565b606061076a610c67565b60015460405163adccf0d560e01b81526001600160a01b039091169063adccf0d59061079a9086906004016117fb565b60006040518083038186803b1580156107b257600080fd5b505afa1580156107c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107ee9190810190611484565b90506107f8610cd9565b6002546020830151604051635ba430d960e11b81526001600160a01b039092169163b74861b29161082b916004016117fb565b60006040518083038186803b15801561084357600080fd5b505afa158015610857573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261087f9190810190611450565b905060038251600481111561089057fe5b146108ad5760405162461bcd60e51b815260040161030290611934565b8161018001516040516108c091906117d3565b6040518091039020826101600151146108eb5760405162461bcd60e51b815260040161030290611944565b6003546001600160a01b0316158061098c575060035481515160025460408051631a2a7bc760e21b8152905161098c946001600160a01b03908116949316916368a9ef1c916004808301926020929190829003018186803b15801561094f57600080fd5b505afa158015610963573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061098791908101906114b8565b610b8a565b6109a85760405162461bcd60e51b8152600401610302906118f4565b6004546001600160a01b03161580610a115750600480546020838101515160025460408051631a2a7bc760e21b81529051610a11966001600160a01b0396871696949594909316936368a9ef1c9383810193919291829003018186803b15801561094f57600080fd5b610a2d5760405162461bcd60e51b815260040161030290611914565b6005546001600160a01b03161580610a935750600554604080830151516002548251631a2a7bc760e21b81529251610a93946001600160a01b03908116949216916368a9ef1c916004808301926020929190829003018186803b15801561094f57600080fd5b610aaf5760405162461bcd60e51b815260040161030290611924565b60a081015160065490191615610ad75760405162461bcd60e51b8152600401610302906118d4565b80606001516007541115610afd5760405162461bcd60e51b815260040161030290611954565b50610180015192915050565b6001600160a01b038116610b2f5760405162461bcd60e51b8152600401610302906118e4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000826001600160a01b0316846001600160a01b031614806102d45750836001600160a01b031663d202158d610bbf85610bdd565b846040518363ffffffff1660e01b8152600401610284929190611829565b6001600160a01b031690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610c2a57805160ff1916838001178555610c57565b82800160010185558215610c57579182015b82811115610c57578251825591602001919060010190610c3c565b50610c63929150610d7f565b5090565b604080516101a0810190915280600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081526020016000801916815260200160008152602001600081526020016060815260200160008019168152602001606081525090565b604051806102a00160405280610ced610d99565b8152602001610cfa610d99565b8152602001610d07610d99565b815260200160008152602001600081526020016000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016060815260200160008152602001600081526020016000815260200160008152602001600081525090565b61041e91905b80821115610c635760008155600101610d85565b604080516060810182526000808252602082018190529181019190915290565b8035610dc481611aa4565b92915050565b8051610dc481611aa4565b600082601f830112610de657600080fd5b8151610df9610df4826119e4565b6119be565b91508181835260208401935060208101905083856020840282011115610e1e57600080fd5b60005b83811015610e4a5781610e348882610dca565b8452506020928301929190910190600101610e21565b5050505092915050565b8051610dc481611ab8565b8035610dc481611ac1565b8051610dc481611ac1565b60008083601f840112610e8757600080fd5b5081356001600160401b03811115610e9e57600080fd5b602083019150836001820283011115610eb657600080fd5b9250929050565b600082601f830112610ece57600080fd5b8151610edc610df482611a04565b91508082526020830160208301858383011115610ef857600080fd5b610f03838284611a6a565b50505092915050565b600082601f830112610f1d57600080fd5b8135610f2b610df482611a04565b91508082526020830160208301858383011115610f4757600080fd5b610f03838284611a5e565b8051610dc481611aca565b60006102a08284031215610f7057600080fd5b610f7b6101e06119be565b90506000610f8984846110d4565b8252506060610f9a848483016110d4565b60208301525060c0610fae848285016110d4565b604083015250610120610fc384828501610e6a565b606083015250610140610fd884828501610e6a565b608083015250610160610fed84828501610e6a565b60a08301525061018061100284828501610dca565b60c0830152506101a061101784828501610dca565b60e0830152506101c061102c84828501610dca565b610100830152506101e08201516001600160401b0381111561104d57600080fd5b61105984828501610ebd565b6101208301525061020061106f84828501610e6a565b6101408301525061022061108584828501610e6a565b6101608301525061024061109b84828501610e6a565b610180830152506102606110b184828501610e6a565b6101a0830152506102806110c784828501610e6a565b6101c08301525092915050565b6000606082840312156110e657600080fd5b6110f060606119be565b905060006110fe8484610dca565b825250602061110f84848301610dca565b602083015250604061112384828501610e6a565b60408301525092915050565b60006101a0828403121561114257600080fd5b61114d6101a06119be565b9050600061115b8484610f52565b825250602061116c84848301610e6a565b602083015250604061118084828501610e6a565b604083015250606061119484828501610e6a565b60608301525060806111a884828501610e6a565b60808301525060a06111bc84828501610e6a565b60a08301525060c06111d084828501610e6a565b60c08301525060e06111e484828501610e6a565b60e0830152506101006111f984828501610e6a565b6101008301525061012061120f84828501610e6a565b610120830152506101408201516001600160401b0381111561123057600080fd5b61123c84828501610dd5565b6101408301525061016061125284828501610e6a565b610160830152506101808201516001600160401b0381111561127357600080fd5b61127f84828501610ebd565b6101808301525092915050565b60006020828403121561129e57600080fd5b60006112aa8484610db9565b949350505050565b600080600080600060a086880312156112ca57600080fd5b60006112d68888610db9565b95505060206112e788828901610db9565b94505060406112f888828901610db9565b935050606061130988828901610e5f565b925050608061131a88828901610e5f565b9150509295509295909350565b60008060006060848603121561133c57600080fd5b60006113488686610db9565b935050602061135986828701610e5f565b92505060408401356001600160401b0381111561137557600080fd5b61138186828701610f0c565b9150509250925092565b60006020828403121561139d57600080fd5b60006112aa8484610e54565b6000602082840312156113bb57600080fd5b60006112aa8484610e5f565b6000806000604084860312156113dc57600080fd5b60006113e88686610e5f565b93505060208401356001600160401b0381111561140457600080fd5b61141086828701610e75565b92509250509250925092565b60006020828403121561142e57600080fd5b81356001600160401b0381111561144457600080fd5b6112aa84828501610f0c565b60006020828403121561146257600080fd5b81516001600160401b0381111561147857600080fd5b6112aa84828501610f5d565b60006020828403121561149657600080fd5b81516001600160401b038111156114ac57600080fd5b6112aa8482850161112f565b6000602082840312156114ca57600080fd5b60006112aa8484610e6a565b6000806000606084860312156114eb57600080fd5b60006114f78686610e6a565b93505060208401516001600160401b0381111561151357600080fd5b61151f86828701610ebd565b925050604061138186828701610e6a565b61153981611a3d565b82525050565b61153981611a48565b6115398161041e565b600061155c82611a2b565b6115668185611a2f565b9350611576818560208601611a6a565b61157f81611a9a565b9093019392505050565b600061159482611a2b565b61159e8185611a38565b93506115ae818560208601611a6a565b9290920192915050565b61153981611a53565b60006115ce600b83611a2f565b6a696e76616c69642d74616760a81b815260200192915050565b60006115f5602683611a2f565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b600061163d601083611a2f565b6f0756e617574686f72697a65642d6170760841b815260200192915050565b6000611669602083611a2f565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b60006116a2601483611a2f565b731d5b985d5d1a1bdc9a5e99590b59185d185cd95d60621b815260200192915050565b60006116d2601783611a2f565b7f756e617574686f72697a65642d776f726b6572706f6f6c000000000000000000815260200192915050565b600061170b601483611a2f565b73726573756c742d6e6f742d617661696c61626c6560601b815260200192915050565b600061173b602183611a2f565b7f726573756c742d6e6f742d76616c6964617465642d62792d636f6e73656e73758152607360f81b602082015260400192915050565b600061177e600d83611a2f565b6c1a5b9d985b1a590b5d1c9d5cdd609a1b815260200192915050565b60006117a7601483611a2f565b731b995dcb5d985b1d594b5a5ccb5d1bdbcb5bdb1960621b815260200192915050565b61153981611a4d565b60006102d78284611589565b60208101610dc48284611530565b60208101610dc4828461153f565b60208101610dc48284611548565b604081016118178285611548565b81810360208301526102d48184611551565b604081016118378285611548565b6102d76020830184611548565b608081016118528287611548565b61185f6020830186611548565b61186c6040830185611548565b818103606083015261187e8184611551565b9695505050505050565b608081016118968287611548565b6118a360208301866117ca565b6118b06040830185611548565b6118bd6060830184611548565b95945050505050565b60208101610dc482846115b8565b60208082528101610dc4816115c1565b60208082528101610dc4816115e8565b60208082528101610dc481611630565b60208082528101610dc48161165c565b60208082528101610dc481611695565b60208082528101610dc4816116c5565b60208082528101610dc4816116fe565b60208082528101610dc48161172e565b60208082528101610dc481611771565b60208082528101610dc48161179a565b606081016119828286611548565b81810360208301526119948185611551565b90506112aa6040830184611548565b608081016119b18287611548565b6118a36020830186611548565b6040518181016001600160401b03811182821017156119dc57600080fd5b604052919050565b60006001600160401b038211156119fa57600080fd5b5060209081020190565b60006001600160401b03821115611a1a57600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b919050565b6000610dc482610bdd565b151590565b60ff1690565b6000610dc482611a3d565b82818337506000910152565b60005b83811015611a85578181015183820152602001611a6d565b83811115611a94576000848401525b50505050565b601f01601f191690565b611aad81611a3d565b811461063957600080fd5b611aad81611a48565b611aad8161041e565b6005811061063957600080fdfea365627a7a72305820a6849370bdd3207397f8be26c205ff870c05452c9201a1637b5323bf1e5c1f796c6578706572696d656e74616cf564736f6c634300050a0040", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80638da5cb5b116100a2578063ccc2195f11610071578063ccc2195f146101dd578063e73482a214610200578063eee9aa8a14610215578063f2fde38b14610228578063f6eba5471461023b5761010b565b80638da5cb5b146101bd5780638f32d59b146101c5578063a41f45e9146101cd578063ca2ef3c4146101d55761010b565b806356e484e1116100de57806356e484e1146101785780635dd808551461019a578063715018a6146101ad57806378dd4ae5146101b55761010b565b8063017519981461011057806318a4b2d0146101395780631ce3aa0d1461014e578063482fb13e14610163575b600080fd5b61012361011e366004611327565b610243565b60405161013091906117ed565b60405180910390f35b61014c6101473660046112b2565b6102de565b005b61015661031f565b60405161013091906118c6565b61016b61032e565b60405161013091906117df565b61018b61018636600461141c565b61033d565b60405161013093929190611974565b61014c6101a83660046113c7565b610364565b61014c610394565b61016b610402565b61016b610411565b610123610421565b610156610432565b61016b610441565b6101f06101eb3660046113a9565b610450565b6040516101309493929190611844565b610208610518565b60405161013091906117fb565b61014c6102233660046113a9565b61051e565b61014c61023636600461128c565b61060c565b61020861063c565b6000610250848484610642565b806102d45750604051630b135d3f60e11b81526001600160a01b03851690631626ba7e906102849086908690600401611809565b60206040518083038186803b15801561029c57600080fd5b505afa1580156102b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102d4919081019061138b565b90505b9392505050565b6102e6610421565b61030b5760405162461bcd60e51b815260040161030290611904565b60405180910390fd5b6103188585858585610717565b5050505050565b6002546001600160a01b031681565b6003546001600160a01b031681565b6000606060008380602001905161035791908101906114d6565b9196909550909350915050565b60405183907f28e9507238ce29efc9797f8791b89bf517f253f275a4ab2688a7cd108e40bc7a90600090a2505050565b61039c610421565b6103b85760405162461bcd60e51b815260040161030290611904565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6004546001600160a01b031681565b6000546001600160a01b03165b90565b6000546001600160a01b0316331490565b6001546001600160a01b031681565b6005546001600160a01b031681565b6008602052806000526040600020600091509050806000015490806001015490806002015490806003018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561050e5780601f106104e35761010080835404028352916020019161050e565b820191906000526020600020905b8154815290600101906020018083116104f157829003601f168201915b5050505050905084565b60075481565b60006060600061053061018685610760565b81516020808401919091206000818152600890925260409091206001015493965091945092509084116105755760405162461bcd60e51b815260040161030290611964565b6000818152600860205260409081902060018101546002909101549151879284927febbbe9945700dfb7729b63e18aca7de43331e17e61bcfa214a3e18234f1e12b4926105c692908a9089906119a3565b60405180910390a360008181526008602090815260409091208681556001810186905560028101849055845161060492600390920191860190610be9565b505050505050565b610614610421565b6106305760405162461bcd60e51b815260040161030290611904565b61063981610b09565b50565b60065481565b600080600080845160411461065d57600093505050506102d7565b50505060208201516040830151606084015160001a601b81101561067f57601b015b8060ff16601b1415801561069757508060ff16601c14155b156106a857600093505050506102d7565b600186828585604051600081526020016040526040516106cb9493929190611888565b6020604051602081039080840390855afa1580156106ed573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b600380546001600160a01b03199081166001600160a01b039788161790915560048054821695871695909517909455600580549094169290941691909117909155600655600755565b606061076a610c67565b60015460405163adccf0d560e01b81526001600160a01b039091169063adccf0d59061079a9086906004016117fb565b60006040518083038186803b1580156107b257600080fd5b505afa1580156107c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107ee9190810190611484565b90506107f8610cd9565b6002546020830151604051635ba430d960e11b81526001600160a01b039092169163b74861b29161082b916004016117fb565b60006040518083038186803b15801561084357600080fd5b505afa158015610857573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261087f9190810190611450565b905060038251600481111561089057fe5b146108ad5760405162461bcd60e51b815260040161030290611934565b8161018001516040516108c091906117d3565b6040518091039020826101600151146108eb5760405162461bcd60e51b815260040161030290611944565b6003546001600160a01b0316158061098c575060035481515160025460408051631a2a7bc760e21b8152905161098c946001600160a01b03908116949316916368a9ef1c916004808301926020929190829003018186803b15801561094f57600080fd5b505afa158015610963573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061098791908101906114b8565b610b8a565b6109a85760405162461bcd60e51b8152600401610302906118f4565b6004546001600160a01b03161580610a115750600480546020838101515160025460408051631a2a7bc760e21b81529051610a11966001600160a01b0396871696949594909316936368a9ef1c9383810193919291829003018186803b15801561094f57600080fd5b610a2d5760405162461bcd60e51b815260040161030290611914565b6005546001600160a01b03161580610a935750600554604080830151516002548251631a2a7bc760e21b81529251610a93946001600160a01b03908116949216916368a9ef1c916004808301926020929190829003018186803b15801561094f57600080fd5b610aaf5760405162461bcd60e51b815260040161030290611924565b60a081015160065490191615610ad75760405162461bcd60e51b8152600401610302906118d4565b80606001516007541115610afd5760405162461bcd60e51b815260040161030290611954565b50610180015192915050565b6001600160a01b038116610b2f5760405162461bcd60e51b8152600401610302906118e4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000826001600160a01b0316846001600160a01b031614806102d45750836001600160a01b031663d202158d610bbf85610bdd565b846040518363ffffffff1660e01b8152600401610284929190611829565b6001600160a01b031690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610c2a57805160ff1916838001178555610c57565b82800160010185558215610c57579182015b82811115610c57578251825591602001919060010190610c3c565b50610c63929150610d7f565b5090565b604080516101a0810190915280600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081526020016000801916815260200160008152602001600081526020016060815260200160008019168152602001606081525090565b604051806102a00160405280610ced610d99565b8152602001610cfa610d99565b8152602001610d07610d99565b815260200160008152602001600081526020016000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016060815260200160008152602001600081526020016000815260200160008152602001600081525090565b61041e91905b80821115610c635760008155600101610d85565b604080516060810182526000808252602082018190529181019190915290565b8035610dc481611aa4565b92915050565b8051610dc481611aa4565b600082601f830112610de657600080fd5b8151610df9610df4826119e4565b6119be565b91508181835260208401935060208101905083856020840282011115610e1e57600080fd5b60005b83811015610e4a5781610e348882610dca565b8452506020928301929190910190600101610e21565b5050505092915050565b8051610dc481611ab8565b8035610dc481611ac1565b8051610dc481611ac1565b60008083601f840112610e8757600080fd5b5081356001600160401b03811115610e9e57600080fd5b602083019150836001820283011115610eb657600080fd5b9250929050565b600082601f830112610ece57600080fd5b8151610edc610df482611a04565b91508082526020830160208301858383011115610ef857600080fd5b610f03838284611a6a565b50505092915050565b600082601f830112610f1d57600080fd5b8135610f2b610df482611a04565b91508082526020830160208301858383011115610f4757600080fd5b610f03838284611a5e565b8051610dc481611aca565b60006102a08284031215610f7057600080fd5b610f7b6101e06119be565b90506000610f8984846110d4565b8252506060610f9a848483016110d4565b60208301525060c0610fae848285016110d4565b604083015250610120610fc384828501610e6a565b606083015250610140610fd884828501610e6a565b608083015250610160610fed84828501610e6a565b60a08301525061018061100284828501610dca565b60c0830152506101a061101784828501610dca565b60e0830152506101c061102c84828501610dca565b610100830152506101e08201516001600160401b0381111561104d57600080fd5b61105984828501610ebd565b6101208301525061020061106f84828501610e6a565b6101408301525061022061108584828501610e6a565b6101608301525061024061109b84828501610e6a565b610180830152506102606110b184828501610e6a565b6101a0830152506102806110c784828501610e6a565b6101c08301525092915050565b6000606082840312156110e657600080fd5b6110f060606119be565b905060006110fe8484610dca565b825250602061110f84848301610dca565b602083015250604061112384828501610e6a565b60408301525092915050565b60006101a0828403121561114257600080fd5b61114d6101a06119be565b9050600061115b8484610f52565b825250602061116c84848301610e6a565b602083015250604061118084828501610e6a565b604083015250606061119484828501610e6a565b60608301525060806111a884828501610e6a565b60808301525060a06111bc84828501610e6a565b60a08301525060c06111d084828501610e6a565b60c08301525060e06111e484828501610e6a565b60e0830152506101006111f984828501610e6a565b6101008301525061012061120f84828501610e6a565b610120830152506101408201516001600160401b0381111561123057600080fd5b61123c84828501610dd5565b6101408301525061016061125284828501610e6a565b610160830152506101808201516001600160401b0381111561127357600080fd5b61127f84828501610ebd565b6101808301525092915050565b60006020828403121561129e57600080fd5b60006112aa8484610db9565b949350505050565b600080600080600060a086880312156112ca57600080fd5b60006112d68888610db9565b95505060206112e788828901610db9565b94505060406112f888828901610db9565b935050606061130988828901610e5f565b925050608061131a88828901610e5f565b9150509295509295909350565b60008060006060848603121561133c57600080fd5b60006113488686610db9565b935050602061135986828701610e5f565b92505060408401356001600160401b0381111561137557600080fd5b61138186828701610f0c565b9150509250925092565b60006020828403121561139d57600080fd5b60006112aa8484610e54565b6000602082840312156113bb57600080fd5b60006112aa8484610e5f565b6000806000604084860312156113dc57600080fd5b60006113e88686610e5f565b93505060208401356001600160401b0381111561140457600080fd5b61141086828701610e75565b92509250509250925092565b60006020828403121561142e57600080fd5b81356001600160401b0381111561144457600080fd5b6112aa84828501610f0c565b60006020828403121561146257600080fd5b81516001600160401b0381111561147857600080fd5b6112aa84828501610f5d565b60006020828403121561149657600080fd5b81516001600160401b038111156114ac57600080fd5b6112aa8482850161112f565b6000602082840312156114ca57600080fd5b60006112aa8484610e6a565b6000806000606084860312156114eb57600080fd5b60006114f78686610e6a565b93505060208401516001600160401b0381111561151357600080fd5b61151f86828701610ebd565b925050604061138186828701610e6a565b61153981611a3d565b82525050565b61153981611a48565b6115398161041e565b600061155c82611a2b565b6115668185611a2f565b9350611576818560208601611a6a565b61157f81611a9a565b9093019392505050565b600061159482611a2b565b61159e8185611a38565b93506115ae818560208601611a6a565b9290920192915050565b61153981611a53565b60006115ce600b83611a2f565b6a696e76616c69642d74616760a81b815260200192915050565b60006115f5602683611a2f565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b600061163d601083611a2f565b6f0756e617574686f72697a65642d6170760841b815260200192915050565b6000611669602083611a2f565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b60006116a2601483611a2f565b731d5b985d5d1a1bdc9a5e99590b59185d185cd95d60621b815260200192915050565b60006116d2601783611a2f565b7f756e617574686f72697a65642d776f726b6572706f6f6c000000000000000000815260200192915050565b600061170b601483611a2f565b73726573756c742d6e6f742d617661696c61626c6560601b815260200192915050565b600061173b602183611a2f565b7f726573756c742d6e6f742d76616c6964617465642d62792d636f6e73656e73758152607360f81b602082015260400192915050565b600061177e600d83611a2f565b6c1a5b9d985b1a590b5d1c9d5cdd609a1b815260200192915050565b60006117a7601483611a2f565b731b995dcb5d985b1d594b5a5ccb5d1bdbcb5bdb1960621b815260200192915050565b61153981611a4d565b60006102d78284611589565b60208101610dc48284611530565b60208101610dc4828461153f565b60208101610dc48284611548565b604081016118178285611548565b81810360208301526102d48184611551565b604081016118378285611548565b6102d76020830184611548565b608081016118528287611548565b61185f6020830186611548565b61186c6040830185611548565b818103606083015261187e8184611551565b9695505050505050565b608081016118968287611548565b6118a360208301866117ca565b6118b06040830185611548565b6118bd6060830184611548565b95945050505050565b60208101610dc482846115b8565b60208082528101610dc4816115c1565b60208082528101610dc4816115e8565b60208082528101610dc481611630565b60208082528101610dc48161165c565b60208082528101610dc481611695565b60208082528101610dc4816116c5565b60208082528101610dc4816116fe565b60208082528101610dc48161172e565b60208082528101610dc481611771565b60208082528101610dc48161179a565b606081016119828286611548565b81810360208301526119948185611551565b90506112aa6040830184611548565b608081016119b18287611548565b6118a36020830186611548565b6040518181016001600160401b03811182821017156119dc57600080fd5b604052919050565b60006001600160401b038211156119fa57600080fd5b5060209081020190565b60006001600160401b03821115611a1a57600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b919050565b6000610dc482610bdd565b151590565b60ff1690565b6000610dc482611a3d565b82818337506000910152565b60005b83811015611a85578181015183820152602001611a6d565b83811115611a94576000848401525b50505050565b601f01601f191690565b611aad81611a3d565b811461063957600080fd5b611aad81611a48565b611aad8161041e565b6005811061063957600080fdfea365627a7a72305820a6849370bdd3207397f8be26c205ff870c05452c9201a1637b5323bf1e5c1f796c6578706572696d656e74616cf564736f6c634300050a0040", + "sourceMap": "186:1644:1:-;;;644:76;8:9:-1;5:2;;;30:1;27;20:12;5:2;644:76:1;;;;;;;;;;;;;;;;;;;;;657:6:12;:19;;-1:-1:-1;;;;;;657:19:12;666:10;657:19;;;;691:40;;701:13:1;;;;-1:-1:-1;;;;;724:6:12;;691:40;;657:6;;691:40;782:1:3;749:30;761:13;-1:-1:-1;;;;;749:11:3;:30;:::i;:::-;:34;740:688;;;787:8;:47;;-1:-1:-1;;;;;;787:47:3;-1:-1:-1;;;;;787:47:3;;;;;740:688;;;882:1;849:30;239:42;-1:-1:-1;;;;;849:11:3;:30;:::i;:::-;:34;845:583;;;887:8;:47;;-1:-1:-1;;;;;;887:47:3;239:42;887:47;;;845:583;;;982:1;949:30;321:42;-1:-1:-1;;;;;949:11:3;:30;:::i;:::-;:34;945:483;;;987:8;:47;;-1:-1:-1;;;;;;987:47:3;321:42;987:47;;;945:483;;;1082:1;1049:30;1082:1;-1:-1:-1;;;;;1049:11:3;:30;:::i;:::-;:34;1045:383;;;1087:8;:47;;-1:-1:-1;;;;;;1087:47:3;;;1045:383;;;1182:1;1149:30;485:42;-1:-1:-1;;;;;1149:11:3;:30;:::i;:::-;:34;1145:283;;;1187:8;:47;;-1:-1:-1;;;;;;1187:47:3;485:42;1187:47;;;1145:283;;;1282:1;1249:30;1282:1;-1:-1:-1;;;;;1249:11:3;:30;:::i;:::-;:34;1245:183;;;1287:8;:47;;-1:-1:-1;;;;;;1287:47:3;;;1245:183;;;1387:29;;;;;;;;;;;;;;;;;;;1245:183;1464:8;;;;;;;;;-1:-1:-1;;;;;1464:8:3;-1:-1:-1;;;;;1464:19:3;;:21;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1464:21:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1464:21:3;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;1464:21:3;;;;;;;;;1431:10;:55;;-1:-1:-1;;;;;;1431:55:3;-1:-1:-1;;;;;1431:55:3;;;;;;;;;;-1:-1:-1;186:1644:1;;-1:-1:-1;;186:1644:1;1493:120:3;1590:18;;1579:31::o;5:134:-1:-;83:13;;101:33;83:13;101:33;;;68:71;;;;;146:263;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;;;319:74;223:186;-1:-1;;;;223:186;417:364;;577:67;641:2;636:3;577:67;;;677:66;657:87;;772:2;763:12;;563:218;-1:-1;;563:218;789:407;980:2;994:47;;;965:18;;1055:131;965:18;1055:131;;1204:163;1307:19;;;1356:4;1347:14;;1300:67;1375:91;;-1:-1;;;;;1535:54;;1437:24;1518:76;1601:117;1670:24;1688:5;1670:24;;;1663:5;1660:35;1650:2;;1709:1;1706;1699:12;1650:2;1644:74;;;186:1644:1;;;;;;", + "deployedSourceMap": "186:1644:1:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;186:1644:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;609:246:6;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;725:315:1;;;;;;;;;:::i;:::-;;651:37:3;;;:::i;:::-;;;;;;;;296:30:2;;;:::i;:::-;;;;;;;;1045:161:1;;;;;;;;;:::i;:::-;;;;;;;;;;602:114:2;;;;;;;;;:::i;1599:137:12:-;;;:::i;329:34:2:-;;;:::i;814:77:12:-;;;:::i;1165:90::-;;;:::i;613:35:3:-;;;:::i;366:37:2:-;;;:::i;347:44:1:-;;;;;;;;;:::i;:::-;;;;;;;;;;;437:30:2;;;:::i;:::-;;;;;;;;1211:616:1;;;;;;;;;:::i;1885:107:12:-;;;;;;;;;:::i;406:28:2:-;;;:::i;609:246:6:-;732:4;750:42;763:9;774:5;781:10;750:12;:42::i;:::-;:101;;;-1:-1:-1;796:55:6;;-1:-1:-1;;;796:55:6;;-1:-1:-1;;;;;796:36:6;;;;;:55;;833:5;;840:10;;796:55;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:55:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;796:55:6;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;796:55:6;;;;;;;;;743:108;;609:246;;;;;;:::o;725:315:1:-;1018:9:12;:7;:9::i;:::-;1010:54;;;;-1:-1:-1;;;1010:54:12;;;;;;;;;;;;;;;;;919:116:1;947:14;963:18;983:21;1006:12;1020:14;919:27;:116::i;:::-;725:315;;;;;:::o;651:37:3:-;;;-1:-1:-1;;;;;651:37:3;;:::o;296:30:2:-;;;-1:-1:-1;;;;;296:30:2;;:::o;1045:161:1:-;1112:7;1121:13;1136:7;1167;1156:47;;;;;;;;;;;;;;1149:54;;;;-1:-1:-1;1149:54:1;;-1:-1:-1;1045:161:1;-1:-1:-1;;1045:161:1:o;602:114:2:-;685:27;;697:14;;685:27;;;;;602:114;;;:::o;1599:137:12:-;1018:9;:7;:9::i;:::-;1010:54;;;;-1:-1:-1;;;1010:54:12;;;;;;;;;1697:1;1681:6;;1660:40;;-1:-1:-1;;;;;1681:6:12;;;;1660:40;;1697:1;;1660:40;1727:1;1710:19;;-1:-1:-1;;;;;;1710:19:12;;;1599:137::o;329:34:2:-;;;-1:-1:-1;;;;;329:34:2;;:::o;814:77:12:-;852:7;878:6;-1:-1:-1;;;;;878:6:12;814:77;;:::o;1165:90::-;1205:4;1242:6;-1:-1:-1;;;;;1242:6:12;1228:10;:20;;1165:90::o;613:35:3:-;;;-1:-1:-1;;;;;613:35:3;;:::o;366:37:2:-;;;-1:-1:-1;;;;;366:37:2;;:::o;347:44:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;437:30:2:-;;;;:::o;1211:616:1:-;1273:18;1296:21;1322:19;1393:60;1407:45;1438:13;1407:30;:45::i;1393:60::-;1495:25;;;;;;;;;;1482:10;1533;;;:6;:10;;;;;;;:15;;;1368:85;;-1:-1:-1;1368:85:1;;-1:-1:-1;1368:85:1;-1:-1:-1;1495:25:1;1533:22;-1:-1:-1;1525:55:1;;;;-1:-1:-1;;;1525:55:1;;;;;;;;;1622:10;;;;:6;:10;;;;;;;:15;;;;1639:16;;;;;1590:79;;1607:13;;1603:2;;1590:79;;;;1639:16;1657:4;;1663:5;;1590:79;;;;;;;;;;1674:10;;;;:6;:10;;;;;;;;:39;;;1718:15;;;:30;;;1753:16;;;:31;;;1789:33;;;;:18;;;;;:33;;;;:::i;:::-;;1211:616;;;;;:::o;1885:107:12:-;1018:9;:7;:9::i;:::-;1010:54;;;;-1:-1:-1;;;1010:54:12;;;;;;;;;1957:28;1976:8;1957:18;:28::i;:::-;1885:107;:::o;406:28:2:-;;;;:::o;923:435:6:-;1021:4;1032:9;1045;1058;1075:4;:11;1090:2;1075:17;1071:35;;1101:5;1094:12;;;;;;;1071:35;-1:-1:-1;;;1155:4:6;1145:15;;1139:22;1194:4;1184:15;;1178:22;1233:4;1223:15;;1217:22;1214:1;1209:31;1255:2;1251:6;;1247:19;;;1264:2;1259:7;1247:19;1274:1;:7;;1279:2;1274:7;;:18;;;;;1285:1;:7;;1290:2;1285:7;;1274:18;1270:36;;;1301:5;1294:12;;;;;;;1270:36;1330:24;1340:4;1346:1;1349;1352;1330:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1330:24:6;;;;;;;;-1:-1:-1;;;;;1317:37:6;:9;-1:-1:-1;;;;;1317:37:6;;1310:44;;;;;923:435;;;;;:::o;719:418:2:-;913:15;:39;;-1:-1:-1;;;;;;913:39:2;;;-1:-1:-1;;;;;913:39:2;;;;;;;956:19;:43;;;;;;;;;;;;;;1003:22;:46;;;;;;;;;;;;;;;;1053:13;:37;1094:15;:39;719:418::o;1140:1576::-;1228:12;1247:32;;:::i;:::-;1282:8;;:33;;-1:-1:-1;;;1282:33:2;;-1:-1:-1;;;;;1282:8:2;;;;:17;;:33;;1300:14;;1282:33;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1282:33:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1282:33:2;;;;;;39:16:-1;36:1;17:17;2:54;101:4;1282:33:2;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;1282:33:2;;;;;;;;;1247:68;;1319:32;;:::i;:::-;1354:10;;1374:11;;;;1354:32;;-1:-1:-1;;;1354:32:2;;-1:-1:-1;;;;;1354:10:2;;;;:19;;:32;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1354:32:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1354:32:2;;;;;;39:16:-1;36:1;17:17;2:54;101:4;1354:32:2;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;1354:32:2;;;;;;;;;1319:67;-1:-1:-1;1414:40:2;1399:11;;:55;;;;;;;;;1391:182;;;;-1:-1:-1;;;1391:182:2;;;;;;;;;1616:4;:12;;;1606:23;;;;;;;;;;;;;;;1585:4;:17;;;:44;1577:182;;;;-1:-1:-1;;;1577:182:2;;;;;;;;;1771:15;;-1:-1:-1;;;;;1771:15:2;:36;;:136;;-1:-1:-1;1825:15:2;;1849:8;;:16;1874:10;;:32;;;-1:-1:-1;;;1874:32:2;;;;1811:96;;-1:-1:-1;;;;;1825:15:2;;;;1849:16;1874:10;;:30;;:32;;;;;;;;;;;;;;:10;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;1874:32:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1874:32:2;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;1874:32:2;;;;;;;;;1811:13;:96::i;:::-;1763:182;;;;-1:-1:-1;;;1763:182:2;;;;;;;;;1957:19;;-1:-1:-1;;;;;1957:19:2;:36;;:136;;-1:-1:-1;2011:19:2;;;2035:12;;;;;:20;2060:10;;:32;;;-1:-1:-1;;;2060:32:2;;;;1997:96;;-1:-1:-1;;;;;2011:19:2;;;;2035:20;;2060:10;;;;;:30;;:32;;;;2035:12;;2060:32;;;;;;:10;:32;;;5:2:-1;;;;30:1;27;20:12;1997:96:2;1949:182;;;;-1:-1:-1;;;1949:182:2;;;;;;;;;2143:22;;-1:-1:-1;;;;;2143:22:2;:36;;:136;;-1:-1:-1;2197:22:2;;2221:15;;;;;:23;2246:10;;:32;;-1:-1:-1;;;2246:32:2;;;;2183:96;;-1:-1:-1;;;;;2197:22:2;;;;2246:10;;;:30;;:32;;;;;;;;;;;;;;:10;:32;;;5:2:-1;;;;30:1;27;20:12;2183:96:2;2135:182;;;;-1:-1:-1;;;2135:182:2;;;;;;;;;2346:8;;;;2329:13;;2345:9;;2329:25;:39;2321:182;;;;-1:-1:-1;;;2321:182:2;;;;;;;;;2534:4;:10;;;2515:15;;:29;;2507:182;;;;-1:-1:-1;;;2507:182:2;;;;;;;;;-1:-1:-1;2700:12:2;;;;1140:1576;-1:-1:-1;;1140:1576:2:o;2093:225:12:-;-1:-1:-1;;;;;2166:22:12;;2158:73;;;;-1:-1:-1;;;2158:73:12;;;;;;;;;2267:6;;;2246:38;;-1:-1:-1;;;;;2246:38:12;;;;2267:6;;;2246:38;;;2294:6;:17;;-1:-1:-1;;;;;;2294:17:12;-1:-1:-1;;;;;2294:17:12;;;;;;;;;;2093:225::o;320:271:6:-;424:10;461;-1:-1:-1;;;;;448:23:6;:9;-1:-1:-1;;;;;448:23:6;;:92;;;;483:9;-1:-1:-1;;;;;475:32:6;;508:21;518:10;508:9;:21::i;:::-;531:8;475:65;;;;;;;;;;;;;;;;;211:106;-1:-1:-1;;;;;298:14:6;;211:106::o;186:1644:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;186:1644:1;;;-1:-1:-1;186:1644:1;:::i;:::-;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;186:1644:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;186:1644:1;;;;;;-1:-1:-1;;;;;186:1644:1;;;;;;-1:-1:-1;;;;;186:1644:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;186:1644:1;;;;;;;;;;;;;;;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;;57:78;;;;;142:134;220:13;;238:33;220:13;238:33;;301:714;;425:3;418:4;410:6;406:17;402:27;392:2;;443:1;440;433:12;392:2;473:6;467:13;495:76;510:60;563:6;510:60;;;495:76;;;486:85;;588:5;613:6;606:5;599:21;643:4;635:6;631:17;621:27;;665:4;660:3;656:14;649:21;;718:6;765:3;757:4;749:6;745:17;740:3;736:27;733:36;730:2;;;782:1;779;772:12;730:2;807:1;792:217;817:6;814:1;811:13;792:217;;;875:3;897:48;941:3;929:10;897:48;;;885:61;;-1:-1;969:4;960:14;;;;988;;;;;839:1;832:9;792:217;;;796:14;385:630;;;;;;;;1023:128;1098:13;;1116:30;1098:13;1116:30;;1158:130;1225:20;;1250:33;1225:20;1250:33;;1295:134;1373:13;;1391:33;1373:13;1391:33;;1450:335;;;1564:3;1557:4;1549:6;1545:17;1541:27;1531:2;;1582:1;1579;1572:12;1531:2;-1:-1;1602:20;;-1:-1;;;;;1631:30;;1628:2;;;1674:1;1671;1664:12;1628:2;1708:4;1700:6;1696:17;1684:29;;1758:3;1751;1743:6;1739:16;1729:8;1725:31;1722:40;1719:2;;;1775:1;1772;1765:12;1719:2;1524:261;;;;;;1794:434;;1902:3;1895:4;1887:6;1883:17;1879:27;1869:2;;1920:1;1917;1910:12;1869:2;1950:6;1944:13;1972:60;1987:44;2024:6;1987:44;;1972:60;1963:69;;2052:6;2045:5;2038:21;2088:4;2080:6;2076:17;2121:4;2114:5;2110:16;2156:3;2147:6;2142:3;2138:16;2135:25;2132:2;;;2173:1;2170;2163:12;2132:2;2183:39;2215:6;2210:3;2205;2183:39;;;1862:366;;;;;;;;2237:440;;2338:3;2331:4;2323:6;2319:17;2315:27;2305:2;;2356:1;2353;2346:12;2305:2;2393:6;2380:20;2415:64;2430:48;2471:6;2430:48;;2415:64;2406:73;;2499:6;2492:5;2485:21;2535:4;2527:6;2523:17;2568:4;2561:5;2557:16;2603:3;2594:6;2589:3;2585:16;2582:25;2579:2;;;2620:1;2617;2610:12;2579:2;2630:41;2664:6;2659:3;2654;2630:41;;2685:172;2782:13;;2800:52;2782:13;2800:52;;3343:2749;;3465:5;3453:9;3448:3;3444:19;3440:31;3437:2;;;3484:1;3481;3474:12;3437:2;3502:21;3517:5;3502:21;;;3493:30;-1:-1;3572:1;3603:82;3681:3;3661:9;3603:82;;;3579:107;;-1:-1;3750:2;3783:82;3861:3;3837:22;;;3783:82;;;3776:4;3769:5;3765:16;3758:108;3707:170;3933:3;3967:82;4045:3;4036:6;4025:9;4021:22;3967:82;;;3960:4;3953:5;3949:16;3942:108;3887:174;4112:3;4146:60;4202:3;4193:6;4182:9;4178:22;4146:60;;;4139:4;4132:5;4128:16;4121:86;4071:147;4272:3;4306:60;4362:3;4353:6;4342:9;4338:22;4306:60;;;4299:4;4292:5;4288:16;4281:86;4228:150;4427:3;4461:60;4517:3;4508:6;4497:9;4493:22;4461:60;;;4454:4;4447:5;4443:16;4436:86;4388:145;4588:3;4622:60;4678:3;4669:6;4658:9;4654:22;4622:60;;;4615:4;4608:5;4604:16;4597:86;4543:151;4751:3;4785:60;4841:3;4832:6;4821:9;4817:22;4785:60;;;4778:4;4771:5;4767:16;4760:86;4704:153;4911:3;4946:60;5002:3;4993:6;4982:9;4978:22;4946:60;;;4938:5;4931;4927:17;4920:87;4867:151;5091:3;5080:9;5076:19;5070:26;-1:-1;;;;;5108:6;5105:30;5102:2;;;5148:1;5145;5138:12;5102:2;5184:66;5246:3;5237:6;5226:9;5222:22;5184:66;;;5176:5;5169;5165:17;5158:93;5028:234;5317:3;5352:60;5408:3;5399:6;5388:9;5384:22;5352:60;;;5344:5;5337;5333:17;5326:87;5272:152;5478:3;5513:60;5569:3;5560:6;5549:9;5545:22;5513:60;;;5505:5;5498;5494:17;5487:87;5434:151;5638:3;5673:60;5729:3;5720:6;5709:9;5705:22;5673:60;;;5665:5;5658;5654:17;5647:87;5595:150;5802:3;5837:60;5893:3;5884:6;5873:9;5869:22;5837:60;;;5829:5;5822;5818:17;5811:87;5755:154;5975:3;6010:60;6066:3;6057:6;6046:9;6042:22;6010:60;;;6002:5;5995;5991:17;5984:87;5919:163;3431:2661;;;;;6137:656;;6259:4;6247:9;6242:3;6238:19;6234:30;6231:2;;;6277:1;6274;6267:12;6231:2;6295:20;6310:4;6295:20;;;6286:29;-1:-1;6368:1;6399:60;6455:3;6435:9;6399:60;;;6375:85;;-1:-1;6522:2;6555:60;6611:3;6587:22;;;6555:60;;;6548:4;6541:5;6537:16;6530:86;6481:146;6678:2;6711:60;6767:3;6758:6;6747:9;6743:22;6711:60;;;6704:4;6697:5;6693:16;6686:86;6637:146;6225:568;;;;;6834:2508;;6956:5;6944:9;6939:3;6935:19;6931:31;6928:2;;;6975:1;6972;6965:12;6928:2;6993:21;7008:5;6993:21;;;6984:30;-1:-1;7066:1;7097:79;7172:3;7152:9;7097:79;;;7073:104;;-1:-1;7240:2;7273:60;7329:3;7305:22;;;7273:60;;;7266:4;7259:5;7255:16;7248:86;7198:147;7394:2;7427:60;7483:3;7474:6;7463:9;7459:22;7427:60;;;7420:4;7413:5;7409:16;7402:86;7355:144;7552:2;7585:60;7641:3;7632:6;7621:9;7617:22;7585:60;;;7578:4;7571:5;7567:16;7560:86;7509:148;7723:3;7757:60;7813:3;7804:6;7793:9;7789:22;7757:60;;;7750:4;7743:5;7739:16;7732:86;7667:162;7889:3;7923:60;7979:3;7970:6;7959:9;7955:22;7923:60;;;7916:4;7909:5;7905:16;7898:86;7839:156;8054:3;8088:60;8144:3;8135:6;8124:9;8120:22;8088:60;;;8081:4;8074:5;8070:16;8063:86;8005:155;8220:3;8254:60;8310:3;8301:6;8290:9;8286:22;8254:60;;;8247:4;8240:5;8236:16;8229:86;8170:156;8385:3;8420:60;8476:3;8467:6;8456:9;8452:22;8420:60;;;8412:5;8405;8401:17;8394:87;8336:156;8551:3;8586:60;8642:3;8633:6;8622:9;8618:22;8586:60;;;8578:5;8571;8567:17;8560:87;8502:156;8737:3;8726:9;8722:19;8716:26;-1:-1;;;;;8754:6;8751:30;8748:2;;;8794:1;8791;8784:12;8748:2;8830:81;8907:3;8898:6;8887:9;8883:22;8830:81;;;8822:5;8815;8811:17;8804:108;8668:255;8981:3;9016:60;9072:3;9063:6;9052:9;9048:22;9016:60;;;9008:5;9001;8997:17;8990:87;8933:155;9162:3;9151:9;9147:19;9141:26;-1:-1;;;;;9179:6;9176:30;9173:2;;;9219:1;9216;9209:12;9173:2;9255:65;9316:3;9307:6;9296:9;9292:22;9255:65;;;9247:5;9240;9236:17;9229:92;9098:234;6922:2420;;;;;9627:241;;9731:2;9719:9;9710:7;9706:23;9702:32;9699:2;;;9747:1;9744;9737:12;9699:2;9782:1;9799:53;9844:7;9824:9;9799:53;;;9789:63;9693:175;-1:-1;;;;9693:175;9875:743;;;;;;10047:3;10035:9;10026:7;10022:23;10018:33;10015:2;;;10064:1;10061;10054:12;10015:2;10099:1;10116:53;10161:7;10141:9;10116:53;;;10106:63;;10078:97;10206:2;10224:53;10269:7;10260:6;10249:9;10245:22;10224:53;;;10214:63;;10185:98;10314:2;10332:53;10377:7;10368:6;10357:9;10353:22;10332:53;;;10322:63;;10293:98;10422:2;10440:53;10485:7;10476:6;10465:9;10461:22;10440:53;;;10430:63;;10401:98;10530:3;10549:53;10594:7;10585:6;10574:9;10570:22;10549:53;;;10539:63;;10509:99;10009:609;;;;;;;;;10625:595;;;;10772:2;10760:9;10751:7;10747:23;10743:32;10740:2;;;10788:1;10785;10778:12;10740:2;10823:1;10840:53;10885:7;10865:9;10840:53;;;10830:63;;10802:97;10930:2;10948:53;10993:7;10984:6;10973:9;10969:22;10948:53;;;10938:63;;10909:98;11066:2;11055:9;11051:18;11038:32;-1:-1;;;;;11082:6;11079:30;11076:2;;;11122:1;11119;11112:12;11076:2;11142:62;11196:7;11187:6;11176:9;11172:22;11142:62;;;11132:72;;11017:193;10734:486;;;;;;11227:257;;11339:2;11327:9;11318:7;11314:23;11310:32;11307:2;;;11355:1;11352;11345:12;11307:2;11390:1;11407:61;11460:7;11440:9;11407:61;;11491:241;;11595:2;11583:9;11574:7;11570:23;11566:32;11563:2;;;11611:1;11608;11601:12;11563:2;11646:1;11663:53;11708:7;11688:9;11663:53;;11739:490;;;;11879:2;11867:9;11858:7;11854:23;11850:32;11847:2;;;11895:1;11892;11885:12;11847:2;11930:1;11947:53;11992:7;11972:9;11947:53;;;11937:63;;11909:97;12065:2;12054:9;12050:18;12037:32;-1:-1;;;;;12081:6;12078:30;12075:2;;;12121:1;12118;12111:12;12075:2;12149:64;12205:7;12196:6;12185:9;12181:22;12149:64;;;12139:74;;;;12016:203;11841:388;;;;;;12236:345;;12349:2;12337:9;12328:7;12324:23;12320:32;12317:2;;;12365:1;12362;12355:12;12317:2;12400:31;;-1:-1;;;;;12440:30;;12437:2;;;12483:1;12480;12473:12;12437:2;12503:62;12557:7;12548:6;12537:9;12533:22;12503:62;;12588:386;;12725:2;12713:9;12704:7;12700:23;12696:32;12693:2;;;12741:1;12738;12731:12;12693:2;12776:24;;-1:-1;;;;;12809:30;;12806:2;;;12852:1;12849;12842:12;12806:2;12872:86;12950:7;12941:6;12930:9;12926:22;12872:86;;12981:386;;13118:2;13106:9;13097:7;13093:23;13089:32;13086:2;;;13134:1;13131;13124:12;13086:2;13169:24;;-1:-1;;;;;13202:30;;13199:2;;;13245:1;13242;13235:12;13199:2;13265:86;13343:7;13334:6;13323:9;13319:22;13265:86;;13374:263;;13489:2;13477:9;13468:7;13464:23;13460:32;13457:2;;;13505:1;13502;13495:12;13457:2;13540:1;13557:64;13613:7;13593:9;13557:64;;13644:626;;;;13799:2;13787:9;13778:7;13774:23;13770:32;13767:2;;;13815:1;13812;13805:12;13767:2;13850:1;13867:64;13923:7;13903:9;13867:64;;;13857:74;;13829:108;13989:2;13978:9;13974:18;13968:25;-1:-1;;;;;14005:6;14002:30;13999:2;;;14045:1;14042;14035:12;13999:2;14065:70;14127:7;14118:6;14107:9;14103:22;14065:70;;;14055:80;;13947:194;14172:2;14190:64;14246:7;14237:6;14226:9;14222:22;14190:64;;14277:113;14360:24;14378:5;14360:24;;;14355:3;14348:37;14342:48;;;14397:104;14474:21;14489:5;14474:21;;14508:113;14591:24;14609:5;14591:24;;14628:343;;14738:38;14770:5;14738:38;;;14788:70;14851:6;14846:3;14788:70;;;14781:77;;14863:52;14908:6;14903:3;14896:4;14889:5;14885:16;14863:52;;;14936:29;14958:6;14936:29;;;14927:39;;;;14718:253;-1:-1;;;14718:253;14978:348;;15102:34;15130:5;15102:34;;;15148:88;15229:6;15224:3;15148:88;;;15141:95;;15241:52;15286:6;15281:3;15274:4;15267:5;15263:16;15241:52;;;15305:16;;;;;15082:244;-1:-1;;15082:244;15333:180;15443:64;15501:5;15443:64;;16406:364;;16566:67;16630:2;16625:3;16566:67;;;-1:-1;;;16646:87;;16761:2;16752:12;;16552:218;-1:-1;;16552:218;16779:465;;16939:67;17003:2;16998:3;16939:67;;;17039:66;17019:87;;-1:-1;;;17135:2;17126:12;;17119:88;17235:2;17226:12;;16925:319;-1:-1;;16925:319;17253:364;;17413:67;17477:2;17472:3;17413:67;;;-1:-1;;;17493:87;;17608:2;17599:12;;17399:218;-1:-1;;17399:218;17626:364;;17786:67;17850:2;17845:3;17786:67;;;17886:66;17866:87;;17981:2;17972:12;;17772:218;-1:-1;;17772:218;17999:364;;18159:67;18223:2;18218:3;18159:67;;;-1:-1;;;18239:87;;18354:2;18345:12;;18145:218;-1:-1;;18145:218;18372:364;;18532:67;18596:2;18591:3;18532:67;;;18632:66;18612:87;;18727:2;18718:12;;18518:218;-1:-1;;18518:218;18745:364;;18905:67;18969:2;18964:3;18905:67;;;-1:-1;;;18985:87;;19100:2;19091:12;;18891:218;-1:-1;;18891:218;19118:465;;19278:67;19342:2;19337:3;19278:67;;;19378:66;19358:87;;-1:-1;;;19474:2;19465:12;;19458:88;19574:2;19565:12;;19264:319;-1:-1;;19264:319;19592:364;;19752:67;19816:2;19811:3;19752:67;;;-1:-1;;;19832:87;;19947:2;19938:12;;19738:218;-1:-1;;19738:218;19965:364;;20125:67;20189:2;20184:3;20125:67;;;-1:-1;;;20205:87;;20320:2;20311:12;;20111:218;-1:-1;;20111:218;20457:107;20536:22;20552:5;20536:22;;20571:254;;20711:89;20796:3;20787:6;20711:89;;20832:213;20950:2;20935:18;;20964:71;20939:9;21008:6;20964:71;;21052:201;21164:2;21149:18;;21178:65;21153:9;21216:6;21178:65;;21260:213;21378:2;21363:18;;21392:71;21367:9;21436:6;21392:71;;21480:408;21644:2;21629:18;;21658:71;21633:9;21702:6;21658:71;;;21777:9;21771:4;21767:20;21762:2;21751:9;21747:18;21740:48;21802:76;21873:4;21864:6;21802:76;;21895:324;22041:2;22026:18;;22055:71;22030:9;22099:6;22055:71;;;22137:72;22205:2;22194:9;22190:18;22181:6;22137:72;;22226:627;22444:3;22429:19;;22459:71;22433:9;22503:6;22459:71;;;22541:72;22609:2;22598:9;22594:18;22585:6;22541:72;;;22624;22692:2;22681:9;22677:18;22668:6;22624:72;;;22744:9;22738:4;22734:20;22729:2;22718:9;22714:18;22707:48;22769:74;22838:4;22829:6;22769:74;;;22761:82;22415:438;-1:-1;;;;;;22415:438;22860:539;23058:3;23043:19;;23073:71;23047:9;23117:6;23073:71;;;23155:68;23219:2;23208:9;23204:18;23195:6;23155:68;;;23234:72;23302:2;23291:9;23287:18;23278:6;23234:72;;;23317;23385:2;23374:9;23370:18;23361:6;23317:72;;;23029:370;;;;;;;;23406:267;23551:2;23536:18;;23565:98;23540:9;23636:6;23565:98;;23952:407;24143:2;24157:47;;;24128:18;;24218:131;24128:18;24218:131;;24366:407;24557:2;24571:47;;;24542:18;;24632:131;24542:18;24632:131;;24780:407;24971:2;24985:47;;;24956:18;;25046:131;24956:18;25046:131;;25194:407;25385:2;25399:47;;;25370:18;;25460:131;25370:18;25460:131;;25608:407;25799:2;25813:47;;;25784:18;;25874:131;25784:18;25874:131;;26022:407;26213:2;26227:47;;;26198:18;;26288:131;26198:18;26288:131;;26436:407;26627:2;26641:47;;;26612:18;;26702:131;26612:18;26702:131;;26850:407;27041:2;27055:47;;;27026:18;;27116:131;27026:18;27116:131;;27264:407;27455:2;27469:47;;;27440:18;;27530:131;27440:18;27530:131;;27678:407;27869:2;27883:47;;;27854:18;;27944:131;27854:18;27944:131;;28312:523;28506:2;28491:18;;28520:71;28495:9;28564:6;28520:71;;;28639:9;28633:4;28629:20;28624:2;28613:9;28609:18;28602:48;28664:78;28737:4;28728:6;28664:78;;;28656:86;;28753:72;28821:2;28810:9;28806:18;28797:6;28753:72;;28842:547;29044:3;29029:19;;29059:71;29033:9;29103:6;29059:71;;;29141:72;29209:2;29198:9;29194:18;29185:6;29141:72;;29396:256;29458:2;29452:9;29484:17;;;-1:-1;;;;;29544:34;;29580:22;;;29541:62;29538:2;;;29616:1;29613;29606:12;29538:2;29632;29625:22;29436:216;;-1:-1;29436:216;29659:300;;-1:-1;;;;;29806:6;29803:30;29800:2;;;29846:1;29843;29836:12;29800:2;-1:-1;29881:4;29869:17;;;29934:15;;29737:222;29966:317;;-1:-1;;;;;30097:6;30094:30;30091:2;;;30137:1;30134;30127:12;30091:2;-1:-1;30268:4;30204;30181:17;;;;-1:-1;;30177:33;30258:15;;30028:255;30943:117;31026:12;;30997:63;31450:162;31552:19;;;31601:4;31592:14;;31545:67;31621:144;31756:3;31734:31;-1:-1;31734:31;31945:91;;32007:24;32025:5;32007:24;;32043:85;32109:13;32102:21;;32085:43;32421:81;32492:4;32481:16;;32464:38;32509:175;;32615:64;32673:5;32615:64;;33155:145;33236:6;33231:3;33226;33213:30;-1:-1;33292:1;33274:16;;33267:27;33206:94;33309:268;33374:1;33381:101;33395:6;33392:1;33389:13;33381:101;;;33462:11;;;33456:18;33443:11;;;33436:39;33417:2;33410:10;33381:101;;;33497:6;33494:1;33491:13;33488:2;;;33562:1;33553:6;33548:3;33544:16;33537:27;33488:2;33358:219;;;;;33585:97;33673:2;33653:14;-1:-1;;33649:28;;33633:49;33690:117;33759:24;33777:5;33759:24;;;33752:5;33749:35;33739:2;;33798:1;33795;33788:12;33814:111;33880:21;33895:5;33880:21;;33932:117;34001:24;34019:5;34001:24;;34056:113;34144:1;34137:5;34134:12;34124:2;;34160:1;34157;34150:12", + "source": "pragma solidity ^0.5.8;\r\npragma experimental ABIEncoderV2;\r\n\r\nimport \"openzeppelin-solidity/contracts/ownership/Ownable.sol\";\r\nimport \"iexec-doracle-base/contracts/IexecDoracle.sol\";\r\n\r\ncontract PriceOracle is Ownable, IexecDoracle\r\n{\r\n\tstruct TimedValue\r\n\t{\r\n\t\tbytes32 oracleCallID;\r\n\t\tuint256 date;\r\n\t\tuint256 value;\r\n\t\tstring details;\r\n\t}\r\n\r\n\tmapping(bytes32 => TimedValue) public values;\r\n\r\n\tevent ValueUpdated(\r\n\t\tbytes32 indexed id,\r\n\t\tbytes32 indexed oracleCallID,\r\n\t\tuint256 oldDate,\r\n\t\tuint256 oldValue,\r\n\t\tuint256 newDate,\r\n\t\tuint256 newValue\r\n\t);\r\n\r\n\t// Use _iexecHubAddr to force use of custom iexechub, leave 0x0 for autodetect\r\n\tconstructor(address _iexecHubAddr)\r\n\tpublic IexecDoracle(_iexecHubAddr)\r\n\t{}\r\n\r\n\tfunction updateEnv(\r\n\t address _authorizedApp\r\n\t, address _authorizedDataset\r\n\t, address _authorizedWorkerpool\r\n\t, bytes32 _requiredtag\r\n\t, uint256 _requiredtrust\r\n\t)\r\n\tpublic onlyOwner\r\n\t{\r\n\t\t_iexecDoracleUpdateSettings(_authorizedApp, _authorizedDataset, _authorizedWorkerpool, _requiredtag, _requiredtrust);\r\n\t}\r\n\r\n\tfunction decodeResults(bytes memory results)\r\n\tpublic pure returns(uint256, string memory, uint256)\r\n\t{ return abi.decode(results, (uint256, string, uint256)); }\r\n\r\n\tfunction processResult(bytes32 _oracleCallID)\r\n\tpublic\r\n\t{\r\n\t\tuint256 date;\r\n\t\tstring memory details;\r\n\t\tuint256 value;\r\n\r\n\t\t// Parse results\r\n\t\t(date, details, value) = decodeResults(_iexecDoracleGetVerifiedResult(_oracleCallID));\r\n\r\n\t\t// Process results\r\n\t\tbytes32 id = keccak256(bytes(details));\r\n\t\trequire(values[id].date < date, \"new-value-is-too-old\");\r\n\t\temit ValueUpdated(id, _oracleCallID, values[id].date, values[id].value, date, value);\r\n\t\tvalues[id].oracleCallID = _oracleCallID;\r\n\t\tvalues[id].date = date;\r\n\t\tvalues[id].value = value;\r\n\t\tvalues[id].details = details;\r\n\t}\r\n}\r\n", + "sourcePath": "C:/Users/Dustin/Documents/work/crypto/iexec/iexec-apps/ups-package-tracker/smart-contract/contracts/PriceOracle.sol", + "ast": { + "absolutePath": "/C/Users/Dustin/Documents/work/crypto/iexec/iexec-apps/ups-package-tracker/smart-contract/contracts/PriceOracle.sol", + "exportedSymbols": { + "PriceOracle": [ + 221 + ] + }, + "id": 222, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 45, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:1" + }, + { + "id": 46, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "25:33:1" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 47, + "nodeType": "ImportDirective", + "scope": 222, + "sourceUnit": 1839, + "src": "62:63:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-doracle-base/contracts/IexecDoracle.sol", + "file": "iexec-doracle-base/contracts/IexecDoracle.sol", + "id": 48, + "nodeType": "ImportDirective", + "scope": 222, + "sourceUnit": 433, + "src": "127:55:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 49, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1838, + "src": "210:7:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1838", + "typeString": "contract Ownable" + } + }, + "id": 50, + "nodeType": "InheritanceSpecifier", + "src": "210:7:1" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 51, + "name": "IexecDoracle", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 432, + "src": "219:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecDoracle_$432", + "typeString": "contract IexecDoracle" + } + }, + "id": 52, + "nodeType": "InheritanceSpecifier", + "src": "219:12:1" + } + ], + "contractDependencies": [ + 432, + 563, + 1218, + 1562, + 1838 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 221, + "linearizedBaseContracts": [ + 221, + 432, + 1562, + 1218, + 563, + 1838 + ], + "name": "PriceOracle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "PriceOracle.TimedValue", + "id": 61, + "members": [ + { + "constant": false, + "id": 54, + "name": "oracleCallID", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "262:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 53, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "262:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 56, + "name": "date", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "287:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 55, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "287:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 58, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "304:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 57, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "304:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 60, + "name": "details", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "322:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 59, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "322:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "TimedValue", + "nodeType": "StructDefinition", + "scope": 221, + "src": "237:105:1", + "visibility": "public" + }, + { + "constant": false, + "id": 65, + "name": "values", + "nodeType": "VariableDeclaration", + "scope": 221, + "src": "347:44:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue)" + }, + "typeName": { + "id": 64, + "keyType": { + "id": 62, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "355:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "347:30:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue)" + }, + "valueType": { + "contractScope": null, + "id": 63, + "name": "TimedValue", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 61, + "src": "366:10:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimedValue_$61_storage_ptr", + "typeString": "struct PriceOracle.TimedValue" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 79, + "name": "ValueUpdated", + "nodeType": "EventDefinition", + "parameters": { + "id": 78, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 67, + "indexed": true, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "420:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 66, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "420:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 69, + "indexed": true, + "name": "oracleCallID", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "443:28:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 68, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "443:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 71, + "indexed": false, + "name": "oldDate", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "476:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 70, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "476:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 73, + "indexed": false, + "name": "oldValue", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "496:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 72, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "496:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 75, + "indexed": false, + "name": "newDate", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "517:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "517:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 77, + "indexed": false, + "name": "newValue", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "537:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "537:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "415:142:1" + }, + "src": "397:161:1" + }, + { + "body": { + "id": 87, + "nodeType": "Block", + "src": "718:2:1", + "statements": [] + }, + "documentation": null, + "id": 88, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 84, + "name": "_iexecHubAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "701:13:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 85, + "modifierName": { + "argumentTypes": null, + "id": 83, + "name": "IexecDoracle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 432, + "src": "688:12:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecDoracle_$432_$", + "typeString": "type(contract IexecDoracle)" + } + }, + "nodeType": "ModifierInvocation", + "src": "688:27:1" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 82, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 81, + "name": "_iexecHubAddr", + "nodeType": "VariableDeclaration", + "scope": 88, + "src": "656:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 80, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "656:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "655:23:1" + }, + "returnParameters": { + "id": 86, + "nodeType": "ParameterList", + "parameters": [], + "src": "718:0:1" + }, + "scope": 221, + "src": "644:76:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 111, + "nodeType": "Block", + "src": "914:126:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 104, + "name": "_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 90, + "src": "947:14:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 105, + "name": "_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 92, + "src": "963:18:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 106, + "name": "_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 94, + "src": "983:21:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 107, + "name": "_requiredtag", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "1006:12:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 108, + "name": "_requiredtrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 98, + "src": "1020:14:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 103, + "name": "_iexecDoracleUpdateSettings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 302, + "src": "919:27:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (address,address,address,bytes32,uint256)" + } + }, + "id": 109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "919:116:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 110, + "nodeType": "ExpressionStatement", + "src": "919:116:1" + } + ] + }, + "documentation": null, + "id": 112, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 101, + "modifierName": { + "argumentTypes": null, + "id": 100, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "902:9:1", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "902:9:1" + } + ], + "name": "updateEnv", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 99, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 90, + "name": "_authorizedApp", + "nodeType": "VariableDeclaration", + "scope": 112, + "src": "749:22:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 89, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "749:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 92, + "name": "_authorizedDataset", + "nodeType": "VariableDeclaration", + "scope": 112, + "src": "776:26:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 91, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "776:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 94, + "name": "_authorizedWorkerpool", + "nodeType": "VariableDeclaration", + "scope": 112, + "src": "807:29:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 93, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "807:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 96, + "name": "_requiredtag", + "nodeType": "VariableDeclaration", + "scope": 112, + "src": "841:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 95, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "841:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 98, + "name": "_requiredtrust", + "nodeType": "VariableDeclaration", + "scope": 112, + "src": "866:22:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 97, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "866:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "743:149:1" + }, + "returnParameters": { + "id": 102, + "nodeType": "ParameterList", + "parameters": [], + "src": "914:0:1" + }, + "scope": 221, + "src": "725:315:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 132, + "nodeType": "Block", + "src": "1147:59:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 125, + "name": "results", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114, + "src": "1167:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 126, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1177:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + { + "argumentTypes": null, + "id": 127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1186:6:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": "string" + }, + { + "argumentTypes": null, + "id": 128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1194:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + } + ], + "id": 129, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1176:26:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_type$_t_uint256_$_$_t_type$_t_string_storage_ptr_$_$_t_type$_t_uint256_$_$", + "typeString": "tuple(type(uint256),type(string storage pointer),type(uint256))" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_tuple$_t_type$_t_uint256_$_$_t_type$_t_string_storage_ptr_$_$_t_type$_t_uint256_$_$", + "typeString": "tuple(type(uint256),type(string storage pointer),type(uint256))" + } + ], + "expression": { + "argumentTypes": null, + "id": 123, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1909, + "src": "1156:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "decode", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1156:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1156:47:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_$_t_uint256_$", + "typeString": "tuple(uint256,string memory,uint256)" + } + }, + "functionReturnParameters": 122, + "id": 131, + "nodeType": "Return", + "src": "1149:54:1" + } + ] + }, + "documentation": null, + "id": 133, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decodeResults", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 114, + "name": "results", + "nodeType": "VariableDeclaration", + "scope": 133, + "src": "1068:20:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 113, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1068:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1067:22:1" + }, + "returnParameters": { + "id": 122, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 117, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 133, + "src": "1112:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 116, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1112:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 119, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 133, + "src": "1121:13:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 118, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1121:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 121, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 133, + "src": "1136:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1136:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1111:33:1" + }, + "scope": 221, + "src": "1045:161:1", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 219, + "nodeType": "Block", + "src": "1268:559:1", + "statements": [ + { + "assignments": [ + 139 + ], + "declarations": [ + { + "constant": false, + "id": 139, + "name": "date", + "nodeType": "VariableDeclaration", + "scope": 219, + "src": "1273:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 138, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1273:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 140, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1273:18:1" + }, + { + "assignments": [ + 142 + ], + "declarations": [ + { + "constant": false, + "id": 142, + "name": "details", + "nodeType": "VariableDeclaration", + "scope": 219, + "src": "1296:21:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 141, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1296:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 143, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1296:21:1" + }, + { + "assignments": [ + 145 + ], + "declarations": [ + { + "constant": false, + "id": 145, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 219, + "src": "1322:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 144, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1322:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 146, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1322:19:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 147, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "1369:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 148, + "name": "details", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1375:7:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 149, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 145, + "src": "1384:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 150, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1368:22:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256,string memory,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 153, + "name": "_oracleCallID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 135, + "src": "1438:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 152, + "name": "_iexecDoracleGetVerifiedResult", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "1407:30:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes32) view returns (bytes memory)" + } + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1407:45:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 151, + "name": "decodeResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 133, + "src": "1393:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256,string memory,uint256)" + } + }, + "id": 155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1393:60:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256,string memory,uint256)" + } + }, + "src": "1368:85:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 157, + "nodeType": "ExpressionStatement", + "src": "1368:85:1" + }, + { + "assignments": [ + 159 + ], + "declarations": [ + { + "constant": false, + "id": 159, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 219, + "src": "1482:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 158, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1482:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 165, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 162, + "name": "details", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1511:7:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1505:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1505:14:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 160, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1916, + "src": "1495:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1495:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1482:38:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 167, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1533:6:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue storage ref)" + } + }, + "id": 169, + "indexExpression": { + "argumentTypes": null, + "id": 168, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1540:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1533:10:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimedValue_$61_storage", + "typeString": "struct PriceOracle.TimedValue storage ref" + } + }, + "id": 170, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 56, + "src": "1533:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 171, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "1551:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1533:22:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "6e65772d76616c75652d69732d746f6f2d6f6c64", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1557:22:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fc97ad8d11c53f6311f0c1c90c15cd6fe396a15804c0b0b2dae49e8f30fe5c5d", + "typeString": "literal_string \"new-value-is-too-old\"" + }, + "value": "new-value-is-too-old" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fc97ad8d11c53f6311f0c1c90c15cd6fe396a15804c0b0b2dae49e8f30fe5c5d", + "typeString": "literal_string \"new-value-is-too-old\"" + } + ], + "id": 166, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "1525:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1525:55:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 175, + "nodeType": "ExpressionStatement", + "src": "1525:55:1" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 177, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1603:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 178, + "name": "_oracleCallID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 135, + "src": "1607:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 179, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1622:6:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue storage ref)" + } + }, + "id": 181, + "indexExpression": { + "argumentTypes": null, + "id": 180, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1629:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1622:10:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimedValue_$61_storage", + "typeString": "struct PriceOracle.TimedValue storage ref" + } + }, + "id": 182, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 56, + "src": "1622:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 183, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1639:6:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue storage ref)" + } + }, + "id": 185, + "indexExpression": { + "argumentTypes": null, + "id": 184, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1646:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1639:10:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimedValue_$61_storage", + "typeString": "struct PriceOracle.TimedValue storage ref" + } + }, + "id": 186, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 58, + "src": "1639:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 187, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "1657:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 188, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 145, + "src": "1663:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 176, + "name": "ValueUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79, + "src": "1590:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,bytes32,uint256,uint256,uint256,uint256)" + } + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1590:79:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 190, + "nodeType": "EmitStatement", + "src": "1585:84:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 191, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1674:6:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue storage ref)" + } + }, + "id": 193, + "indexExpression": { + "argumentTypes": null, + "id": 192, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1681:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1674:10:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimedValue_$61_storage", + "typeString": "struct PriceOracle.TimedValue storage ref" + } + }, + "id": 194, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "oracleCallID", + "nodeType": "MemberAccess", + "referencedDeclaration": 54, + "src": "1674:23:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 195, + "name": "_oracleCallID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 135, + "src": "1700:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1674:39:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 197, + "nodeType": "ExpressionStatement", + "src": "1674:39:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 198, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1718:6:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue storage ref)" + } + }, + "id": 200, + "indexExpression": { + "argumentTypes": null, + "id": 199, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1725:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1718:10:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimedValue_$61_storage", + "typeString": "struct PriceOracle.TimedValue storage ref" + } + }, + "id": 201, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 56, + "src": "1718:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 202, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "1744:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1718:30:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 204, + "nodeType": "ExpressionStatement", + "src": "1718:30:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 205, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1753:6:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue storage ref)" + } + }, + "id": 207, + "indexExpression": { + "argumentTypes": null, + "id": 206, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1760:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1753:10:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimedValue_$61_storage", + "typeString": "struct PriceOracle.TimedValue storage ref" + } + }, + "id": 208, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 58, + "src": "1753:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 209, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 145, + "src": "1779:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1753:31:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 211, + "nodeType": "ExpressionStatement", + "src": "1753:31:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 212, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1789:6:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue storage ref)" + } + }, + "id": 214, + "indexExpression": { + "argumentTypes": null, + "id": 213, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1796:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1789:10:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimedValue_$61_storage", + "typeString": "struct PriceOracle.TimedValue storage ref" + } + }, + "id": 215, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "details", + "nodeType": "MemberAccess", + "referencedDeclaration": 60, + "src": "1789:18:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 216, + "name": "details", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1815:7:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1789:33:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 218, + "nodeType": "ExpressionStatement", + "src": "1789:33:1" + } + ] + }, + "documentation": null, + "id": 220, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 135, + "name": "_oracleCallID", + "nodeType": "VariableDeclaration", + "scope": 220, + "src": "1234:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 134, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1234:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1233:23:1" + }, + "returnParameters": { + "id": 137, + "nodeType": "ParameterList", + "parameters": [], + "src": "1268:0:1" + }, + "scope": 221, + "src": "1211:616:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 222, + "src": "186:1644:1" + } + ], + "src": "0:1832:1" + }, + "legacyAST": { + "absolutePath": "/C/Users/Dustin/Documents/work/crypto/iexec/iexec-apps/ups-package-tracker/smart-contract/contracts/PriceOracle.sol", + "exportedSymbols": { + "PriceOracle": [ + 221 + ] + }, + "id": 222, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 45, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:1" + }, + { + "id": 46, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "25:33:1" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 47, + "nodeType": "ImportDirective", + "scope": 222, + "sourceUnit": 1839, + "src": "62:63:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-doracle-base/contracts/IexecDoracle.sol", + "file": "iexec-doracle-base/contracts/IexecDoracle.sol", + "id": 48, + "nodeType": "ImportDirective", + "scope": 222, + "sourceUnit": 433, + "src": "127:55:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 49, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1838, + "src": "210:7:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1838", + "typeString": "contract Ownable" + } + }, + "id": 50, + "nodeType": "InheritanceSpecifier", + "src": "210:7:1" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 51, + "name": "IexecDoracle", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 432, + "src": "219:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecDoracle_$432", + "typeString": "contract IexecDoracle" + } + }, + "id": 52, + "nodeType": "InheritanceSpecifier", + "src": "219:12:1" + } + ], + "contractDependencies": [ + 432, + 563, + 1218, + 1562, + 1838 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 221, + "linearizedBaseContracts": [ + 221, + 432, + 1562, + 1218, + 563, + 1838 + ], + "name": "PriceOracle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "PriceOracle.TimedValue", + "id": 61, + "members": [ + { + "constant": false, + "id": 54, + "name": "oracleCallID", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "262:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 53, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "262:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 56, + "name": "date", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "287:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 55, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "287:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 58, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "304:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 57, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "304:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 60, + "name": "details", + "nodeType": "VariableDeclaration", + "scope": 61, + "src": "322:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 59, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "322:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "TimedValue", + "nodeType": "StructDefinition", + "scope": 221, + "src": "237:105:1", + "visibility": "public" + }, + { + "constant": false, + "id": 65, + "name": "values", + "nodeType": "VariableDeclaration", + "scope": 221, + "src": "347:44:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue)" + }, + "typeName": { + "id": 64, + "keyType": { + "id": 62, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "355:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "347:30:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue)" + }, + "valueType": { + "contractScope": null, + "id": 63, + "name": "TimedValue", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 61, + "src": "366:10:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimedValue_$61_storage_ptr", + "typeString": "struct PriceOracle.TimedValue" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 79, + "name": "ValueUpdated", + "nodeType": "EventDefinition", + "parameters": { + "id": 78, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 67, + "indexed": true, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "420:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 66, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "420:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 69, + "indexed": true, + "name": "oracleCallID", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "443:28:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 68, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "443:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 71, + "indexed": false, + "name": "oldDate", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "476:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 70, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "476:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 73, + "indexed": false, + "name": "oldValue", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "496:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 72, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "496:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 75, + "indexed": false, + "name": "newDate", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "517:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 74, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "517:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 77, + "indexed": false, + "name": "newValue", + "nodeType": "VariableDeclaration", + "scope": 79, + "src": "537:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 76, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "537:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "415:142:1" + }, + "src": "397:161:1" + }, + { + "body": { + "id": 87, + "nodeType": "Block", + "src": "718:2:1", + "statements": [] + }, + "documentation": null, + "id": 88, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 84, + "name": "_iexecHubAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "701:13:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 85, + "modifierName": { + "argumentTypes": null, + "id": 83, + "name": "IexecDoracle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 432, + "src": "688:12:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecDoracle_$432_$", + "typeString": "type(contract IexecDoracle)" + } + }, + "nodeType": "ModifierInvocation", + "src": "688:27:1" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 82, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 81, + "name": "_iexecHubAddr", + "nodeType": "VariableDeclaration", + "scope": 88, + "src": "656:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 80, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "656:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "655:23:1" + }, + "returnParameters": { + "id": 86, + "nodeType": "ParameterList", + "parameters": [], + "src": "718:0:1" + }, + "scope": 221, + "src": "644:76:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 111, + "nodeType": "Block", + "src": "914:126:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 104, + "name": "_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 90, + "src": "947:14:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 105, + "name": "_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 92, + "src": "963:18:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 106, + "name": "_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 94, + "src": "983:21:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 107, + "name": "_requiredtag", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "1006:12:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 108, + "name": "_requiredtrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 98, + "src": "1020:14:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 103, + "name": "_iexecDoracleUpdateSettings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 302, + "src": "919:27:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (address,address,address,bytes32,uint256)" + } + }, + "id": 109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "919:116:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 110, + "nodeType": "ExpressionStatement", + "src": "919:116:1" + } + ] + }, + "documentation": null, + "id": 112, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 101, + "modifierName": { + "argumentTypes": null, + "id": 100, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "902:9:1", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "902:9:1" + } + ], + "name": "updateEnv", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 99, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 90, + "name": "_authorizedApp", + "nodeType": "VariableDeclaration", + "scope": 112, + "src": "749:22:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 89, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "749:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 92, + "name": "_authorizedDataset", + "nodeType": "VariableDeclaration", + "scope": 112, + "src": "776:26:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 91, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "776:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 94, + "name": "_authorizedWorkerpool", + "nodeType": "VariableDeclaration", + "scope": 112, + "src": "807:29:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 93, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "807:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 96, + "name": "_requiredtag", + "nodeType": "VariableDeclaration", + "scope": 112, + "src": "841:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 95, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "841:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 98, + "name": "_requiredtrust", + "nodeType": "VariableDeclaration", + "scope": 112, + "src": "866:22:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 97, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "866:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "743:149:1" + }, + "returnParameters": { + "id": 102, + "nodeType": "ParameterList", + "parameters": [], + "src": "914:0:1" + }, + "scope": 221, + "src": "725:315:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 132, + "nodeType": "Block", + "src": "1147:59:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 125, + "name": "results", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114, + "src": "1167:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 126, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1177:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + { + "argumentTypes": null, + "id": 127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1186:6:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": "string" + }, + { + "argumentTypes": null, + "id": 128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1194:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + } + ], + "id": 129, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1176:26:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_type$_t_uint256_$_$_t_type$_t_string_storage_ptr_$_$_t_type$_t_uint256_$_$", + "typeString": "tuple(type(uint256),type(string storage pointer),type(uint256))" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_tuple$_t_type$_t_uint256_$_$_t_type$_t_string_storage_ptr_$_$_t_type$_t_uint256_$_$", + "typeString": "tuple(type(uint256),type(string storage pointer),type(uint256))" + } + ], + "expression": { + "argumentTypes": null, + "id": 123, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1909, + "src": "1156:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "decode", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1156:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1156:47:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_$_t_uint256_$", + "typeString": "tuple(uint256,string memory,uint256)" + } + }, + "functionReturnParameters": 122, + "id": 131, + "nodeType": "Return", + "src": "1149:54:1" + } + ] + }, + "documentation": null, + "id": 133, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decodeResults", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 114, + "name": "results", + "nodeType": "VariableDeclaration", + "scope": 133, + "src": "1068:20:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 113, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1068:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1067:22:1" + }, + "returnParameters": { + "id": 122, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 117, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 133, + "src": "1112:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 116, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1112:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 119, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 133, + "src": "1121:13:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 118, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1121:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 121, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 133, + "src": "1136:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 120, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1136:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1111:33:1" + }, + "scope": 221, + "src": "1045:161:1", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 219, + "nodeType": "Block", + "src": "1268:559:1", + "statements": [ + { + "assignments": [ + 139 + ], + "declarations": [ + { + "constant": false, + "id": 139, + "name": "date", + "nodeType": "VariableDeclaration", + "scope": 219, + "src": "1273:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 138, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1273:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 140, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1273:18:1" + }, + { + "assignments": [ + 142 + ], + "declarations": [ + { + "constant": false, + "id": 142, + "name": "details", + "nodeType": "VariableDeclaration", + "scope": 219, + "src": "1296:21:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 141, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1296:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 143, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1296:21:1" + }, + { + "assignments": [ + 145 + ], + "declarations": [ + { + "constant": false, + "id": 145, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 219, + "src": "1322:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 144, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1322:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 146, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1322:19:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 147, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "1369:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 148, + "name": "details", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1375:7:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 149, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 145, + "src": "1384:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 150, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1368:22:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256,string memory,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 153, + "name": "_oracleCallID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 135, + "src": "1438:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 152, + "name": "_iexecDoracleGetVerifiedResult", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 431, + "src": "1407:30:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes32) view returns (bytes memory)" + } + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1407:45:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 151, + "name": "decodeResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 133, + "src": "1393:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256,string memory,uint256)" + } + }, + "id": 155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1393:60:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256,string memory,uint256)" + } + }, + "src": "1368:85:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 157, + "nodeType": "ExpressionStatement", + "src": "1368:85:1" + }, + { + "assignments": [ + 159 + ], + "declarations": [ + { + "constant": false, + "id": 159, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 219, + "src": "1482:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 158, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1482:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 165, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 162, + "name": "details", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1511:7:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1505:5:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1505:14:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 160, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1916, + "src": "1495:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1495:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1482:38:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 167, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1533:6:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue storage ref)" + } + }, + "id": 169, + "indexExpression": { + "argumentTypes": null, + "id": 168, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1540:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1533:10:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimedValue_$61_storage", + "typeString": "struct PriceOracle.TimedValue storage ref" + } + }, + "id": 170, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 56, + "src": "1533:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 171, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "1551:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1533:22:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "6e65772d76616c75652d69732d746f6f2d6f6c64", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1557:22:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fc97ad8d11c53f6311f0c1c90c15cd6fe396a15804c0b0b2dae49e8f30fe5c5d", + "typeString": "literal_string \"new-value-is-too-old\"" + }, + "value": "new-value-is-too-old" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fc97ad8d11c53f6311f0c1c90c15cd6fe396a15804c0b0b2dae49e8f30fe5c5d", + "typeString": "literal_string \"new-value-is-too-old\"" + } + ], + "id": 166, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1925, + 1926 + ], + "referencedDeclaration": 1926, + "src": "1525:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1525:55:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 175, + "nodeType": "ExpressionStatement", + "src": "1525:55:1" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 177, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1603:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 178, + "name": "_oracleCallID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 135, + "src": "1607:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 179, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1622:6:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue storage ref)" + } + }, + "id": 181, + "indexExpression": { + "argumentTypes": null, + "id": 180, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1629:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1622:10:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimedValue_$61_storage", + "typeString": "struct PriceOracle.TimedValue storage ref" + } + }, + "id": 182, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 56, + "src": "1622:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 183, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1639:6:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue storage ref)" + } + }, + "id": 185, + "indexExpression": { + "argumentTypes": null, + "id": 184, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1646:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1639:10:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimedValue_$61_storage", + "typeString": "struct PriceOracle.TimedValue storage ref" + } + }, + "id": 186, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 58, + "src": "1639:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 187, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "1657:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 188, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 145, + "src": "1663:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 176, + "name": "ValueUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 79, + "src": "1590:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,bytes32,uint256,uint256,uint256,uint256)" + } + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1590:79:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 190, + "nodeType": "EmitStatement", + "src": "1585:84:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 191, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1674:6:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue storage ref)" + } + }, + "id": 193, + "indexExpression": { + "argumentTypes": null, + "id": 192, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1681:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1674:10:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimedValue_$61_storage", + "typeString": "struct PriceOracle.TimedValue storage ref" + } + }, + "id": 194, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "oracleCallID", + "nodeType": "MemberAccess", + "referencedDeclaration": 54, + "src": "1674:23:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 195, + "name": "_oracleCallID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 135, + "src": "1700:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1674:39:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 197, + "nodeType": "ExpressionStatement", + "src": "1674:39:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 198, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1718:6:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue storage ref)" + } + }, + "id": 200, + "indexExpression": { + "argumentTypes": null, + "id": 199, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1725:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1718:10:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimedValue_$61_storage", + "typeString": "struct PriceOracle.TimedValue storage ref" + } + }, + "id": 201, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 56, + "src": "1718:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 202, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "1744:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1718:30:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 204, + "nodeType": "ExpressionStatement", + "src": "1718:30:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 205, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1753:6:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue storage ref)" + } + }, + "id": 207, + "indexExpression": { + "argumentTypes": null, + "id": 206, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1760:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1753:10:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimedValue_$61_storage", + "typeString": "struct PriceOracle.TimedValue storage ref" + } + }, + "id": 208, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 58, + "src": "1753:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 209, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 145, + "src": "1779:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1753:31:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 211, + "nodeType": "ExpressionStatement", + "src": "1753:31:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 212, + "name": "values", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1789:6:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_TimedValue_$61_storage_$", + "typeString": "mapping(bytes32 => struct PriceOracle.TimedValue storage ref)" + } + }, + "id": 214, + "indexExpression": { + "argumentTypes": null, + "id": 213, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1796:2:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1789:10:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TimedValue_$61_storage", + "typeString": "struct PriceOracle.TimedValue storage ref" + } + }, + "id": 215, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "details", + "nodeType": "MemberAccess", + "referencedDeclaration": 60, + "src": "1789:18:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 216, + "name": "details", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "1815:7:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1789:33:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 218, + "nodeType": "ExpressionStatement", + "src": "1789:33:1" + } + ] + }, + "documentation": null, + "id": 220, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 135, + "name": "_oracleCallID", + "nodeType": "VariableDeclaration", + "scope": 220, + "src": "1234:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 134, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1234:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1233:23:1" + }, + "returnParameters": { + "id": 137, + "nodeType": "ParameterList", + "parameters": [], + "src": "1268:0:1" + }, + "scope": 221, + "src": "1211:616:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 222, + "src": "186:1644:1" + } + ], + "src": "0:1832:1" + }, + "compiler": { + "name": "solc", + "version": "0.5.10+commit.5a6ea5b1.Emscripten.clang" + }, + "networks": { + "42": { + "events": { + "0xebbbe9945700dfb7729b63e18aca7de43331e17e61bcfa214a3e18234f1e12b4": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "id", + "type": "bytes32" + }, + { + "indexed": true, + "name": "oracleCallID", + "type": "bytes32" + }, + { + "indexed": false, + "name": "oldDate", + "type": "uint256" + }, + { + "indexed": false, + "name": "oldValue", + "type": "uint256" + }, + { + "indexed": false, + "name": "newDate", + "type": "uint256" + }, + { + "indexed": false, + "name": "newValue", + "type": "uint256" + } + ], + "name": "ValueUpdated", + "type": "event", + "signature": "0xebbbe9945700dfb7729b63e18aca7de43331e17e61bcfa214a3e18234f1e12b4" + }, + "0x28e9507238ce29efc9797f8791b89bf517f253f275a4ab2688a7cd108e40bc7a": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "doracleCallId", + "type": "bytes32" + } + ], + "name": "ResultReady", + "type": "event", + "signature": "0x28e9507238ce29efc9797f8791b89bf517f253f275a4ab2688a7cd108e40bc7a" + }, + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event", + "signature": "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0" + } + }, + "links": {}, + "address": "0xB1c190eA224a953fB3fA1e423ddc4110362a4A01", + "transactionHash": "0x14420e54e2f19fd1af43468afc35492189fc72990b200420773b895fc65901ac" + } + }, + "schemaVersion": "3.0.16", + "updatedAt": "2019-10-22T01:27:13.482Z", + "devdoc": { + "methods": { + "isOwner()": { + "details": "Returns true if the caller is the current owner." + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * > Note: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + } + } + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/build/contracts/SignatureVerifier.json b/ups-package-tracker/smart-contract/build/contracts/SignatureVerifier.json new file mode 100644 index 00000000..1c42a601 --- /dev/null +++ b/ups-package-tracker/smart-contract/build/contracts/SignatureVerifier.json @@ -0,0 +1,4062 @@ +{ + "contractName": "SignatureVerifier", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_identity", + "type": "address" + }, + { + "name": "_hash", + "type": "bytes32" + }, + { + "name": "_signature", + "type": "bytes" + } + ], + "name": "verifySignature", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.10+commit.5a6ea5b1\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"_identity\",\"type\":\"address\"},{\"name\":\"_hash\",\"type\":\"bytes32\"},{\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"verifySignature\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"iexec-poco/contracts/SignatureVerifier.sol\":\"SignatureVerifier\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-poco/contracts/SignatureVerifier.sol\":{\"keccak256\":\"0x2e26922d87f29c337002a30babc615638cbee6cd87ed599f6ed90e67971e86a0\",\"urls\":[\"bzzr://1528fea12280336ed0c1c124746a4ce238c21f18c5d6a9323f3917546bd1e2a2\",\"dweb:/ipfs/QmWLU2j8xW9R1QGTb91bXefcpm5vdQ5dXeQFjA5pBp2BRv\"]},\"iexec-solidity/contracts/ERC1271/IERC1271.sol\":{\"keccak256\":\"0x90daa992bd38a335a1e6503b4b815b5aa5315366637dc0cb0b98e7f39096c842\",\"urls\":[\"bzzr://9c88f54779ee800bd2235d96ea251b3c80e45d4c127db93a9a71a8b9235becb2\",\"dweb:/ipfs/QmYUozJfjw7r62NVhfu2p9i9iREcSygNx3pW6YvxpTXx7J\"]},\"iexec-solidity/contracts/ERC734_KeyManager/IERC734.sol\":{\"keccak256\":\"0x46532e2d419a87bf604b354318a19d56a3dc25fa7ad6f94c77bd2aa8ce54a755\",\"urls\":[\"bzzr://8ada95bcec956bdd6e7c4e3ec840e9e13cfc04584668d0df2c00459f94d74541\",\"dweb:/ipfs/QmPMM8Prd6iG2g23gbu3arBiy8F8CiDuEZMJPd99WYpXbf\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b506104c7806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80630175199814610030575b600080fd5b61004361003e366004610244565b610059565b6040516100509190610328565b60405180910390f35b60006100668484846100f4565b806100ea5750604051630b135d3f60e11b81526001600160a01b03851690631626ba7e9061009a9086908690600401610336565b60206040518083038186803b1580156100b257600080fd5b505afa1580156100c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506100ea91908101906102a9565b90505b9392505050565b600080600080845160411461010f57600093505050506100ed565b50505060208201516040830151606084015160001a601b81101561013157601b015b8060ff16601b1415801561014957508060ff16601c14155b1561015a57600093505050506100ed565b6001868285856040516000815260200160405260405161017d9493929190610356565b6020604051602081039080840390855afa15801561019f573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b80356101d48161045b565b92915050565b80516101d481610472565b80356101d48161047b565b600082601f83011261020157600080fd5b813561021461020f826103bb565b610394565b9150808252602083016020830185838301111561023057600080fd5b61023b838284610415565b50505092915050565b60008060006060848603121561025957600080fd5b600061026586866101c9565b9350506020610276868287016101e5565b925050604084013567ffffffffffffffff81111561029357600080fd5b61029f868287016101f0565b9150509250925092565b6000602082840312156102bb57600080fd5b60006102c784846101da565b949350505050565b6102d8816103fb565b82525050565b6102d881610400565b60006102f2826103e3565b6102fc81856103e7565b935061030c818560208601610421565b61031581610451565b9093019392505050565b6102d88161040f565b602081016101d482846102cf565b6040810161034482856102de565b81810360208301526100ea81846102e7565b6080810161036482876102de565b610371602083018661031f565b61037e60408301856102de565b61038b60608301846102de565b95945050505050565b60405181810167ffffffffffffffff811182821017156103b357600080fd5b604052919050565b600067ffffffffffffffff8211156103d257600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b60006101d482610403565b151590565b90565b6001600160a01b031690565b60ff1690565b82818337506000910152565b60005b8381101561043c578181015183820152602001610424565b8381111561044b576000848401525b50505050565b601f01601f191690565b610464816103f0565b811461046f57600080fd5b50565b610464816103fb565b6104648161040056fea365627a7a723058206320267314cf71a422594aab5dc0ef4fd9212e56ba27bccfb388eb032bd2b55a6c6578706572696d656e74616cf564736f6c634300050a0040", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80630175199814610030575b600080fd5b61004361003e366004610244565b610059565b6040516100509190610328565b60405180910390f35b60006100668484846100f4565b806100ea5750604051630b135d3f60e11b81526001600160a01b03851690631626ba7e9061009a9086908690600401610336565b60206040518083038186803b1580156100b257600080fd5b505afa1580156100c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506100ea91908101906102a9565b90505b9392505050565b600080600080845160411461010f57600093505050506100ed565b50505060208201516040830151606084015160001a601b81101561013157601b015b8060ff16601b1415801561014957508060ff16601c14155b1561015a57600093505050506100ed565b6001868285856040516000815260200160405260405161017d9493929190610356565b6020604051602081039080840390855afa15801561019f573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b80356101d48161045b565b92915050565b80516101d481610472565b80356101d48161047b565b600082601f83011261020157600080fd5b813561021461020f826103bb565b610394565b9150808252602083016020830185838301111561023057600080fd5b61023b838284610415565b50505092915050565b60008060006060848603121561025957600080fd5b600061026586866101c9565b9350506020610276868287016101e5565b925050604084013567ffffffffffffffff81111561029357600080fd5b61029f868287016101f0565b9150509250925092565b6000602082840312156102bb57600080fd5b60006102c784846101da565b949350505050565b6102d8816103fb565b82525050565b6102d881610400565b60006102f2826103e3565b6102fc81856103e7565b935061030c818560208601610421565b61031581610451565b9093019392505050565b6102d88161040f565b602081016101d482846102cf565b6040810161034482856102de565b81810360208301526100ea81846102e7565b6080810161036482876102de565b610371602083018661031f565b61037e60408301856102de565b61038b60608301846102de565b95945050505050565b60405181810167ffffffffffffffff811182821017156103b357600080fd5b604052919050565b600067ffffffffffffffff8211156103d257600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b60006101d482610403565b151590565b90565b6001600160a01b031690565b60ff1690565b82818337506000910152565b60005b8381101561043c578181015183820152602001610424565b8381111561044b576000848401525b50505050565b601f01601f191690565b610464816103f0565b811461046f57600080fd5b50565b610464816103fb565b6104648161040056fea365627a7a723058206320267314cf71a422594aab5dc0ef4fd9212e56ba27bccfb388eb032bd2b55a6c6578706572696d656e74616cf564736f6c634300050a0040", + "sourceMap": "181:1346:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;181:1346:6;;;;;;;", + "deployedSourceMap": "181:1346:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;181:1346:6;;;;;;;;;;;;;;;;;;;609:246;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;732:4;750:42;763:9;774:5;781:10;750:12;:42::i;:::-;:101;;;-1:-1:-1;796:55:6;;-1:-1:-1;;;796:55:6;;-1:-1:-1;;;;;796:36:6;;;;;:55;;833:5;;840:10;;796:55;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;796:55:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;796:55:6;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;796:55:6;;;;;;;;;743:108;;609:246;;;;;;:::o;923:435::-;1021:4;1032:9;1045;1058;1075:4;:11;1090:2;1075:17;1071:35;;1101:5;1094:12;;;;;;;1071:35;-1:-1:-1;;;1155:4:6;1145:15;;1139:22;1194:4;1184:15;;1178:22;1233:4;1223:15;;1217:22;1214:1;1209:31;1255:2;1251:6;;1247:19;;;1264:2;1259:7;1247:19;1274:1;:7;;1279:2;1274:7;;:18;;;;;1285:1;:7;;1290:2;1285:7;;1274:18;1270:36;;;1301:5;1294:12;;;;;;;1270:36;1330:24;1340:4;1346:1;1349;1352;1330:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1330:24:6;;;;;;;;-1:-1:-1;;;;;1317:37:6;:9;-1:-1:-1;;;;;1317:37:6;;1310:44;;;;;923:435;;;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;;57:78;;;;;142:128;217:13;;235:30;217:13;235:30;;277:130;344:20;;369:33;344:20;369:33;;415:440;;516:3;509:4;501:6;497:17;493:27;483:2;;534:1;531;524:12;483:2;571:6;558:20;593:64;608:48;649:6;608:48;;;593:64;;;584:73;;677:6;670:5;663:21;713:4;705:6;701:17;746:4;739:5;735:16;781:3;772:6;767:3;763:16;760:25;757:2;;;798:1;795;788:12;757:2;808:41;842:6;837:3;832;808:41;;;476:379;;;;;;;;863:595;;;;1010:2;998:9;989:7;985:23;981:32;978:2;;;1026:1;1023;1016:12;978:2;1061:1;1078:53;1123:7;1103:9;1078:53;;;1068:63;;1040:97;1168:2;1186:53;1231:7;1222:6;1211:9;1207:22;1186:53;;;1176:63;;1147:98;1304:2;1293:9;1289:18;1276:32;1328:18;1320:6;1317:30;1314:2;;;1360:1;1357;1350:12;1314:2;1380:62;1434:7;1425:6;1414:9;1410:22;1380:62;;;1370:72;;1255:193;972:486;;;;;;1465:257;;1577:2;1565:9;1556:7;1552:23;1548:32;1545:2;;;1593:1;1590;1583:12;1545:2;1628:1;1645:61;1698:7;1678:9;1645:61;;;1635:71;1539:183;-1:-1;;;;1539:183;1729:104;1806:21;1821:5;1806:21;;;1801:3;1794:34;1788:45;;;1840:113;1923:24;1941:5;1923:24;;1960:343;;2070:38;2102:5;2070:38;;;2120:70;2183:6;2178:3;2120:70;;;2113:77;;2195:52;2240:6;2235:3;2228:4;2221:5;2217:16;2195:52;;;2268:29;2290:6;2268:29;;;2259:39;;;;2050:253;-1:-1;;;2050:253;2310:107;2389:22;2405:5;2389:22;;2424:201;2536:2;2521:18;;2550:65;2525:9;2588:6;2550:65;;2632:408;2796:2;2781:18;;2810:71;2785:9;2854:6;2810:71;;;2929:9;2923:4;2919:20;2914:2;2903:9;2899:18;2892:48;2954:76;3025:4;3016:6;2954:76;;3047:539;3245:3;3230:19;;3260:71;3234:9;3304:6;3260:71;;;3342:68;3406:2;3395:9;3391:18;3382:6;3342:68;;;3421:72;3489:2;3478:9;3474:18;3465:6;3421:72;;;3504;3572:2;3561:9;3557:18;3548:6;3504:72;;;3216:370;;;;;;;;3593:256;3655:2;3649:9;3681:17;;;3756:18;3741:34;;3777:22;;;3738:62;3735:2;;;3813:1;3810;3803:12;3735:2;3829;3822:22;3633:216;;-1:-1;3633:216;3856:321;;3999:18;3991:6;3988:30;3985:2;;;4031:1;4028;4021:12;3985:2;-1:-1;4162:4;4098;4075:17;;;;-1:-1;;4071:33;4152:15;;3922:255;4184:121;4271:12;;4242:63;4313:162;4415:19;;;4464:4;4455:14;;4408:67;4483:91;;4545:24;4563:5;4545:24;;4581:85;4647:13;4640:21;;4623:43;4673:72;4735:5;4718:27;4752:121;-1:-1;;;;;4814:54;;4797:76;4880:81;4951:4;4940:16;;4923:38;4969:145;5050:6;5045:3;5040;5027:30;-1:-1;5106:1;5088:16;;5081:27;5020:94;5123:268;5188:1;5195:101;5209:6;5206:1;5203:13;5195:101;;;5276:11;;;5270:18;5257:11;;;5250:39;5231:2;5224:10;5195:101;;;5311:6;5308:1;5305:13;5302:2;;;5376:1;5367:6;5362:3;5358:16;5351:27;5302:2;5172:219;;;;;5399:97;5487:2;5467:14;-1:-1;;5463:28;;5447:49;5504:117;5573:24;5591:5;5573:24;;;5566:5;5563:35;5553:2;;5612:1;5609;5602:12;5553:2;5547:74;;5628:111;5694:21;5709:5;5694:21;;5746:117;5815:24;5833:5;5815:24;", + "source": "pragma solidity ^0.5.8;\npragma experimental ABIEncoderV2;\n\nimport \"iexec-solidity/contracts/ERC734_KeyManager/IERC734.sol\";\nimport \"iexec-solidity/contracts/ERC1271/IERC1271.sol\";\n\ncontract SignatureVerifier\n{\n\tfunction addrToKey(address _addr)\n\tinternal pure returns (bytes32)\n\t{\n\t\treturn bytes32(uint256(_addr));\n\t}\n\n\tfunction checkIdentity(address _identity, address _candidate, uint256 _purpose)\n\tinternal view returns (bool valid)\n\t{\n\t\treturn _identity == _candidate || IERC734(_identity).keyHasPurpose(addrToKey(_candidate), _purpose); // Simple address || ERC 734 identity contract\n\t}\n\n\t// internal ?\n\tfunction verifySignature(\n\t\taddress _identity,\n\t\tbytes32 _hash,\n\t\tbytes memory _signature)\n\tpublic view returns (bool)\n\t{\n\t\treturn recoverCheck(_identity, _hash, _signature) || IERC1271(_identity).isValidSignature(_hash, _signature);\n\t}\n\n\t// recoverCheck does not revert if signature has invalid format\n\tfunction recoverCheck(address candidate, bytes32 hash, bytes memory sign)\n\tinternal pure returns (bool)\n\t{\n\t\tbytes32 r;\n\t\tbytes32 s;\n\t\tuint8 v;\n\t\tif (sign.length != 65) return false;\n\t\tassembly\n\t\t{\n\t\t\tr := mload(add(sign, 0x20))\n\t\t\ts := mload(add(sign, 0x40))\n\t\t\tv := byte(0, mload(add(sign, 0x60)))\n\t\t}\n\t\tif (v < 27) v += 27;\n\t\tif (v != 27 && v != 28) return false;\n\t\treturn candidate == ecrecover(hash, v, r, s);\n\t}\n\n\tfunction toEthSignedMessageHash(bytes32 hash)\n\tinternal pure returns (bytes32)\n\t{\n\t\treturn keccak256(abi.encodePacked(\"\\x19Ethereum Signed Message:\\n32\", hash));\n\t}\n}\n", + "sourcePath": "iexec-poco/contracts/SignatureVerifier.sol", + "ast": { + "absolutePath": "iexec-poco/contracts/SignatureVerifier.sol", + "exportedSymbols": { + "SignatureVerifier": [ + 1218 + ] + }, + "id": 1219, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1076, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:6" + }, + { + "id": 1077, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:6" + }, + { + "absolutePath": "iexec-solidity/contracts/ERC734_KeyManager/IERC734.sol", + "file": "iexec-solidity/contracts/ERC734_KeyManager/IERC734.sol", + "id": 1078, + "nodeType": "ImportDirective", + "scope": 1219, + "sourceUnit": 1728, + "src": "59:64:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-solidity/contracts/ERC1271/IERC1271.sol", + "file": "iexec-solidity/contracts/ERC1271/IERC1271.sol", + "id": 1079, + "nodeType": "ImportDirective", + "scope": 1219, + "sourceUnit": 1586, + "src": "124:55:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1218, + "linearizedBaseContracts": [ + 1218 + ], + "name": "SignatureVerifier", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1092, + "nodeType": "Block", + "src": "279:38:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1088, + "name": "_addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1081, + "src": "306:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1087, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "298:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 1089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "298:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "290:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 1090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "290:23:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1085, + "id": 1091, + "nodeType": "Return", + "src": "283:30:6" + } + ] + }, + "documentation": null, + "id": 1093, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addrToKey", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1082, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1081, + "name": "_addr", + "nodeType": "VariableDeclaration", + "scope": 1093, + "src": "230:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1080, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "230:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "229:15:6" + }, + "returnParameters": { + "id": 1085, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1084, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1093, + "src": "269:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1083, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "269:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "268:9:6" + }, + "scope": 1218, + "src": "211:106:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1118, + "nodeType": "Block", + "src": "437:154:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1104, + "name": "_identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "448:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1105, + "name": "_candidate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1097, + "src": "461:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "448:23:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1112, + "name": "_candidate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1097, + "src": "518:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1111, + "name": "addrToKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1093, + "src": "508:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", + "typeString": "function (address) pure returns (bytes32)" + } + }, + "id": 1113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "508:21:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1114, + "name": "_purpose", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1099, + "src": "531:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1108, + "name": "_identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "483:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1107, + "name": "IERC734", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1727, + "src": "475:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC734_$1727_$", + "typeString": "type(contract IERC734)" + } + }, + "id": 1109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "475:18:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC734_$1727", + "typeString": "contract IERC734" + } + }, + "id": 1110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "keyHasPurpose", + "nodeType": "MemberAccess", + "referencedDeclaration": 1678, + "src": "475:32:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (bytes32,uint256) view external returns (bool)" + } + }, + "id": 1115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "475:65:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "448:92:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1103, + "id": 1117, + "nodeType": "Return", + "src": "441:99:6" + } + ] + }, + "documentation": null, + "id": 1119, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "checkIdentity", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1095, + "name": "_identity", + "nodeType": "VariableDeclaration", + "scope": 1119, + "src": "343:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1094, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "343:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1097, + "name": "_candidate", + "nodeType": "VariableDeclaration", + "scope": 1119, + "src": "362:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "362:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1099, + "name": "_purpose", + "nodeType": "VariableDeclaration", + "scope": 1119, + "src": "382:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1098, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "382:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "342:57:6" + }, + "returnParameters": { + "id": 1103, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1102, + "name": "valid", + "nodeType": "VariableDeclaration", + "scope": 1119, + "src": "424:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1101, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "424:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "423:12:6" + }, + "scope": 1218, + "src": "320:271:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1144, + "nodeType": "Block", + "src": "739:116:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1131, + "name": "_identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "763:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1132, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1123, + "src": "774:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1133, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1125, + "src": "781:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1130, + "name": "recoverCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1201, + "src": "750:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,bytes32,bytes memory) pure returns (bool)" + } + }, + "id": 1134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "750:42:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1139, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1123, + "src": "833:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1140, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1125, + "src": "840:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1136, + "name": "_identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "805:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1135, + "name": "IERC1271", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1585, + "src": "796:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1271_$1585_$", + "typeString": "type(contract IERC1271)" + } + }, + "id": 1137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "796:19:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1271_$1585", + "typeString": "contract IERC1271" + } + }, + "id": 1138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isValidSignature", + "nodeType": "MemberAccess", + "referencedDeclaration": 1584, + "src": "796:36:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32,bytes memory) view external returns (bool)" + } + }, + "id": 1141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "796:55:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "750:101:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1129, + "id": 1143, + "nodeType": "Return", + "src": "743:108:6" + } + ] + }, + "documentation": null, + "id": 1145, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifySignature", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1126, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1121, + "name": "_identity", + "nodeType": "VariableDeclaration", + "scope": 1145, + "src": "637:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1120, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "637:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1123, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 1145, + "src": "663:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1122, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "663:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1125, + "name": "_signature", + "nodeType": "VariableDeclaration", + "scope": 1145, + "src": "685:23:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1124, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "685:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "633:76:6" + }, + "returnParameters": { + "id": 1129, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1128, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1145, + "src": "732:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1127, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "732:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "731:6:6" + }, + "scope": 1218, + "src": "609:246:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1200, + "nodeType": "Block", + "src": "1028:330:6", + "statements": [ + { + "assignments": [ + 1157 + ], + "declarations": [ + { + "constant": false, + "id": 1157, + "name": "r", + "nodeType": "VariableDeclaration", + "scope": 1200, + "src": "1032:9:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1156, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1032:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1158, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1032:9:6" + }, + { + "assignments": [ + 1160 + ], + "declarations": [ + { + "constant": false, + "id": 1160, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 1200, + "src": "1045:9:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1159, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1045:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1161, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1045:9:6" + }, + { + "assignments": [ + 1163 + ], + "declarations": [ + { + "constant": false, + "id": 1163, + "name": "v", + "nodeType": "VariableDeclaration", + "scope": 1200, + "src": "1058:9:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1162, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1058:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1164, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1058:9:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1165, + "name": "sign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1151, + "src": "1075:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1075:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3635", + "id": 1167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1090:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_65_by_1", + "typeString": "int_const 65" + }, + "value": "65" + }, + "src": "1075:17:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1171, + "nodeType": "IfStatement", + "src": "1071:35:6", + "trueBody": { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1169, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1101:5:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 1155, + "id": 1170, + "nodeType": "Return", + "src": "1094:12:6" + } + }, + { + "externalReferences": [ + { + "r": { + "declaration": 1157, + "isOffset": false, + "isSlot": false, + "src": "1126:1:6", + "valueSize": 1 + } + }, + { + "sign": { + "declaration": 1151, + "isOffset": false, + "isSlot": false, + "src": "1149:4:6", + "valueSize": 1 + } + }, + { + "v": { + "declaration": 1163, + "isOffset": false, + "isSlot": false, + "src": "1204:1:6", + "valueSize": 1 + } + }, + { + "s": { + "declaration": 1160, + "isOffset": false, + "isSlot": false, + "src": "1165:1:6", + "valueSize": 1 + } + }, + { + "sign": { + "declaration": 1151, + "isOffset": false, + "isSlot": false, + "src": "1188:4:6", + "valueSize": 1 + } + }, + { + "sign": { + "declaration": 1151, + "isOffset": false, + "isSlot": false, + "src": "1227:4:6", + "valueSize": 1 + } + } + ], + "id": 1172, + "nodeType": "InlineAssembly", + "operations": "{\n r := mload(add(sign, 0x20))\n s := mload(add(sign, 0x40))\n v := byte(0, mload(add(sign, 0x60)))\n}", + "src": "1110:134:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1173, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1163, + "src": "1251:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3237", + "id": 1174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1255:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_27_by_1", + "typeString": "int_const 27" + }, + "value": "27" + }, + "src": "1251:6:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1180, + "nodeType": "IfStatement", + "src": "1247:19:6", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 1178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1176, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1163, + "src": "1259:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3237", + "id": 1177, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1264:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_27_by_1", + "typeString": "int_const 27" + }, + "value": "27" + }, + "src": "1259:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 1179, + "nodeType": "ExpressionStatement", + "src": "1259:7:6" + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1181, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1163, + "src": "1274:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3237", + "id": 1182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1279:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_27_by_1", + "typeString": "int_const 27" + }, + "value": "27" + }, + "src": "1274:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1184, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1163, + "src": "1285:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3238", + "id": 1185, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1290:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_28_by_1", + "typeString": "int_const 28" + }, + "value": "28" + }, + "src": "1285:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1274:18:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1190, + "nodeType": "IfStatement", + "src": "1270:36:6", + "trueBody": { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1301:5:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 1155, + "id": 1189, + "nodeType": "Return", + "src": "1294:12:6" + } + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1191, + "name": "candidate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1147, + "src": "1317:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1193, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1149, + "src": "1340:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1194, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1163, + "src": "1346:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 1195, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1157, + "src": "1349:1:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1196, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "1352:1:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1192, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1914, + "src": "1330:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + } + }, + "id": 1197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1330:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1317:37:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1155, + "id": 1199, + "nodeType": "Return", + "src": "1310:44:6" + } + ] + }, + "documentation": null, + "id": 1201, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "recoverCheck", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1152, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1147, + "name": "candidate", + "nodeType": "VariableDeclaration", + "scope": 1201, + "src": "945:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1146, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "945:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1149, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 1201, + "src": "964:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1148, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "964:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1151, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1201, + "src": "978:17:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1150, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "978:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "944:52:6" + }, + "returnParameters": { + "id": 1155, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1154, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1201, + "src": "1021:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1153, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1021:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1020:6:6" + }, + "scope": 1218, + "src": "923:435:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1216, + "nodeType": "Block", + "src": "1441:84:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", + "id": 1211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1479:34:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" + }, + "value": "\u0019Ethereum Signed Message:\n32" + }, + { + "argumentTypes": null, + "id": 1212, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1203, + "src": "1515:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1209, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1909, + "src": "1462:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1462:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1462:58:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1208, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1916, + "src": "1452:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1452:69:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1207, + "id": 1215, + "nodeType": "Return", + "src": "1445:76:6" + } + ] + }, + "documentation": null, + "id": 1217, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toEthSignedMessageHash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1204, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1203, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 1217, + "src": "1393:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1202, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1393:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1392:14:6" + }, + "returnParameters": { + "id": 1207, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1206, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1217, + "src": "1431:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1205, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1431:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1430:9:6" + }, + "scope": 1218, + "src": "1361:164:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1219, + "src": "181:1346:6" + } + ], + "src": "0:1528:6" + }, + "legacyAST": { + "absolutePath": "iexec-poco/contracts/SignatureVerifier.sol", + "exportedSymbols": { + "SignatureVerifier": [ + 1218 + ] + }, + "id": 1219, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1076, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:6" + }, + { + "id": 1077, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:6" + }, + { + "absolutePath": "iexec-solidity/contracts/ERC734_KeyManager/IERC734.sol", + "file": "iexec-solidity/contracts/ERC734_KeyManager/IERC734.sol", + "id": 1078, + "nodeType": "ImportDirective", + "scope": 1219, + "sourceUnit": 1728, + "src": "59:64:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-solidity/contracts/ERC1271/IERC1271.sol", + "file": "iexec-solidity/contracts/ERC1271/IERC1271.sol", + "id": 1079, + "nodeType": "ImportDirective", + "scope": 1219, + "sourceUnit": 1586, + "src": "124:55:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1218, + "linearizedBaseContracts": [ + 1218 + ], + "name": "SignatureVerifier", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1092, + "nodeType": "Block", + "src": "279:38:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1088, + "name": "_addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1081, + "src": "306:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1087, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "298:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 1089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "298:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "290:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 1090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "290:23:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1085, + "id": 1091, + "nodeType": "Return", + "src": "283:30:6" + } + ] + }, + "documentation": null, + "id": 1093, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addrToKey", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1082, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1081, + "name": "_addr", + "nodeType": "VariableDeclaration", + "scope": 1093, + "src": "230:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1080, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "230:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "229:15:6" + }, + "returnParameters": { + "id": 1085, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1084, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1093, + "src": "269:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1083, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "269:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "268:9:6" + }, + "scope": 1218, + "src": "211:106:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1118, + "nodeType": "Block", + "src": "437:154:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1104, + "name": "_identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "448:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1105, + "name": "_candidate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1097, + "src": "461:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "448:23:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1112, + "name": "_candidate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1097, + "src": "518:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1111, + "name": "addrToKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1093, + "src": "508:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", + "typeString": "function (address) pure returns (bytes32)" + } + }, + "id": 1113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "508:21:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1114, + "name": "_purpose", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1099, + "src": "531:8:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1108, + "name": "_identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "483:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1107, + "name": "IERC734", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1727, + "src": "475:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC734_$1727_$", + "typeString": "type(contract IERC734)" + } + }, + "id": 1109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "475:18:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC734_$1727", + "typeString": "contract IERC734" + } + }, + "id": 1110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "keyHasPurpose", + "nodeType": "MemberAccess", + "referencedDeclaration": 1678, + "src": "475:32:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (bytes32,uint256) view external returns (bool)" + } + }, + "id": 1115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "475:65:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "448:92:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1103, + "id": 1117, + "nodeType": "Return", + "src": "441:99:6" + } + ] + }, + "documentation": null, + "id": 1119, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "checkIdentity", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1095, + "name": "_identity", + "nodeType": "VariableDeclaration", + "scope": 1119, + "src": "343:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1094, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "343:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1097, + "name": "_candidate", + "nodeType": "VariableDeclaration", + "scope": 1119, + "src": "362:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "362:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1099, + "name": "_purpose", + "nodeType": "VariableDeclaration", + "scope": 1119, + "src": "382:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1098, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "382:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "342:57:6" + }, + "returnParameters": { + "id": 1103, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1102, + "name": "valid", + "nodeType": "VariableDeclaration", + "scope": 1119, + "src": "424:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1101, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "424:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "423:12:6" + }, + "scope": 1218, + "src": "320:271:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1144, + "nodeType": "Block", + "src": "739:116:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1131, + "name": "_identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "763:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1132, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1123, + "src": "774:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1133, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1125, + "src": "781:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1130, + "name": "recoverCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1201, + "src": "750:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,bytes32,bytes memory) pure returns (bool)" + } + }, + "id": 1134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "750:42:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1139, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1123, + "src": "833:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1140, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1125, + "src": "840:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1136, + "name": "_identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "805:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1135, + "name": "IERC1271", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1585, + "src": "796:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1271_$1585_$", + "typeString": "type(contract IERC1271)" + } + }, + "id": 1137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "796:19:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1271_$1585", + "typeString": "contract IERC1271" + } + }, + "id": 1138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isValidSignature", + "nodeType": "MemberAccess", + "referencedDeclaration": 1584, + "src": "796:36:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32,bytes memory) view external returns (bool)" + } + }, + "id": 1141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "796:55:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "750:101:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1129, + "id": 1143, + "nodeType": "Return", + "src": "743:108:6" + } + ] + }, + "documentation": null, + "id": 1145, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifySignature", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1126, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1121, + "name": "_identity", + "nodeType": "VariableDeclaration", + "scope": 1145, + "src": "637:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1120, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "637:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1123, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 1145, + "src": "663:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1122, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "663:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1125, + "name": "_signature", + "nodeType": "VariableDeclaration", + "scope": 1145, + "src": "685:23:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1124, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "685:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "633:76:6" + }, + "returnParameters": { + "id": 1129, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1128, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1145, + "src": "732:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1127, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "732:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "731:6:6" + }, + "scope": 1218, + "src": "609:246:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1200, + "nodeType": "Block", + "src": "1028:330:6", + "statements": [ + { + "assignments": [ + 1157 + ], + "declarations": [ + { + "constant": false, + "id": 1157, + "name": "r", + "nodeType": "VariableDeclaration", + "scope": 1200, + "src": "1032:9:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1156, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1032:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1158, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1032:9:6" + }, + { + "assignments": [ + 1160 + ], + "declarations": [ + { + "constant": false, + "id": 1160, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 1200, + "src": "1045:9:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1159, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1045:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1161, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1045:9:6" + }, + { + "assignments": [ + 1163 + ], + "declarations": [ + { + "constant": false, + "id": 1163, + "name": "v", + "nodeType": "VariableDeclaration", + "scope": 1200, + "src": "1058:9:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1162, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1058:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1164, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1058:9:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1165, + "name": "sign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1151, + "src": "1075:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1075:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3635", + "id": 1167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1090:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_65_by_1", + "typeString": "int_const 65" + }, + "value": "65" + }, + "src": "1075:17:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1171, + "nodeType": "IfStatement", + "src": "1071:35:6", + "trueBody": { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1169, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1101:5:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 1155, + "id": 1170, + "nodeType": "Return", + "src": "1094:12:6" + } + }, + { + "externalReferences": [ + { + "r": { + "declaration": 1157, + "isOffset": false, + "isSlot": false, + "src": "1126:1:6", + "valueSize": 1 + } + }, + { + "sign": { + "declaration": 1151, + "isOffset": false, + "isSlot": false, + "src": "1149:4:6", + "valueSize": 1 + } + }, + { + "v": { + "declaration": 1163, + "isOffset": false, + "isSlot": false, + "src": "1204:1:6", + "valueSize": 1 + } + }, + { + "s": { + "declaration": 1160, + "isOffset": false, + "isSlot": false, + "src": "1165:1:6", + "valueSize": 1 + } + }, + { + "sign": { + "declaration": 1151, + "isOffset": false, + "isSlot": false, + "src": "1188:4:6", + "valueSize": 1 + } + }, + { + "sign": { + "declaration": 1151, + "isOffset": false, + "isSlot": false, + "src": "1227:4:6", + "valueSize": 1 + } + } + ], + "id": 1172, + "nodeType": "InlineAssembly", + "operations": "{\n r := mload(add(sign, 0x20))\n s := mload(add(sign, 0x40))\n v := byte(0, mload(add(sign, 0x60)))\n}", + "src": "1110:134:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1173, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1163, + "src": "1251:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3237", + "id": 1174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1255:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_27_by_1", + "typeString": "int_const 27" + }, + "value": "27" + }, + "src": "1251:6:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1180, + "nodeType": "IfStatement", + "src": "1247:19:6", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 1178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1176, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1163, + "src": "1259:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3237", + "id": 1177, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1264:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_27_by_1", + "typeString": "int_const 27" + }, + "value": "27" + }, + "src": "1259:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 1179, + "nodeType": "ExpressionStatement", + "src": "1259:7:6" + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1181, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1163, + "src": "1274:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3237", + "id": 1182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1279:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_27_by_1", + "typeString": "int_const 27" + }, + "value": "27" + }, + "src": "1274:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1184, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1163, + "src": "1285:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3238", + "id": 1185, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1290:2:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_28_by_1", + "typeString": "int_const 28" + }, + "value": "28" + }, + "src": "1285:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1274:18:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1190, + "nodeType": "IfStatement", + "src": "1270:36:6", + "trueBody": { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1301:5:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 1155, + "id": 1189, + "nodeType": "Return", + "src": "1294:12:6" + } + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1191, + "name": "candidate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1147, + "src": "1317:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1193, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1149, + "src": "1340:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1194, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1163, + "src": "1346:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 1195, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1157, + "src": "1349:1:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1196, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "1352:1:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1192, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1914, + "src": "1330:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + } + }, + "id": 1197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1330:24:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1317:37:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1155, + "id": 1199, + "nodeType": "Return", + "src": "1310:44:6" + } + ] + }, + "documentation": null, + "id": 1201, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "recoverCheck", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1152, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1147, + "name": "candidate", + "nodeType": "VariableDeclaration", + "scope": 1201, + "src": "945:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1146, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "945:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1149, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 1201, + "src": "964:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1148, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "964:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1151, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1201, + "src": "978:17:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1150, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "978:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "944:52:6" + }, + "returnParameters": { + "id": 1155, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1154, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1201, + "src": "1021:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1153, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1021:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1020:6:6" + }, + "scope": 1218, + "src": "923:435:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1216, + "nodeType": "Block", + "src": "1441:84:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", + "id": 1211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1479:34:6", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" + }, + "value": "\u0019Ethereum Signed Message:\n32" + }, + { + "argumentTypes": null, + "id": 1212, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1203, + "src": "1515:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", + "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 1209, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1909, + "src": "1462:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1462:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1462:58:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1208, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1916, + "src": "1452:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1452:69:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1207, + "id": 1215, + "nodeType": "Return", + "src": "1445:76:6" + } + ] + }, + "documentation": null, + "id": 1217, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toEthSignedMessageHash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1204, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1203, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 1217, + "src": "1393:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1202, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1393:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1392:14:6" + }, + "returnParameters": { + "id": 1207, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1206, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1217, + "src": "1431:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1205, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1431:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1430:9:6" + }, + "scope": 1218, + "src": "1361:164:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1219, + "src": "181:1346:6" + } + ], + "src": "0:1528:6" + }, + "compiler": { + "name": "solc", + "version": "0.5.10+commit.5a6ea5b1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.16", + "updatedAt": "2019-10-22T00:23:52.008Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/contracts/Migrations.sol b/ups-package-tracker/smart-contract/contracts/Migrations.sol new file mode 100644 index 00000000..85e11e6e --- /dev/null +++ b/ups-package-tracker/smart-contract/contracts/Migrations.sol @@ -0,0 +1,24 @@ +pragma solidity ^0.5.8; + +import "openzeppelin-solidity/contracts/ownership/Ownable.sol"; + +contract Migrations is Ownable +{ + uint256 public lastCompletedMigration; + + constructor() + public + { + } + + function setCompleted(uint completed) public onlyOwner + { + lastCompletedMigration = completed; + } + + function upgrade(address newAddress) public onlyOwner + { + Migrations upgraded = Migrations(newAddress); + upgraded.setCompleted(lastCompletedMigration); + } +} diff --git a/ups-package-tracker/smart-contract/contracts/PriceOracle.sol b/ups-package-tracker/smart-contract/contracts/PriceOracle.sol new file mode 100644 index 00000000..49b02b02 --- /dev/null +++ b/ups-package-tracker/smart-contract/contracts/PriceOracle.sol @@ -0,0 +1,68 @@ +pragma solidity ^0.5.8; +pragma experimental ABIEncoderV2; + +import "openzeppelin-solidity/contracts/ownership/Ownable.sol"; +import "iexec-doracle-base/contracts/IexecDoracle.sol"; + +contract PriceOracle is Ownable, IexecDoracle +{ + struct TimedValue + { + bytes32 oracleCallID; + uint256 date; + uint256 value; + string details; + } + + mapping(bytes32 => TimedValue) public values; + + event ValueUpdated( + bytes32 indexed id, + bytes32 indexed oracleCallID, + uint256 oldDate, + uint256 oldValue, + uint256 newDate, + uint256 newValue + ); + + // Use _iexecHubAddr to force use of custom iexechub, leave 0x0 for autodetect + constructor(address _iexecHubAddr) + public IexecDoracle(_iexecHubAddr) + {} + + function updateEnv( + address _authorizedApp + , address _authorizedDataset + , address _authorizedWorkerpool + , bytes32 _requiredtag + , uint256 _requiredtrust + ) + public onlyOwner + { + _iexecDoracleUpdateSettings(_authorizedApp, _authorizedDataset, _authorizedWorkerpool, _requiredtag, _requiredtrust); + } + + function decodeResults(bytes memory results) + public pure returns(uint256, string memory, uint256) + { return abi.decode(results, (uint256, string, uint256)); } + + function processResult(bytes32 _oracleCallID) + public + { + uint256 date; + string memory details; + uint256 value; + + // Parse results + (date, details, value) = decodeResults(_iexecDoracleGetVerifiedResult(_oracleCallID)); + + // Process results + bytes32 id = keccak256(bytes(details)); + require(values[id].date < date, "new-value-is-too-old"); + emit ValueUpdated(id, _oracleCallID, values[id].date, values[id].value, date, value); + values[id].oracleCallID = _oracleCallID; + values[id].date = date; + values[id].value = value; + values[id].details = details; + } +} diff --git a/ups-package-tracker/smart-contract/daemon/Dockerfile b/ups-package-tracker/smart-contract/daemon/Dockerfile new file mode 100644 index 00000000..741c1478 --- /dev/null +++ b/ups-package-tracker/smart-contract/daemon/Dockerfile @@ -0,0 +1,25 @@ +FROM node:8-alpine + +# changing user +USER root + +# add necessary packages +RUN apk add --no-cache git python make g++ + +# create a work directory inside the container +RUN mkdir /app +WORKDIR /app + +# copy project files +COPY . . + +# install utilities +RUN npm install -g yarn ts-node typescript + +# install dependencies +RUN yarn + +# making entrypoint executable +RUN chmod +x entrypoint.sh + +ENTRYPOINT ["./entrypoint.sh"] diff --git a/ups-package-tracker/smart-contract/daemon/daemon.ts b/ups-package-tracker/smart-contract/daemon/daemon.ts new file mode 100644 index 00000000..78f7fe6b --- /dev/null +++ b/ups-package-tracker/smart-contract/daemon/daemon.ts @@ -0,0 +1,145 @@ +import { ethers } from 'ethers'; +import * as utils from './utils'; + +const IexecHub = require('iexec-poco/build/contracts/IexecHub.json'); +const IexecClerk = require('iexec-poco/build/contracts/IexecClerk.json'); +const IERC734 = require('iexec-poco/build/contracts/IERC734.json'); +// const PriceOracle = require('../build/contracts/PriceOracle.json'); + +// Mainnet & Kovan deployment use the old ABI +const PriceOracle = { abi:[{"constant":true,"inputs":[{"name":"_identity","type":"address"},{"name":"_hash","type":"bytes32"},{"name":"_signature","type":"bytes"}],"name":"verifySignature","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_authorizedApp","type":"address"},{"name":"_authorizedDataset","type":"address"},{"name":"_authorizedWorkerpool","type":"address"},{"name":"_requiredtag","type":"bytes32"},{"name":"_requiredtrust","type":"uint256"}],"name":"updateEnv","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"m_authorizedApp","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"results","type":"bytes"}],"name":"decodeResults","outputs":[{"name":"","type":"uint256"},{"name":"","type":"string"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_doracleCallId","type":"bytes32"},{"name":"","type":"bytes"}],"name":"receiveResult","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"m_authorizedDataset","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"m_iexecClerk","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"m_iexecHub","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"m_authorizedWorkerpool","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"values","outputs":[{"name":"oracleCallID","type":"bytes32"},{"name":"date","type":"uint256"},{"name":"value","type":"uint256"},{"name":"details","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"m_requiredtrust","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_oracleCallID","type":"bytes32"}],"name":"processResult","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"m_requiredtag","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_iexecHubAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"bytes32"},{"indexed":true,"name":"oracleCallID","type":"bytes32"},{"indexed":false,"name":"oldDate","type":"uint256"},{"indexed":false,"name":"oldValue","type":"uint256"},{"indexed":false,"name":"newDate","type":"uint256"},{"indexed":false,"name":"newValue","type":"uint256"}],"name":"ValueChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"doracleCallId","type":"bytes32"}],"name":"ResultReady","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]}; + +export default class Daemon +{ + address: string; + wallet: ethers.Wallet; + doracle: ethers.Contract; + iexechub: ethers.Contract; + iexecclerk: ethers.Contract; + requester: string; + + settings: + { + authorizedApp: string, + authorizedDataset: string, + authorizedWorkerpool: string, + requiredtag: string, + requiredtrust: number, + GROUPMEMBER_PURPOSE: number, + }; + + constructor(address: string, wallet: ethers.Wallet, requester: string = null) + { + this.address = address; + this.wallet = wallet; + this.requester = requester; + } + + async start(listener: boolean = true) : Promise + { + console.log(`Connecting to contracts`); + this.doracle = new ethers.Contract(this.address, PriceOracle.abi, this.wallet); + console.log(`- doracle ${this.doracle.address}`); + this.iexechub = new ethers.Contract(await this.doracle.m_iexecHub(), IexecHub.abi, this.wallet.provider); + console.log(`- iexechub ${this.iexechub.address}`); + this.iexecclerk = new ethers.Contract(await this.doracle.m_iexecClerk(), IexecClerk.abi, this.wallet.provider); + console.log(`- iexecclerk ${this.iexecclerk.address}`); + + console.log(`Retrieving doracle settings:`); + this.settings = { + authorizedApp: await this.doracle.m_authorizedApp(), + authorizedDataset: await this.doracle.m_authorizedDataset(), + authorizedWorkerpool: await this.doracle.m_authorizedWorkerpool(), + requiredtag: await this.doracle.m_requiredtag(), + requiredtrust: await this.doracle.m_requiredtrust(), + GROUPMEMBER_PURPOSE: await this.iexecclerk.GROUPMEMBER_PURPOSE(), + } + console.log(`- authorizedApp: ${this.settings.authorizedApp}` ); + console.log(`- authorizedDataset: ${this.settings.authorizedDataset}` ); + console.log(`- authorizedWorkerpool: ${this.settings.authorizedWorkerpool}`); + console.log(`- requiredtag: ${this.settings.requiredtag}` ); + console.log(`- requiredtrust: ${this.settings.requiredtrust}` ); + console.log(`- GROUPMEMBER_PURPOSE: ${this.settings.GROUPMEMBER_PURPOSE}` ); + + if (listener) + { + console.log(`Starting event listener.`) + this.doracle.on("ResultReady(bytes32)", this.trigger.bind(this)); + console.log(`====== Daemon is running ======`); + } + else + { + console.log(`====== Daemon is ready ======`); + } + } + + async checkIdentity(identity: string, candidate: string, purpose: number): Promise + { + try + { + return identity == candidate || await (new ethers.Contract(identity, IERC734.abi, this.wallet.provider)).keyHasPurpose(utils.addrToKey(candidate), purpose); + } + catch + { + console.log(identity, candidate) + return false; + } + } + + async getVerifiedResult(doracleCallId: string) : Promise + { + let task = await this.iexechub.viewTask(doracleCallId); + let deal = await this.iexecclerk.viewDeal(task.dealid); + + if (this.requester) + { + utils.require(deal.requester == this.requester, "requester filtered (this is not an error)"); + } + + utils.require(task.status == 3, "result-not-available"); + utils.require(task.resultDigest == ethers.utils.keccak256(task.results), "result-not-validated-by-consensus"); + utils.require(this.settings.authorizedApp == ethers.constants.AddressZero || await this.checkIdentity(this.settings.authorizedApp, deal.app.pointer, this.settings.GROUPMEMBER_PURPOSE), "unauthorized-app"); + utils.require(this.settings.authorizedDataset == ethers.constants.AddressZero || await this.checkIdentity(this.settings.authorizedDataset, deal.dataset.pointer, this.settings.GROUPMEMBER_PURPOSE), "unauthorized-dataset"); + utils.require(this.settings.authorizedWorkerpool == ethers.constants.AddressZero || await this.checkIdentity(this.settings.authorizedWorkerpool, deal.workerpool.pointer, this.settings.GROUPMEMBER_PURPOSE), "unauthorized-workerpool"); + utils.require(this.settings.requiredtrust <= deal.trust, "invalid-trust"); + + // Check tag - must be done byte by byte. + let [ ta, rta ] = [ deal.tag, this.settings.requiredtag ].map(ethers.utils.arrayify); + for (var i in ta) utils.require((rta[i] & ~ta[i]) == 0, "invalid-tag"); + + return task.results; + } + + async checkData(data: string) : Promise + { + let [ date, details, value ] = ethers.utils.defaultAbiCoder.decode(["uint256", "string", "uint256"], data); + let entry = await this.doracle.values(ethers.utils.solidityKeccak256(["string"],[details])); + utils.require(entry.date < date, "new-value-is-too-old"); + } + + trigger(doracleCallId: string, event: {}) + { + process.stdout.write(`${new Date().toISOString()} | processing ${doracleCallId} ... `); + this.getVerifiedResult(doracleCallId) + .then(data => { + this.checkData(data) + .then(() => { + this.doracle.processResult(doracleCallId) + .then(tx => { + process.stdout.write(`success\n`); + }) + .catch(e => { + const txHash = e.transactionHash; + const data = e.data[txHash]; + process.stdout.write(`Error: ${data.error} (${data.reason})\n`); + }); + }) + .catch(reason => { + process.stdout.write(`Invalid results (${reason})\n`); + }); + }) + .catch(reason => { + process.stdout.write(`Failled to verify results (${reason})\n`); + }); + } +} diff --git a/ups-package-tracker/smart-contract/daemon/docker-compose.yml b/ups-package-tracker/smart-contract/daemon/docker-compose.yml new file mode 100644 index 00000000..44a8ad9a --- /dev/null +++ b/ups-package-tracker/smart-contract/daemon/docker-compose.yml @@ -0,0 +1,10 @@ +version: '2' +services: + doracle-daemon: + image: iexechub/iexec-doracle-daemon:latest + environment: + - DORACLE_ADDR=xxx + - MNEMONIC=xxxx + - PROVIDER=xxx + - REQUESTER=xxxx + restart: unless-stopped diff --git a/ups-package-tracker/smart-contract/daemon/entrypoint.sh b/ups-package-tracker/smart-contract/daemon/entrypoint.sh new file mode 100644 index 00000000..9a2c9d0a --- /dev/null +++ b/ups-package-tracker/smart-contract/daemon/entrypoint.sh @@ -0,0 +1,3 @@ +#!/bin/sh +echo "[INFO] Launching DOracle Daemon" +/usr/local/bin/ts-node launch.ts diff --git a/ups-package-tracker/smart-contract/daemon/launch.ts b/ups-package-tracker/smart-contract/daemon/launch.ts new file mode 100644 index 00000000..1896f256 --- /dev/null +++ b/ups-package-tracker/smart-contract/daemon/launch.ts @@ -0,0 +1,14 @@ +import { ethers } from 'ethers'; +import Daemon from './daemon'; + +// mainnet 0xed4a0189511859427c33dcc7c85fdd36575ae946 +// kovan 0x3b9F1a9aeCb1991f3818f45bd4CC735f4BEE93Ac + +let doracle_addr: string = process.env.DORACLE_ADDR; +let private_key: string = process.env.MNEMONIC; +let provider: ethers.providers.Provider = ethers.getDefaultProvider(process.env.PROVIDER); + +let wallet: ethers.Wallet = new ethers.Wallet(private_key, provider); +let daemon: Daemon = new Daemon(doracle_addr, wallet, process.env.REQUESTER); + +daemon.start(); diff --git a/ups-package-tracker/smart-contract/daemon/package.json b/ups-package-tracker/smart-contract/daemon/package.json new file mode 100644 index 00000000..20757f0b --- /dev/null +++ b/ups-package-tracker/smart-contract/daemon/package.json @@ -0,0 +1,31 @@ +{ + "name": "price-feed-doracle", + "version": "0.0.1", + "description": "Contracts and tools for the iExec based price feed DOracle", + "repository": { + "type": "git", + "url": "git+https://github.com/iExecBlockchainComputing/price-feed-doracle.git" + }, + "bugs": { + "url": "https://github.com/iExecBlockchainComputing/price-feed-doracle.git/issues" + }, + "files": [ + "/build", + "/contracts", + "daemon" + ], + "author": "iExec", + "license": "ISC", + "homepage": "https://github.com/iExecBlockchainComputing/price-feed-doracle.git#readme", + "dependencies": { + "chai": "^4.2.0", + "ethereumjs-util": "^5.2.0", + "iexec-doracle-base": "^0.0.4", + "iexec-poco": "^3.0.35", + "iexec-solidity": "^0.0.7", + "multiaddr": "^6.0.6", + "openzeppelin-solidity": "^2.2.0", + "openzeppelin-test-helpers": "^0.1.5", + "rlc-faucet-contract": "^2.0.0" + } +} diff --git a/ups-package-tracker/smart-contract/daemon/utils/addrToKey.ts b/ups-package-tracker/smart-contract/daemon/utils/addrToKey.ts new file mode 100644 index 00000000..a194f9af --- /dev/null +++ b/ups-package-tracker/smart-contract/daemon/utils/addrToKey.ts @@ -0,0 +1,6 @@ +import { ethers } from 'ethers'; + +export default function(addr: string) : string +{ + return ethers.utils.hexZeroPad(addr, 32).toString().toLowerCase(); +} diff --git a/ups-package-tracker/smart-contract/daemon/utils/index.ts b/ups-package-tracker/smart-contract/daemon/utils/index.ts new file mode 100644 index 00000000..a9767469 --- /dev/null +++ b/ups-package-tracker/smart-contract/daemon/utils/index.ts @@ -0,0 +1,2 @@ +export { default as require } from "./require"; +export { default as addrToKey } from "./addrToKey"; diff --git a/ups-package-tracker/smart-contract/daemon/utils/require.ts b/ups-package-tracker/smart-contract/daemon/utils/require.ts new file mode 100644 index 00000000..56eadba2 --- /dev/null +++ b/ups-package-tracker/smart-contract/daemon/utils/require.ts @@ -0,0 +1,4 @@ +export default function(value: boolean, reason: string = "") : void +{ + if (!value) throw Error(reason); +} diff --git a/ups-package-tracker/smart-contract/migrations/1_initial_migration.js b/ups-package-tracker/smart-contract/migrations/1_initial_migration.js new file mode 100644 index 00000000..66673a2e --- /dev/null +++ b/ups-package-tracker/smart-contract/migrations/1_initial_migration.js @@ -0,0 +1,5 @@ +var Migrations = artifacts.require("./tools/Migrations.sol"); + +module.exports = function(deployer) { + deployer.deploy(Migrations, {gas: 500000}); +}; diff --git a/ups-package-tracker/smart-contract/migrations/2_deploy_contracts.js b/ups-package-tracker/smart-contract/migrations/2_deploy_contracts.js new file mode 100644 index 00000000..1dbf9f0e --- /dev/null +++ b/ups-package-tracker/smart-contract/migrations/2_deploy_contracts.js @@ -0,0 +1,8 @@ +var PriceOracle = artifacts.require("PriceOracle"); + +module.exports = async function(deployer, network, accounts) +{ + await deployer.deploy(PriceOracle, "0x0000000000000000000000000000000000000000", { gas: 2500000 }); + PriceOracleInstance = await PriceOracle.deployed(); + console.log("PriceOracle deployed at address: " + PriceOracleInstance.address); +}; diff --git a/ups-package-tracker/smart-contract/package-lock.json b/ups-package-tracker/smart-contract/package-lock.json new file mode 100644 index 00000000..3e52c3c4 --- /dev/null +++ b/ups-package-tracker/smart-contract/package-lock.json @@ -0,0 +1,4077 @@ +{ + "name": "price-feed-doracle", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@resolver-engine/core": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@resolver-engine/core/-/core-0.2.1.tgz", + "integrity": "sha512-nsLQHmPJ77QuifqsIvqjaF5B9aHnDzJjp73Q1z6apY3e9nqYrx4Dtowhpsf7Jwftg/XzVDEMQC+OzUBNTS+S1A==", + "requires": { + "debug": "^3.1.0", + "request": "^2.85.0" + } + }, + "@resolver-engine/fs": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@resolver-engine/fs/-/fs-0.2.1.tgz", + "integrity": "sha512-7kJInM1Qo2LJcKyDhuYzh9ZWd+mal/fynfL9BNjWOiTcOpX+jNfqb/UmGUqros5pceBITlWGqS4lU709yHFUbg==", + "requires": { + "@resolver-engine/core": "^0.2.1", + "debug": "^3.1.0" + } + }, + "@resolver-engine/imports": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@resolver-engine/imports/-/imports-0.2.2.tgz", + "integrity": "sha512-u5/HUkvo8q34AA+hnxxqqXGfby5swnH0Myw91o3Sm2TETJlNKXibFGSKBavAH+wvWdBi4Z5gS2Odu0PowgVOUg==", + "requires": { + "@resolver-engine/core": "^0.2.1", + "debug": "^3.1.0", + "hosted-git-info": "^2.6.0" + } + }, + "@resolver-engine/imports-fs": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@resolver-engine/imports-fs/-/imports-fs-0.2.2.tgz", + "integrity": "sha512-gFCgMvCwyppjwq0UzIjde/WI+yDs3oatJhozG9xdjJdewwtd7LiF0T5i9lrHAUtqrQbqoFE4E+ZMRVHWpWHpKQ==", + "requires": { + "@resolver-engine/fs": "^0.2.1", + "@resolver-engine/imports": "^0.2.2", + "debug": "^3.1.0" + } + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@types/bn.js": { + "version": "4.11.5", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.5.tgz", + "integrity": "sha512-AEAZcIZga0JgVMHNtl1CprA/hXX7/wPt79AgR4XqaDt7jyj3QWYw6LPoOiznPtugDmlubUnAahMs2PFxGcQrng==", + "requires": { + "@types/node": "*" + } + }, + "@types/cbor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/cbor/-/cbor-2.0.0.tgz", + "integrity": "sha1-xievwu4i8j8jN/7LNGKKT5fGr7s=", + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "12.7.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.7.tgz", + "integrity": "sha512-4jUncNe2tj1nmrO/34PsRpZqYVnRV1svbU78cKhuQKkMntKB/AmdLyGgswcZKjFHEHGpiY8pVD8CuVI55nP54w==" + }, + "@types/underscore": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.9.3.tgz", + "integrity": "sha512-SwbHKB2DPIDlvYqtK5O+0LFtZAyrUSw4c0q+HWwmH1Ve3KMQ0/5PlV3RX97+3dP7yMrnNQ8/bCWWvQpPl03Mug==" + }, + "@types/web3": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/@types/web3/-/web3-1.0.19.tgz", + "integrity": "sha512-fhZ9DyvDYDwHZUp5/STa9XW2re0E8GxoioYJ4pEUZ13YHpApSagixj7IAdoYH5uAK+UalGq6Ml8LYzmgRA/q+A==", + "requires": { + "@types/bn.js": "*", + "@types/underscore": "*" + } + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" + }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + }, + "app-module-path": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", + "integrity": "sha1-ZBqlXft9am8KgUHEucCqULbCTdU=" + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + }, + "axios": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", + "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", + "requires": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bignumber.js": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", + "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bl": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "requires": { + "inherits": "~2.0.0" + } + }, + "bluebird": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==" + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sha3": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/browserify-sha3/-/browserify-sha3-0.0.4.tgz", + "integrity": "sha1-CGxHuMgjFsnUcCLCYYWVRXbdjiY=", + "requires": { + "js-sha3": "^0.6.1", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "js-sha3": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.6.1.tgz", + "integrity": "sha1-W4n3enR3Z5h39YxKB1JAk0sflcA=" + } + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "buffer": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", + "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + }, + "buffer-to-arraybuffer": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", + "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + } + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "cbor": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-4.3.0.tgz", + "integrity": "sha512-CvzaxQlaJVa88sdtTWvLJ++MbdtPHtZOBBNjm7h3YKUHILMs9nQyD4AC6hvFZy7GBVB3I6bRibJcxeHydyT2IQ==", + "requires": { + "bignumber.js": "^9.0.0", + "commander": "^3.0.0", + "json-text-sequence": "^0.1", + "nofilter": "^1.0.3" + }, + "dependencies": { + "bignumber.js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" + } + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chownr": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz", + "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==" + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.1.tgz", + "integrity": "sha512-UNgvDd+csKdc9GD4zjtkHKQbT8Aspt2jCBqNSPp53vAS0L1tS9sXB2TCEOPHJ7kt9bN/niWkYj8T3RQSoMXdSQ==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "cookiejar": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", + "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "decompress": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", + "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "requires": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "requires": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } + } + } + }, + "defer-to-connect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz", + "integrity": "sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==" + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delimit-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/delimit-stream/-/delimit-stream-0.1.0.tgz", + "integrity": "sha1-m4MZR3wOX4rrPONXrjBfwl6hzSs=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "elliptic": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", + "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "inherits": "^2.0.1" + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.3.tgz", + "integrity": "sha512-cbNhPFS6MlYlWTGncSiDYbdqKhwWFy7kNeb1YSOG6K65i/wPTkLVCJQj0hXA4j0m5Da+hBWnqopEnu1FFelisQ==", + "requires": { + "once": "^1.4.0" + } + }, + "es-abstract": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz", + "integrity": "sha512-DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg==", + "requires": { + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.0", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-inspect": "^1.6.0", + "object-keys": "^1.1.1", + "string.prototype.trimleft": "^2.0.0", + "string.prototype.trimright": "^2.0.0" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.51", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.51.tgz", + "integrity": "sha512-oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ==", + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "^1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.2.tgz", + "integrity": "sha512-/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ==", + "requires": { + "d": "^1.0.1", + "es5-ext": "^0.10.51" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "eth-ens-namehash": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", + "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", + "requires": { + "idna-uts46-hx": "^2.3.1", + "js-sha3": "^0.5.7" + } + }, + "eth-lib": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", + "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "keccakjs": "^0.2.1", + "nano-json-stream-parser": "^0.1.2", + "servify": "^0.1.12", + "ws": "^3.0.0", + "xhr-request-promise": "^0.1.2" + }, + "dependencies": { + "elliptic": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", + "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + } + } + }, + "ethers": { + "version": "4.0.37", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.37.tgz", + "integrity": "sha512-B7bDdyQ45A5lPr6k2HOkEKMtYOuqlfy+nNf8glnRvWidkDQnToKw1bv7UyrwlbsIgY2mE03UxTVtouXcT6Vvcw==", + "requires": { + "@types/node": "^10.3.2", + "aes-js": "3.0.0", + "bn.js": "^4.4.0", + "elliptic": "6.3.3", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + }, + "dependencies": { + "@types/node": { + "version": "10.14.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.19.tgz", + "integrity": "sha512-j6Sqt38ssdMKutXBUuAcmWF8QtHW1Fwz/mz4Y+Wd9mzpBiVFirjpNQf363hG5itkG+yGaD+oiLyb50HxJ36l9Q==" + } + } + }, + "ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", + "requires": { + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } + } + }, + "eventemitter3": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.1.1.tgz", + "integrity": "sha1-R3hr2qCHyvext15zq8XH1UAVjNA=" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "requires": { + "pend": "~1.2.0" + } + }, + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + } + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs-extra": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", + "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0" + } + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "requires": { + "minipass": "^2.6.0" + } + }, + "fs-promise": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-2.0.3.tgz", + "integrity": "sha1-9k5PhUvPaJqovdy6JokW2z20aFQ=", + "requires": { + "any-promise": "^1.3.0", + "fs-extra": "^2.0.0", + "mz": "^2.6.0", + "thenify-all": "^1.6.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "requires": { + "min-document": "^2.19.0", + "process": "~0.5.1" + } + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "requires": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + } + }, + "graceful-fs": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==" + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hosted-git-info": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz", + "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==" + }, + "http-cache-semantics": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", + "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "http-https": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", + "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=" + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "idna-uts46-hx": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", + "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", + "requires": { + "punycode": "2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" + } + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "iexec-doracle-base": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/iexec-doracle-base/-/iexec-doracle-base-0.0.6.tgz", + "integrity": "sha512-Ej4NbbuIDUq8WDYsnPUfs/VAglPSOrJDH1nMaTKzK1qsr6lx7YUEGKppR1BNyz17x4bYRge0N9SHlI7H4SsQlw==", + "requires": { + "iexec-poco": "^3.0.35", + "iexec-solidity": "^0.0.13", + "openzeppelin-solidity": "^2.3.0" + }, + "dependencies": { + "iexec-solidity": { + "version": "0.0.13", + "resolved": "https://registry.npmjs.org/iexec-solidity/-/iexec-solidity-0.0.13.tgz", + "integrity": "sha512-RWNlWICDRWJyHJK3JoeODg2FpyoGnviZObqumBg7i1/pI9a7OF8bT45X6ZtUez2aKyAk/SRaC1ZTgweQqwAdNA==", + "requires": { + "openzeppelin-solidity": "^2.3.0", + "zos-lib": "^2.4.1" + } + } + } + }, + "iexec-poco": { + "version": "3.0.35", + "resolved": "https://registry.npmjs.org/iexec-poco/-/iexec-poco-3.0.35.tgz", + "integrity": "sha512-caYMItGul3OW7bSlitR+HzJufnDtHyy8etIWKfXFMVz9Q/N7CFahLB3rJxMZVrv+V1gsRD4uS1HOCQCfo5hS1Q==" + }, + "iexec-solidity": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/iexec-solidity/-/iexec-solidity-0.0.7.tgz", + "integrity": "sha512-z2USjtlGXiYlF6s6KMii9DJ2YvFW2uKwgzwRv0l4GtM1m2nRvdVHV+tyYjxKwQEq2Yl4Y8zGFKWBvfz/XsAj6g==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" + }, + "is-buffer": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", + "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + }, + "is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" + }, + "is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" + }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "requires": { + "has": "^1.0.1" + } + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "requires": { + "has-symbols": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json-text-sequence": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/json-text-sequence/-/json-text-sequence-0.1.1.tgz", + "integrity": "sha1-py8hfcSvxGKf/1/rME3BvVGi89I=", + "requires": { + "delimit-stream": "0.1.0" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "keccakjs": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/keccakjs/-/keccakjs-0.2.3.tgz", + "integrity": "sha512-BjLkNDcfaZ6l8HBG9tH0tpmDv3sS2mA7FNQxFHpCdzP3Gb2MVruXBSuoM66SnVxKJpAr5dKGdkHD+bDokt8fTg==", + "requires": { + "browserify-sha3": "^0.0.4", + "sha3": "^1.2.2" + } + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash.concat": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.concat/-/lodash.concat-4.5.0.tgz", + "integrity": "sha1-sFOuAuSoAIWC5yVrnQK9ptA4A5U=" + }, + "lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=" + }, + "lodash.every": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.every/-/lodash.every-4.6.0.tgz", + "integrity": "sha1-64mYS+vENkJ5uzrvu9HKGb+mxqc=" + }, + "lodash.findlast": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.findlast/-/lodash.findlast-4.6.0.tgz", + "integrity": "sha1-6ou3jPLn54BPyK630ZU+B/4x+8g=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + }, + "lodash.invertby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.invertby/-/lodash.invertby-4.7.0.tgz", + "integrity": "sha1-zeu2zUlCqmuN8sdL4cXZSGgnGLA=" + }, + "lodash.isarray": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-4.0.0.tgz", + "integrity": "sha1-KspJayjEym1yZxUxNZDALm6jRAM=" + }, + "lodash.isempty": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "integrity": "sha1-b4bL7di+TsmHvpqvM8loTbGzHn4=" + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "lodash.keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-4.2.0.tgz", + "integrity": "sha1-oIYCrBLk+4P5H8H7ejYKTZujUgU=" + }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + }, + "lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=" + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + }, + "lodash.pickby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz", + "integrity": "sha1-feoh2MGNdwOifHBMFdO4SmfjOv8=" + }, + "lodash.random": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.random/-/lodash.random-3.2.0.tgz", + "integrity": "sha1-luJOdjMzGZEw0sni/Vf5FwPMJi0=" + }, + "lodash.reverse": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.reverse/-/lodash.reverse-4.0.1.tgz", + "integrity": "sha1-Hyr+2s4uFuZg86p8WdMwCm8l0Tw=" + }, + "lodash.some": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", + "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "lodash.values": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-4.3.0.tgz", + "integrity": "sha1-o6bCsOvsxcLLocF+bmIP6BtT00c=" + }, + "lodash.without": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.without/-/lodash.without-4.4.0.tgz", + "integrity": "sha1-PNRXSgC2e643OpS3SHcmQFB7eqw=" + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "requires": { + "mime-db": "1.40.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "requires": { + "dom-walk": "^0.1.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "minipass": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.8.6.tgz", + "integrity": "sha512-lFG7d6g3+/UaFDCOtqPiKAC9zngWWsQZl1g5q6gaONqrjq61SX2xFqXMleQiFVyDpYwa018E9hmlAFY22PCb+A==", + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.2.tgz", + "integrity": "sha512-hR3At21uSrsjjDTWrbu0IMLTpnkpv8IIMFDFaoz43Tmu4LkmAXfH44vNNzpTnf+OAQQCHrb91y/wc2J4x5XgSQ==", + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "mkdirp-promise": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", + "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", + "requires": { + "mkdirp": "*" + } + }, + "mocha": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", + "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", + "requires": { + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.5", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "5.4.0" + }, + "dependencies": { + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "mock-fs": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.10.1.tgz", + "integrity": "sha512-w22rOL5ZYu6HbUehB5deurghGM0hS/xBVyHMGKOuQctkk93J9z9VEOhDsiWrXOprVNQpP9uzGKdl8v9mFspKuw==" + }, + "mout": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/mout/-/mout-0.11.1.tgz", + "integrity": "sha1-ujYR318OWx/7/QEWa48C0fX6K5k=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nan": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", + "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" + }, + "nano-json-stream-parser": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", + "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + }, + "nofilter": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-1.0.3.tgz", + "integrity": "sha512-FlUlqwRK6reQCaFLAhMcF+6VkVG2caYjKQY3YsRDTl4/SEch595Qb3oLjJRDr8dkHAAOVj2pOx3VknfnSgkE5g==" + }, + "normalize-url": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.4.1.tgz", + "integrity": "sha512-rjH3yRt0Ssx19mUwS0hrDUOdG9VI+oRLpLHJ7tXRdjcuQ7v7wo6qPvOZppHRrqfslTKr0L2yBhjj4UXd7c3cQg==" + }, + "number-to-bn": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", + "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", + "requires": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-inspect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "oboe": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.3.tgz", + "integrity": "sha1-K0hl29Rr6BIlcT9Om/5Lz09oCk8=", + "requires": { + "http-https": "^1.0.0" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "openzeppelin-solidity": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-2.3.0.tgz", + "integrity": "sha512-QYeiPLvB1oSbDt6lDQvvpx7k8ODczvE474hb2kLXZBPKMsxKT1WxTCHBYrCU7kS7hfAku4DcJ0jqOyL+jvjwQw==" + }, + "original-require": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/original-require/-/original-require-1.0.1.tgz", + "integrity": "sha1-DxMEcVhM0zURxew4yNWSE/msXiA=" + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "requires": { + "p-finally": "^1.0.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-headers": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.2.tgz", + "integrity": "sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg==", + "requires": { + "for-each": "^0.3.3", + "string.prototype.trim": "^1.1.2" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + } + }, + "psl": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", + "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "randomhex": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/randomhex/-/randomhex-0.1.5.tgz", + "integrity": "sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU=" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" + } + } + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "scrypt": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/scrypt/-/scrypt-6.0.3.tgz", + "integrity": "sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0=", + "requires": { + "nan": "^2.0.8" + } + }, + "scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==" + }, + "scrypt.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/scrypt.js/-/scrypt.js-0.2.0.tgz", + "integrity": "sha1-r40UZbcemZARC+38WTuUeeA6ito=", + "requires": { + "scrypt": "^6.0.2", + "scryptsy": "^1.2.1" + } + }, + "scryptsy": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-1.2.1.tgz", + "integrity": "sha1-oyJfpLJST4AnAHYeKFW987LZIWM=", + "requires": { + "pbkdf2": "^3.0.3" + } + }, + "seek-bzip": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", + "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", + "requires": { + "commander": "~2.8.1" + }, + "dependencies": { + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "requires": { + "graceful-readlink": ">= 1.0.0" + } + } + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "servify": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", + "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", + "requires": { + "body-parser": "^1.16.0", + "cors": "^2.8.1", + "express": "^4.14.0", + "request": "^2.79.0", + "xhr": "^2.3.3" + } + }, + "setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=" + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "sha3": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/sha3/-/sha3-1.2.3.tgz", + "integrity": "sha512-sOWDZi8cDBRkLfWOw18wvJyNblXDHzwMGnRWut8zNNeIeLnmMRO17bjpLc7OzMuj1ASUgx2IyohzUCAl+Kx5vA==", + "requires": { + "nan": "2.13.2" + } + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "simple-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" + }, + "simple-get": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", + "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", + "requires": { + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "solidity-parser-antlr": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/solidity-parser-antlr/-/solidity-parser-antlr-0.4.11.tgz", + "integrity": "sha512-4jtxasNGmyC0midtjH/lTFPZYvTTUMy6agYcF+HoMnzW8+cqo3piFrINb4ZCzpPW+7tTVFCGa5ubP34zOzeuMg==" + }, + "spinnies": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/spinnies/-/spinnies-0.4.3.tgz", + "integrity": "sha512-TTA2vWXrXJpfThWAl2t2hchBnCMI1JM5Wmb2uyI7Zkefdw/xO98LDy6/SBYwQPiYXL3swx3Eb44ZxgoS8X5wpA==", + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^3.0.0", + "strip-ansi": "^5.2.0" + } + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + }, + "string.prototype.trim": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz", + "integrity": "sha512-9EIjYD/WdlvLpn987+ctkLf0FfvBefOCuiEr2henD8X+7jfwPnyvTdmW8OJhj5p+M0/96mBdynLWkxUr+rHlpg==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.13.0", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimleft": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", + "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", + "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "requires": { + "is-natural-number": "^4.0.1" + } + }, + "strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", + "requires": { + "is-hex-prefixed": "1.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "swarm-js": { + "version": "0.1.37", + "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.37.tgz", + "integrity": "sha512-G8gi5fcXP/2upwiuOShJ258sIufBVztekgobr3cVgYXObZwJ5AXLqZn52AI+/ffft29pJexF9WNdUxjlkVehoQ==", + "requires": { + "bluebird": "^3.5.0", + "buffer": "^5.0.5", + "decompress": "^4.0.0", + "eth-lib": "^0.1.26", + "fs-extra": "^2.1.2", + "fs-promise": "^2.0.0", + "got": "^7.1.0", + "mime-types": "^2.1.16", + "mkdirp-promise": "^5.0.1", + "mock-fs": "^4.1.0", + "setimmediate": "^1.0.5", + "tar.gz": "^1.0.5", + "xhr-request-promise": "^0.1.2" + }, + "dependencies": { + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + } + } + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + }, + "tar.gz": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/tar.gz/-/tar.gz-1.0.7.tgz", + "integrity": "sha512-uhGatJvds/3diZrETqMj4RxBR779LKlIE74SsMcn5JProZsfs9j0QBwWO1RW+IWNJxS2x8Zzra1+AW6OQHWphg==", + "requires": { + "bluebird": "^2.9.34", + "commander": "^2.8.1", + "fstream": "^1.0.8", + "mout": "^0.11.0", + "tar": "^2.1.1" + }, + "dependencies": { + "bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=" + }, + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" + } + } + }, + "thenify": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", + "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "truffle": { + "version": "5.0.37", + "resolved": "https://registry.npmjs.org/truffle/-/truffle-5.0.37.tgz", + "integrity": "sha512-od3mnu6sCV7sYbJCLSDV66RZ4bYeuLQ1QDpjGQHyJMB5AIw+u8GnxBmj6MKBOWHC+zixnwkRwS9yTYpj5IObFg==", + "requires": { + "app-module-path": "^2.2.0", + "mocha": "5.2.0", + "original-require": "1.0.1" + } + }, + "truffle-flattener": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/truffle-flattener/-/truffle-flattener-1.4.2.tgz", + "integrity": "sha512-7qUIzaW8a4vI4nui14wsytht2oaqvqnZ1Iet2wRq2T0bCJ0wb6HByMKQhZKpU46R+n5BMTY4K5n+0ITyeNlmuQ==", + "requires": { + "@resolver-engine/imports-fs": "^0.2.2", + "find-up": "^2.1.0", + "mkdirp": "^0.5.1", + "solidity-parser-antlr": "^0.4.11", + "tsort": "0.0.1" + } + }, + "truffle-hdwallet-provider": { + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/truffle-hdwallet-provider/-/truffle-hdwallet-provider-1.0.17.tgz", + "integrity": "sha512-s6DvSP83jiIAc6TUcpr7Uqnja1+sLGJ8og3X7n41vfyC4OCaKmBtXL5HOHf+SsU3iblOvnbFDgmN6Y1VBL/fsg==", + "requires": { + "any-promise": "^1.3.0", + "bindings": "^1.3.1", + "web3": "1.2.1", + "websocket": "^1.0.28" + }, + "dependencies": { + "@types/node": { + "version": "10.14.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.19.tgz", + "integrity": "sha512-j6Sqt38ssdMKutXBUuAcmWF8QtHW1Fwz/mz4Y+Wd9mzpBiVFirjpNQf363hG5itkG+yGaD+oiLyb50HxJ36l9Q==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "elliptic": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", + "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "ethers": { + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.0-beta.3.tgz", + "integrity": "sha512-YYPogooSknTwvHg3+Mv71gM/3Wcrx+ZpCzarBj3mqs9njjRkrOo2/eufzhHloOCo3JSoNI4TQJJ6yU5ABm3Uog==", + "requires": { + "@types/node": "^10.3.2", + "aes-js": "3.0.0", + "bn.js": "^4.4.0", + "elliptic": "6.3.3", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.3", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + }, + "dependencies": { + "elliptic": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", + "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "inherits": "^2.0.1" + } + }, + "setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=" + } + } + }, + "eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + }, + "oboe": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.4.tgz", + "integrity": "sha1-IMiM2wwVNxuwQRklfU/dNLCqSfY=", + "requires": { + "http-https": "^1.0.0" + } + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, + "scrypt-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.3.tgz", + "integrity": "sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q=" + }, + "scryptsy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-2.1.0.tgz", + "integrity": "sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==" + }, + "semver": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", + "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==" + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "swarm-js": { + "version": "0.1.39", + "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.39.tgz", + "integrity": "sha512-QLMqL2rzF6n5s50BptyD6Oi0R1aWlJC5Y17SRIVXRj6OR1DRIPM7nepvrxxkjA1zNzFz6mUOMjfeqeDaWB7OOg==", + "requires": { + "bluebird": "^3.5.0", + "buffer": "^5.0.5", + "decompress": "^4.0.0", + "eth-lib": "^0.1.26", + "fs-extra": "^4.0.2", + "got": "^7.1.0", + "mime-types": "^2.1.16", + "mkdirp-promise": "^5.0.1", + "mock-fs": "^4.1.0", + "setimmediate": "^1.0.5", + "tar": "^4.0.2", + "xhr-request-promise": "^0.1.2" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "requires": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + } + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "requires": { + "prepend-http": "^1.0.1" + } + } + } + }, + "tar": { + "version": "4.4.12", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.12.tgz", + "integrity": "sha512-4GwpJwdSjIHlUrWd/1yJrl63UqcqjJyVglgIwn4gcG+Lrp9TXpZ1ZRrGLIRBNqLTUvz6yoPJrX4B/MISxY/Ukg==", + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + } + }, + "underscore": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" + } + }, + "utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" + }, + "web3": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.2.1.tgz", + "integrity": "sha512-nNMzeCK0agb5i/oTWNdQ1aGtwYfXzHottFP2Dz0oGIzavPMGSKyVlr8ibVb1yK5sJBjrWVnTdGaOC2zKDFuFRw==", + "requires": { + "web3-bzz": "1.2.1", + "web3-core": "1.2.1", + "web3-eth": "1.2.1", + "web3-eth-personal": "1.2.1", + "web3-net": "1.2.1", + "web3-shh": "1.2.1", + "web3-utils": "1.2.1" + } + }, + "web3-bzz": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.2.1.tgz", + "integrity": "sha512-LdOO44TuYbGIPfL4ilkuS89GQovxUpmLz6C1UC7VYVVRILeZS740FVB3j9V4P4FHUk1RenaDfKhcntqgVCHtjw==", + "requires": { + "got": "9.6.0", + "swarm-js": "0.1.39", + "underscore": "1.9.1" + } + }, + "web3-core": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.2.1.tgz", + "integrity": "sha512-5ODwIqgl8oIg/0+Ai4jsLxkKFWJYE0uLuE1yUKHNVCL4zL6n3rFjRMpKPokd6id6nJCNgeA64KdWQ4XfpnjdMg==", + "requires": { + "web3-core-helpers": "1.2.1", + "web3-core-method": "1.2.1", + "web3-core-requestmanager": "1.2.1", + "web3-utils": "1.2.1" + } + }, + "web3-core-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.2.1.tgz", + "integrity": "sha512-Gx3sTEajD5r96bJgfuW377PZVFmXIH4TdqDhgGwd2lZQCcMi+DA4TgxJNJGxn0R3aUVzyyE76j4LBrh412mXrw==", + "requires": { + "underscore": "1.9.1", + "web3-eth-iban": "1.2.1", + "web3-utils": "1.2.1" + } + }, + "web3-core-method": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.2.1.tgz", + "integrity": "sha512-Ghg2WS23qi6Xj8Od3VCzaImLHseEA7/usvnOItluiIc5cKs00WYWsNy2YRStzU9a2+z8lwQywPYp0nTzR/QXdQ==", + "requires": { + "underscore": "1.9.1", + "web3-core-helpers": "1.2.1", + "web3-core-promievent": "1.2.1", + "web3-core-subscriptions": "1.2.1", + "web3-utils": "1.2.1" + } + }, + "web3-core-promievent": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.2.1.tgz", + "integrity": "sha512-IVUqgpIKoeOYblwpex4Hye6npM0aMR+kU49VP06secPeN0rHMyhGF0ZGveWBrGvf8WDPI7jhqPBFIC6Jf3Q3zw==", + "requires": { + "any-promise": "1.3.0", + "eventemitter3": "3.1.2" + } + }, + "web3-core-requestmanager": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.2.1.tgz", + "integrity": "sha512-xfknTC69RfYmLKC+83Jz73IC3/sS2ZLhGtX33D4Q5nQ8yc39ElyAolxr9sJQS8kihOcM6u4J+8gyGMqsLcpIBg==", + "requires": { + "underscore": "1.9.1", + "web3-core-helpers": "1.2.1", + "web3-providers-http": "1.2.1", + "web3-providers-ipc": "1.2.1", + "web3-providers-ws": "1.2.1" + } + }, + "web3-core-subscriptions": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.2.1.tgz", + "integrity": "sha512-nmOwe3NsB8V8UFsY1r+sW6KjdOS68h8nuh7NzlWxBQT/19QSUGiERRTaZXWu5BYvo1EoZRMxCKyCQpSSXLc08g==", + "requires": { + "eventemitter3": "3.1.2", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.1" + } + }, + "web3-eth": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.2.1.tgz", + "integrity": "sha512-/2xly4Yry5FW1i+uygPjhfvgUP/MS/Dk+PDqmzp5M88tS86A+j8BzKc23GrlA8sgGs0645cpZK/999LpEF5UdA==", + "requires": { + "underscore": "1.9.1", + "web3-core": "1.2.1", + "web3-core-helpers": "1.2.1", + "web3-core-method": "1.2.1", + "web3-core-subscriptions": "1.2.1", + "web3-eth-abi": "1.2.1", + "web3-eth-accounts": "1.2.1", + "web3-eth-contract": "1.2.1", + "web3-eth-ens": "1.2.1", + "web3-eth-iban": "1.2.1", + "web3-eth-personal": "1.2.1", + "web3-net": "1.2.1", + "web3-utils": "1.2.1" + } + }, + "web3-eth-abi": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.2.1.tgz", + "integrity": "sha512-jI/KhU2a/DQPZXHjo2GW0myEljzfiKOn+h1qxK1+Y9OQfTcBMxrQJyH5AP89O6l6NZ1QvNdq99ThAxBFoy5L+g==", + "requires": { + "ethers": "4.0.0-beta.3", + "underscore": "1.9.1", + "web3-utils": "1.2.1" + } + }, + "web3-eth-accounts": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.2.1.tgz", + "integrity": "sha512-26I4qq42STQ8IeKUyur3MdQ1NzrzCqPsmzqpux0j6X/XBD7EjZ+Cs0lhGNkSKH5dI3V8CJasnQ5T1mNKeWB7nQ==", + "requires": { + "any-promise": "1.3.0", + "crypto-browserify": "3.12.0", + "eth-lib": "0.2.7", + "scryptsy": "2.1.0", + "semver": "6.2.0", + "underscore": "1.9.1", + "uuid": "3.3.2", + "web3-core": "1.2.1", + "web3-core-helpers": "1.2.1", + "web3-core-method": "1.2.1", + "web3-utils": "1.2.1" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", + "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + } + } + }, + "web3-eth-contract": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.2.1.tgz", + "integrity": "sha512-kYFESbQ3boC9bl2rYVghj7O8UKMiuKaiMkxvRH5cEDHil8V7MGEGZNH0slSdoyeftZVlaWSMqkRP/chfnKND0g==", + "requires": { + "underscore": "1.9.1", + "web3-core": "1.2.1", + "web3-core-helpers": "1.2.1", + "web3-core-method": "1.2.1", + "web3-core-promievent": "1.2.1", + "web3-core-subscriptions": "1.2.1", + "web3-eth-abi": "1.2.1", + "web3-utils": "1.2.1" + } + }, + "web3-eth-ens": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.2.1.tgz", + "integrity": "sha512-lhP1kFhqZr2nnbu3CGIFFrAnNxk2veXpOXBY48Tub37RtobDyHijHgrj+xTh+mFiPokyrapVjpFsbGa+Xzye4Q==", + "requires": { + "eth-ens-namehash": "2.0.8", + "underscore": "1.9.1", + "web3-core": "1.2.1", + "web3-core-helpers": "1.2.1", + "web3-core-promievent": "1.2.1", + "web3-eth-abi": "1.2.1", + "web3-eth-contract": "1.2.1", + "web3-utils": "1.2.1" + } + }, + "web3-eth-iban": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.2.1.tgz", + "integrity": "sha512-9gkr4QPl1jCU+wkgmZ8EwODVO3ovVj6d6JKMos52ggdT2YCmlfvFVF6wlGLwi0VvNa/p+0BjJzaqxnnG/JewjQ==", + "requires": { + "bn.js": "4.11.8", + "web3-utils": "1.2.1" + } + }, + "web3-eth-personal": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.2.1.tgz", + "integrity": "sha512-RNDVSiaSoY4aIp8+Hc7z+X72H7lMb3fmAChuSBADoEc7DsJrY/d0R5qQDK9g9t2BO8oxgLrLNyBP/9ub2Hc6Bg==", + "requires": { + "web3-core": "1.2.1", + "web3-core-helpers": "1.2.1", + "web3-core-method": "1.2.1", + "web3-net": "1.2.1", + "web3-utils": "1.2.1" + } + }, + "web3-net": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.2.1.tgz", + "integrity": "sha512-Yt1Bs7WgnLESPe0rri/ZoPWzSy55ovioaP35w1KZydrNtQ5Yq4WcrAdhBzcOW7vAkIwrsLQsvA+hrOCy7mNauw==", + "requires": { + "web3-core": "1.2.1", + "web3-core-method": "1.2.1", + "web3-utils": "1.2.1" + } + }, + "web3-providers-http": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.2.1.tgz", + "integrity": "sha512-BDtVUVolT9b3CAzeGVA/np1hhn7RPUZ6YYGB/sYky+GjeO311Yoq8SRDUSezU92x8yImSC2B+SMReGhd1zL+bQ==", + "requires": { + "web3-core-helpers": "1.2.1", + "xhr2-cookies": "1.1.0" + } + }, + "web3-providers-ipc": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.2.1.tgz", + "integrity": "sha512-oPEuOCwxVx8L4CPD0TUdnlOUZwGBSRKScCz/Ws2YHdr9Ium+whm+0NLmOZjkjQp5wovQbyBzNa6zJz1noFRvFA==", + "requires": { + "oboe": "2.1.4", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.1" + } + }, + "web3-providers-ws": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.2.1.tgz", + "integrity": "sha512-oqsQXzu+ejJACVHy864WwIyw+oB21nw/pI65/sD95Zi98+/HQzFfNcIFneF1NC4bVF3VNX4YHTNq2I2o97LAiA==", + "requires": { + "underscore": "1.9.1", + "web3-core-helpers": "1.2.1", + "websocket": "github:web3-js/WebSocket-Node#polyfill/globalThis" + }, + "dependencies": { + "websocket": { + "version": "github:web3-js/WebSocket-Node#905deb4812572b344f5801f8c9ce8bb02799d82e", + "from": "github:web3-js/WebSocket-Node#polyfill/globalThis", + "requires": { + "debug": "^2.2.0", + "es5-ext": "^0.10.50", + "nan": "^2.14.0", + "typedarray-to-buffer": "^3.1.5", + "yaeti": "^0.0.6" + } + } + } + }, + "web3-shh": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.2.1.tgz", + "integrity": "sha512-/3Cl04nza5kuFn25bV3FJWa0s3Vafr5BlT933h26xovQ6HIIz61LmvNQlvX1AhFL+SNJOTcQmK1SM59vcyC8bA==", + "requires": { + "web3-core": "1.2.1", + "web3-core-method": "1.2.1", + "web3-core-subscriptions": "1.2.1", + "web3-net": "1.2.1" + } + }, + "web3-utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.1.tgz", + "integrity": "sha512-Mrcn3l58L+yCKz3zBryM6JZpNruWuT0OCbag8w+reeNROSGVlXzUQkU+gtAwc9JCZ7tKUyg67+2YUGqUjVcyBA==", + "requires": { + "bn.js": "4.11.8", + "eth-lib": "0.2.7", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "underscore": "1.9.1", + "utf8": "3.0.0" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", + "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + } + } + }, + "websocket": { + "version": "1.0.30", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.30.tgz", + "integrity": "sha512-aO6klgaTdSMkhfl5VVJzD5fm+Srhh5jLYbS15+OiI1sN6h/RU/XW6WN9J1uVIpUKNmsTvT3Hs35XAFjn9NMfOw==", + "requires": { + "debug": "^2.2.0", + "nan": "^2.14.0", + "typedarray-to-buffer": "^3.1.5", + "yaeti": "^0.0.6" + } + } + } + }, + "tsort": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", + "integrity": "sha1-4igPXoF/i/QnVlf9D5rr1E9aJ4Y=" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" + }, + "unbzip2-stream": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz", + "integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==", + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "underscore": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "requires": { + "prepend-http": "^1.0.1" + } + }, + "url-set-query": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", + "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" + }, + "utf8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", + "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "web3": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.0.0-beta.37.tgz", + "integrity": "sha512-8XLgUspdzicC/xHG82TLrcF/Fxzj2XYNJ1KTYnepOI77bj5rvpsxxwHYBWQ6/JOjk0HkZqoBfnXWgcIHCDhZhQ==", + "requires": { + "web3-bzz": "1.0.0-beta.37", + "web3-core": "1.0.0-beta.37", + "web3-eth": "1.0.0-beta.37", + "web3-eth-personal": "1.0.0-beta.37", + "web3-net": "1.0.0-beta.37", + "web3-shh": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + } + }, + "web3-bzz": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.0.0-beta.37.tgz", + "integrity": "sha512-E+dho49Nsm/QpQvYWOF35YDsQrMvLB19AApENxhlQsu6HpWQt534DQul0t3Y/aAh8rlKD6Kanxt8LhHDG3vejQ==", + "requires": { + "got": "7.1.0", + "swarm-js": "0.1.37", + "underscore": "1.8.3" + } + }, + "web3-core": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.0.0-beta.37.tgz", + "integrity": "sha512-cIwEqCj7OJyefQNauI0HOgW4sSaOQ98V99H2/HEIlnCZylsDzfw7gtQUdwnRFiIyIxjbWy3iWsjwDPoXNPZBYg==", + "requires": { + "web3-core-helpers": "1.0.0-beta.37", + "web3-core-method": "1.0.0-beta.37", + "web3-core-requestmanager": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + } + }, + "web3-core-helpers": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.37.tgz", + "integrity": "sha512-efaLOzN28RMnbugnyelgLwPWWaSwElQzcAJ/x3PZu+uPloM/lE5x0YuBKvIh7/PoSMlHqtRWj1B8CpuQOUQ5Ew==", + "requires": { + "underscore": "1.8.3", + "web3-eth-iban": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + } + }, + "web3-core-method": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.0.0-beta.37.tgz", + "integrity": "sha512-pKWFUeqnVmzx3VrZg+CseSdrl/Yrk2ioid/HzolNXZE6zdoITZL0uRjnsbqXGEzgRRd1Oe/pFndpTlRsnxXloA==", + "requires": { + "underscore": "1.8.3", + "web3-core-helpers": "1.0.0-beta.37", + "web3-core-promievent": "1.0.0-beta.37", + "web3-core-subscriptions": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + } + }, + "web3-core-promievent": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.37.tgz", + "integrity": "sha512-GTF2r1lP8nJBeA5Gxq5yZpJy9l8Fb9CXGZPfF8jHvaRdQHtm2Z+NDhqYmF833lcdkokRSyfPcXlz1mlWeClFpg==", + "requires": { + "any-promise": "1.3.0", + "eventemitter3": "1.1.1" + } + }, + "web3-core-requestmanager": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.0.0-beta.37.tgz", + "integrity": "sha512-66VUqye5BGp1Zz1r8psCxdNH+GtTjaFwroum2Osx+wbC5oRjAiXkkadiitf6wRb+edodjEMPn49u7B6WGNuewQ==", + "requires": { + "underscore": "1.8.3", + "web3-core-helpers": "1.0.0-beta.37", + "web3-providers-http": "1.0.0-beta.37", + "web3-providers-ipc": "1.0.0-beta.37", + "web3-providers-ws": "1.0.0-beta.37" + } + }, + "web3-core-subscriptions": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.37.tgz", + "integrity": "sha512-FdXl8so9kwkRRWziuCSpFsAuAdg9KvpXa1fQlT16uoGcYYfxwFO/nkwyBGQzkZt7emShI2IRugcazyPCZDwkOA==", + "requires": { + "eventemitter3": "1.1.1", + "underscore": "1.8.3", + "web3-core-helpers": "1.0.0-beta.37" + } + }, + "web3-eth": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.0.0-beta.37.tgz", + "integrity": "sha512-Eb3aGtkz3G9q+Z9DKgSQNbn/u8RtcZQQ0R4sW9hy5KK47GoT6vab5c6DiD3QWzI0BzitHzR5Ji+3VHf/hPUGgw==", + "requires": { + "underscore": "1.8.3", + "web3-core": "1.0.0-beta.37", + "web3-core-helpers": "1.0.0-beta.37", + "web3-core-method": "1.0.0-beta.37", + "web3-core-subscriptions": "1.0.0-beta.37", + "web3-eth-abi": "1.0.0-beta.37", + "web3-eth-accounts": "1.0.0-beta.37", + "web3-eth-contract": "1.0.0-beta.37", + "web3-eth-ens": "1.0.0-beta.37", + "web3-eth-iban": "1.0.0-beta.37", + "web3-eth-personal": "1.0.0-beta.37", + "web3-net": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + } + }, + "web3-eth-abi": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.37.tgz", + "integrity": "sha512-g9DKZGM2OqwKp/tX3W/yihcj7mQCtJ6CXyZXEIZfuDyRBED/iSEIFfieDOd+yo16sokLMig6FG7ADhhu+19hdA==", + "requires": { + "ethers": "4.0.0-beta.1", + "underscore": "1.8.3", + "web3-utils": "1.0.0-beta.37" + }, + "dependencies": { + "@types/node": { + "version": "10.14.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.19.tgz", + "integrity": "sha512-j6Sqt38ssdMKutXBUuAcmWF8QtHW1Fwz/mz4Y+Wd9mzpBiVFirjpNQf363hG5itkG+yGaD+oiLyb50HxJ36l9Q==" + }, + "ethers": { + "version": "4.0.0-beta.1", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.0-beta.1.tgz", + "integrity": "sha512-SoYhktEbLxf+fiux5SfCEwdzWENMvgIbMZD90I62s4GZD9nEjgEWy8ZboI3hck193Vs0bDoTohDISx84f2H2tw==", + "requires": { + "@types/node": "^10.3.2", + "aes-js": "3.0.0", + "bn.js": "^4.4.0", + "elliptic": "6.3.3", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.3", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + } + }, + "scrypt-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.3.tgz", + "integrity": "sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q=" + } + } + }, + "web3-eth-accounts": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.37.tgz", + "integrity": "sha512-uvbHL62/zwo4GDmwKdqH9c/EgYd8QVnAfpVw8D3epSISpgbONNY7Hr4MRMSd/CqAP12l2Ls9JVQGLhhC83bW6g==", + "requires": { + "any-promise": "1.3.0", + "crypto-browserify": "3.12.0", + "eth-lib": "0.2.7", + "scrypt.js": "0.2.0", + "underscore": "1.8.3", + "uuid": "2.0.1", + "web3-core": "1.0.0-beta.37", + "web3-core-helpers": "1.0.0-beta.37", + "web3-core-method": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + }, + "dependencies": { + "elliptic": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", + "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "eth-lib": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", + "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + } + } + }, + "web3-eth-contract": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.37.tgz", + "integrity": "sha512-h1B3A8Z/C7BlnTCHkrWbXZQTViDxfR12lKMeTkT8Sqj5phFmxrBlPE4ORy4lf1Dk5b23mZYE0r/IRACx4ThCrQ==", + "requires": { + "underscore": "1.8.3", + "web3-core": "1.0.0-beta.37", + "web3-core-helpers": "1.0.0-beta.37", + "web3-core-method": "1.0.0-beta.37", + "web3-core-promievent": "1.0.0-beta.37", + "web3-core-subscriptions": "1.0.0-beta.37", + "web3-eth-abi": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + } + }, + "web3-eth-ens": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.0.0-beta.37.tgz", + "integrity": "sha512-dR3UkrVzdRrJhfP57xBPx0CMiVnCcYFvh+u2XMkGydrhHgupSUkjqGr89xry/j1T0BkuN9mikpbyhdCVMXqMbg==", + "requires": { + "eth-ens-namehash": "2.0.8", + "underscore": "1.8.3", + "web3-core": "1.0.0-beta.37", + "web3-core-helpers": "1.0.0-beta.37", + "web3-core-promievent": "1.0.0-beta.37", + "web3-eth-abi": "1.0.0-beta.37", + "web3-eth-contract": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + } + }, + "web3-eth-iban": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.37.tgz", + "integrity": "sha512-WQRniGJFxH/XCbd7miO6+jnUG+6bvuzfeufPIiOtCbeIC1ypp1kSqER8YVBDrTyinU1xnf1U5v0KBZ2yiWBJxQ==", + "requires": { + "bn.js": "4.11.6", + "web3-utils": "1.0.0-beta.37" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } + } + }, + "web3-eth-personal": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.37.tgz", + "integrity": "sha512-B4dZpGbD+nGnn48i6nJBqrQ+HB7oDmd+Q3wGRKOsHSK5HRWO/KwYeA7wgwamMAElkut50lIsT9EJl4Apfk3G5Q==", + "requires": { + "web3-core": "1.0.0-beta.37", + "web3-core-helpers": "1.0.0-beta.37", + "web3-core-method": "1.0.0-beta.37", + "web3-net": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + } + }, + "web3-net": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.0.0-beta.37.tgz", + "integrity": "sha512-xG/uBtMdDa1UMXw9KjDUgf3fXA/fDEJUYUS0TDn+U9PMgngA+UVECHNNvQTrVVDxEky38V3sahwIDiopNsQdsw==", + "requires": { + "web3-core": "1.0.0-beta.37", + "web3-core-method": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + } + }, + "web3-providers-http": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.0.0-beta.37.tgz", + "integrity": "sha512-FM/1YDB1jtZuTo78habFj7S9tNHoqt0UipdyoQV29b8LkGKZV9Vs3is8L24hzuj1j/tbwkcAH+ewIseHwu0DTg==", + "requires": { + "web3-core-helpers": "1.0.0-beta.37", + "xhr2-cookies": "1.1.0" + } + }, + "web3-providers-ipc": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.0.0-beta.37.tgz", + "integrity": "sha512-NdRPRxYMIU0C3u18NI8u4bwbhI9pCg5nRgDGYcmSAx5uOBxiYcQy+hb0WkJRRhBoyIXJmy+s26FoH8904+UnPg==", + "requires": { + "oboe": "2.1.3", + "underscore": "1.8.3", + "web3-core-helpers": "1.0.0-beta.37" + } + }, + "web3-providers-ws": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.0.0-beta.37.tgz", + "integrity": "sha512-8p6ZLv+1JYa5Vs8oBn33Nn3VGFBbF+wVfO+b78RJS1Qf1uIOzjFVDk3XwYDD7rlz9G5BKpxhaQw+6EGQ7L02aw==", + "requires": { + "underscore": "1.8.3", + "web3-core-helpers": "1.0.0-beta.37", + "websocket": "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible" + } + }, + "web3-shh": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.0.0-beta.37.tgz", + "integrity": "sha512-h5STG/xqZNQWtCLYOu7NiMqwqPea8SfkKQUPUFxXKIPVCFVKpHuQEwW1qcPQRJMLhlQIv17xuoUe1A+RzDNbrw==", + "requires": { + "web3-core": "1.0.0-beta.37", + "web3-core-method": "1.0.0-beta.37", + "web3-core-subscriptions": "1.0.0-beta.37", + "web3-net": "1.0.0-beta.37" + } + }, + "web3-utils": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.37.tgz", + "integrity": "sha512-kA1fyhO8nKgU21wi30oJQ/ssvu+9srMdjOTKbHYbQe4ATPcr5YNwwrxG3Bcpbu1bEwRUVKHCkqi+wTvcAWBdlQ==", + "requires": { + "bn.js": "4.11.6", + "eth-lib": "0.1.27", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "underscore": "1.8.3", + "utf8": "2.1.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } + } + }, + "websocket": { + "version": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2", + "from": "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible", + "requires": { + "debug": "^2.2.0", + "nan": "^2.3.3", + "typedarray-to-buffer": "^3.1.2", + "yaeti": "^0.0.6" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "xhr": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", + "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", + "requires": { + "global": "~4.3.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "xhr-request": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", + "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", + "requires": { + "buffer-to-arraybuffer": "^0.0.5", + "object-assign": "^4.1.1", + "query-string": "^5.0.1", + "simple-get": "^2.7.0", + "timed-out": "^4.0.1", + "url-set-query": "^1.0.0", + "xhr": "^2.0.4" + } + }, + "xhr-request-promise": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.2.tgz", + "integrity": "sha1-NDxE0e53JrhkgGloLQ+EDIO0Jh0=", + "requires": { + "xhr-request": "^1.0.1" + } + }, + "xhr2-cookies": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", + "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", + "requires": { + "cookiejar": "^2.1.1" + } + }, + "xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=" + }, + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "zos-lib": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/zos-lib/-/zos-lib-2.4.2.tgz", + "integrity": "sha512-q2lgsJ3eEUNKUBwfB7cYzjaioyy5b/PDcIWMoCkPViR0G/ku50iO5mc8P/KJJOwU7EZFGfn/2JQVOeRbQzz/WQ==", + "requires": { + "@types/cbor": "^2.0.0", + "@types/web3": "^1.0.14", + "axios": "^0.18.0", + "bignumber.js": "^7.2.0", + "cbor": "^4.1.5", + "chalk": "^2.4.1", + "ethers": "^4.0.20", + "glob": "^7.1.3", + "lodash.concat": "^4.5.0", + "lodash.difference": "^4.5.0", + "lodash.every": "^4.6.0", + "lodash.findlast": "^4.6.0", + "lodash.flatten": "^4.4.0", + "lodash.includes": "^4.3.0", + "lodash.invertby": "^4.7.0", + "lodash.isarray": "^4.0.0", + "lodash.isempty": "^4.4.0", + "lodash.isequal": "^4.5.0", + "lodash.isstring": "^4.0.1", + "lodash.keys": "^4.2.0", + "lodash.map": "^4.6.0", + "lodash.omit": "^4.5.0", + "lodash.pick": "^4.4.0", + "lodash.pickby": "^4.6.0", + "lodash.random": "^3.2.0", + "lodash.reverse": "^4.0.1", + "lodash.some": "^4.6.0", + "lodash.uniq": "^4.5.0", + "lodash.values": "^4.3.0", + "lodash.without": "^4.4.0", + "semver": "^5.5.1", + "spinnies": "^0.4.3", + "truffle-flattener": "^1.4.0", + "web3": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + } + } + } +} diff --git a/ups-package-tracker/smart-contract/package.json b/ups-package-tracker/smart-contract/package.json new file mode 100644 index 00000000..cecad941 --- /dev/null +++ b/ups-package-tracker/smart-contract/package.json @@ -0,0 +1,28 @@ +{ + "name": "price-feed-doracle", + "version": "0.0.1", + "description": "Contracts and tools for the iExec based price feed DOracle", + "repository": { + "type": "git", + "url": "git+https://github.com/iExecBlockchainComputing/price-feed-doracle.git" + }, + "bugs": { + "url": "https://github.com/iExecBlockchainComputing/price-feed-doracle.git/issues" + }, + "files": [ + "/build", + "/contracts", + "daemon" + ], + "author": "iExec", + "license": "ISC", + "homepage": "https://github.com/iExecBlockchainComputing/price-feed-doracle.git#readme", + "dependencies": { + "iexec-doracle-base": "^0.0.6", + "iexec-poco": "^3.0.35", + "iexec-solidity": "^0.0.7", + "openzeppelin-solidity": "^2.2.0", + "truffle": "^5.0.25", + "truffle-hdwallet-provider": "^1.0.12" + } +} diff --git a/ups-package-tracker/smart-contract/subgraph-kovan/.gitignore b/ups-package-tracker/smart-contract/subgraph-kovan/.gitignore new file mode 100644 index 00000000..ad46b308 --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph-kovan/.gitignore @@ -0,0 +1,61 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# next.js build output +.next diff --git a/ups-package-tracker/smart-contract/subgraph-kovan/LICENSE b/ups-package-tracker/smart-contract/subgraph-kovan/LICENSE new file mode 100644 index 00000000..47d6e316 --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph-kovan/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 The Graph + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/ups-package-tracker/smart-contract/subgraph-kovan/README.md b/ups-package-tracker/smart-contract/subgraph-kovan/README.md new file mode 100644 index 00000000..a5032164 --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph-kovan/README.md @@ -0,0 +1,3 @@ +# Example Subgraph + +An example to help you get started with The Graph. For more information see the docs on https://thegraph.com/docs/. diff --git a/ups-package-tracker/smart-contract/subgraph-kovan/abi/PriceOracleLegacy.json b/ups-package-tracker/smart-contract/subgraph-kovan/abi/PriceOracleLegacy.json new file mode 100644 index 00000000..65df7f79 --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph-kovan/abi/PriceOracleLegacy.json @@ -0,0 +1,4 @@ +{ + "contractName": "PriceOracleLegacy", + "abi": [{"constant":true,"inputs":[{"name":"_identity","type":"address"},{"name":"_hash","type":"bytes32"},{"name":"_signature","type":"bytes"}],"name":"verifySignature","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_authorizedApp","type":"address"},{"name":"_authorizedDataset","type":"address"},{"name":"_authorizedWorkerpool","type":"address"},{"name":"_requiredtag","type":"bytes32"},{"name":"_requiredtrust","type":"uint256"}],"name":"updateEnv","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"m_authorizedApp","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"results","type":"bytes"}],"name":"decodeResults","outputs":[{"name":"","type":"uint256"},{"name":"","type":"string"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_doracleCallId","type":"bytes32"},{"name":"","type":"bytes"}],"name":"receiveResult","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"m_authorizedDataset","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"m_iexecClerk","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"m_iexecHub","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"m_authorizedWorkerpool","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"values","outputs":[{"name":"oracleCallID","type":"bytes32"},{"name":"date","type":"uint256"},{"name":"value","type":"uint256"},{"name":"details","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"m_requiredtrust","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_oracleCallID","type":"bytes32"}],"name":"processResult","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"m_requiredtag","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_iexecHubAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"bytes32"},{"indexed":true,"name":"oracleCallID","type":"bytes32"},{"indexed":false,"name":"oldDate","type":"uint256"},{"indexed":false,"name":"oldValue","type":"uint256"},{"indexed":false,"name":"newDate","type":"uint256"},{"indexed":false,"name":"newValue","type":"uint256"}],"name":"ValueChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"doracleCallId","type":"bytes32"}],"name":"ResultReady","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}] +} diff --git a/ups-package-tracker/smart-contract/subgraph-kovan/generated/PriceOracle/PriceOracleLegacy.ts b/ups-package-tracker/smart-contract/subgraph-kovan/generated/PriceOracle/PriceOracleLegacy.ts new file mode 100644 index 00000000..f06538b2 --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph-kovan/generated/PriceOracle/PriceOracleLegacy.ts @@ -0,0 +1,417 @@ +// THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. + +import { + EthereumCall, + EthereumEvent, + SmartContract, + EthereumValue, + JSONValue, + TypedMap, + Entity, + EthereumTuple, + Bytes, + Address, + BigInt +} from "@graphprotocol/graph-ts"; + +export class ValueChange extends EthereumEvent { + get params(): ValueChange__Params { + return new ValueChange__Params(this); + } +} + +export class ValueChange__Params { + _event: ValueChange; + + constructor(event: ValueChange) { + this._event = event; + } + + get id(): Bytes { + return this._event.parameters[0].value.toBytes(); + } + + get oracleCallID(): Bytes { + return this._event.parameters[1].value.toBytes(); + } + + get oldDate(): BigInt { + return this._event.parameters[2].value.toBigInt(); + } + + get oldValue(): BigInt { + return this._event.parameters[3].value.toBigInt(); + } + + get newDate(): BigInt { + return this._event.parameters[4].value.toBigInt(); + } + + get newValue(): BigInt { + return this._event.parameters[5].value.toBigInt(); + } +} + +export class ResultReady extends EthereumEvent { + get params(): ResultReady__Params { + return new ResultReady__Params(this); + } +} + +export class ResultReady__Params { + _event: ResultReady; + + constructor(event: ResultReady) { + this._event = event; + } + + get doracleCallId(): Bytes { + return this._event.parameters[0].value.toBytes(); + } +} + +export class OwnershipTransferred extends EthereumEvent { + get params(): OwnershipTransferred__Params { + return new OwnershipTransferred__Params(this); + } +} + +export class OwnershipTransferred__Params { + _event: OwnershipTransferred; + + constructor(event: OwnershipTransferred) { + this._event = event; + } + + get previousOwner(): Address { + return this._event.parameters[0].value.toAddress(); + } + + get newOwner(): Address { + return this._event.parameters[1].value.toAddress(); + } +} + +export class PriceOracleLegacy__decodeResultsResult { + value0: BigInt; + value1: string; + value2: BigInt; + + constructor(value0: BigInt, value1: string, value2: BigInt) { + this.value0 = value0; + this.value1 = value1; + this.value2 = value2; + } + + toMap(): TypedMap { + let map = new TypedMap(); + map.set("value0", EthereumValue.fromUnsignedBigInt(this.value0)); + map.set("value1", EthereumValue.fromString(this.value1)); + map.set("value2", EthereumValue.fromUnsignedBigInt(this.value2)); + return map; + } +} + +export class PriceOracleLegacy__valuesResult { + value0: Bytes; + value1: BigInt; + value2: BigInt; + value3: string; + + constructor(value0: Bytes, value1: BigInt, value2: BigInt, value3: string) { + this.value0 = value0; + this.value1 = value1; + this.value2 = value2; + this.value3 = value3; + } + + toMap(): TypedMap { + let map = new TypedMap(); + map.set("value0", EthereumValue.fromFixedBytes(this.value0)); + map.set("value1", EthereumValue.fromUnsignedBigInt(this.value1)); + map.set("value2", EthereumValue.fromUnsignedBigInt(this.value2)); + map.set("value3", EthereumValue.fromString(this.value3)); + return map; + } +} + +export class PriceOracleLegacy extends SmartContract { + static bind(address: Address): PriceOracleLegacy { + return new PriceOracleLegacy("PriceOracleLegacy", address); + } + + verifySignature( + _identity: Address, + _hash: Bytes, + _signature: Bytes + ): boolean { + let result = super.call("verifySignature", [ + EthereumValue.fromAddress(_identity), + EthereumValue.fromFixedBytes(_hash), + EthereumValue.fromBytes(_signature) + ]); + return result[0].toBoolean(); + } + + m_authorizedApp(): Address { + let result = super.call("m_authorizedApp", []); + return result[0].toAddress(); + } + + decodeResults(results: Bytes): PriceOracleLegacy__decodeResultsResult { + let result = super.call("decodeResults", [ + EthereumValue.fromBytes(results) + ]); + return new PriceOracleLegacy__decodeResultsResult( + result[0].toBigInt(), + result[1].toString(), + result[2].toBigInt() + ); + } + + m_authorizedDataset(): Address { + let result = super.call("m_authorizedDataset", []); + return result[0].toAddress(); + } + + owner(): Address { + let result = super.call("owner", []); + return result[0].toAddress(); + } + + isOwner(): boolean { + let result = super.call("isOwner", []); + return result[0].toBoolean(); + } + + m_iexecClerk(): Address { + let result = super.call("m_iexecClerk", []); + return result[0].toAddress(); + } + + m_iexecHub(): Address { + let result = super.call("m_iexecHub", []); + return result[0].toAddress(); + } + + m_authorizedWorkerpool(): Address { + let result = super.call("m_authorizedWorkerpool", []); + return result[0].toAddress(); + } + + values(param0: Bytes): PriceOracleLegacy__valuesResult { + let result = super.call("values", [EthereumValue.fromFixedBytes(param0)]); + return new PriceOracleLegacy__valuesResult( + result[0].toBytes(), + result[1].toBigInt(), + result[2].toBigInt(), + result[3].toString() + ); + } + + m_requiredtrust(): BigInt { + let result = super.call("m_requiredtrust", []); + return result[0].toBigInt(); + } + + m_requiredtag(): Bytes { + let result = super.call("m_requiredtag", []); + return result[0].toBytes(); + } +} + +export class UpdateEnvCall extends EthereumCall { + get inputs(): UpdateEnvCall__Inputs { + return new UpdateEnvCall__Inputs(this); + } + + get outputs(): UpdateEnvCall__Outputs { + return new UpdateEnvCall__Outputs(this); + } +} + +export class UpdateEnvCall__Inputs { + _call: UpdateEnvCall; + + constructor(call: UpdateEnvCall) { + this._call = call; + } + + get _authorizedApp(): Address { + return this._call.inputValues[0].value.toAddress(); + } + + get _authorizedDataset(): Address { + return this._call.inputValues[1].value.toAddress(); + } + + get _authorizedWorkerpool(): Address { + return this._call.inputValues[2].value.toAddress(); + } + + get _requiredtag(): Bytes { + return this._call.inputValues[3].value.toBytes(); + } + + get _requiredtrust(): BigInt { + return this._call.inputValues[4].value.toBigInt(); + } +} + +export class UpdateEnvCall__Outputs { + _call: UpdateEnvCall; + + constructor(call: UpdateEnvCall) { + this._call = call; + } +} + +export class ReceiveResultCall extends EthereumCall { + get inputs(): ReceiveResultCall__Inputs { + return new ReceiveResultCall__Inputs(this); + } + + get outputs(): ReceiveResultCall__Outputs { + return new ReceiveResultCall__Outputs(this); + } +} + +export class ReceiveResultCall__Inputs { + _call: ReceiveResultCall; + + constructor(call: ReceiveResultCall) { + this._call = call; + } + + get _doracleCallId(): Bytes { + return this._call.inputValues[0].value.toBytes(); + } + + get value1(): Bytes { + return this._call.inputValues[1].value.toBytes(); + } +} + +export class ReceiveResultCall__Outputs { + _call: ReceiveResultCall; + + constructor(call: ReceiveResultCall) { + this._call = call; + } +} + +export class RenounceOwnershipCall extends EthereumCall { + get inputs(): RenounceOwnershipCall__Inputs { + return new RenounceOwnershipCall__Inputs(this); + } + + get outputs(): RenounceOwnershipCall__Outputs { + return new RenounceOwnershipCall__Outputs(this); + } +} + +export class RenounceOwnershipCall__Inputs { + _call: RenounceOwnershipCall; + + constructor(call: RenounceOwnershipCall) { + this._call = call; + } +} + +export class RenounceOwnershipCall__Outputs { + _call: RenounceOwnershipCall; + + constructor(call: RenounceOwnershipCall) { + this._call = call; + } +} + +export class ProcessResultCall extends EthereumCall { + get inputs(): ProcessResultCall__Inputs { + return new ProcessResultCall__Inputs(this); + } + + get outputs(): ProcessResultCall__Outputs { + return new ProcessResultCall__Outputs(this); + } +} + +export class ProcessResultCall__Inputs { + _call: ProcessResultCall; + + constructor(call: ProcessResultCall) { + this._call = call; + } + + get _oracleCallID(): Bytes { + return this._call.inputValues[0].value.toBytes(); + } +} + +export class ProcessResultCall__Outputs { + _call: ProcessResultCall; + + constructor(call: ProcessResultCall) { + this._call = call; + } +} + +export class TransferOwnershipCall extends EthereumCall { + get inputs(): TransferOwnershipCall__Inputs { + return new TransferOwnershipCall__Inputs(this); + } + + get outputs(): TransferOwnershipCall__Outputs { + return new TransferOwnershipCall__Outputs(this); + } +} + +export class TransferOwnershipCall__Inputs { + _call: TransferOwnershipCall; + + constructor(call: TransferOwnershipCall) { + this._call = call; + } + + get newOwner(): Address { + return this._call.inputValues[0].value.toAddress(); + } +} + +export class TransferOwnershipCall__Outputs { + _call: TransferOwnershipCall; + + constructor(call: TransferOwnershipCall) { + this._call = call; + } +} + +export class ConstructorCall extends EthereumCall { + get inputs(): ConstructorCall__Inputs { + return new ConstructorCall__Inputs(this); + } + + get outputs(): ConstructorCall__Outputs { + return new ConstructorCall__Outputs(this); + } +} + +export class ConstructorCall__Inputs { + _call: ConstructorCall; + + constructor(call: ConstructorCall) { + this._call = call; + } + + get _iexecHubAddr(): Address { + return this._call.inputValues[0].value.toAddress(); + } +} + +export class ConstructorCall__Outputs { + _call: ConstructorCall; + + constructor(call: ConstructorCall) { + this._call = call; + } +} diff --git a/ups-package-tracker/smart-contract/subgraph-kovan/generated/schema.ts b/ups-package-tracker/smart-contract/subgraph-kovan/generated/schema.ts new file mode 100644 index 00000000..8fcd78af --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph-kovan/generated/schema.ts @@ -0,0 +1,214 @@ +// THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. + +import { + TypedMap, + Entity, + Value, + ValueKind, + store, + Address, + Bytes, + BigInt, + BigDecimal +} from "@graphprotocol/graph-ts"; + +export class Asset extends Entity { + constructor(id: string) { + super(); + this.set("id", Value.fromString(id)); + } + + save(): void { + let id = this.get("id"); + assert(id !== null, "Cannot save Asset entity without an ID"); + assert( + id.kind == ValueKind.STRING, + "Cannot save Asset entity with non-string ID. " + + 'Considering using .toHex() to convert the "id" to a string.' + ); + store.set("Asset", id.toString(), this); + } + + static load(id: string): Asset | null { + return store.get("Asset", id) as Asset | null; + } + + get id(): string { + let value = this.get("id"); + return value.toString(); + } + + set id(value: string) { + this.set("id", Value.fromString(value)); + } + + get pairs(): Array { + let value = this.get("pairs"); + return value.toStringArray(); + } + + set pairs(value: Array) { + this.set("pairs", Value.fromStringArray(value)); + } +} + +export class Pair extends Entity { + constructor(id: string) { + super(); + this.set("id", Value.fromString(id)); + } + + save(): void { + let id = this.get("id"); + assert(id !== null, "Cannot save Pair entity without an ID"); + assert( + id.kind == ValueKind.STRING, + "Cannot save Pair entity with non-string ID. " + + 'Considering using .toHex() to convert the "id" to a string.' + ); + store.set("Pair", id.toString(), this); + } + + static load(id: string): Pair | null { + return store.get("Pair", id) as Pair | null; + } + + get id(): string { + let value = this.get("id"); + return value.toString(); + } + + set id(value: string) { + this.set("id", Value.fromString(value)); + } + + get asset_base(): string { + let value = this.get("asset_base"); + return value.toString(); + } + + set asset_base(value: string) { + this.set("asset_base", Value.fromString(value)); + } + + get asset_quote(): string { + let value = this.get("asset_quote"); + return value.toString(); + } + + set asset_quote(value: string) { + this.set("asset_quote", Value.fromString(value)); + } + + get precision(): i32 { + let value = this.get("precision"); + return value.toI32(); + } + + set precision(value: i32) { + this.set("precision", Value.fromI32(value)); + } + + get latest(): string { + let value = this.get("latest"); + return value.toString(); + } + + set latest(value: string) { + this.set("latest", Value.fromString(value)); + } + + get history(): Array { + let value = this.get("history"); + return value.toStringArray(); + } + + set history(value: Array) { + this.set("history", Value.fromStringArray(value)); + } +} + +export class Quotation extends Entity { + constructor(id: string) { + super(); + this.set("id", Value.fromString(id)); + } + + save(): void { + let id = this.get("id"); + assert(id !== null, "Cannot save Quotation entity without an ID"); + assert( + id.kind == ValueKind.STRING, + "Cannot save Quotation entity with non-string ID. " + + 'Considering using .toHex() to convert the "id" to a string.' + ); + store.set("Quotation", id.toString(), this); + } + + static load(id: string): Quotation | null { + return store.get("Quotation", id) as Quotation | null; + } + + get id(): string { + let value = this.get("id"); + return value.toString(); + } + + set id(value: string) { + this.set("id", Value.fromString(value)); + } + + get blockNumber(): i32 { + let value = this.get("blockNumber"); + return value.toI32(); + } + + set blockNumber(value: i32) { + this.set("blockNumber", Value.fromI32(value)); + } + + get transactionID(): Bytes { + let value = this.get("transactionID"); + return value.toBytes(); + } + + set transactionID(value: Bytes) { + this.set("transactionID", Value.fromBytes(value)); + } + + get pair(): string { + let value = this.get("pair"); + return value.toString(); + } + + set pair(value: string) { + this.set("pair", Value.fromString(value)); + } + + get value(): BigDecimal { + let value = this.get("value"); + return value.toBigDecimal(); + } + + set value(value: BigDecimal) { + this.set("value", Value.fromBigDecimal(value)); + } + + get timestamp(): BigInt { + let value = this.get("timestamp"); + return value.toBigInt(); + } + + set timestamp(value: BigInt) { + this.set("timestamp", Value.fromBigInt(value)); + } + + get oracleCallID(): Bytes { + let value = this.get("oracleCallID"); + return value.toBytes(); + } + + set oracleCallID(value: Bytes) { + this.set("oracleCallID", Value.fromBytes(value)); + } +} diff --git a/ups-package-tracker/smart-contract/subgraph-kovan/package.json b/ups-package-tracker/smart-contract/subgraph-kovan/package.json new file mode 100644 index 00000000..462bdb5f --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph-kovan/package.json @@ -0,0 +1,20 @@ +{ + "name": "iExecGraph", + "version": "0.1.0", + "scripts": { + "codegen": "graph codegen", + "create": "graph create amxx/price-feed-doracle-kovan --node https://api.thegraph.com/deploy/", + "create-local": "graph create amxx/price-feed-doracle-kovan --node http://127.0.0.1:8020", + "build": "graph build", + "deploy": "graph deploy amxx/price-feed-doracle-kovan --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/", + "deploy-local": "graph deploy amxx/price-feed-doracle-kovan --ipfs http://localhost:5001 --node http://127.0.0.1:8020" + }, + "devDependencies": { + "@graphprotocol/graph-cli": "^0.15.0", + "@graphprotocol/graph-ts": "^0.15.0" + }, + "dependencies": { + "babel-polyfill": "^6.26.0", + "babel-register": "^6.26.0" + } +} diff --git a/ups-package-tracker/smart-contract/subgraph-kovan/schema.graphql b/ups-package-tracker/smart-contract/subgraph-kovan/schema.graphql new file mode 100644 index 00000000..d29af697 --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph-kovan/schema.graphql @@ -0,0 +1 @@ +../subgraph/schema.graphql \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/subgraph-kovan/src b/ups-package-tracker/smart-contract/subgraph-kovan/src new file mode 100644 index 00000000..439412ec --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph-kovan/src @@ -0,0 +1 @@ +../subgraph/src \ No newline at end of file diff --git a/ups-package-tracker/smart-contract/subgraph-kovan/subgraph.yaml b/ups-package-tracker/smart-contract/subgraph-kovan/subgraph.yaml new file mode 100644 index 00000000..58504108 --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph-kovan/subgraph.yaml @@ -0,0 +1,27 @@ +specVersion: 0.0.2 +description: PriceFeedOracle-Kovan +repository: https://github.com/iExecBlockchainComputing/price-feed-doracle +schema: + file: ./schema.graphql +dataSources: + - name: PriceOracle + kind: ethereum/contract + network: kovan + source: + address: '0x3b9F1a9aeCb1991f3818f45bd4CC735f4BEE93Ac' + abi: PriceOracleLegacy + mapping: + kind: ethereum/events + apiVersion: 0.0.3 + language: wasm/assemblyscript + entities: + - Asset + - Pair + - Quotation + abis: + - name: PriceOracleLegacy + file: abi/PriceOracleLegacy.json + eventHandlers: + - event: ValueChange(indexed bytes32,indexed bytes32,uint256,uint256,uint256,uint256) + handler: handleValueChange + file: ./src/priceoracle.ts diff --git a/ups-package-tracker/smart-contract/subgraph/.gitignore b/ups-package-tracker/smart-contract/subgraph/.gitignore new file mode 100644 index 00000000..ad46b308 --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph/.gitignore @@ -0,0 +1,61 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# next.js build output +.next diff --git a/ups-package-tracker/smart-contract/subgraph/LICENSE b/ups-package-tracker/smart-contract/subgraph/LICENSE new file mode 100644 index 00000000..47d6e316 --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 The Graph + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/ups-package-tracker/smart-contract/subgraph/README.md b/ups-package-tracker/smart-contract/subgraph/README.md new file mode 100644 index 00000000..a5032164 --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph/README.md @@ -0,0 +1,3 @@ +# Example Subgraph + +An example to help you get started with The Graph. For more information see the docs on https://thegraph.com/docs/. diff --git a/ups-package-tracker/smart-contract/subgraph/abi/PriceOracleLegacy.json b/ups-package-tracker/smart-contract/subgraph/abi/PriceOracleLegacy.json new file mode 100644 index 00000000..65df7f79 --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph/abi/PriceOracleLegacy.json @@ -0,0 +1,4 @@ +{ + "contractName": "PriceOracleLegacy", + "abi": [{"constant":true,"inputs":[{"name":"_identity","type":"address"},{"name":"_hash","type":"bytes32"},{"name":"_signature","type":"bytes"}],"name":"verifySignature","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_authorizedApp","type":"address"},{"name":"_authorizedDataset","type":"address"},{"name":"_authorizedWorkerpool","type":"address"},{"name":"_requiredtag","type":"bytes32"},{"name":"_requiredtrust","type":"uint256"}],"name":"updateEnv","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"m_authorizedApp","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"results","type":"bytes"}],"name":"decodeResults","outputs":[{"name":"","type":"uint256"},{"name":"","type":"string"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_doracleCallId","type":"bytes32"},{"name":"","type":"bytes"}],"name":"receiveResult","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"m_authorizedDataset","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"m_iexecClerk","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"m_iexecHub","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"m_authorizedWorkerpool","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"values","outputs":[{"name":"oracleCallID","type":"bytes32"},{"name":"date","type":"uint256"},{"name":"value","type":"uint256"},{"name":"details","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"m_requiredtrust","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_oracleCallID","type":"bytes32"}],"name":"processResult","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"m_requiredtag","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_iexecHubAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"id","type":"bytes32"},{"indexed":true,"name":"oracleCallID","type":"bytes32"},{"indexed":false,"name":"oldDate","type":"uint256"},{"indexed":false,"name":"oldValue","type":"uint256"},{"indexed":false,"name":"newDate","type":"uint256"},{"indexed":false,"name":"newValue","type":"uint256"}],"name":"ValueChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"doracleCallId","type":"bytes32"}],"name":"ResultReady","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}] +} diff --git a/ups-package-tracker/smart-contract/subgraph/generated/PriceOracle/PriceOracleLegacy.ts b/ups-package-tracker/smart-contract/subgraph/generated/PriceOracle/PriceOracleLegacy.ts new file mode 100644 index 00000000..f06538b2 --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph/generated/PriceOracle/PriceOracleLegacy.ts @@ -0,0 +1,417 @@ +// THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. + +import { + EthereumCall, + EthereumEvent, + SmartContract, + EthereumValue, + JSONValue, + TypedMap, + Entity, + EthereumTuple, + Bytes, + Address, + BigInt +} from "@graphprotocol/graph-ts"; + +export class ValueChange extends EthereumEvent { + get params(): ValueChange__Params { + return new ValueChange__Params(this); + } +} + +export class ValueChange__Params { + _event: ValueChange; + + constructor(event: ValueChange) { + this._event = event; + } + + get id(): Bytes { + return this._event.parameters[0].value.toBytes(); + } + + get oracleCallID(): Bytes { + return this._event.parameters[1].value.toBytes(); + } + + get oldDate(): BigInt { + return this._event.parameters[2].value.toBigInt(); + } + + get oldValue(): BigInt { + return this._event.parameters[3].value.toBigInt(); + } + + get newDate(): BigInt { + return this._event.parameters[4].value.toBigInt(); + } + + get newValue(): BigInt { + return this._event.parameters[5].value.toBigInt(); + } +} + +export class ResultReady extends EthereumEvent { + get params(): ResultReady__Params { + return new ResultReady__Params(this); + } +} + +export class ResultReady__Params { + _event: ResultReady; + + constructor(event: ResultReady) { + this._event = event; + } + + get doracleCallId(): Bytes { + return this._event.parameters[0].value.toBytes(); + } +} + +export class OwnershipTransferred extends EthereumEvent { + get params(): OwnershipTransferred__Params { + return new OwnershipTransferred__Params(this); + } +} + +export class OwnershipTransferred__Params { + _event: OwnershipTransferred; + + constructor(event: OwnershipTransferred) { + this._event = event; + } + + get previousOwner(): Address { + return this._event.parameters[0].value.toAddress(); + } + + get newOwner(): Address { + return this._event.parameters[1].value.toAddress(); + } +} + +export class PriceOracleLegacy__decodeResultsResult { + value0: BigInt; + value1: string; + value2: BigInt; + + constructor(value0: BigInt, value1: string, value2: BigInt) { + this.value0 = value0; + this.value1 = value1; + this.value2 = value2; + } + + toMap(): TypedMap { + let map = new TypedMap(); + map.set("value0", EthereumValue.fromUnsignedBigInt(this.value0)); + map.set("value1", EthereumValue.fromString(this.value1)); + map.set("value2", EthereumValue.fromUnsignedBigInt(this.value2)); + return map; + } +} + +export class PriceOracleLegacy__valuesResult { + value0: Bytes; + value1: BigInt; + value2: BigInt; + value3: string; + + constructor(value0: Bytes, value1: BigInt, value2: BigInt, value3: string) { + this.value0 = value0; + this.value1 = value1; + this.value2 = value2; + this.value3 = value3; + } + + toMap(): TypedMap { + let map = new TypedMap(); + map.set("value0", EthereumValue.fromFixedBytes(this.value0)); + map.set("value1", EthereumValue.fromUnsignedBigInt(this.value1)); + map.set("value2", EthereumValue.fromUnsignedBigInt(this.value2)); + map.set("value3", EthereumValue.fromString(this.value3)); + return map; + } +} + +export class PriceOracleLegacy extends SmartContract { + static bind(address: Address): PriceOracleLegacy { + return new PriceOracleLegacy("PriceOracleLegacy", address); + } + + verifySignature( + _identity: Address, + _hash: Bytes, + _signature: Bytes + ): boolean { + let result = super.call("verifySignature", [ + EthereumValue.fromAddress(_identity), + EthereumValue.fromFixedBytes(_hash), + EthereumValue.fromBytes(_signature) + ]); + return result[0].toBoolean(); + } + + m_authorizedApp(): Address { + let result = super.call("m_authorizedApp", []); + return result[0].toAddress(); + } + + decodeResults(results: Bytes): PriceOracleLegacy__decodeResultsResult { + let result = super.call("decodeResults", [ + EthereumValue.fromBytes(results) + ]); + return new PriceOracleLegacy__decodeResultsResult( + result[0].toBigInt(), + result[1].toString(), + result[2].toBigInt() + ); + } + + m_authorizedDataset(): Address { + let result = super.call("m_authorizedDataset", []); + return result[0].toAddress(); + } + + owner(): Address { + let result = super.call("owner", []); + return result[0].toAddress(); + } + + isOwner(): boolean { + let result = super.call("isOwner", []); + return result[0].toBoolean(); + } + + m_iexecClerk(): Address { + let result = super.call("m_iexecClerk", []); + return result[0].toAddress(); + } + + m_iexecHub(): Address { + let result = super.call("m_iexecHub", []); + return result[0].toAddress(); + } + + m_authorizedWorkerpool(): Address { + let result = super.call("m_authorizedWorkerpool", []); + return result[0].toAddress(); + } + + values(param0: Bytes): PriceOracleLegacy__valuesResult { + let result = super.call("values", [EthereumValue.fromFixedBytes(param0)]); + return new PriceOracleLegacy__valuesResult( + result[0].toBytes(), + result[1].toBigInt(), + result[2].toBigInt(), + result[3].toString() + ); + } + + m_requiredtrust(): BigInt { + let result = super.call("m_requiredtrust", []); + return result[0].toBigInt(); + } + + m_requiredtag(): Bytes { + let result = super.call("m_requiredtag", []); + return result[0].toBytes(); + } +} + +export class UpdateEnvCall extends EthereumCall { + get inputs(): UpdateEnvCall__Inputs { + return new UpdateEnvCall__Inputs(this); + } + + get outputs(): UpdateEnvCall__Outputs { + return new UpdateEnvCall__Outputs(this); + } +} + +export class UpdateEnvCall__Inputs { + _call: UpdateEnvCall; + + constructor(call: UpdateEnvCall) { + this._call = call; + } + + get _authorizedApp(): Address { + return this._call.inputValues[0].value.toAddress(); + } + + get _authorizedDataset(): Address { + return this._call.inputValues[1].value.toAddress(); + } + + get _authorizedWorkerpool(): Address { + return this._call.inputValues[2].value.toAddress(); + } + + get _requiredtag(): Bytes { + return this._call.inputValues[3].value.toBytes(); + } + + get _requiredtrust(): BigInt { + return this._call.inputValues[4].value.toBigInt(); + } +} + +export class UpdateEnvCall__Outputs { + _call: UpdateEnvCall; + + constructor(call: UpdateEnvCall) { + this._call = call; + } +} + +export class ReceiveResultCall extends EthereumCall { + get inputs(): ReceiveResultCall__Inputs { + return new ReceiveResultCall__Inputs(this); + } + + get outputs(): ReceiveResultCall__Outputs { + return new ReceiveResultCall__Outputs(this); + } +} + +export class ReceiveResultCall__Inputs { + _call: ReceiveResultCall; + + constructor(call: ReceiveResultCall) { + this._call = call; + } + + get _doracleCallId(): Bytes { + return this._call.inputValues[0].value.toBytes(); + } + + get value1(): Bytes { + return this._call.inputValues[1].value.toBytes(); + } +} + +export class ReceiveResultCall__Outputs { + _call: ReceiveResultCall; + + constructor(call: ReceiveResultCall) { + this._call = call; + } +} + +export class RenounceOwnershipCall extends EthereumCall { + get inputs(): RenounceOwnershipCall__Inputs { + return new RenounceOwnershipCall__Inputs(this); + } + + get outputs(): RenounceOwnershipCall__Outputs { + return new RenounceOwnershipCall__Outputs(this); + } +} + +export class RenounceOwnershipCall__Inputs { + _call: RenounceOwnershipCall; + + constructor(call: RenounceOwnershipCall) { + this._call = call; + } +} + +export class RenounceOwnershipCall__Outputs { + _call: RenounceOwnershipCall; + + constructor(call: RenounceOwnershipCall) { + this._call = call; + } +} + +export class ProcessResultCall extends EthereumCall { + get inputs(): ProcessResultCall__Inputs { + return new ProcessResultCall__Inputs(this); + } + + get outputs(): ProcessResultCall__Outputs { + return new ProcessResultCall__Outputs(this); + } +} + +export class ProcessResultCall__Inputs { + _call: ProcessResultCall; + + constructor(call: ProcessResultCall) { + this._call = call; + } + + get _oracleCallID(): Bytes { + return this._call.inputValues[0].value.toBytes(); + } +} + +export class ProcessResultCall__Outputs { + _call: ProcessResultCall; + + constructor(call: ProcessResultCall) { + this._call = call; + } +} + +export class TransferOwnershipCall extends EthereumCall { + get inputs(): TransferOwnershipCall__Inputs { + return new TransferOwnershipCall__Inputs(this); + } + + get outputs(): TransferOwnershipCall__Outputs { + return new TransferOwnershipCall__Outputs(this); + } +} + +export class TransferOwnershipCall__Inputs { + _call: TransferOwnershipCall; + + constructor(call: TransferOwnershipCall) { + this._call = call; + } + + get newOwner(): Address { + return this._call.inputValues[0].value.toAddress(); + } +} + +export class TransferOwnershipCall__Outputs { + _call: TransferOwnershipCall; + + constructor(call: TransferOwnershipCall) { + this._call = call; + } +} + +export class ConstructorCall extends EthereumCall { + get inputs(): ConstructorCall__Inputs { + return new ConstructorCall__Inputs(this); + } + + get outputs(): ConstructorCall__Outputs { + return new ConstructorCall__Outputs(this); + } +} + +export class ConstructorCall__Inputs { + _call: ConstructorCall; + + constructor(call: ConstructorCall) { + this._call = call; + } + + get _iexecHubAddr(): Address { + return this._call.inputValues[0].value.toAddress(); + } +} + +export class ConstructorCall__Outputs { + _call: ConstructorCall; + + constructor(call: ConstructorCall) { + this._call = call; + } +} diff --git a/ups-package-tracker/smart-contract/subgraph/generated/schema.ts b/ups-package-tracker/smart-contract/subgraph/generated/schema.ts new file mode 100644 index 00000000..8fcd78af --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph/generated/schema.ts @@ -0,0 +1,214 @@ +// THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. + +import { + TypedMap, + Entity, + Value, + ValueKind, + store, + Address, + Bytes, + BigInt, + BigDecimal +} from "@graphprotocol/graph-ts"; + +export class Asset extends Entity { + constructor(id: string) { + super(); + this.set("id", Value.fromString(id)); + } + + save(): void { + let id = this.get("id"); + assert(id !== null, "Cannot save Asset entity without an ID"); + assert( + id.kind == ValueKind.STRING, + "Cannot save Asset entity with non-string ID. " + + 'Considering using .toHex() to convert the "id" to a string.' + ); + store.set("Asset", id.toString(), this); + } + + static load(id: string): Asset | null { + return store.get("Asset", id) as Asset | null; + } + + get id(): string { + let value = this.get("id"); + return value.toString(); + } + + set id(value: string) { + this.set("id", Value.fromString(value)); + } + + get pairs(): Array { + let value = this.get("pairs"); + return value.toStringArray(); + } + + set pairs(value: Array) { + this.set("pairs", Value.fromStringArray(value)); + } +} + +export class Pair extends Entity { + constructor(id: string) { + super(); + this.set("id", Value.fromString(id)); + } + + save(): void { + let id = this.get("id"); + assert(id !== null, "Cannot save Pair entity without an ID"); + assert( + id.kind == ValueKind.STRING, + "Cannot save Pair entity with non-string ID. " + + 'Considering using .toHex() to convert the "id" to a string.' + ); + store.set("Pair", id.toString(), this); + } + + static load(id: string): Pair | null { + return store.get("Pair", id) as Pair | null; + } + + get id(): string { + let value = this.get("id"); + return value.toString(); + } + + set id(value: string) { + this.set("id", Value.fromString(value)); + } + + get asset_base(): string { + let value = this.get("asset_base"); + return value.toString(); + } + + set asset_base(value: string) { + this.set("asset_base", Value.fromString(value)); + } + + get asset_quote(): string { + let value = this.get("asset_quote"); + return value.toString(); + } + + set asset_quote(value: string) { + this.set("asset_quote", Value.fromString(value)); + } + + get precision(): i32 { + let value = this.get("precision"); + return value.toI32(); + } + + set precision(value: i32) { + this.set("precision", Value.fromI32(value)); + } + + get latest(): string { + let value = this.get("latest"); + return value.toString(); + } + + set latest(value: string) { + this.set("latest", Value.fromString(value)); + } + + get history(): Array { + let value = this.get("history"); + return value.toStringArray(); + } + + set history(value: Array) { + this.set("history", Value.fromStringArray(value)); + } +} + +export class Quotation extends Entity { + constructor(id: string) { + super(); + this.set("id", Value.fromString(id)); + } + + save(): void { + let id = this.get("id"); + assert(id !== null, "Cannot save Quotation entity without an ID"); + assert( + id.kind == ValueKind.STRING, + "Cannot save Quotation entity with non-string ID. " + + 'Considering using .toHex() to convert the "id" to a string.' + ); + store.set("Quotation", id.toString(), this); + } + + static load(id: string): Quotation | null { + return store.get("Quotation", id) as Quotation | null; + } + + get id(): string { + let value = this.get("id"); + return value.toString(); + } + + set id(value: string) { + this.set("id", Value.fromString(value)); + } + + get blockNumber(): i32 { + let value = this.get("blockNumber"); + return value.toI32(); + } + + set blockNumber(value: i32) { + this.set("blockNumber", Value.fromI32(value)); + } + + get transactionID(): Bytes { + let value = this.get("transactionID"); + return value.toBytes(); + } + + set transactionID(value: Bytes) { + this.set("transactionID", Value.fromBytes(value)); + } + + get pair(): string { + let value = this.get("pair"); + return value.toString(); + } + + set pair(value: string) { + this.set("pair", Value.fromString(value)); + } + + get value(): BigDecimal { + let value = this.get("value"); + return value.toBigDecimal(); + } + + set value(value: BigDecimal) { + this.set("value", Value.fromBigDecimal(value)); + } + + get timestamp(): BigInt { + let value = this.get("timestamp"); + return value.toBigInt(); + } + + set timestamp(value: BigInt) { + this.set("timestamp", Value.fromBigInt(value)); + } + + get oracleCallID(): Bytes { + let value = this.get("oracleCallID"); + return value.toBytes(); + } + + set oracleCallID(value: Bytes) { + this.set("oracleCallID", Value.fromBytes(value)); + } +} diff --git a/ups-package-tracker/smart-contract/subgraph/package.json b/ups-package-tracker/smart-contract/subgraph/package.json new file mode 100644 index 00000000..e13b8e68 --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph/package.json @@ -0,0 +1,20 @@ +{ + "name": "iExecGraph", + "version": "0.1.0", + "scripts": { + "codegen": "graph codegen", + "create": "graph create amxx/price-feed-doracle --node https://api.thegraph.com/deploy/", + "create-local": "graph create amxx/price-feed-doracle --node http://127.0.0.1:8020", + "build": "graph build", + "deploy": "graph deploy amxx/price-feed-doracle --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/", + "deploy-local": "graph deploy amxx/price-feed-doracle --ipfs http://localhost:5001 --node http://127.0.0.1:8020" + }, + "devDependencies": { + "@graphprotocol/graph-cli": "^0.15.0", + "@graphprotocol/graph-ts": "^0.15.0" + }, + "dependencies": { + "babel-polyfill": "^6.26.0", + "babel-register": "^6.26.0" + } +} diff --git a/ups-package-tracker/smart-contract/subgraph/schema.graphql b/ups-package-tracker/smart-contract/subgraph/schema.graphql new file mode 100644 index 00000000..cd2532eb --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph/schema.graphql @@ -0,0 +1,33 @@ +interface Event +{ + id: ID! + blockNumber: Int! + transactionID: Bytes! +} + +type Asset @entity +{ + id: ID! + pairs: [Pair!]! @derivedFrom(field: "asset_base") +} + +type Pair @entity +{ + id: ID! + asset_base: Asset! + asset_quote: Asset! + precision: Int! + latest: Quotation! + history: [Quotation!]! @derivedFrom(field: "pair") +} + +type Quotation implements Event @entity +{ + id: ID! + blockNumber: Int! + transactionID: Bytes! + pair: Pair! + value: BigDecimal! + timestamp: BigInt! + oracleCallID: Bytes! +} diff --git a/ups-package-tracker/smart-contract/subgraph/src/priceoracle.ts b/ups-package-tracker/smart-contract/subgraph/src/priceoracle.ts new file mode 100644 index 00000000..000acbb2 --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph/src/priceoracle.ts @@ -0,0 +1,58 @@ +import { + BigInt, + BigDecimal, + EthereumEvent, +} from '@graphprotocol/graph-ts' + +import { + PriceOracleLegacy as PriceOracleContract, + ValueChange as ValueChangeEvent, +} from '../generated/PriceOracle/PriceOracleLegacy' + +import { + Asset, + Pair, + Quotation, +} from '../generated/schema' + +export function createEventID(event: EthereumEvent): string +{ + return event.block.number.toString().concat('-').concat(event.logIndex.toString()) +} + +export function getDecimalValue(raw: BigInt, decimal: u8): BigDecimal +{ + return raw.divDecimal(new BigDecimal(BigInt.fromI32(10).pow(decimal))) +} + +export function handleValueChange(event: ValueChangeEvent): void +{ + let p = Pair.load(event.params.id.toHex()) + if (p == null) + { + let contract = PriceOracleContract.bind(event.address) + let data = contract.values(event.params.id).value3.split("-") + + p = new Pair(event.params.id.toHex()) + p.asset_base = data[0] + p.asset_quote = data[1] + p.precision = i32(parseInt(data[2])) + + let asset_base = new Asset(p.asset_base) + let asset_quote = new Asset(p.asset_quote) + asset_base.save() + asset_quote.save() + } + + let q = new Quotation(createEventID(event)); + q.blockNumber = event.block.number.toI32() + q.transactionID = event.transaction.hash + q.pair = p.id + q.timestamp = event.params.newDate + q.value = getDecimalValue(event.params.newValue, u8(p.precision)) + q.oracleCallID = event.params.oracleCallID + + p.latest = q.id + p.save() + q.save() +} diff --git a/ups-package-tracker/smart-contract/subgraph/subgraph.yaml b/ups-package-tracker/smart-contract/subgraph/subgraph.yaml new file mode 100644 index 00000000..92d466d2 --- /dev/null +++ b/ups-package-tracker/smart-contract/subgraph/subgraph.yaml @@ -0,0 +1,27 @@ +specVersion: 0.0.2 +description: PriceFeedOracle +repository: https://github.com/iExecBlockchainComputing/price-feed-doracle +schema: + file: ./schema.graphql +dataSources: + - name: PriceOracle + kind: ethereum/contract + network: mainnet + source: + address: '0xeD4A0189511859427c33dCc7C85Fdd36575aE946' + abi: PriceOracleLegacy + mapping: + kind: ethereum/events + apiVersion: 0.0.3 + language: wasm/assemblyscript + entities: + - Asset + - Pair + - Quotation + abis: + - name: PriceOracleLegacy + file: abi/PriceOracleLegacy.json + eventHandlers: + - event: ValueChange(indexed bytes32,indexed bytes32,uint256,uint256,uint256,uint256) + handler: handleValueChange + file: ./src/priceoracle.ts diff --git a/ups-package-tracker/smart-contract/truffle.js b/ups-package-tracker/smart-contract/truffle.js new file mode 100644 index 00000000..4f36088b --- /dev/null +++ b/ups-package-tracker/smart-contract/truffle.js @@ -0,0 +1,62 @@ +var HDWalletProvider = require("truffle-hdwallet-provider"); + +module.exports = +{ + networks: + { + docker: + { + host: "iexec-geth-local", + port: 8545, + network_id: "*", // Match any network id, + gasPrice: 22000000000, //22Gwei + }, + development: + { + host: "localhost", + port: 8545, + network_id: "*", // Match any network id, + gasPrice: 22000000000, //22Gwei + }, + coverage: + { + host: "localhost", + port: 8555, // <-- If you change this, also set the port option in .solcover.js. + network_id: "*", + gas: 0xFFFFFFFFFFF, // <-- Use this high gas value + gasPrice: 0x01 // <-- Use this low gas price + }, + mainnet: + { + provider: () => new HDWalletProvider(process.env.MNEMONIC, "https://mainnet.infura.io/v3/f3e0664e01504f5ab2b4360853ce0dc7"), + network_id: '1', + gasPrice: 22000000000, //22Gwei + }, + ropsten: + { + provider: () => new HDWalletProvider(process.env.MNEMONIC, "https://ropsten.infura.io/v3/f3e0664e01504f5ab2b4360853ce0dc7"), + network_id: '3', + gasPrice: 22000000000, //22Gwei + }, + kovan: { + provider: () => new HDWalletProvider(process.env.MNEMONIC, "https://kovan.infura.io/v3/f3e0664e01504f5ab2b4360853ce0dc7"), + network_id: '42', + gasPrice: 1000000000, //1Gwei + } + }, + compilers: { + solc: { + version: "0.5.10", + settings: { + optimizer: { + enabled: true, + runs: 200 + } + } + } + }, + mocha: + { + enableTimeouts: false + } +}; diff --git a/vanityeth/vanityeth-with-consensus.sh b/vanityeth/vanityeth-with-consensus.sh old mode 100755 new mode 100644