From 6a32b56284577ff91488637f93df5a7af94913ab Mon Sep 17 00:00:00 2001 From: andy92pac Date: Sat, 19 Oct 2019 13:33:39 +0200 Subject: [PATCH] anomometer --- anemometer-oracle/smart-contract/.gitignore | 1 + .../build/contracts/AnemometerOracle.json | 6433 +++++++++++++ .../build/contracts/IERC1271.json | 438 + .../build/contracts/IERC20.json | 1884 ++++ .../build/contracts/IERC734.json | 3928 ++++++++ .../build/contracts/IOracle.json | 488 + .../build/contracts/IOracleConsumer.json | 489 + .../build/contracts/IexecClerkInterface.json | 8555 +++++++++++++++++ .../build/contracts/IexecDoracle.json | 7567 +++++++++++++++ .../build/contracts/IexecHubInterface.json | 6195 ++++++++++++ .../build/contracts/IexecInterface.json | 3638 +++++++ .../build/contracts/IexecODBLibCore.json | 2516 +++++ .../build/contracts/IexecODBLibOrders.json | 7213 ++++++++++++++ .../build/contracts/Migrations.json | 1392 +++ .../build/contracts/Ownable.json | 2916 ++++++ .../build/contracts/SignatureVerifier.json | 4062 ++++++++ .../contracts/AnemometerOracle.sol | 81 + .../smart-contract/contracts/Migrations.sol | 23 + .../migrations/1_initial_migration.js | 5 + .../migrations/2_deploy_contracts.js | 8 + .../smart-contract/package-lock.json | 4081 ++++++++ anemometer-oracle/smart-contract/package.json | 22 + anemometer-oracle/smart-contract/truffle.js | 62 + anemometer-oracle/wind-feed/app/Dockerfile | 8 + anemometer-oracle/wind-feed/app/entrypoint.sh | 2 + anemometer-oracle/wind-feed/app/wind-feed.js | 116 + anemometer-oracle/wind-feed/chain.json | 29 + anemometer-oracle/wind-feed/deployed.json | 5 + anemometer-oracle/wind-feed/iexec.json | 35 + anemometer-oracle/wind-feed/orders.json | 15 + 30 files changed, 62207 insertions(+) create mode 100644 anemometer-oracle/smart-contract/.gitignore create mode 100644 anemometer-oracle/smart-contract/build/contracts/AnemometerOracle.json create mode 100644 anemometer-oracle/smart-contract/build/contracts/IERC1271.json create mode 100644 anemometer-oracle/smart-contract/build/contracts/IERC20.json create mode 100644 anemometer-oracle/smart-contract/build/contracts/IERC734.json create mode 100644 anemometer-oracle/smart-contract/build/contracts/IOracle.json create mode 100644 anemometer-oracle/smart-contract/build/contracts/IOracleConsumer.json create mode 100644 anemometer-oracle/smart-contract/build/contracts/IexecClerkInterface.json create mode 100644 anemometer-oracle/smart-contract/build/contracts/IexecDoracle.json create mode 100644 anemometer-oracle/smart-contract/build/contracts/IexecHubInterface.json create mode 100644 anemometer-oracle/smart-contract/build/contracts/IexecInterface.json create mode 100644 anemometer-oracle/smart-contract/build/contracts/IexecODBLibCore.json create mode 100644 anemometer-oracle/smart-contract/build/contracts/IexecODBLibOrders.json create mode 100644 anemometer-oracle/smart-contract/build/contracts/Migrations.json create mode 100644 anemometer-oracle/smart-contract/build/contracts/Ownable.json create mode 100644 anemometer-oracle/smart-contract/build/contracts/SignatureVerifier.json create mode 100644 anemometer-oracle/smart-contract/contracts/AnemometerOracle.sol create mode 100644 anemometer-oracle/smart-contract/contracts/Migrations.sol create mode 100644 anemometer-oracle/smart-contract/migrations/1_initial_migration.js create mode 100644 anemometer-oracle/smart-contract/migrations/2_deploy_contracts.js create mode 100644 anemometer-oracle/smart-contract/package-lock.json create mode 100644 anemometer-oracle/smart-contract/package.json create mode 100644 anemometer-oracle/smart-contract/truffle.js create mode 100644 anemometer-oracle/wind-feed/app/Dockerfile create mode 100644 anemometer-oracle/wind-feed/app/entrypoint.sh create mode 100644 anemometer-oracle/wind-feed/app/wind-feed.js create mode 100644 anemometer-oracle/wind-feed/chain.json create mode 100644 anemometer-oracle/wind-feed/deployed.json create mode 100644 anemometer-oracle/wind-feed/iexec.json create mode 100644 anemometer-oracle/wind-feed/orders.json diff --git a/anemometer-oracle/smart-contract/.gitignore b/anemometer-oracle/smart-contract/.gitignore new file mode 100644 index 00000000..3c3629e6 --- /dev/null +++ b/anemometer-oracle/smart-contract/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/anemometer-oracle/smart-contract/build/contracts/AnemometerOracle.json b/anemometer-oracle/smart-contract/build/contracts/AnemometerOracle.json new file mode 100644 index 00000000..4de8035a --- /dev/null +++ b/anemometer-oracle/smart-contract/build/contracts/AnemometerOracle.json @@ -0,0 +1,6433 @@ +{ + "contractName": "AnemometerOracle", + "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": "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" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "locations", + "outputs": [ + { + "name": "location", + "type": "string" + } + ], + "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": "location", + "type": "string" + }, + { + "indexed": false, + "name": "date", + "type": "uint256" + }, + { + "indexed": false, + "name": "summary", + "type": "string" + }, + { + "indexed": false, + "name": "windSpeed", + "type": "uint256" + } + ], + "name": "NewWeatherReport", + "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": "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" + }, + { + "constant": true, + "inputs": [ + { + "name": "id", + "type": "bytes32" + }, + { + "name": "date", + "type": "uint256" + } + ], + "name": "getWeatherReport", + "outputs": [ + { + "components": [ + { + "name": "oracleCallID", + "type": "bytes32" + }, + { + "name": "summary", + "type": "string" + }, + { + "name": "windSpeed", + "type": "uint256" + }, + { + "name": "historicalData", + "type": "bool" + } + ], + "name": "", + "type": "tuple" + } + ], + "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\"},{\"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\":\"id\",\"type\":\"bytes32\"},{\"name\":\"date\",\"type\":\"uint256\"}],\"name\":\"getWeatherReport\",\"outputs\":[{\"components\":[{\"name\":\"oracleCallID\",\"type\":\"bytes32\"},{\"name\":\"summary\",\"type\":\"string\"},{\"name\":\"windSpeed\",\"type\":\"uint256\"},{\"name\":\"historicalData\",\"type\":\"bool\"}],\"name\":\"\",\"type\":\"tuple\"}],\"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\":\"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\":\"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\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"locations\",\"outputs\":[{\"name\":\"location\",\"type\":\"string\"}],\"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\":\"location\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"date\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"summary\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"windSpeed\",\"type\":\"uint256\"}],\"name\":\"NewWeatherReport\",\"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\":{\"/Volumes/MacintoshHD/Users/Andy/iexec-apps/anemometer-oracle/smart-contract/contracts/AnemometerOracle.sol\":\"AnemometerOracle\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Volumes/MacintoshHD/Users/Andy/iexec-apps/anemometer-oracle/smart-contract/contracts/AnemometerOracle.sol\":{\"keccak256\":\"0x102e1bdaebc9dfc8782f41578831977e0928eb046879a04d24a8b0b12568e72b\",\"urls\":[\"bzzr://e3dcca31d2fb575633fdfb9256bd14a1a643fa848827439cf7e7039b34613dd0\",\"dweb:/ipfs/QmVs1xBDnzSdhmJU58aoGvDQdSewQSz7mhmPZmZCDiraWU\"]},\"iexec-doracle-base/contracts/IexecDoracle.sol\":{\"keccak256\":\"0xe69b88e50e5d323072cb0afe2e9e1c23dfeb6b1b518ec53c9c77931a71c50eed\",\"urls\":[\"bzzr://eeff34785a0b725f67a5e531cb250b0a99188e06994f48fd1865ddfaee248ef8\",\"dweb:/ipfs/QmcxPnmadvG5XzqcaM7143inntX3yoURTyu319Y4n1zYSi\"]},\"iexec-doracle-base/contracts/IexecInterface.sol\":{\"keccak256\":\"0x625617959c972e4e9e4fa94e244cf4d0b841be6ca2d3efb8620993439b406eea\",\"urls\":[\"bzzr://afe446cc0a20bd779daad5820cd9cc96c0b568577e4ee313b253a234712a881c\",\"dweb:/ipfs/QmWpKwXCRUYcxexsnG5ELfEk9GWHmGHExJfs6g4YeEjmjh\"]},\"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": "0x60806040523480156200001157600080fd5b506040516200210538038062002105833981016040819052620000349162000340565b600080546001600160a01b0319163317808255604051839283926001600160a01b0316917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600062000093826001600160e01b036200032916565b1115620000bb57600180546001600160a01b0319166001600160a01b03831617905562000275565b6000620000e5731383c16c927c4a853684d1a9c676986f25e221116001600160e01b036200032916565b11156200011857600180546001600160a01b031916731383c16c927c4a853684d1a9c676986f25e2211117905562000275565b60006200014273dbe30645ea7d216c31d09f8c5736fe74de774e636001600160e01b036200032916565b11156200017557600180546001600160a01b03191673dbe30645ea7d216c31d09f8c5736fe74de774e6317905562000275565b60006200018b816001600160e01b036200032916565b1115620001a857600180546001600160a01b031916905562000275565b6000620001d273b3901d04cf645747b99dbbe8f2ee9cb41a89cebf6001600160e01b036200032916565b11156200020557600180546001600160a01b03191673b3901d04cf645747b99dbbe8f2ee9cb41a89cebf17905562000275565b60006200021b816001600160e01b036200032916565b11156200023857600180546001600160a01b031916905562000275565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200026c90620003a4565b60405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663b01c68466040518163ffffffff1660e01b815260040160206040518083038186803b158015620002c457600080fd5b505afa158015620002d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620002ff919081019062000340565b600280546001600160a01b0319166001600160a01b039290921691909117905550620003eb915050565b3b90565b80516200033a81620003d1565b92915050565b6000602082840312156200035357600080fd5b60006200036184846200032d565b949350505050565b600062000378601383620003b6565b7f696e76616c69642d6875622d6164647265737300000000000000000000000000815260200192915050565b602080825281016200033a8162000369565b90815260200190565b60006001600160a01b0382166200033a565b620003dc81620003bf565b8114620003e857600080fd5b50565b611d0a80620003fb6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063e73482a211610071578063e73482a214610209578063eee9aa8a1461021e578063f2fde38b14610231578063f6eba54714610244578063f9c7e5491461024c57610116565b80638da5cb5b146101e95780638f32d59b146101f1578063a41f45e9146101f9578063ca2ef3c41461020157610116565b8063482fb13e116100e9578063482fb13e1461018e57806356e484e1146101a35780635dd80855146101c6578063715018a6146101d957806378dd4ae5146101e157610116565b8063017519981461011b57806318a4b2d0146101445780631ce3aa0d1461015957806337a5d9351461016e575b600080fd5b61012e6101293660046115cb565b61026c565b60405161013b9190611a23565b60405180910390f35b610157610152366004611556565b610307565b005b610161610348565b60405161013b9190611ab8565b61018161017c3660046116c0565b610357565b60405161013b9190611b48565b61019661043f565b60405161013b9190611a15565b6101b66101b13660046116fa565b61044e565b60405161013b9493929190611b59565b6101576101d436600461166b565b610478565b6101576104a8565b610196610516565b610196610525565b61012e610535565b610161610546565b610196610555565b610211610564565b60405161013b9190611a31565b61015761022c36600461164d565b61056a565b61015761023f366004611530565b6106c7565b6102116106f7565b61025f61025a36600461164d565b6106fd565b60405161013b9190611ac6565b600061027984848461079e565b806102fd5750604051630b135d3f60e11b81526001600160a01b03851690631626ba7e906102ad9086908690600401611a3f565b60206040518083038186803b1580156102c557600080fd5b505afa1580156102d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102fd919081019061162f565b90505b9392505050565b61030f610535565b6103345760405162461bcd60e51b815260040161032b90611b38565b60405180910390fd5b6103418585858585610873565b5050505050565b6002546001600160a01b031681565b61035f610e66565b6000838152600860209081526040808320858452600190810183529281902081516080810183528154815281850180548451600297821615610100026000190190911696909604601f81018690048602870186019094528386529094919385810193908301828280156104135780601f106103e857610100808354040283529160200191610413565b820191906000526020600020905b8154815290600101906020018083116103f657829003601f168201915b50505091835250506002820154602082015260039091015460ff16151560409091015290505b92915050565b6003546001600160a01b031681565b600060608060008480602001905161046991908101906117b4565b92989197509550909350915050565b60405183907f28e9507238ce29efc9797f8791b89bf517f253f275a4ab2688a7cd108e40bc7a90600090a2505050565b6104b0610535565b6104cc5760405162461bcd60e51b815260040161032b90611b38565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6004546001600160a01b031681565b6000546001600160a01b03165b90565b6000546001600160a01b0316331490565b6001546001600160a01b031681565b6005546001600160a01b031681565b60075481565b6000606080600061057d6101b1866108bc565b82516020808501919091206000818152600883526040808220888352600101909352919091206003015494985092965090945092509060ff16156105d35760405162461bcd60e51b815260040161032b90611b28565b85817fa3a2ad8773e89dd2c7c97dbee25c03b3b39c18bbaac76d1c254ea1b56c635f418688878760405161060a9493929190611ad7565b60405180910390a360008181526008602090815260408083208884526001908101835292208881558551610645939190910191860190610e93565b5060008181526008602090815260408083208884526001019091529020600201829055428510610676576000610679565b60015b60008281526008602081815260408084208a8552600181018352908420600301805460ff19169515159590951790945591849052815285516106be9291870190610e93565b50505050505050565b6106cf610535565b6106eb5760405162461bcd60e51b815260040161032b90611b38565b6106f4816108f7565b50565b60065481565b60086020908152600091825260409182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084529092918391908301828280156107945780601f1061076957610100808354040283529160200191610794565b820191906000526020600020905b81548152906001019060200180831161077757829003601f168201915b5050505050905081565b60008060008084516041146107b95760009350505050610300565b50505060208201516040830151606084015160001a601b8110156107db57601b015b8060ff16601b141580156107f357508060ff16601c14155b156108045760009350505050610300565b600186828585604051600081526020016040526040516108279493929190611a7a565b6020604051602081039080840390855afa158015610849573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b600380546001600160a01b03199081166001600160a01b039788161790915560048054821695871695909517909455600580549094169290941691909117909155600655600755565b6060600060606108cb84610978565b915091508181906108ef5760405162461bcd60e51b815260040161032b9190611ac6565b509392505050565b6001600160a01b03811661091d5760405162461bcd60e51b815260040161032b90611b18565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006060610984610f11565b60015460405163adccf0d560e01b81526001600160a01b039091169063adccf0d5906109b4908790600401611a31565b60006040518083038186803b1580156109cc57600080fd5b505afa1580156109e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a089190810190611762565b9050610a12610f83565b6002546020830151604051635ba430d960e11b81526001600160a01b039092169163b74861b291610a4591600401611a31565b60006040518083038186803b158015610a5d57600080fd5b505afa158015610a71573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a99919081019061172e565b9050600382516004811115610aaa57fe5b14610ae957600060405180604001604052806014815260200173726573756c742d6e6f742d617661696c61626c6560601b815250935093505050610e02565b816101800151604051610afc9190611a09565b604051809103902082610160015114610b35576000604051806060016040528060218152602001611ca760219139935093505050610e02565b6003546001600160a01b031615801590610bda575060035481515160025460408051631a2a7bc760e21b81529051610bd8946001600160a01b03908116949316916368a9ef1c916004808301926020929190829003018186803b158015610b9b57600080fd5b505afa158015610baf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bd39190810190611796565b610e07565b155b15610c155760006040518060400160405280601081526020016f0756e617574686f72697a65642d6170760841b815250935093505050610e02565b6004546001600160a01b031615801590610c825750600480546020838101515160025460408051631a2a7bc760e21b81529051610c80966001600160a01b0396871696949594909316936368a9ef1c9383810193919291829003018186803b158015610b9b57600080fd5b155b15610cc1576000604051806040016040528060148152602001731d5b985d5d1a1bdc9a5e99590b59185d185cd95d60621b815250935093505050610e02565b6005546001600160a01b031615801590610d2b5750600554604080830151516002548251631a2a7bc760e21b81529251610d29946001600160a01b03908116949216916368a9ef1c916004808301926020929190829003018186803b158015610b9b57600080fd5b155b15610d735760006040518060400160405280601781526020017f756e617574686f72697a65642d776f726b6572706f6f6c000000000000000000815250935093505050610e02565b60a081015160065490191615610db45760006040518060400160405280600b81526020016a696e76616c69642d74616760a81b815250935093505050610e02565b80606001516007541115610df55760006040518060400160405280600d81526020016c1a5b9d985b1a590b5d1c9d5cdd609a1b815250935093505050610e02565b5061018001516001925090505b915091565b6000826001600160a01b0316846001600160a01b031614806102fd5750836001600160a01b031663d202158d610e3c85610e5a565b846040518363ffffffff1660e01b81526004016102ad929190611a5f565b6001600160a01b031690565b60405180608001604052806000801916815260200160608152602001600081526020016000151581525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610ed457805160ff1916838001178555610f01565b82800160010185558215610f01579182015b82811115610f01578251825591602001919060010190610ee6565b50610f0d929150611029565b5090565b604080516101a0810190915280600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081526020016000801916815260200160008152602001600081526020016060815260200160008019168152602001606081525090565b604051806102a00160405280610f97611043565b8152602001610fa4611043565b8152602001610fb1611043565b815260200160008152602001600081526020016000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016060815260200160008152602001600081526020016000815260200160008152602001600081525090565b61053291905b80821115610f0d576000815560010161102f565b604080516060810182526000808252602082018190529181019190915290565b803561043981611c73565b805161043981611c73565b600082601f83011261108a57600080fd5b815161109d61109882611bb3565b611b8d565b915081818352602084019350602081019050838560208402820111156110c257600080fd5b60005b838110156110ee57816110d8888261106e565b84525060209283019291909101906001016110c5565b5050505092915050565b805161043981611c87565b803561043981611c90565b805161043981611c90565b60008083601f84011261112b57600080fd5b5081356001600160401b0381111561114257600080fd5b60208301915083600182028301111561115a57600080fd5b9250929050565b600082601f83011261117257600080fd5b815161118061109882611bd3565b9150808252602083016020830185838301111561119c57600080fd5b6111a7838284611c39565b50505092915050565b600082601f8301126111c157600080fd5b81356111cf61109882611bd3565b915080825260208301602083018583830111156111eb57600080fd5b6111a7838284611c2d565b805161043981611c99565b60006102a0828403121561121457600080fd5b61121f6101e0611b8d565b9050600061122d8484611378565b825250606061123e84848301611378565b60208301525060c061125284828501611378565b6040830152506101206112678482850161110e565b60608301525061014061127c8482850161110e565b6080830152506101606112918482850161110e565b60a0830152506101806112a68482850161106e565b60c0830152506101a06112bb8482850161106e565b60e0830152506101c06112d08482850161106e565b610100830152506101e08201516001600160401b038111156112f157600080fd5b6112fd84828501611161565b610120830152506102006113138482850161110e565b610140830152506102206113298482850161110e565b6101608301525061024061133f8482850161110e565b610180830152506102606113558482850161110e565b6101a08301525061028061136b8482850161110e565b6101c08301525092915050565b60006060828403121561138a57600080fd5b6113946060611b8d565b905060006113a2848461106e565b82525060206113b38484830161106e565b60208301525060406113c78482850161110e565b60408301525092915050565b60006101a082840312156113e657600080fd5b6113f16101a0611b8d565b905060006113ff84846111f6565b82525060206114108484830161110e565b60208301525060406114248482850161110e565b60408301525060606114388482850161110e565b606083015250608061144c8482850161110e565b60808301525060a06114608482850161110e565b60a08301525060c06114748482850161110e565b60c08301525060e06114888482850161110e565b60e08301525061010061149d8482850161110e565b610100830152506101206114b38482850161110e565b610120830152506101408201516001600160401b038111156114d457600080fd5b6114e084828501611079565b610140830152506101606114f68482850161110e565b610160830152506101808201516001600160401b0381111561151757600080fd5b61152384828501611161565b6101808301525092915050565b60006020828403121561154257600080fd5b600061154e8484611063565b949350505050565b600080600080600060a0868803121561156e57600080fd5b600061157a8888611063565b955050602061158b88828901611063565b945050604061159c88828901611063565b93505060606115ad88828901611103565b92505060806115be88828901611103565b9150509295509295909350565b6000806000606084860312156115e057600080fd5b60006115ec8686611063565b93505060206115fd86828701611103565b92505060408401356001600160401b0381111561161957600080fd5b611625868287016111b0565b9150509250925092565b60006020828403121561164157600080fd5b600061154e84846110f8565b60006020828403121561165f57600080fd5b600061154e8484611103565b60008060006040848603121561168057600080fd5b600061168c8686611103565b93505060208401356001600160401b038111156116a857600080fd5b6116b486828701611119565b92509250509250925092565b600080604083850312156116d357600080fd5b60006116df8585611103565b92505060206116f085828601611103565b9150509250929050565b60006020828403121561170c57600080fd5b81356001600160401b0381111561172257600080fd5b61154e848285016111b0565b60006020828403121561174057600080fd5b81516001600160401b0381111561175657600080fd5b61154e84828501611201565b60006020828403121561177457600080fd5b81516001600160401b0381111561178a57600080fd5b61154e848285016113d3565b6000602082840312156117a857600080fd5b600061154e848461110e565b600080600080608085870312156117ca57600080fd5b60006117d6878761110e565b94505060208501516001600160401b038111156117f257600080fd5b6117fe87828801611161565b93505060408501516001600160401b0381111561181a57600080fd5b61182687828801611161565b92505060606118378782880161110e565b91505092959194509250565b61184c81611c0c565b82525050565b61184c81611c17565b61184c81610532565b600061186f82611bfa565b6118798185611bfe565b9350611889818560208601611c39565b61189281611c69565b9093019392505050565b60006118a782611bfa565b6118b18185611c07565b93506118c1818560208601611c39565b9290920192915050565b61184c81611c22565b60006118e1602683611bfe565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b6000611929603583611bfe565b7f7265706f727420697320616c7265616479206665746368656420666f7220676981527476656e206c6f636174696f6e20616e642074696d6560581b602082015260400192915050565b6000611980602083611bfe565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b805160009060808401906119c0858261185b565b50602083015184820360208601526119d88282611864565b91505060408301516119ed604086018261185b565b5060608301516108ef6060860182611852565b61184c81611c1c565b6000610300828461189c565b602081016104398284611843565b602081016104398284611852565b60208101610439828461185b565b60408101611a4d828561185b565b81810360208301526102fd8184611864565b60408101611a6d828561185b565b610300602083018461185b565b60808101611a88828761185b565b611a956020830186611a00565b611aa2604083018561185b565b611aaf606083018461185b565b95945050505050565b6020810161043982846118cb565b602080825281016103008184611864565b60808082528101611ae88187611864565b9050611af7602083018661185b565b8181036040830152611b098185611864565b9050611aaf606083018461185b565b60208082528101610439816118d4565b602080825281016104398161191c565b6020808252810161043981611973565b6020808252810161030081846119ac565b60808101611b67828761185b565b8181036020830152611b798186611864565b90508181036040830152611b098185611864565b6040518181016001600160401b0381118282101715611bab57600080fd5b604052919050565b60006001600160401b03821115611bc957600080fd5b5060209081020190565b60006001600160401b03821115611be957600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b919050565b600061043982610e5a565b151590565b60ff1690565b600061043982611c0c565b82818337506000910152565b60005b83811015611c54578181015183820152602001611c3c565b83811115611c63576000848401525b50505050565b601f01601f191690565b611c7c81611c0c565b81146106f457600080fd5b611c7c81611c17565b611c7c81610532565b600581106106f457600080fdfe726573756c742d6e6f742d76616c6964617465642d62792d636f6e73656e737573a365627a7a72305820df47ff81c16731ebac4d90de9523859071b702d913b436ef025a61f0026db2126c6578706572696d656e74616cf564736f6c634300050a0040", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063e73482a211610071578063e73482a214610209578063eee9aa8a1461021e578063f2fde38b14610231578063f6eba54714610244578063f9c7e5491461024c57610116565b80638da5cb5b146101e95780638f32d59b146101f1578063a41f45e9146101f9578063ca2ef3c41461020157610116565b8063482fb13e116100e9578063482fb13e1461018e57806356e484e1146101a35780635dd80855146101c6578063715018a6146101d957806378dd4ae5146101e157610116565b8063017519981461011b57806318a4b2d0146101445780631ce3aa0d1461015957806337a5d9351461016e575b600080fd5b61012e6101293660046115cb565b61026c565b60405161013b9190611a23565b60405180910390f35b610157610152366004611556565b610307565b005b610161610348565b60405161013b9190611ab8565b61018161017c3660046116c0565b610357565b60405161013b9190611b48565b61019661043f565b60405161013b9190611a15565b6101b66101b13660046116fa565b61044e565b60405161013b9493929190611b59565b6101576101d436600461166b565b610478565b6101576104a8565b610196610516565b610196610525565b61012e610535565b610161610546565b610196610555565b610211610564565b60405161013b9190611a31565b61015761022c36600461164d565b61056a565b61015761023f366004611530565b6106c7565b6102116106f7565b61025f61025a36600461164d565b6106fd565b60405161013b9190611ac6565b600061027984848461079e565b806102fd5750604051630b135d3f60e11b81526001600160a01b03851690631626ba7e906102ad9086908690600401611a3f565b60206040518083038186803b1580156102c557600080fd5b505afa1580156102d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102fd919081019061162f565b90505b9392505050565b61030f610535565b6103345760405162461bcd60e51b815260040161032b90611b38565b60405180910390fd5b6103418585858585610873565b5050505050565b6002546001600160a01b031681565b61035f610e66565b6000838152600860209081526040808320858452600190810183529281902081516080810183528154815281850180548451600297821615610100026000190190911696909604601f81018690048602870186019094528386529094919385810193908301828280156104135780601f106103e857610100808354040283529160200191610413565b820191906000526020600020905b8154815290600101906020018083116103f657829003601f168201915b50505091835250506002820154602082015260039091015460ff16151560409091015290505b92915050565b6003546001600160a01b031681565b600060608060008480602001905161046991908101906117b4565b92989197509550909350915050565b60405183907f28e9507238ce29efc9797f8791b89bf517f253f275a4ab2688a7cd108e40bc7a90600090a2505050565b6104b0610535565b6104cc5760405162461bcd60e51b815260040161032b90611b38565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6004546001600160a01b031681565b6000546001600160a01b03165b90565b6000546001600160a01b0316331490565b6001546001600160a01b031681565b6005546001600160a01b031681565b60075481565b6000606080600061057d6101b1866108bc565b82516020808501919091206000818152600883526040808220888352600101909352919091206003015494985092965090945092509060ff16156105d35760405162461bcd60e51b815260040161032b90611b28565b85817fa3a2ad8773e89dd2c7c97dbee25c03b3b39c18bbaac76d1c254ea1b56c635f418688878760405161060a9493929190611ad7565b60405180910390a360008181526008602090815260408083208884526001908101835292208881558551610645939190910191860190610e93565b5060008181526008602090815260408083208884526001019091529020600201829055428510610676576000610679565b60015b60008281526008602081815260408084208a8552600181018352908420600301805460ff19169515159590951790945591849052815285516106be9291870190610e93565b50505050505050565b6106cf610535565b6106eb5760405162461bcd60e51b815260040161032b90611b38565b6106f4816108f7565b50565b60065481565b60086020908152600091825260409182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084529092918391908301828280156107945780601f1061076957610100808354040283529160200191610794565b820191906000526020600020905b81548152906001019060200180831161077757829003601f168201915b5050505050905081565b60008060008084516041146107b95760009350505050610300565b50505060208201516040830151606084015160001a601b8110156107db57601b015b8060ff16601b141580156107f357508060ff16601c14155b156108045760009350505050610300565b600186828585604051600081526020016040526040516108279493929190611a7a565b6020604051602081039080840390855afa158015610849573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b600380546001600160a01b03199081166001600160a01b039788161790915560048054821695871695909517909455600580549094169290941691909117909155600655600755565b6060600060606108cb84610978565b915091508181906108ef5760405162461bcd60e51b815260040161032b9190611ac6565b509392505050565b6001600160a01b03811661091d5760405162461bcd60e51b815260040161032b90611b18565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006060610984610f11565b60015460405163adccf0d560e01b81526001600160a01b039091169063adccf0d5906109b4908790600401611a31565b60006040518083038186803b1580156109cc57600080fd5b505afa1580156109e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a089190810190611762565b9050610a12610f83565b6002546020830151604051635ba430d960e11b81526001600160a01b039092169163b74861b291610a4591600401611a31565b60006040518083038186803b158015610a5d57600080fd5b505afa158015610a71573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a99919081019061172e565b9050600382516004811115610aaa57fe5b14610ae957600060405180604001604052806014815260200173726573756c742d6e6f742d617661696c61626c6560601b815250935093505050610e02565b816101800151604051610afc9190611a09565b604051809103902082610160015114610b35576000604051806060016040528060218152602001611ca760219139935093505050610e02565b6003546001600160a01b031615801590610bda575060035481515160025460408051631a2a7bc760e21b81529051610bd8946001600160a01b03908116949316916368a9ef1c916004808301926020929190829003018186803b158015610b9b57600080fd5b505afa158015610baf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bd39190810190611796565b610e07565b155b15610c155760006040518060400160405280601081526020016f0756e617574686f72697a65642d6170760841b815250935093505050610e02565b6004546001600160a01b031615801590610c825750600480546020838101515160025460408051631a2a7bc760e21b81529051610c80966001600160a01b0396871696949594909316936368a9ef1c9383810193919291829003018186803b158015610b9b57600080fd5b155b15610cc1576000604051806040016040528060148152602001731d5b985d5d1a1bdc9a5e99590b59185d185cd95d60621b815250935093505050610e02565b6005546001600160a01b031615801590610d2b5750600554604080830151516002548251631a2a7bc760e21b81529251610d29946001600160a01b03908116949216916368a9ef1c916004808301926020929190829003018186803b158015610b9b57600080fd5b155b15610d735760006040518060400160405280601781526020017f756e617574686f72697a65642d776f726b6572706f6f6c000000000000000000815250935093505050610e02565b60a081015160065490191615610db45760006040518060400160405280600b81526020016a696e76616c69642d74616760a81b815250935093505050610e02565b80606001516007541115610df55760006040518060400160405280600d81526020016c1a5b9d985b1a590b5d1c9d5cdd609a1b815250935093505050610e02565b5061018001516001925090505b915091565b6000826001600160a01b0316846001600160a01b031614806102fd5750836001600160a01b031663d202158d610e3c85610e5a565b846040518363ffffffff1660e01b81526004016102ad929190611a5f565b6001600160a01b031690565b60405180608001604052806000801916815260200160608152602001600081526020016000151581525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610ed457805160ff1916838001178555610f01565b82800160010185558215610f01579182015b82811115610f01578251825591602001919060010190610ee6565b50610f0d929150611029565b5090565b604080516101a0810190915280600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081526020016000801916815260200160008152602001600081526020016060815260200160008019168152602001606081525090565b604051806102a00160405280610f97611043565b8152602001610fa4611043565b8152602001610fb1611043565b815260200160008152602001600081526020016000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016060815260200160008152602001600081526020016000815260200160008152602001600081525090565b61053291905b80821115610f0d576000815560010161102f565b604080516060810182526000808252602082018190529181019190915290565b803561043981611c73565b805161043981611c73565b600082601f83011261108a57600080fd5b815161109d61109882611bb3565b611b8d565b915081818352602084019350602081019050838560208402820111156110c257600080fd5b60005b838110156110ee57816110d8888261106e565b84525060209283019291909101906001016110c5565b5050505092915050565b805161043981611c87565b803561043981611c90565b805161043981611c90565b60008083601f84011261112b57600080fd5b5081356001600160401b0381111561114257600080fd5b60208301915083600182028301111561115a57600080fd5b9250929050565b600082601f83011261117257600080fd5b815161118061109882611bd3565b9150808252602083016020830185838301111561119c57600080fd5b6111a7838284611c39565b50505092915050565b600082601f8301126111c157600080fd5b81356111cf61109882611bd3565b915080825260208301602083018583830111156111eb57600080fd5b6111a7838284611c2d565b805161043981611c99565b60006102a0828403121561121457600080fd5b61121f6101e0611b8d565b9050600061122d8484611378565b825250606061123e84848301611378565b60208301525060c061125284828501611378565b6040830152506101206112678482850161110e565b60608301525061014061127c8482850161110e565b6080830152506101606112918482850161110e565b60a0830152506101806112a68482850161106e565b60c0830152506101a06112bb8482850161106e565b60e0830152506101c06112d08482850161106e565b610100830152506101e08201516001600160401b038111156112f157600080fd5b6112fd84828501611161565b610120830152506102006113138482850161110e565b610140830152506102206113298482850161110e565b6101608301525061024061133f8482850161110e565b610180830152506102606113558482850161110e565b6101a08301525061028061136b8482850161110e565b6101c08301525092915050565b60006060828403121561138a57600080fd5b6113946060611b8d565b905060006113a2848461106e565b82525060206113b38484830161106e565b60208301525060406113c78482850161110e565b60408301525092915050565b60006101a082840312156113e657600080fd5b6113f16101a0611b8d565b905060006113ff84846111f6565b82525060206114108484830161110e565b60208301525060406114248482850161110e565b60408301525060606114388482850161110e565b606083015250608061144c8482850161110e565b60808301525060a06114608482850161110e565b60a08301525060c06114748482850161110e565b60c08301525060e06114888482850161110e565b60e08301525061010061149d8482850161110e565b610100830152506101206114b38482850161110e565b610120830152506101408201516001600160401b038111156114d457600080fd5b6114e084828501611079565b610140830152506101606114f68482850161110e565b610160830152506101808201516001600160401b0381111561151757600080fd5b61152384828501611161565b6101808301525092915050565b60006020828403121561154257600080fd5b600061154e8484611063565b949350505050565b600080600080600060a0868803121561156e57600080fd5b600061157a8888611063565b955050602061158b88828901611063565b945050604061159c88828901611063565b93505060606115ad88828901611103565b92505060806115be88828901611103565b9150509295509295909350565b6000806000606084860312156115e057600080fd5b60006115ec8686611063565b93505060206115fd86828701611103565b92505060408401356001600160401b0381111561161957600080fd5b611625868287016111b0565b9150509250925092565b60006020828403121561164157600080fd5b600061154e84846110f8565b60006020828403121561165f57600080fd5b600061154e8484611103565b60008060006040848603121561168057600080fd5b600061168c8686611103565b93505060208401356001600160401b038111156116a857600080fd5b6116b486828701611119565b92509250509250925092565b600080604083850312156116d357600080fd5b60006116df8585611103565b92505060206116f085828601611103565b9150509250929050565b60006020828403121561170c57600080fd5b81356001600160401b0381111561172257600080fd5b61154e848285016111b0565b60006020828403121561174057600080fd5b81516001600160401b0381111561175657600080fd5b61154e84828501611201565b60006020828403121561177457600080fd5b81516001600160401b0381111561178a57600080fd5b61154e848285016113d3565b6000602082840312156117a857600080fd5b600061154e848461110e565b600080600080608085870312156117ca57600080fd5b60006117d6878761110e565b94505060208501516001600160401b038111156117f257600080fd5b6117fe87828801611161565b93505060408501516001600160401b0381111561181a57600080fd5b61182687828801611161565b92505060606118378782880161110e565b91505092959194509250565b61184c81611c0c565b82525050565b61184c81611c17565b61184c81610532565b600061186f82611bfa565b6118798185611bfe565b9350611889818560208601611c39565b61189281611c69565b9093019392505050565b60006118a782611bfa565b6118b18185611c07565b93506118c1818560208601611c39565b9290920192915050565b61184c81611c22565b60006118e1602683611bfe565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b6000611929603583611bfe565b7f7265706f727420697320616c7265616479206665746368656420666f7220676981527476656e206c6f636174696f6e20616e642074696d6560581b602082015260400192915050565b6000611980602083611bfe565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b805160009060808401906119c0858261185b565b50602083015184820360208601526119d88282611864565b91505060408301516119ed604086018261185b565b5060608301516108ef6060860182611852565b61184c81611c1c565b6000610300828461189c565b602081016104398284611843565b602081016104398284611852565b60208101610439828461185b565b60408101611a4d828561185b565b81810360208301526102fd8184611864565b60408101611a6d828561185b565b610300602083018461185b565b60808101611a88828761185b565b611a956020830186611a00565b611aa2604083018561185b565b611aaf606083018461185b565b95945050505050565b6020810161043982846118cb565b602080825281016103008184611864565b60808082528101611ae88187611864565b9050611af7602083018661185b565b8181036040830152611b098185611864565b9050611aaf606083018461185b565b60208082528101610439816118d4565b602080825281016104398161191c565b6020808252810161043981611973565b6020808252810161030081846119ac565b60808101611b67828761185b565b8181036020830152611b798186611864565b90508181036040830152611b098185611864565b6040518181016001600160401b0381118282101715611bab57600080fd5b604052919050565b60006001600160401b03821115611bc957600080fd5b5060209081020190565b60006001600160401b03821115611be957600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b919050565b600061043982610e5a565b151590565b60ff1690565b600061043982611c0c565b82818337506000910152565b60005b83811015611c54578181015183820152602001611c3c565b83811115611c63576000848401525b50505050565b601f01601f191690565b611c7c81611c0c565b81146106f457600080fd5b611c7c81611c17565b611c7c81610532565b600581106106f457600080fdfe726573756c742d6e6f742d76616c6964617465642d62792d636f6e73656e737573a365627a7a72305820df47ff81c16731ebac4d90de9523859071b702d913b436ef025a61f0026db2126c6578706572696d656e74616cf564736f6c634300050a0040", + "sourceMap": "180:2096:0:-;;;730:74;8:9:-1;5:2;;;30:1;27;20:12;5:2;730:74:0;;;;;;;;;;;;;;;;;;;;;657:6:12;:19;;-1:-1:-1;;;;;;657:19:12;666:10;657:19;;;;691:40;;786:13:0;;;;-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:697;;;787:8;:47;;-1:-1:-1;;;;;;787:47:3;-1:-1:-1;;;;;787:47:3;;;;;740:697;;;882:1;849:30;239:42;-1:-1:-1;;;;;849:11:3;:30;:::i;:::-;:34;845:592;;;887:8;:47;;-1:-1:-1;;;;;;887:47:3;239:42;887:47;;;845:592;;;982:1;949:30;321:42;-1:-1:-1;;;;;949:11:3;:30;:::i;:::-;:34;945:492;;;987:8;:47;;-1:-1:-1;;;;;;987:47:3;321:42;987:47;;;945:492;;;1082:1;1049:30;1082:1;-1:-1:-1;;;;;1049:11:3;:30;:::i;:::-;:34;1045:392;;;1087:8;:47;;-1:-1:-1;;;;;;1087:47:3;;;1045:392;;;1182:1;1149:30;485:42;-1:-1:-1;;;;;1149:11:3;:30;:::i;:::-;:34;1145:292;;;1187:8;:47;;-1:-1:-1;;;;;;1187:47:3;485:42;1187:47;;;1145:292;;;1282:1;1249:30;1282:1;-1:-1:-1;;;;;1249:11:3;:30;:::i;:::-;:34;1245:192;;;1287:8;:47;;-1:-1:-1;;;;;;1287:47:3;;;1245:192;;;1387:29;;;;;;;;;;;;;;;;;;;1245:192;1473:8;;;;;;;;;-1:-1:-1;;;;;1473:8:3;-1:-1:-1;;;;;1473:19:3;;:21;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1473:21:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1473: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;1473:21:3;;;;;;;;;1440:10;:55;;-1:-1:-1;;;;;;1440:55:3;-1:-1:-1;;;;;1440:55:3;;;;;;;;;;-1:-1:-1;180:2096:0;;-1:-1:-1;;180:2096:0;1502:120:3;1599:18;;1588: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;;;180:2096:0;;;;;;", + "deployedSourceMap": "180:2096:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;180:2096:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;609:246:6;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;807:305:0;;;;;;;;;:::i;:::-;;651:37:3;;;:::i;:::-;;;;;;;;2138:136:0;;;;;;;;;:::i;:::-;;;;;;;;296:30:2;;;:::i;:::-;;;;;;;;1115:182:0;;;;;;;;;:::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;437:30::-;;;:::i;:::-;;;;;;;;1300:835:0;;;;;;;;;:::i;1885:107:12:-;;;;;;;;;:::i;406:28:2:-;;;:::i;439:46:0:-;;;;;;;;;:::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;807:305:0:-;1018:9:12;:7;:9::i;:::-;1010:54;;;;-1:-1:-1;;;1010:54:12;;;;;;;;;;;;;;;;;992:116:0;1020:14;1036:18;1056:21;1079:12;1093:14;992:27;:116::i;:::-;807:305;;;;;:::o;651:37:3:-;;;-1:-1:-1;;;;;651:37:3;;:::o;2138:136:0:-;2210:20;;:::i;:::-;2243:13;;;;:9;:13;;;;;;;;:27;;;:21;;;;:27;;;;;;2236:34;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2236:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2243:27;;2236:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2236:34:0;;;-1:-1:-1;;2236:34:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2138:136:0;;;;;:::o;296:30:2:-;;;-1:-1:-1;;;;;296:30:2;;:::o;1115:182:0:-;1181:7;1190:13;1205;1220:7;1250;1239:55;;;;;;;;;;;;;;1232:62;;;;-1:-1:-1;1232:62:0;-1:-1:-1;1232:62:0;;-1:-1:-1;1115:182:0;-1:-1:-1;;1115:182:0: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;437:30::-;;;;:::o;1300:835:0:-;1359:18;1381:22;1407:21;1432:23;1518:60;1532:45;1563:13;1532:30;:45::i;1518:60::-;1617:26;;;;;;;;;;1604:10;1657:13;;;:9;:13;;;;;;:27;;;:21;;:27;;;;;;;:42;;;1479:99;;-1:-1:-1;1479:99:0;;-1:-1:-1;1479:99:0;;-1:-1:-1;1479:99:0;-1:-1:-1;1617:26:0;1657:42;;1656:43;1647:110;;;;-1:-1:-1;;;1647:110:0;;;;;;;;;1787:13;1783:2;1766:71;1802:8;1812:4;1818:7;1827:9;1766:71;;;;;;;;;;;;;;;;;;1841:13;;;;:9;:13;;;;;;;;:27;;;:21;;;;:27;;;;:57;;;1902:51;;;;:35;;;;;:51;;;;:::i;:::-;-1:-1:-1;1957:13:0;;;;:9;:13;;;;;;;;:27;;;:21;;:27;;;;;:37;;:53;;;2060:3;:10;-1:-1:-1;2060:25:0;;2080:5;2060:25;;;2073:4;2060:25;2014:13;;;;:9;:13;;;;;;;;:27;;;:21;;;:27;;;;;:42;;:71;;-1:-1:-1;;2014:71:0;;;;;;;;;;;2089:13;;;;;;:42;;;;2014:13;2089:42;;;;:::i;:::-;;1300:835;;;;;;:::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;439:46:0:-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;439:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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;2894:244::-;2982:12;3002;3016:20;3040:39;3064:14;3040:23;:39::i;:::-;3001:78;;;;3091:7;3107;3083:33;;;;;-1:-1:-1;;;3083:33:2;;;;;;;;;;-1:-1:-1;3127:7:2;2894:244;-1:-1:-1;;;2894:244: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;1140:1751:2:-;1221:4;1227:12;1246:32;;:::i;:::-;1281:8;;:33;;-1:-1:-1;;;1281:33:2;;-1:-1:-1;;;;;1281:8:2;;;;:17;;:33;;1299:14;;1281:33;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1281:33:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1281:33:2;;;;;;39:16:-1;36:1;17:17;2:54;101:4;1281:33:2;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;1281:33:2;;;;;;;;;1246:68;;1318:32;;:::i;:::-;1353:10;;1373:11;;;;1353:32;;-1:-1:-1;;;1353:32:2;;-1:-1:-1;;;;;1353:10:2;;;;:19;;:32;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1353:32:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1353:32:2;;;;;;39:16:-1;36:1;17:17;2:54;101:4;1353:32:2;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;1353:32:2;;;;;;;;;1318:67;-1:-1:-1;1409:40:2;1394:11;;:55;;;;;;;;;1390:207;;1543:5;1550:42;;;;;;;;;;;;;-1:-1:-1;;;1550:42:2;;;1535:58;;;;;;;;1390:207;1635:4;:12;;;1625:23;;;;;;;;;;;;;;;1604:4;:17;;;:44;1600:207;;1753:5;1760:42;;;;;;;;;;;;;;;;;1745:58;;;;;;;;1600:207;1814:15;;-1:-1:-1;;;;;1814:15:2;:36;;;;:137;;-1:-1:-1;1869:15:2;;1893:8;;:16;1918:10;;:32;;;-1:-1:-1;;;1918:32:2;;;;1855:96;;-1:-1:-1;;;;;1869:15:2;;;;1893:16;1918:10;;:30;;:32;;;;;;;;;;;;;;:10;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;1918:32:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1918: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;1918:32:2;;;;;;;;;1855:13;:96::i;:::-;1854:97;1814:137;1810:207;;;1963:5;1970:42;;;;;;;;;;;;;-1:-1:-1;;;1970:42:2;;;1955:58;;;;;;;;1810:207;2024:19;;-1:-1:-1;;;;;2024:19:2;:36;;;;:137;;-1:-1:-1;2079:19:2;;;2103:12;;;;;:20;2128:10;;:32;;;-1:-1:-1;;;2128:32:2;;;;2065:96;;-1:-1:-1;;;;;2079:19:2;;;;2103:20;;2128:10;;;;;:30;;:32;;;;2103:12;;2128:32;;;;;;:10;:32;;;5:2:-1;;;;30:1;27;20:12;2065:96:2;2064:97;2024:137;2020:207;;;2173:5;2180:42;;;;;;;;;;;;;-1:-1:-1;;;2180:42:2;;;2165:58;;;;;;;;2020:207;2234:22;;-1:-1:-1;;;;;2234:22:2;:36;;;;:137;;-1:-1:-1;2289:22:2;;2313:15;;;;;:23;2338:10;;:32;;-1:-1:-1;;;2338:32:2;;;;2275:96;;-1:-1:-1;;;;;2289:22:2;;;;2338:10;;;:30;;:32;;;;;;;;;;;;;;:10;:32;;;5:2:-1;;;;30:1;27;20:12;2275:96:2;2274:97;2234:137;2230:207;;;2383:5;2390:42;;;;;;;;;;;;;;;;;2375:58;;;;;;;;2230:207;2461:8;;;;2444:13;;2460:9;;2444:25;:39;2440:207;;2593:5;2600:42;;;;;;;;;;;;;-1:-1:-1;;;2600:42:2;;;2585:58;;;;;;;;2440:207;2672:4;:10;;;2654:15;;:28;2650:207;;;2803:5;2810:42;;;;;;;;;;;;;-1:-1:-1;;;2810:42:2;;;2795:58;;;;;;;;2650:207;-1:-1:-1;2874:12:2;;;2868:4;;-1:-1:-1;2874:12:2;-1:-1:-1;1140:1751:2;;;;:::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;180:2096:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;180:2096:0;;;-1:-1:-1;180:2096:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;180:2096:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;180:2096:0;;;;;;-1:-1:-1;;;;;180:2096:0;;;;;;-1:-1:-1;;;;;180:2096:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;180:2096:0;;;;;;;;;;;;;;;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;;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:366;;;12357:2;12345:9;12336:7;12332:23;12328:32;12325:2;;;12373:1;12370;12363:12;12325:2;12408:1;12425:53;12470:7;12450:9;12425:53;;;12415:63;;12387:97;12515:2;12533:53;12578:7;12569:6;12558:9;12554:22;12533:53;;;12523:63;;12494:98;12319:283;;;;;;12609:345;;12722:2;12710:9;12701:7;12697:23;12693:32;12690:2;;;12738:1;12735;12728:12;12690:2;12773:31;;-1:-1;;;;;12813:30;;12810:2;;;12856:1;12853;12846:12;12810:2;12876:62;12930:7;12921:6;12910:9;12906:22;12876:62;;12961:386;;13098:2;13086:9;13077:7;13073:23;13069:32;13066:2;;;13114:1;13111;13104:12;13066:2;13149:24;;-1:-1;;;;;13182:30;;13179:2;;;13225:1;13222;13215:12;13179:2;13245:86;13323:7;13314:6;13303:9;13299:22;13245:86;;13354:386;;13491:2;13479:9;13470:7;13466:23;13462:32;13459:2;;;13507:1;13504;13497:12;13459:2;13542:24;;-1:-1;;;;;13575:30;;13572:2;;;13618:1;13615;13608:12;13572:2;13638:86;13716:7;13707:6;13696:9;13692:22;13638:86;;13747:263;;13862:2;13850:9;13841:7;13837:23;13833:32;13830:2;;;13878:1;13875;13868:12;13830:2;13913:1;13930:64;13986:7;13966:9;13930:64;;14017:854;;;;;14195:3;14183:9;14174:7;14170:23;14166:33;14163:2;;;14212:1;14209;14202:12;14163:2;14247:1;14264:64;14320:7;14300:9;14264:64;;;14254:74;;14226:108;14386:2;14375:9;14371:18;14365:25;-1:-1;;;;;14402:6;14399:30;14396:2;;;14442:1;14439;14432:12;14396:2;14462:70;14524:7;14515:6;14504:9;14500:22;14462:70;;;14452:80;;14344:194;14590:2;14579:9;14575:18;14569:25;-1:-1;;;;;14606:6;14603:30;14600:2;;;14646:1;14643;14636:12;14600:2;14666:70;14728:7;14719:6;14708:9;14704:22;14666:70;;;14656:80;;14548:194;14773:2;14791:64;14847:7;14838:6;14827:9;14823:22;14791:64;;;14781:74;;14752:109;14157:714;;;;;;;;14878:113;14961:24;14979:5;14961:24;;;14956:3;14949:37;14943:48;;;14998:94;15065:21;15080:5;15065:21;;15210:103;15283:24;15301:5;15283:24;;15440:343;;15550:38;15582:5;15550:38;;;15600:70;15663:6;15658:3;15600:70;;;15593:77;;15675:52;15720:6;15715:3;15708:4;15701:5;15697:16;15675:52;;;15748:29;15770:6;15748:29;;;15739:39;;;;15530:253;-1:-1;;;15530:253;15790:348;;15914:34;15942:5;15914:34;;;15960:88;16041:6;16036:3;15960:88;;;15953:95;;16053:52;16098:6;16093:3;16086:4;16079:5;16075:16;16053:52;;;16117:16;;;;;15894:244;-1:-1;;15894:244;16145:180;16255:64;16313:5;16255:64;;17544:465;;17704:67;17768:2;17763:3;17704:67;;;17804:66;17784:87;;-1:-1;;;17900:2;17891:12;;17884:88;18000:2;17991:12;;17690:319;-1:-1;;17690:319;18018:465;;18178:67;18242:2;18237:3;18178:67;;;18278:66;18258:87;;-1:-1;;;18374:2;18365:12;;18358:88;18474:2;18465:12;;18164:319;-1:-1;;18164:319;18492:364;;18652:67;18716:2;18711:3;18652:67;;;18752:66;18732:87;;18847:2;18838:12;;18638:218;-1:-1;;18638:218;18949:901;19182:22;;18949:901;;19108:4;19099:14;;;19210:62;19103:3;19182:22;19210:62;;;19128:150;19354:4;19347:5;19343:16;19337:23;19406:3;19400:4;19396:14;19389:4;19384:3;19380:14;19373:38;19426:69;19490:4;19476:12;19426:69;;;19418:77;;19288:219;19585:4;19578:5;19574:16;19568:23;19597:63;19654:4;19649:3;19645:14;19631:12;19597:63;;;19517:149;19749:4;19742:5;19738:16;19732:23;19761:57;19812:4;19807:3;19803:14;19789:12;19761:57;;20087:107;20166:22;20182:5;20166:22;;20201:254;;20341:89;20426:3;20417:6;20341:89;;20462:213;20580:2;20565:18;;20594:71;20569:9;20638:6;20594:71;;20682:201;20794:2;20779:18;;20808:65;20783:9;20846:6;20808:65;;20890:213;21008:2;20993:18;;21022:71;20997:9;21066:6;21022:71;;21110:408;21274:2;21259:18;;21288:71;21263:9;21332:6;21288:71;;;21407:9;21401:4;21397:20;21392:2;21381:9;21377:18;21370:48;21432:76;21503:4;21494:6;21432:76;;21525:324;21671:2;21656:18;;21685:71;21660:9;21729:6;21685:71;;;21767:72;21835:2;21824:9;21820:18;21811:6;21767:72;;21856:539;22054:3;22039:19;;22069:71;22043:9;22113:6;22069:71;;;22151:68;22215:2;22204:9;22200:18;22191:6;22151:68;;;22230:72;22298:2;22287:9;22283:18;22274:6;22230:72;;;22313;22381:2;22370:9;22366:18;22357:6;22313:72;;;22025:370;;;;;;;;22402:267;22547:2;22532:18;;22561:98;22536:9;22632:6;22561:98;;22948:293;23082:2;23096:47;;;23067:18;;23157:74;23067:18;23217:6;23157:74;;23556:723;23798:3;23813:47;;;23783:19;;23874:78;23783:19;23938:6;23874:78;;;23866:86;;23963:72;24031:2;24020:9;24016:18;24007:6;23963:72;;;24083:9;24077:4;24073:20;24068:2;24057:9;24053:18;24046:48;24108:78;24181:4;24172:6;24108:78;;;24100:86;;24197:72;24265:2;24254:9;24250:18;24241:6;24197:72;;24286:407;24477:2;24491:47;;;24462:18;;24552:131;24462:18;24552:131;;24700:407;24891:2;24905:47;;;24876:18;;24966:131;24876:18;24966:131;;25114:407;25305:2;25319:47;;;25290:18;;25380:131;25290:18;25380:131;;25528:377;25704:2;25718:47;;;25689:18;;25779:116;25689:18;25881:6;25779:116;;26132:723;26374:3;26359:19;;26389:71;26363:9;26433:6;26389:71;;;26508:9;26502:4;26498:20;26493:2;26482:9;26478:18;26471:48;26533:78;26606:4;26597:6;26533:78;;;26525:86;;26659:9;26653:4;26649:20;26644:2;26633:9;26629:18;26622:48;26684:78;26757:4;26748:6;26684:78;;26862:256;26924:2;26918:9;26950:17;;;-1:-1;;;;;27010:34;;27046:22;;;27007:62;27004:2;;;27082:1;27079;27072:12;27004:2;27098;27091:22;26902:216;;-1:-1;26902:216;27125:300;;-1:-1;;;;;27272:6;27269:30;27266:2;;;27312:1;27309;27302:12;27266:2;-1:-1;27347:4;27335:17;;;27400:15;;27203:222;27432:317;;-1:-1;;;;;27563:6;27560:30;27557:2;;;27603:1;27600;27593:12;27557:2;-1:-1;27734:4;27670;27647:17;;;;-1:-1;;27643:33;27724:15;;27494:255;28409:117;28492:12;;28463:63;28916:162;29018:19;;;29067:4;29058:14;;29011:67;29087:144;29222:3;29200:31;-1:-1;29200:31;29573:91;;29635:24;29653:5;29635:24;;29671:85;29737:13;29730:21;;29713:43;30049:81;30120:4;30109:16;;30092:38;30137:175;;30243:64;30301:5;30243:64;;30783:145;30864:6;30859:3;30854;30841:30;-1:-1;30920:1;30902:16;;30895:27;30834:94;30937:268;31002:1;31009:101;31023:6;31020:1;31017:13;31009:101;;;31090:11;;;31084:18;31071:11;;;31064:39;31045:2;31038:10;31009:101;;;31125:6;31122:1;31119:13;31116:2;;;31190:1;31181:6;31176:3;31172:16;31165:27;31116:2;30986:219;;;;;31213:97;31301:2;31281:14;-1:-1;;31277:28;;31261:49;31318:117;31387:24;31405:5;31387:24;;;31380:5;31377:35;31367:2;;31426:1;31423;31416:12;31442:111;31508:21;31523:5;31508:21;;31560:117;31629:24;31647:5;31629:24;;31684:113;31772:1;31765:5;31762:12;31752:2;;31788:1;31785;31778:12", + "source": "pragma solidity ^0.5.8;\npragma experimental ABIEncoderV2;\n\nimport \"openzeppelin-solidity/contracts/ownership/Ownable.sol\";\nimport \"iexec-doracle-base/contracts/IexecDoracle.sol\";\n\ncontract AnemometerOracle is Ownable, IexecDoracle\n{\n\tstruct WeatherReport\n\t{\n\t\tbytes32 oracleCallID;\n\t\tstring \tsummary;\n\t\tuint256 windSpeed;\n\t\tbool\thistoricalData;\n\t}\n\n\tstruct Location\n\t{\n\t\tstring location;\n\t\tmapping(uint256 => WeatherReport) reports;\n\t}\n\n\tmapping (bytes32 => Location) public locations;\n\t\n\n\tevent NewWeatherReport(\n\t\tbytes32 indexed id,\n\t\tbytes32 indexed oracleCallID,\n\t\tstring \tlocation,\n\t\tuint256 date,\n\t\tstring \tsummary,\n\t\tuint256\twindSpeed\n\t);\n\n\t// Use _iexecHubAddr to force use of custom iexechub, leave 0x0 for autodetect\n\tconstructor(address _iexecHubAddr)\n\tpublic IexecDoracle(_iexecHubAddr)\n\t{}\n\n\tfunction updateEnv(\n\t address _authorizedApp\n\t, address _authorizedDataset\n\t, address _authorizedWorkerpool\n\t, bytes32 _requiredtag\n\t, uint256 _requiredtrust\n\t)\n\tpublic onlyOwner\n\t{\n\t\t_iexecDoracleUpdateSettings(_authorizedApp, _authorizedDataset, _authorizedWorkerpool, _requiredtag, _requiredtrust);\n\t}\n\n\tfunction decodeResults(bytes memory results)\n\tpublic pure returns(uint256, string memory, string memory, uint256)\n\t{ return abi.decode(results, (uint256, string, string, uint256)); }\n\n\tfunction processResult(bytes32 _oracleCallID)\n\tpublic\n\t{\n\t\tuint256 date;\n\t\tstring memory location;\n\t\tstring memory summary;\n\t\tuint256 windSpeed;\n\n\t\t// Parse results\n\t\t(date, location, summary, windSpeed) = decodeResults(_iexecDoracleGetVerifiedResult(_oracleCallID));\n\n\t\t// Process results\n\t\tbytes32 id = keccak256(bytes(location));\n\t\trequire (!locations[id].reports[date].historicalData, \"report is already fetched for given location and time\");\n\t\temit NewWeatherReport(id, _oracleCallID, location, date, summary, windSpeed);\n\t\tlocations[id].reports[date].oracleCallID \t= _oracleCallID;\n\t\tlocations[id].reports[date].summary \t= summary;\n\t\tlocations[id].reports[date].windSpeed \t= windSpeed;\n\t\tlocations[id].reports[date].historicalData \t= now > date ? true : false;\n\t\tlocations[id].location \t\t\t\t\t= location;\n\t}\n\n\tfunction getWeatherReport(bytes32 id, uint256 date) public view returns(WeatherReport memory) {\n\t\treturn locations[id].reports[date];\n\t}\n}\n", + "sourcePath": "/Volumes/MacintoshHD/Users/Andy/iexec-apps/anemometer-oracle/smart-contract/contracts/AnemometerOracle.sol", + "ast": { + "absolutePath": "/Volumes/MacintoshHD/Users/Andy/iexec-apps/anemometer-oracle/smart-contract/contracts/AnemometerOracle.sol", + "exportedSymbols": { + "AnemometerOracle": [ + 228 + ] + }, + "id": 229, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:0" + }, + { + "id": 2, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:0" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 3, + "nodeType": "ImportDirective", + "scope": 229, + "sourceUnit": 1963, + "src": "59:63:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-doracle-base/contracts/IexecDoracle.sol", + "file": "iexec-doracle-base/contracts/IexecDoracle.sol", + "id": 4, + "nodeType": "ImportDirective", + "scope": 229, + "sourceUnit": 557, + "src": "123:55:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1962, + "src": "209:7:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1962", + "typeString": "contract Ownable" + } + }, + "id": 6, + "nodeType": "InheritanceSpecifier", + "src": "209:7:0" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 7, + "name": "IexecDoracle", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 556, + "src": "218:12:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecDoracle_$556", + "typeString": "contract IexecDoracle" + } + }, + "id": 8, + "nodeType": "InheritanceSpecifier", + "src": "218:12:0" + } + ], + "contractDependencies": [ + 556, + 687, + 1342, + 1686, + 1962 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 228, + "linearizedBaseContracts": [ + 228, + 556, + 1686, + 1342, + 687, + 1962 + ], + "name": "AnemometerOracle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "AnemometerOracle.WeatherReport", + "id": 17, + "members": [ + { + "constant": false, + "id": 10, + "name": "oracleCallID", + "nodeType": "VariableDeclaration", + "scope": 17, + "src": "260:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "260:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12, + "name": "summary", + "nodeType": "VariableDeclaration", + "scope": 17, + "src": "284:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "284:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14, + "name": "windSpeed", + "nodeType": "VariableDeclaration", + "scope": 17, + "src": "303:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "303:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16, + "name": "historicalData", + "nodeType": "VariableDeclaration", + "scope": 17, + "src": "324:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "324:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "WeatherReport", + "nodeType": "StructDefinition", + "scope": 228, + "src": "234:113:0", + "visibility": "public" + }, + { + "canonicalName": "AnemometerOracle.Location", + "id": 24, + "members": [ + { + "constant": false, + "id": 19, + "name": "location", + "nodeType": "VariableDeclaration", + "scope": 24, + "src": "371:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 18, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "371:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23, + "name": "reports", + "nodeType": "VariableDeclaration", + "scope": 24, + "src": "391:41:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WeatherReport_$17_storage_$", + "typeString": "mapping(uint256 => struct AnemometerOracle.WeatherReport)" + }, + "typeName": { + "id": 22, + "keyType": { + "id": 20, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "399:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "391:33:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WeatherReport_$17_storage_$", + "typeString": "mapping(uint256 => struct AnemometerOracle.WeatherReport)" + }, + "valueType": { + "contractScope": null, + "id": 21, + "name": "WeatherReport", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "410:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_storage_ptr", + "typeString": "struct AnemometerOracle.WeatherReport" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Location", + "nodeType": "StructDefinition", + "scope": 228, + "src": "350:86:0", + "visibility": "public" + }, + { + "constant": false, + "id": 28, + "name": "locations", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "439:46:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location)" + }, + "typeName": { + "id": 27, + "keyType": { + "id": 25, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "448:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "439:29:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location)" + }, + "valueType": { + "contractScope": null, + "id": 26, + "name": "Location", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 24, + "src": "459:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Location_$24_storage_ptr", + "typeString": "struct AnemometerOracle.Location" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 42, + "name": "NewWeatherReport", + "nodeType": "EventDefinition", + "parameters": { + "id": 41, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30, + "indexed": true, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 42, + "src": "517:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "517:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 32, + "indexed": true, + "name": "oracleCallID", + "nodeType": "VariableDeclaration", + "scope": 42, + "src": "539:28:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 31, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "539:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 34, + "indexed": false, + "name": "location", + "nodeType": "VariableDeclaration", + "scope": 42, + "src": "571:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 33, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "571:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 36, + "indexed": false, + "name": "date", + "nodeType": "VariableDeclaration", + "scope": 42, + "src": "591:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 35, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "591:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 38, + "indexed": false, + "name": "summary", + "nodeType": "VariableDeclaration", + "scope": 42, + "src": "607:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 37, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "607:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 40, + "indexed": false, + "name": "windSpeed", + "nodeType": "VariableDeclaration", + "scope": 42, + "src": "626:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 39, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "626:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "513:133:0" + }, + "src": "491:156:0" + }, + { + "body": { + "id": 50, + "nodeType": "Block", + "src": "802:2:0", + "statements": [] + }, + "documentation": null, + "id": 51, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 47, + "name": "_iexecHubAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "786:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 48, + "modifierName": { + "argumentTypes": null, + "id": 46, + "name": "IexecDoracle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 556, + "src": "773:12:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecDoracle_$556_$", + "typeString": "type(contract IexecDoracle)" + } + }, + "nodeType": "ModifierInvocation", + "src": "773:27:0" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 45, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44, + "name": "_iexecHubAddr", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "742:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "742:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "741:23:0" + }, + "returnParameters": { + "id": 49, + "nodeType": "ParameterList", + "parameters": [], + "src": "802:0:0" + }, + "scope": 228, + "src": "730:74:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 74, + "nodeType": "Block", + "src": "988:124:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 67, + "name": "_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "1020:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 68, + "name": "_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55, + "src": "1036:18:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 69, + "name": "_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57, + "src": "1056:21:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 70, + "name": "_requiredtag", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "1079:12:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 71, + "name": "_requiredtrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1093:14:0", + "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": 66, + "name": "_iexecDoracleUpdateSettings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 366, + "src": "992:27:0", + "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": 72, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "992:116:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 73, + "nodeType": "ExpressionStatement", + "src": "992:116:0" + } + ] + }, + "documentation": null, + "id": 75, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 64, + "modifierName": { + "argumentTypes": null, + "id": 63, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1895, + "src": "977:9:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "977:9:0" + } + ], + "name": "updateEnv", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 62, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 53, + "name": "_authorizedApp", + "nodeType": "VariableDeclaration", + "scope": 75, + "src": "830:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 52, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "830:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 55, + "name": "_authorizedDataset", + "nodeType": "VariableDeclaration", + "scope": 75, + "src": "856:26:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 54, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 57, + "name": "_authorizedWorkerpool", + "nodeType": "VariableDeclaration", + "scope": 75, + "src": "886:29:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 56, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "886:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 59, + "name": "_requiredtag", + "nodeType": "VariableDeclaration", + "scope": 75, + "src": "919:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 58, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "919:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 61, + "name": "_requiredtrust", + "nodeType": "VariableDeclaration", + "scope": 75, + "src": "943:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 60, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "943:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "825:143:0" + }, + "returnParameters": { + "id": 65, + "nodeType": "ParameterList", + "parameters": [], + "src": "988:0:0" + }, + "scope": 228, + "src": "807:305:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 98, + "nodeType": "Block", + "src": "1230:67:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 90, + "name": "results", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "1250:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 91, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1260:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + { + "argumentTypes": null, + "id": 92, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1269:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": "string" + }, + { + "argumentTypes": null, + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1277:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": "string" + }, + { + "argumentTypes": null, + "id": 94, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1285:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + } + ], + "id": 95, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1259:34:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_type$_t_uint256_$_$_t_type$_t_string_storage_ptr_$_$_t_type$_t_string_storage_ptr_$_$_t_type$_t_uint256_$_$", + "typeString": "tuple(type(uint256),type(string storage pointer),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_string_storage_ptr_$_$_t_type$_t_uint256_$_$", + "typeString": "tuple(type(uint256),type(string storage pointer),type(string storage pointer),type(uint256))" + } + ], + "expression": { + "argumentTypes": null, + "id": 88, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2033, + "src": "1239:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 89, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "decode", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1239:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 96, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1239:55:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_$_t_string_memory_$_t_uint256_$", + "typeString": "tuple(uint256,string memory,string memory,uint256)" + } + }, + "functionReturnParameters": 87, + "id": 97, + "nodeType": "Return", + "src": "1232:62:0" + } + ] + }, + "documentation": null, + "id": 99, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decodeResults", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 78, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 77, + "name": "results", + "nodeType": "VariableDeclaration", + "scope": 99, + "src": "1138:20:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 76, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1138:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1137:22:0" + }, + "returnParameters": { + "id": 87, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 80, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 99, + "src": "1181:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1181:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 82, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 99, + "src": "1190:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 81, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1190:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 84, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 99, + "src": "1205:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 83, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1205:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 86, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 99, + "src": "1220:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 85, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1220:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1180:48:0" + }, + "scope": 228, + "src": "1115:182:0", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 209, + "nodeType": "Block", + "src": "1355:780:0", + "statements": [ + { + "assignments": [ + 105 + ], + "declarations": [ + { + "constant": false, + "id": 105, + "name": "date", + "nodeType": "VariableDeclaration", + "scope": 209, + "src": "1359:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 104, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1359:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 106, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1359:18:0" + }, + { + "assignments": [ + 108 + ], + "declarations": [ + { + "constant": false, + "id": 108, + "name": "location", + "nodeType": "VariableDeclaration", + "scope": 209, + "src": "1381:22:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 107, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1381:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 109, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1381:22:0" + }, + { + "assignments": [ + 111 + ], + "declarations": [ + { + "constant": false, + "id": 111, + "name": "summary", + "nodeType": "VariableDeclaration", + "scope": 209, + "src": "1407:21:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 110, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1407:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 112, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1407:21:0" + }, + { + "assignments": [ + 114 + ], + "declarations": [ + { + "constant": false, + "id": 114, + "name": "windSpeed", + "nodeType": "VariableDeclaration", + "scope": 209, + "src": "1432:23:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 113, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1432:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 115, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1432:23:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 116, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1480:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 117, + "name": "location", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 108, + "src": "1486:8:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 118, + "name": "summary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 111, + "src": "1496:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 119, + "name": "windSpeed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114, + "src": "1505:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 120, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1479:36:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256,string memory,string memory,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 123, + "name": "_oracleCallID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1563:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 122, + "name": "_iexecDoracleGetVerifiedResult", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 555, + "src": "1532:30:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes32) view returns (bytes memory)" + } + }, + "id": 124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1532:45:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 121, + "name": "decodeResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99, + "src": "1518:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256,string memory,string memory,uint256)" + } + }, + "id": 125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1518:60:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256,string memory,string memory,uint256)" + } + }, + "src": "1479:99:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 127, + "nodeType": "ExpressionStatement", + "src": "1479:99:0" + }, + { + "assignments": [ + 129 + ], + "declarations": [ + { + "constant": false, + "id": 129, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 209, + "src": "1604:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 128, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1604:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 135, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 132, + "name": "location", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 108, + "src": "1633:8:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1627:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1627:15:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 130, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2040, + "src": "1617:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1617:26:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1604:39:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1656:43:0", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 137, + "name": "locations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28, + "src": "1657:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location storage ref)" + } + }, + "id": 139, + "indexExpression": { + "argumentTypes": null, + "id": 138, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "1667:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1657:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Location_$24_storage", + "typeString": "struct AnemometerOracle.Location storage ref" + } + }, + "id": 140, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reports", + "nodeType": "MemberAccess", + "referencedDeclaration": 23, + "src": "1657:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WeatherReport_$17_storage_$", + "typeString": "mapping(uint256 => struct AnemometerOracle.WeatherReport storage ref)" + } + }, + "id": 142, + "indexExpression": { + "argumentTypes": null, + "id": 141, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1679:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1657:27:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_storage", + "typeString": "struct AnemometerOracle.WeatherReport storage ref" + } + }, + "id": 143, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "historicalData", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "1657:42:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "7265706f727420697320616c7265616479206665746368656420666f7220676976656e206c6f636174696f6e20616e642074696d65", + "id": 145, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1701:55:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_806b4fa9acb29204918536b40c09ccba251d4404d135f9957f11e3e9c32ea2f8", + "typeString": "literal_string \"report is already fetched for given location and time\"" + }, + "value": "report is already fetched for given location and time" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_806b4fa9acb29204918536b40c09ccba251d4404d135f9957f11e3e9c32ea2f8", + "typeString": "literal_string \"report is already fetched for given location and time\"" + } + ], + "id": 136, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2049, + 2050 + ], + "referencedDeclaration": 2050, + "src": "1647:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1647:110:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 147, + "nodeType": "ExpressionStatement", + "src": "1647:110:0" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 149, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "1783:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 150, + "name": "_oracleCallID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1787:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 151, + "name": "location", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 108, + "src": "1802:8:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 152, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1812:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 153, + "name": "summary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 111, + "src": "1818:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 154, + "name": "windSpeed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114, + "src": "1827:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 148, + "name": "NewWeatherReport", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1766:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,bytes32,string memory,uint256,string memory,uint256)" + } + }, + "id": 155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1766:71:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 156, + "nodeType": "EmitStatement", + "src": "1761:76:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 157, + "name": "locations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28, + "src": "1841:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location storage ref)" + } + }, + "id": 159, + "indexExpression": { + "argumentTypes": null, + "id": 158, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "1851:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1841:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Location_$24_storage", + "typeString": "struct AnemometerOracle.Location storage ref" + } + }, + "id": 160, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reports", + "nodeType": "MemberAccess", + "referencedDeclaration": 23, + "src": "1841:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WeatherReport_$17_storage_$", + "typeString": "mapping(uint256 => struct AnemometerOracle.WeatherReport storage ref)" + } + }, + "id": 162, + "indexExpression": { + "argumentTypes": null, + "id": 161, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1863:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1841:27:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_storage", + "typeString": "struct AnemometerOracle.WeatherReport storage ref" + } + }, + "id": 163, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "oracleCallID", + "nodeType": "MemberAccess", + "referencedDeclaration": 10, + "src": "1841:40:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 164, + "name": "_oracleCallID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1885:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1841:57:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 166, + "nodeType": "ExpressionStatement", + "src": "1841:57:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 167, + "name": "locations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28, + "src": "1902:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location storage ref)" + } + }, + "id": 169, + "indexExpression": { + "argumentTypes": null, + "id": 168, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "1912:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1902:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Location_$24_storage", + "typeString": "struct AnemometerOracle.Location storage ref" + } + }, + "id": 170, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reports", + "nodeType": "MemberAccess", + "referencedDeclaration": 23, + "src": "1902:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WeatherReport_$17_storage_$", + "typeString": "mapping(uint256 => struct AnemometerOracle.WeatherReport storage ref)" + } + }, + "id": 172, + "indexExpression": { + "argumentTypes": null, + "id": 171, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1924:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1902:27:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_storage", + "typeString": "struct AnemometerOracle.WeatherReport storage ref" + } + }, + "id": 173, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "summary", + "nodeType": "MemberAccess", + "referencedDeclaration": 12, + "src": "1902:35:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 174, + "name": "summary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 111, + "src": "1946:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1902:51:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 176, + "nodeType": "ExpressionStatement", + "src": "1902:51:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 177, + "name": "locations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28, + "src": "1957:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location storage ref)" + } + }, + "id": 179, + "indexExpression": { + "argumentTypes": null, + "id": 178, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "1967:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1957:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Location_$24_storage", + "typeString": "struct AnemometerOracle.Location storage ref" + } + }, + "id": 180, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reports", + "nodeType": "MemberAccess", + "referencedDeclaration": 23, + "src": "1957:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WeatherReport_$17_storage_$", + "typeString": "mapping(uint256 => struct AnemometerOracle.WeatherReport storage ref)" + } + }, + "id": 182, + "indexExpression": { + "argumentTypes": null, + "id": 181, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1979:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1957:27:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_storage", + "typeString": "struct AnemometerOracle.WeatherReport storage ref" + } + }, + "id": 183, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "windSpeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 14, + "src": "1957:37:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 184, + "name": "windSpeed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114, + "src": "2001:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1957:53:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 186, + "nodeType": "ExpressionStatement", + "src": "1957:53:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 187, + "name": "locations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28, + "src": "2014:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location storage ref)" + } + }, + "id": 189, + "indexExpression": { + "argumentTypes": null, + "id": 188, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2024:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2014:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Location_$24_storage", + "typeString": "struct AnemometerOracle.Location storage ref" + } + }, + "id": 190, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reports", + "nodeType": "MemberAccess", + "referencedDeclaration": 23, + "src": "2014:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WeatherReport_$17_storage_$", + "typeString": "mapping(uint256 => struct AnemometerOracle.WeatherReport storage ref)" + } + }, + "id": 192, + "indexExpression": { + "argumentTypes": null, + "id": 191, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "2036:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2014:27:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_storage", + "typeString": "struct AnemometerOracle.WeatherReport storage ref" + } + }, + "id": 193, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "historicalData", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "2014:42:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 194, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2048, + "src": "2060:3:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 195, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "2066:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2060:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2080:5:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "2060:25:0", + "trueExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2073:4:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2014:71:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 201, + "nodeType": "ExpressionStatement", + "src": "2014:71:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 202, + "name": "locations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28, + "src": "2089:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location storage ref)" + } + }, + "id": 204, + "indexExpression": { + "argumentTypes": null, + "id": 203, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2099:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2089:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Location_$24_storage", + "typeString": "struct AnemometerOracle.Location storage ref" + } + }, + "id": 205, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "location", + "nodeType": "MemberAccess", + "referencedDeclaration": 19, + "src": "2089:22:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 206, + "name": "location", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 108, + "src": "2123:8:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2089:42:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 208, + "nodeType": "ExpressionStatement", + "src": "2089:42:0" + } + ] + }, + "documentation": null, + "id": 210, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 101, + "name": "_oracleCallID", + "nodeType": "VariableDeclaration", + "scope": 210, + "src": "1323:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 100, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1323:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1322:23:0" + }, + "returnParameters": { + "id": 103, + "nodeType": "ParameterList", + "parameters": [], + "src": "1355:0:0" + }, + "scope": 228, + "src": "1300:835:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 226, + "nodeType": "Block", + "src": "2232:42:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 219, + "name": "locations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28, + "src": "2243:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location storage ref)" + } + }, + "id": 221, + "indexExpression": { + "argumentTypes": null, + "id": 220, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 212, + "src": "2253:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2243:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Location_$24_storage", + "typeString": "struct AnemometerOracle.Location storage ref" + } + }, + "id": 222, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reports", + "nodeType": "MemberAccess", + "referencedDeclaration": 23, + "src": "2243:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WeatherReport_$17_storage_$", + "typeString": "mapping(uint256 => struct AnemometerOracle.WeatherReport storage ref)" + } + }, + "id": 224, + "indexExpression": { + "argumentTypes": null, + "id": 223, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 214, + "src": "2265:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2243:27:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_storage", + "typeString": "struct AnemometerOracle.WeatherReport storage ref" + } + }, + "functionReturnParameters": 218, + "id": 225, + "nodeType": "Return", + "src": "2236:34:0" + } + ] + }, + "documentation": null, + "id": 227, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getWeatherReport", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 212, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 227, + "src": "2164:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 211, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2164:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 214, + "name": "date", + "nodeType": "VariableDeclaration", + "scope": 227, + "src": "2176:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 213, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2176:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2163:26:0" + }, + "returnParameters": { + "id": 218, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 217, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 227, + "src": "2210:20:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_memory_ptr", + "typeString": "struct AnemometerOracle.WeatherReport" + }, + "typeName": { + "contractScope": null, + "id": 216, + "name": "WeatherReport", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "2210:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_storage_ptr", + "typeString": "struct AnemometerOracle.WeatherReport" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2209:22:0" + }, + "scope": 228, + "src": "2138:136:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 229, + "src": "180:2096:0" + } + ], + "src": "0:2277:0" + }, + "legacyAST": { + "absolutePath": "/Volumes/MacintoshHD/Users/Andy/iexec-apps/anemometer-oracle/smart-contract/contracts/AnemometerOracle.sol", + "exportedSymbols": { + "AnemometerOracle": [ + 228 + ] + }, + "id": 229, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:0" + }, + { + "id": 2, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:0" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "id": 3, + "nodeType": "ImportDirective", + "scope": 229, + "sourceUnit": 1963, + "src": "59:63:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-doracle-base/contracts/IexecDoracle.sol", + "file": "iexec-doracle-base/contracts/IexecDoracle.sol", + "id": 4, + "nodeType": "ImportDirective", + "scope": 229, + "sourceUnit": 557, + "src": "123:55:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1962, + "src": "209:7:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$1962", + "typeString": "contract Ownable" + } + }, + "id": 6, + "nodeType": "InheritanceSpecifier", + "src": "209:7:0" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 7, + "name": "IexecDoracle", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 556, + "src": "218:12:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecDoracle_$556", + "typeString": "contract IexecDoracle" + } + }, + "id": 8, + "nodeType": "InheritanceSpecifier", + "src": "218:12:0" + } + ], + "contractDependencies": [ + 556, + 687, + 1342, + 1686, + 1962 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 228, + "linearizedBaseContracts": [ + 228, + 556, + 1686, + 1342, + 687, + 1962 + ], + "name": "AnemometerOracle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "AnemometerOracle.WeatherReport", + "id": 17, + "members": [ + { + "constant": false, + "id": 10, + "name": "oracleCallID", + "nodeType": "VariableDeclaration", + "scope": 17, + "src": "260:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "260:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12, + "name": "summary", + "nodeType": "VariableDeclaration", + "scope": 17, + "src": "284:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 11, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "284:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14, + "name": "windSpeed", + "nodeType": "VariableDeclaration", + "scope": 17, + "src": "303:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 13, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "303:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16, + "name": "historicalData", + "nodeType": "VariableDeclaration", + "scope": 17, + "src": "324:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "324:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "WeatherReport", + "nodeType": "StructDefinition", + "scope": 228, + "src": "234:113:0", + "visibility": "public" + }, + { + "canonicalName": "AnemometerOracle.Location", + "id": 24, + "members": [ + { + "constant": false, + "id": 19, + "name": "location", + "nodeType": "VariableDeclaration", + "scope": 24, + "src": "371:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 18, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "371:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23, + "name": "reports", + "nodeType": "VariableDeclaration", + "scope": 24, + "src": "391:41:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WeatherReport_$17_storage_$", + "typeString": "mapping(uint256 => struct AnemometerOracle.WeatherReport)" + }, + "typeName": { + "id": 22, + "keyType": { + "id": 20, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "399:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "391:33:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WeatherReport_$17_storage_$", + "typeString": "mapping(uint256 => struct AnemometerOracle.WeatherReport)" + }, + "valueType": { + "contractScope": null, + "id": 21, + "name": "WeatherReport", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "410:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_storage_ptr", + "typeString": "struct AnemometerOracle.WeatherReport" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Location", + "nodeType": "StructDefinition", + "scope": 228, + "src": "350:86:0", + "visibility": "public" + }, + { + "constant": false, + "id": 28, + "name": "locations", + "nodeType": "VariableDeclaration", + "scope": 228, + "src": "439:46:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location)" + }, + "typeName": { + "id": 27, + "keyType": { + "id": 25, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "448:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "439:29:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location)" + }, + "valueType": { + "contractScope": null, + "id": 26, + "name": "Location", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 24, + "src": "459:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Location_$24_storage_ptr", + "typeString": "struct AnemometerOracle.Location" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 42, + "name": "NewWeatherReport", + "nodeType": "EventDefinition", + "parameters": { + "id": 41, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30, + "indexed": true, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 42, + "src": "517:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "517:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 32, + "indexed": true, + "name": "oracleCallID", + "nodeType": "VariableDeclaration", + "scope": 42, + "src": "539:28:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 31, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "539:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 34, + "indexed": false, + "name": "location", + "nodeType": "VariableDeclaration", + "scope": 42, + "src": "571:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 33, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "571:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 36, + "indexed": false, + "name": "date", + "nodeType": "VariableDeclaration", + "scope": 42, + "src": "591:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 35, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "591:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 38, + "indexed": false, + "name": "summary", + "nodeType": "VariableDeclaration", + "scope": 42, + "src": "607:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 37, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "607:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 40, + "indexed": false, + "name": "windSpeed", + "nodeType": "VariableDeclaration", + "scope": 42, + "src": "626:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 39, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "626:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "513:133:0" + }, + "src": "491:156:0" + }, + { + "body": { + "id": 50, + "nodeType": "Block", + "src": "802:2:0", + "statements": [] + }, + "documentation": null, + "id": 51, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 47, + "name": "_iexecHubAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "786:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 48, + "modifierName": { + "argumentTypes": null, + "id": 46, + "name": "IexecDoracle", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 556, + "src": "773:12:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecDoracle_$556_$", + "typeString": "type(contract IexecDoracle)" + } + }, + "nodeType": "ModifierInvocation", + "src": "773:27:0" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 45, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44, + "name": "_iexecHubAddr", + "nodeType": "VariableDeclaration", + "scope": 51, + "src": "742:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "742:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "741:23:0" + }, + "returnParameters": { + "id": 49, + "nodeType": "ParameterList", + "parameters": [], + "src": "802:0:0" + }, + "scope": 228, + "src": "730:74:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 74, + "nodeType": "Block", + "src": "988:124:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 67, + "name": "_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 53, + "src": "1020:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 68, + "name": "_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 55, + "src": "1036:18:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 69, + "name": "_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57, + "src": "1056:21:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 70, + "name": "_requiredtag", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59, + "src": "1079:12:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 71, + "name": "_requiredtrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 61, + "src": "1093:14:0", + "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": 66, + "name": "_iexecDoracleUpdateSettings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 366, + "src": "992:27:0", + "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": 72, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "992:116:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 73, + "nodeType": "ExpressionStatement", + "src": "992:116:0" + } + ] + }, + "documentation": null, + "id": 75, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 64, + "modifierName": { + "argumentTypes": null, + "id": 63, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1895, + "src": "977:9:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "977:9:0" + } + ], + "name": "updateEnv", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 62, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 53, + "name": "_authorizedApp", + "nodeType": "VariableDeclaration", + "scope": 75, + "src": "830:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 52, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "830:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 55, + "name": "_authorizedDataset", + "nodeType": "VariableDeclaration", + "scope": 75, + "src": "856:26:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 54, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "856:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 57, + "name": "_authorizedWorkerpool", + "nodeType": "VariableDeclaration", + "scope": 75, + "src": "886:29:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 56, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "886:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 59, + "name": "_requiredtag", + "nodeType": "VariableDeclaration", + "scope": 75, + "src": "919:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 58, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "919:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 61, + "name": "_requiredtrust", + "nodeType": "VariableDeclaration", + "scope": 75, + "src": "943:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 60, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "943:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "825:143:0" + }, + "returnParameters": { + "id": 65, + "nodeType": "ParameterList", + "parameters": [], + "src": "988:0:0" + }, + "scope": 228, + "src": "807:305:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 98, + "nodeType": "Block", + "src": "1230:67:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 90, + "name": "results", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "1250:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 91, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1260:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + { + "argumentTypes": null, + "id": 92, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1269:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": "string" + }, + { + "argumentTypes": null, + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1277:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": "string" + }, + { + "argumentTypes": null, + "id": 94, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1285:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + } + ], + "id": 95, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1259:34:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_type$_t_uint256_$_$_t_type$_t_string_storage_ptr_$_$_t_type$_t_string_storage_ptr_$_$_t_type$_t_uint256_$_$", + "typeString": "tuple(type(uint256),type(string storage pointer),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_string_storage_ptr_$_$_t_type$_t_uint256_$_$", + "typeString": "tuple(type(uint256),type(string storage pointer),type(string storage pointer),type(uint256))" + } + ], + "expression": { + "argumentTypes": null, + "id": 88, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2033, + "src": "1239:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 89, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "decode", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1239:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 96, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1239:55:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_$_t_string_memory_$_t_uint256_$", + "typeString": "tuple(uint256,string memory,string memory,uint256)" + } + }, + "functionReturnParameters": 87, + "id": 97, + "nodeType": "Return", + "src": "1232:62:0" + } + ] + }, + "documentation": null, + "id": 99, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decodeResults", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 78, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 77, + "name": "results", + "nodeType": "VariableDeclaration", + "scope": 99, + "src": "1138:20:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 76, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1138:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1137:22:0" + }, + "returnParameters": { + "id": 87, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 80, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 99, + "src": "1181:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 79, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1181:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 82, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 99, + "src": "1190:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 81, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1190:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 84, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 99, + "src": "1205:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 83, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1205:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 86, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 99, + "src": "1220:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 85, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1220:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1180:48:0" + }, + "scope": 228, + "src": "1115:182:0", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 209, + "nodeType": "Block", + "src": "1355:780:0", + "statements": [ + { + "assignments": [ + 105 + ], + "declarations": [ + { + "constant": false, + "id": 105, + "name": "date", + "nodeType": "VariableDeclaration", + "scope": 209, + "src": "1359:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 104, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1359:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 106, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1359:18:0" + }, + { + "assignments": [ + 108 + ], + "declarations": [ + { + "constant": false, + "id": 108, + "name": "location", + "nodeType": "VariableDeclaration", + "scope": 209, + "src": "1381:22:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 107, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1381:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 109, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1381:22:0" + }, + { + "assignments": [ + 111 + ], + "declarations": [ + { + "constant": false, + "id": 111, + "name": "summary", + "nodeType": "VariableDeclaration", + "scope": 209, + "src": "1407:21:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 110, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1407:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 112, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1407:21:0" + }, + { + "assignments": [ + 114 + ], + "declarations": [ + { + "constant": false, + "id": 114, + "name": "windSpeed", + "nodeType": "VariableDeclaration", + "scope": 209, + "src": "1432:23:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 113, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1432:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 115, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1432:23:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 116, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1480:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 117, + "name": "location", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 108, + "src": "1486:8:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 118, + "name": "summary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 111, + "src": "1496:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 119, + "name": "windSpeed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114, + "src": "1505:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 120, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1479:36:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256,string memory,string memory,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 123, + "name": "_oracleCallID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1563:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 122, + "name": "_iexecDoracleGetVerifiedResult", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 555, + "src": "1532:30:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes32) view returns (bytes memory)" + } + }, + "id": 124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1532:45:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 121, + "name": "decodeResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99, + "src": "1518:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes memory) pure returns (uint256,string memory,string memory,uint256)" + } + }, + "id": 125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1518:60:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256,string memory,string memory,uint256)" + } + }, + "src": "1479:99:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 127, + "nodeType": "ExpressionStatement", + "src": "1479:99:0" + }, + { + "assignments": [ + 129 + ], + "declarations": [ + { + "constant": false, + "id": 129, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 209, + "src": "1604:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 128, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1604:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 135, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 132, + "name": "location", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 108, + "src": "1633:8:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1627:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1627:15:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 130, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2040, + "src": "1617:9:0", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1617:26:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1604:39:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1656:43:0", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 137, + "name": "locations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28, + "src": "1657:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location storage ref)" + } + }, + "id": 139, + "indexExpression": { + "argumentTypes": null, + "id": 138, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "1667:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1657:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Location_$24_storage", + "typeString": "struct AnemometerOracle.Location storage ref" + } + }, + "id": 140, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reports", + "nodeType": "MemberAccess", + "referencedDeclaration": 23, + "src": "1657:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WeatherReport_$17_storage_$", + "typeString": "mapping(uint256 => struct AnemometerOracle.WeatherReport storage ref)" + } + }, + "id": 142, + "indexExpression": { + "argumentTypes": null, + "id": 141, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1679:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1657:27:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_storage", + "typeString": "struct AnemometerOracle.WeatherReport storage ref" + } + }, + "id": 143, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "historicalData", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "1657:42:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "7265706f727420697320616c7265616479206665746368656420666f7220676976656e206c6f636174696f6e20616e642074696d65", + "id": 145, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1701:55:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_806b4fa9acb29204918536b40c09ccba251d4404d135f9957f11e3e9c32ea2f8", + "typeString": "literal_string \"report is already fetched for given location and time\"" + }, + "value": "report is already fetched for given location and time" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_806b4fa9acb29204918536b40c09ccba251d4404d135f9957f11e3e9c32ea2f8", + "typeString": "literal_string \"report is already fetched for given location and time\"" + } + ], + "id": 136, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2049, + 2050 + ], + "referencedDeclaration": 2050, + "src": "1647:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1647:110:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 147, + "nodeType": "ExpressionStatement", + "src": "1647:110:0" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 149, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "1783:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 150, + "name": "_oracleCallID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1787:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 151, + "name": "location", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 108, + "src": "1802:8:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 152, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1812:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 153, + "name": "summary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 111, + "src": "1818:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 154, + "name": "windSpeed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114, + "src": "1827:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 148, + "name": "NewWeatherReport", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "1766:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,bytes32,string memory,uint256,string memory,uint256)" + } + }, + "id": 155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1766:71:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 156, + "nodeType": "EmitStatement", + "src": "1761:76:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 157, + "name": "locations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28, + "src": "1841:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location storage ref)" + } + }, + "id": 159, + "indexExpression": { + "argumentTypes": null, + "id": 158, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "1851:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1841:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Location_$24_storage", + "typeString": "struct AnemometerOracle.Location storage ref" + } + }, + "id": 160, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reports", + "nodeType": "MemberAccess", + "referencedDeclaration": 23, + "src": "1841:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WeatherReport_$17_storage_$", + "typeString": "mapping(uint256 => struct AnemometerOracle.WeatherReport storage ref)" + } + }, + "id": 162, + "indexExpression": { + "argumentTypes": null, + "id": 161, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1863:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1841:27:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_storage", + "typeString": "struct AnemometerOracle.WeatherReport storage ref" + } + }, + "id": 163, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "oracleCallID", + "nodeType": "MemberAccess", + "referencedDeclaration": 10, + "src": "1841:40:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 164, + "name": "_oracleCallID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 101, + "src": "1885:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1841:57:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 166, + "nodeType": "ExpressionStatement", + "src": "1841:57:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 167, + "name": "locations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28, + "src": "1902:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location storage ref)" + } + }, + "id": 169, + "indexExpression": { + "argumentTypes": null, + "id": 168, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "1912:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1902:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Location_$24_storage", + "typeString": "struct AnemometerOracle.Location storage ref" + } + }, + "id": 170, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reports", + "nodeType": "MemberAccess", + "referencedDeclaration": 23, + "src": "1902:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WeatherReport_$17_storage_$", + "typeString": "mapping(uint256 => struct AnemometerOracle.WeatherReport storage ref)" + } + }, + "id": 172, + "indexExpression": { + "argumentTypes": null, + "id": 171, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1924:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1902:27:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_storage", + "typeString": "struct AnemometerOracle.WeatherReport storage ref" + } + }, + "id": 173, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "summary", + "nodeType": "MemberAccess", + "referencedDeclaration": 12, + "src": "1902:35:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 174, + "name": "summary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 111, + "src": "1946:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1902:51:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 176, + "nodeType": "ExpressionStatement", + "src": "1902:51:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 177, + "name": "locations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28, + "src": "1957:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location storage ref)" + } + }, + "id": 179, + "indexExpression": { + "argumentTypes": null, + "id": 178, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "1967:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1957:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Location_$24_storage", + "typeString": "struct AnemometerOracle.Location storage ref" + } + }, + "id": 180, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reports", + "nodeType": "MemberAccess", + "referencedDeclaration": 23, + "src": "1957:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WeatherReport_$17_storage_$", + "typeString": "mapping(uint256 => struct AnemometerOracle.WeatherReport storage ref)" + } + }, + "id": 182, + "indexExpression": { + "argumentTypes": null, + "id": 181, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "1979:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1957:27:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_storage", + "typeString": "struct AnemometerOracle.WeatherReport storage ref" + } + }, + "id": 183, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "windSpeed", + "nodeType": "MemberAccess", + "referencedDeclaration": 14, + "src": "1957:37:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 184, + "name": "windSpeed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114, + "src": "2001:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1957:53:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 186, + "nodeType": "ExpressionStatement", + "src": "1957:53:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 187, + "name": "locations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28, + "src": "2014:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location storage ref)" + } + }, + "id": 189, + "indexExpression": { + "argumentTypes": null, + "id": 188, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2024:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2014:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Location_$24_storage", + "typeString": "struct AnemometerOracle.Location storage ref" + } + }, + "id": 190, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reports", + "nodeType": "MemberAccess", + "referencedDeclaration": 23, + "src": "2014:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WeatherReport_$17_storage_$", + "typeString": "mapping(uint256 => struct AnemometerOracle.WeatherReport storage ref)" + } + }, + "id": 192, + "indexExpression": { + "argumentTypes": null, + "id": 191, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "2036:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2014:27:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_storage", + "typeString": "struct AnemometerOracle.WeatherReport storage ref" + } + }, + "id": 193, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "historicalData", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "2014:42:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 194, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2048, + "src": "2060:3:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 195, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "2066:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2060:10:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2080:5:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "2060:25:0", + "trueExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2073:4:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2014:71:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 201, + "nodeType": "ExpressionStatement", + "src": "2014:71:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 202, + "name": "locations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28, + "src": "2089:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location storage ref)" + } + }, + "id": 204, + "indexExpression": { + "argumentTypes": null, + "id": 203, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 129, + "src": "2099:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2089:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Location_$24_storage", + "typeString": "struct AnemometerOracle.Location storage ref" + } + }, + "id": 205, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "location", + "nodeType": "MemberAccess", + "referencedDeclaration": 19, + "src": "2089:22:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 206, + "name": "location", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 108, + "src": "2123:8:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2089:42:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 208, + "nodeType": "ExpressionStatement", + "src": "2089:42:0" + } + ] + }, + "documentation": null, + "id": 210, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "processResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 101, + "name": "_oracleCallID", + "nodeType": "VariableDeclaration", + "scope": 210, + "src": "1323:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 100, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1323:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1322:23:0" + }, + "returnParameters": { + "id": 103, + "nodeType": "ParameterList", + "parameters": [], + "src": "1355:0:0" + }, + "scope": 228, + "src": "1300:835:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 226, + "nodeType": "Block", + "src": "2232:42:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 219, + "name": "locations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28, + "src": "2243:9:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Location_$24_storage_$", + "typeString": "mapping(bytes32 => struct AnemometerOracle.Location storage ref)" + } + }, + "id": 221, + "indexExpression": { + "argumentTypes": null, + "id": 220, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 212, + "src": "2253:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2243:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Location_$24_storage", + "typeString": "struct AnemometerOracle.Location storage ref" + } + }, + "id": 222, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reports", + "nodeType": "MemberAccess", + "referencedDeclaration": 23, + "src": "2243:21:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_WeatherReport_$17_storage_$", + "typeString": "mapping(uint256 => struct AnemometerOracle.WeatherReport storage ref)" + } + }, + "id": 224, + "indexExpression": { + "argumentTypes": null, + "id": 223, + "name": "date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 214, + "src": "2265:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2243:27:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_storage", + "typeString": "struct AnemometerOracle.WeatherReport storage ref" + } + }, + "functionReturnParameters": 218, + "id": 225, + "nodeType": "Return", + "src": "2236:34:0" + } + ] + }, + "documentation": null, + "id": 227, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getWeatherReport", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 212, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 227, + "src": "2164:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 211, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2164:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 214, + "name": "date", + "nodeType": "VariableDeclaration", + "scope": 227, + "src": "2176:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 213, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2176:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2163:26:0" + }, + "returnParameters": { + "id": 218, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 217, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 227, + "src": "2210:20:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_memory_ptr", + "typeString": "struct AnemometerOracle.WeatherReport" + }, + "typeName": { + "contractScope": null, + "id": 216, + "name": "WeatherReport", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 17, + "src": "2210:13:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WeatherReport_$17_storage_ptr", + "typeString": "struct AnemometerOracle.WeatherReport" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2209:22:0" + }, + "scope": 228, + "src": "2138:136:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 229, + "src": "180:2096:0" + } + ], + "src": "0:2277:0" + }, + "compiler": { + "name": "solc", + "version": "0.5.10+commit.5a6ea5b1.Emscripten.clang" + }, + "networks": { + "42": { + "events": {}, + "links": {}, + "address": "0x65464777c27D8242A2d32bA48aE688b563BC4e4d", + "transactionHash": "0x6bcf1e4316fc2f1380be0e29c3c45700457e69af21aa63441c4d04e2170db85c" + } + }, + "schemaVersion": "3.0.11", + "updatedAt": "2019-10-19T10:53:05.467Z", + "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/anemometer-oracle/smart-contract/build/contracts/IERC1271.json b/anemometer-oracle/smart-contract/build/contracts/IERC1271.json new file mode 100644 index 00000000..bfba00ab --- /dev/null +++ b/anemometer-oracle/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.8+commit.23d335f2\"},\"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\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-solidity/contracts/ERC1271/IERC1271.sol\":{\"keccak256\":\"0x90daa992bd38a335a1e6503b4b815b5aa5315366637dc0cb0b98e7f39096c842\",\"urls\":[\"bzzr://9c88f54779ee800bd2235d96ea251b3c80e45d4c127db93a9a71a8b9235becb2\"]}},\"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": [ + 1709 + ] + }, + "id": 1710, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1696, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:10" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 1709, + "linearizedBaseContracts": [ + 1709 + ], + "name": "IERC1271", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1699, + "name": "MAGICVALUE", + "nodeType": "VariableDeclaration", + "scope": 1709, + "src": "100:48:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1697, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "100:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783230633133623062", + "id": 1698, + "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": 1708, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isValidSignature", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1704, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1701, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 1708, + "src": "788:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1700, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "788:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1703, + "name": "_signature", + "nodeType": "VariableDeclaration", + "scope": 1708, + "src": "805:23:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1702, + "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": 1707, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1706, + "name": "isValid", + "nodeType": "VariableDeclaration", + "scope": 1708, + "src": "856:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1705, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "856:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "855:14:10" + }, + "scope": 1709, + "src": "759:111:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1710, + "src": "25:847:10" + } + ], + "src": "0:873:10" + }, + "legacyAST": { + "absolutePath": "iexec-solidity/contracts/ERC1271/IERC1271.sol", + "exportedSymbols": { + "IERC1271": [ + 1709 + ] + }, + "id": 1710, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1696, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:10" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 1709, + "linearizedBaseContracts": [ + 1709 + ], + "name": "IERC1271", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1699, + "name": "MAGICVALUE", + "nodeType": "VariableDeclaration", + "scope": 1709, + "src": "100:48:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1697, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "100:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783230633133623062", + "id": 1698, + "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": 1708, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isValidSignature", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1704, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1701, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 1708, + "src": "788:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1700, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "788:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1703, + "name": "_signature", + "nodeType": "VariableDeclaration", + "scope": 1708, + "src": "805:23:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1702, + "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": 1707, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1706, + "name": "isValid", + "nodeType": "VariableDeclaration", + "scope": 1708, + "src": "856:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1705, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "856:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "855:14:10" + }, + "scope": 1709, + "src": "759:111:10", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1710, + "src": "25:847:10" + } + ], + "src": "0:873:10" + }, + "compiler": { + "name": "solc", + "version": "0.5.8+commit.23d335f2.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.11", + "updatedAt": "2019-10-19T10:48:51.139Z", + "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/anemometer-oracle/smart-contract/build/contracts/IERC20.json b/anemometer-oracle/smart-contract/build/contracts/IERC20.json new file mode 100644 index 00000000..406ebb27 --- /dev/null +++ b/anemometer-oracle/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.8+commit.23d335f2\"},\"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\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x90e8c2521653bbb1768b05889c5760031e688d9cd361f167489b89215e201b95\",\"urls\":[\"bzzr://aa8b45b57edafc3d67bc5d916327ea16807fae33f753ca163ae0c4061b789766\"]}},\"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": [ + 2031 + ] + }, + "id": 2032, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1964, + "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": 2031, + "linearizedBaseContracts": [ + 2031 + ], + "name": "IERC20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": "@dev Returns the amount of tokens in existence.", + "id": 1969, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1965, + "nodeType": "ParameterList", + "parameters": [], + "src": "290:2:13" + }, + "returnParameters": { + "id": 1968, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1967, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1969, + "src": "316:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1966, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "316:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "315:9:13" + }, + "scope": 2031, + "src": "270:55:13", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": "@dev Returns the amount of tokens owned by `account`.", + "id": 1976, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1972, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1971, + "name": "account", + "nodeType": "VariableDeclaration", + "scope": 1976, + "src": "427:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1970, + "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": 1975, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1974, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1976, + "src": "467:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1973, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "467:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "466:9:13" + }, + "scope": 2031, + "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": 1985, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1981, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1978, + "name": "recipient", + "nodeType": "VariableDeclaration", + "scope": 1985, + "src": "714:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1977, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "714:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1980, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 1985, + "src": "733:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1979, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "733:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "713:35:13" + }, + "returnParameters": { + "id": 1984, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1983, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1985, + "src": "767:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1982, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "767:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "766:6:13" + }, + "scope": 2031, + "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": 1994, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1990, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1987, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1994, + "src": "1067:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1986, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1067:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1989, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 1994, + "src": "1082:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1988, + "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": 1993, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1992, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1994, + "src": "1122:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1991, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1122:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1121:9:13" + }, + "scope": 2031, + "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": 2003, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1999, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1996, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 2003, + "src": "1792:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1995, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1792:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1998, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 2003, + "src": "1809:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1997, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1809:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1791:33:13" + }, + "returnParameters": { + "id": 2002, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2001, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2003, + "src": "1843:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2000, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1843:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1842:6:13" + }, + "scope": 2031, + "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": 2014, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2010, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2005, + "name": "sender", + "nodeType": "VariableDeclaration", + "scope": 2014, + "src": "2178:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2004, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2178:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2007, + "name": "recipient", + "nodeType": "VariableDeclaration", + "scope": 2014, + "src": "2194:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2006, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2194:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2009, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 2014, + "src": "2213:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2008, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2213:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2177:51:13" + }, + "returnParameters": { + "id": 2013, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2012, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2014, + "src": "2247:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2011, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2247:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2246:6:13" + }, + "scope": 2031, + "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": 2022, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 2021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2016, + "indexed": true, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 2022, + "src": "2437:20:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2015, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2437:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2018, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 2022, + "src": "2459:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2017, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2459:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2020, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 2022, + "src": "2479:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2019, + "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": 2030, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 2029, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2024, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2030, + "src": "2668:21:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2023, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2668:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2026, + "indexed": true, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 2030, + "src": "2691:23:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2025, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2691:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2028, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 2030, + "src": "2716:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2027, + "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": 2032, + "src": "176:2557:13" + } + ], + "src": "0:2734:13" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", + "exportedSymbols": { + "IERC20": [ + 2031 + ] + }, + "id": 2032, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1964, + "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": 2031, + "linearizedBaseContracts": [ + 2031 + ], + "name": "IERC20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": "@dev Returns the amount of tokens in existence.", + "id": 1969, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1965, + "nodeType": "ParameterList", + "parameters": [], + "src": "290:2:13" + }, + "returnParameters": { + "id": 1968, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1967, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1969, + "src": "316:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1966, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "316:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "315:9:13" + }, + "scope": 2031, + "src": "270:55:13", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": "@dev Returns the amount of tokens owned by `account`.", + "id": 1976, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1972, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1971, + "name": "account", + "nodeType": "VariableDeclaration", + "scope": 1976, + "src": "427:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1970, + "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": 1975, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1974, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1976, + "src": "467:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1973, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "467:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "466:9:13" + }, + "scope": 2031, + "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": 1985, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1981, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1978, + "name": "recipient", + "nodeType": "VariableDeclaration", + "scope": 1985, + "src": "714:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1977, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "714:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1980, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 1985, + "src": "733:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1979, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "733:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "713:35:13" + }, + "returnParameters": { + "id": 1984, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1983, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1985, + "src": "767:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1982, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "767:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "766:6:13" + }, + "scope": 2031, + "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": 1994, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1990, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1987, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1994, + "src": "1067:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1986, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1067:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1989, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 1994, + "src": "1082:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1988, + "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": 1993, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1992, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1994, + "src": "1122:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1991, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1122:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1121:9:13" + }, + "scope": 2031, + "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": 2003, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1999, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1996, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 2003, + "src": "1792:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1995, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1792:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1998, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 2003, + "src": "1809:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1997, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1809:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1791:33:13" + }, + "returnParameters": { + "id": 2002, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2001, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2003, + "src": "1843:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2000, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1843:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1842:6:13" + }, + "scope": 2031, + "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": 2014, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2010, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2005, + "name": "sender", + "nodeType": "VariableDeclaration", + "scope": 2014, + "src": "2178:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2004, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2178:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2007, + "name": "recipient", + "nodeType": "VariableDeclaration", + "scope": 2014, + "src": "2194:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2006, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2194:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2009, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 2014, + "src": "2213:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2008, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2213:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2177:51:13" + }, + "returnParameters": { + "id": 2013, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2012, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 2014, + "src": "2247:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2011, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2247:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2246:6:13" + }, + "scope": 2031, + "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": 2022, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 2021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2016, + "indexed": true, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 2022, + "src": "2437:20:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2015, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2437:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2018, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 2022, + "src": "2459:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2017, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2459:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2020, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 2022, + "src": "2479:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2019, + "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": 2030, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 2029, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2024, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 2030, + "src": "2668:21:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2023, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2668:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2026, + "indexed": true, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 2030, + "src": "2691:23:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2025, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2691:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2028, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 2030, + "src": "2716:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2027, + "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": 2032, + "src": "176:2557:13" + } + ], + "src": "0:2734:13" + }, + "compiler": { + "name": "solc", + "version": "0.5.8+commit.23d335f2.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.11", + "updatedAt": "2019-10-19T10:48:51.146Z", + "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/anemometer-oracle/smart-contract/build/contracts/IERC734.json b/anemometer-oracle/smart-contract/build/contracts/IERC734.json new file mode 100644 index 00000000..93084bd2 --- /dev/null +++ b/anemometer-oracle/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.8+commit.23d335f2\"},\"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\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-solidity/contracts/ERC734_KeyManager/IERC734.sol\":{\"keccak256\":\"0x46532e2d419a87bf604b354318a19d56a3dc25fa7ad6f94c77bd2aa8ce54a755\",\"urls\":[\"bzzr://8ada95bcec956bdd6e7c4e3ec840e9e13cfc04584668d0df2c00459f94d74541\"]}},\"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": [ + 1851 + ] + }, + "id": 1852, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1711, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:11" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 1851, + "linearizedBaseContracts": [ + 1851 + ], + "name": "IERC734", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1714, + "name": "MANAGEMENT_KEY", + "nodeType": "VariableDeclaration", + "scope": 1851, + "src": "99:42:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1712, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "99:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31", + "id": 1713, + "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": 1717, + "name": "ACTION_KEY", + "nodeType": "VariableDeclaration", + "scope": 1851, + "src": "248:38:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1715, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "248:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 1716, + "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": 1720, + "name": "CLAIM_SIGNER_KEY", + "nodeType": "VariableDeclaration", + "scope": 1851, + "src": "383:44:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1718, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "383:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "33", + "id": 1719, + "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": 1723, + "name": "ENCRYPTION_KEY", + "nodeType": "VariableDeclaration", + "scope": 1851, + "src": "496:42:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1721, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "496:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "34", + "id": 1722, + "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": 1726, + "name": "ECDSA_TYPE", + "nodeType": "VariableDeclaration", + "scope": 1851, + "src": "554:38:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1724, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "554:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31", + "id": 1725, + "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": 1729, + "name": "RSA_TYPE", + "nodeType": "VariableDeclaration", + "scope": 1851, + "src": "679:36:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1727, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "679:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 1728, + "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": 1737, + "name": "KeyAdded", + "nodeType": "EventDefinition", + "parameters": { + "id": 1736, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1731, + "indexed": true, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 1737, + "src": "755:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1730, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "755:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1733, + "indexed": true, + "name": "purpose", + "nodeType": "VariableDeclaration", + "scope": 1737, + "src": "776:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1732, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "776:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1735, + "indexed": true, + "name": "keyType", + "nodeType": "VariableDeclaration", + "scope": 1737, + "src": "801:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1734, + "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": 1745, + "name": "KeyRemoved", + "nodeType": "EventDefinition", + "parameters": { + "id": 1744, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1739, + "indexed": true, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "853:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1738, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "853:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1741, + "indexed": true, + "name": "purpose", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "874:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1740, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "874:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1743, + "indexed": true, + "name": "keyType", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "899:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1742, + "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": 1755, + "name": "ExecutionRequested", + "nodeType": "EventDefinition", + "parameters": { + "id": 1754, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1747, + "indexed": true, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "951:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1746, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "951:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1749, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "980:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1748, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "980:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1751, + "indexed": true, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "1000:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1000:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1753, + "indexed": false, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "1023:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1752, + "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": 1765, + "name": "Executed", + "nodeType": "EventDefinition", + "parameters": { + "id": 1764, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1757, + "indexed": true, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1765, + "src": "1062:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1756, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1062:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1759, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1765, + "src": "1091:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1758, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1091:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1761, + "indexed": true, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1765, + "src": "1111:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1760, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1111:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1763, + "indexed": false, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 1765, + "src": "1134:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1762, + "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": 1775, + "name": "ExecutionFailed", + "nodeType": "EventDefinition", + "parameters": { + "id": 1774, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1767, + "indexed": true, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1775, + "src": "1173:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1766, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1173:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1769, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1775, + "src": "1202:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1768, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1202:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1771, + "indexed": true, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1775, + "src": "1222:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1770, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1222:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1773, + "indexed": false, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 1775, + "src": "1245:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1772, + "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": 1781, + "name": "Approved", + "nodeType": "EventDefinition", + "parameters": { + "id": 1780, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1777, + "indexed": true, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1781, + "src": "1284:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1776, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1284:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1779, + "indexed": false, + "name": "approved", + "nodeType": "VariableDeclaration", + "scope": 1781, + "src": "1313:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1778, + "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": 1793, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getKey", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1784, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1783, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 1793, + "src": "1371:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1782, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1371:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1370:51:11" + }, + "returnParameters": { + "id": 1792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1787, + "name": "purposes", + "nodeType": "VariableDeclaration", + "scope": 1793, + "src": "1445:25:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1785, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1445:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1786, + "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": 1789, + "name": "keyType", + "nodeType": "VariableDeclaration", + "scope": 1793, + "src": "1472:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1788, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1472:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1791, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 1793, + "src": "1489:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1790, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1489:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1444:57:11" + }, + "scope": 1851, + "src": "1345:157:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1802, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "keyHasPurpose", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1798, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1795, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 1802, + "src": "1530:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1794, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1530:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1797, + "name": "purpose", + "nodeType": "VariableDeclaration", + "scope": 1802, + "src": "1544:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1796, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1544:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1529:51:11" + }, + "returnParameters": { + "id": 1801, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1800, + "name": "exists", + "nodeType": "VariableDeclaration", + "scope": 1802, + "src": "1604:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1799, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1604:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1603:13:11" + }, + "scope": 1851, + "src": "1504:113:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1810, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getKeysByPurpose", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1805, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1804, + "name": "_purpose", + "nodeType": "VariableDeclaration", + "scope": 1810, + "src": "1645:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1803, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1645:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1644:51:11" + }, + "returnParameters": { + "id": 1809, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1808, + "name": "keys", + "nodeType": "VariableDeclaration", + "scope": 1810, + "src": "1719:21:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1806, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1719:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1807, + "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": 1851, + "src": "1619:123:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1821, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addKey", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1817, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1812, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 1821, + "src": "1770:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1811, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1770:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1814, + "name": "_purpose", + "nodeType": "VariableDeclaration", + "scope": 1821, + "src": "1784:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1813, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1784:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1816, + "name": "_keyType", + "nodeType": "VariableDeclaration", + "scope": 1821, + "src": "1802:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1815, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1802:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1769:51:11" + }, + "returnParameters": { + "id": 1820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1819, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 1821, + "src": "1844:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1818, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1844:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1843:14:11" + }, + "scope": 1851, + "src": "1744:114:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1830, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "removeKey", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1826, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1823, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 1830, + "src": "1886:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1822, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1886:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1825, + "name": "_purpose", + "nodeType": "VariableDeclaration", + "scope": 1830, + "src": "1900:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1824, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1900:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1885:51:11" + }, + "returnParameters": { + "id": 1829, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1828, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 1830, + "src": "1960:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1827, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1960:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1959:14:11" + }, + "scope": 1851, + "src": "1860:114:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1841, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "execute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1832, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 1841, + "src": "2002:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2002:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1834, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 1841, + "src": "2015:14:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1833, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2015:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1836, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 1841, + "src": "2031:20:11", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1835, + "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": 1840, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1839, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1841, + "src": "2076:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1838, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2076:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2075:21:11" + }, + "scope": 1851, + "src": "1976:121:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1850, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1846, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1843, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 1850, + "src": "2125:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1842, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2125:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1845, + "name": "_approve", + "nodeType": "VariableDeclaration", + "scope": 1850, + "src": "2138:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1844, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2138:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2124:51:11" + }, + "returnParameters": { + "id": 1849, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1848, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 1850, + "src": "2199:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1847, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2199:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2198:14:11" + }, + "scope": 1851, + "src": "2099:114:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1852, + "src": "25:2190:11" + } + ], + "src": "0:2216:11" + }, + "legacyAST": { + "absolutePath": "iexec-solidity/contracts/ERC734_KeyManager/IERC734.sol", + "exportedSymbols": { + "IERC734": [ + 1851 + ] + }, + "id": 1852, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1711, + "literals": [ + "solidity", + "^", + "0.5", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:23:11" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 1851, + "linearizedBaseContracts": [ + 1851 + ], + "name": "IERC734", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1714, + "name": "MANAGEMENT_KEY", + "nodeType": "VariableDeclaration", + "scope": 1851, + "src": "99:42:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1712, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "99:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31", + "id": 1713, + "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": 1717, + "name": "ACTION_KEY", + "nodeType": "VariableDeclaration", + "scope": 1851, + "src": "248:38:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1715, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "248:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 1716, + "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": 1720, + "name": "CLAIM_SIGNER_KEY", + "nodeType": "VariableDeclaration", + "scope": 1851, + "src": "383:44:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1718, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "383:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "33", + "id": 1719, + "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": 1723, + "name": "ENCRYPTION_KEY", + "nodeType": "VariableDeclaration", + "scope": 1851, + "src": "496:42:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1721, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "496:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "34", + "id": 1722, + "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": 1726, + "name": "ECDSA_TYPE", + "nodeType": "VariableDeclaration", + "scope": 1851, + "src": "554:38:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1724, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "554:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31", + "id": 1725, + "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": 1729, + "name": "RSA_TYPE", + "nodeType": "VariableDeclaration", + "scope": 1851, + "src": "679:36:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1727, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "679:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 1728, + "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": 1737, + "name": "KeyAdded", + "nodeType": "EventDefinition", + "parameters": { + "id": 1736, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1731, + "indexed": true, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 1737, + "src": "755:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1730, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "755:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1733, + "indexed": true, + "name": "purpose", + "nodeType": "VariableDeclaration", + "scope": 1737, + "src": "776:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1732, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "776:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1735, + "indexed": true, + "name": "keyType", + "nodeType": "VariableDeclaration", + "scope": 1737, + "src": "801:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1734, + "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": 1745, + "name": "KeyRemoved", + "nodeType": "EventDefinition", + "parameters": { + "id": 1744, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1739, + "indexed": true, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "853:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1738, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "853:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1741, + "indexed": true, + "name": "purpose", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "874:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1740, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "874:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1743, + "indexed": true, + "name": "keyType", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "899:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1742, + "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": 1755, + "name": "ExecutionRequested", + "nodeType": "EventDefinition", + "parameters": { + "id": 1754, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1747, + "indexed": true, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "951:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1746, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "951:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1749, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "980:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1748, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "980:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1751, + "indexed": true, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "1000:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1000:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1753, + "indexed": false, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 1755, + "src": "1023:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1752, + "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": 1765, + "name": "Executed", + "nodeType": "EventDefinition", + "parameters": { + "id": 1764, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1757, + "indexed": true, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1765, + "src": "1062:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1756, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1062:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1759, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1765, + "src": "1091:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1758, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1091:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1761, + "indexed": true, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1765, + "src": "1111:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1760, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1111:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1763, + "indexed": false, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 1765, + "src": "1134:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1762, + "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": 1775, + "name": "ExecutionFailed", + "nodeType": "EventDefinition", + "parameters": { + "id": 1774, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1767, + "indexed": true, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1775, + "src": "1173:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1766, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1173:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1769, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 1775, + "src": "1202:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1768, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1202:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1771, + "indexed": true, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 1775, + "src": "1222:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1770, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1222:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1773, + "indexed": false, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 1775, + "src": "1245:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1772, + "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": 1781, + "name": "Approved", + "nodeType": "EventDefinition", + "parameters": { + "id": 1780, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1777, + "indexed": true, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1781, + "src": "1284:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1776, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1284:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1779, + "indexed": false, + "name": "approved", + "nodeType": "VariableDeclaration", + "scope": 1781, + "src": "1313:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1778, + "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": 1793, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getKey", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1784, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1783, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 1793, + "src": "1371:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1782, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1371:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1370:51:11" + }, + "returnParameters": { + "id": 1792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1787, + "name": "purposes", + "nodeType": "VariableDeclaration", + "scope": 1793, + "src": "1445:25:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1785, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1445:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1786, + "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": 1789, + "name": "keyType", + "nodeType": "VariableDeclaration", + "scope": 1793, + "src": "1472:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1788, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1472:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1791, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 1793, + "src": "1489:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1790, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1489:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1444:57:11" + }, + "scope": 1851, + "src": "1345:157:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1802, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "keyHasPurpose", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1798, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1795, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 1802, + "src": "1530:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1794, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1530:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1797, + "name": "purpose", + "nodeType": "VariableDeclaration", + "scope": 1802, + "src": "1544:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1796, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1544:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1529:51:11" + }, + "returnParameters": { + "id": 1801, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1800, + "name": "exists", + "nodeType": "VariableDeclaration", + "scope": 1802, + "src": "1604:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1799, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1604:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1603:13:11" + }, + "scope": 1851, + "src": "1504:113:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1810, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getKeysByPurpose", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1805, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1804, + "name": "_purpose", + "nodeType": "VariableDeclaration", + "scope": 1810, + "src": "1645:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1803, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1645:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1644:51:11" + }, + "returnParameters": { + "id": 1809, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1808, + "name": "keys", + "nodeType": "VariableDeclaration", + "scope": 1810, + "src": "1719:21:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1806, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1719:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1807, + "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": 1851, + "src": "1619:123:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1821, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "addKey", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1817, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1812, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 1821, + "src": "1770:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1811, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1770:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1814, + "name": "_purpose", + "nodeType": "VariableDeclaration", + "scope": 1821, + "src": "1784:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1813, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1784:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1816, + "name": "_keyType", + "nodeType": "VariableDeclaration", + "scope": 1821, + "src": "1802:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1815, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1802:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1769:51:11" + }, + "returnParameters": { + "id": 1820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1819, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 1821, + "src": "1844:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1818, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1844:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1843:14:11" + }, + "scope": 1851, + "src": "1744:114:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1830, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "removeKey", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1826, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1823, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 1830, + "src": "1886:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1822, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1886:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1825, + "name": "_purpose", + "nodeType": "VariableDeclaration", + "scope": 1830, + "src": "1900:16:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1824, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1900:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1885:51:11" + }, + "returnParameters": { + "id": 1829, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1828, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 1830, + "src": "1960:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1827, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1960:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1959:14:11" + }, + "scope": 1851, + "src": "1860:114:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1841, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "execute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1832, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 1841, + "src": "2002:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2002:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1834, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 1841, + "src": "2015:14:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1833, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2015:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1836, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 1841, + "src": "2031:20:11", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1835, + "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": 1840, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1839, + "name": "executionId", + "nodeType": "VariableDeclaration", + "scope": 1841, + "src": "2076:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1838, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2076:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2075:21:11" + }, + "scope": 1851, + "src": "1976:121:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1850, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1846, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1843, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 1850, + "src": "2125:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1842, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2125:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1845, + "name": "_approve", + "nodeType": "VariableDeclaration", + "scope": 1850, + "src": "2138:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1844, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2138:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2124:51:11" + }, + "returnParameters": { + "id": 1849, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1848, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 1850, + "src": "2199:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1847, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2199:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2198:14:11" + }, + "scope": 1851, + "src": "2099:114:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1852, + "src": "25:2190:11" + } + ], + "src": "0:2216:11" + }, + "compiler": { + "name": "solc", + "version": "0.5.8+commit.23d335f2.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.11", + "updatedAt": "2019-10-19T10:48:51.140Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/anemometer-oracle/smart-contract/build/contracts/IOracle.json b/anemometer-oracle/smart-contract/build/contracts/IOracle.json new file mode 100644 index 00000000..27ae11fd --- /dev/null +++ b/anemometer-oracle/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.8+commit.23d335f2\"},\"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\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol\":{\"keccak256\":\"0xca20f6a22ba7bce6ed87cb53c2f8cfe0751d9b5e02e5f12d1112f0480f6ae31d\",\"urls\":[\"bzzr://31de73df2626e208672a80d8fd78b290af2e126782b70e3c85f62ced8325464f\"]}},\"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": [ + 1694 + ], + "IOracleConsumer": [ + 1686 + ] + }, + "id": 1695, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1678, + "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": 1686, + "linearizedBaseContracts": [ + 1686 + ], + "name": "IOracleConsumer", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1685, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "receiveResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1680, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1685, + "src": "165:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1679, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "165:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1682, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1685, + "src": "174:14:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1681, + "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": 1684, + "nodeType": "ParameterList", + "parameters": [], + "src": "200:0:9" + }, + "scope": 1686, + "src": "142:59:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1695, + "src": "113:90:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 1694, + "linearizedBaseContracts": [ + 1694 + ], + "name": "IOracle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1693, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resultFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1689, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1688, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1693, + "src": "245:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1687, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "245:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "244:9:9" + }, + "returnParameters": { + "id": 1692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1691, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1693, + "src": "279:12:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1690, + "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": 1694, + "src": "226:67:9", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1695, + "src": "205:90:9" + } + ], + "src": "0:296:9" + }, + "legacyAST": { + "absolutePath": "iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol", + "exportedSymbols": { + "IOracle": [ + 1694 + ], + "IOracleConsumer": [ + 1686 + ] + }, + "id": 1695, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1678, + "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": 1686, + "linearizedBaseContracts": [ + 1686 + ], + "name": "IOracleConsumer", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1685, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "receiveResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1680, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1685, + "src": "165:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1679, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "165:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1682, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1685, + "src": "174:14:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1681, + "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": 1684, + "nodeType": "ParameterList", + "parameters": [], + "src": "200:0:9" + }, + "scope": 1686, + "src": "142:59:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1695, + "src": "113:90:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 1694, + "linearizedBaseContracts": [ + 1694 + ], + "name": "IOracle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1693, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resultFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1689, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1688, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1693, + "src": "245:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1687, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "245:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "244:9:9" + }, + "returnParameters": { + "id": 1692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1691, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1693, + "src": "279:12:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1690, + "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": 1694, + "src": "226:67:9", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1695, + "src": "205:90:9" + } + ], + "src": "0:296:9" + }, + "compiler": { + "name": "solc", + "version": "0.5.8+commit.23d335f2.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.11", + "updatedAt": "2019-10-19T10:48:51.138Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/anemometer-oracle/smart-contract/build/contracts/IOracleConsumer.json b/anemometer-oracle/smart-contract/build/contracts/IOracleConsumer.json new file mode 100644 index 00000000..fe0c8b2d --- /dev/null +++ b/anemometer-oracle/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.8+commit.23d335f2\"},\"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\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol\":{\"keccak256\":\"0xca20f6a22ba7bce6ed87cb53c2f8cfe0751d9b5e02e5f12d1112f0480f6ae31d\",\"urls\":[\"bzzr://31de73df2626e208672a80d8fd78b290af2e126782b70e3c85f62ced8325464f\"]}},\"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": [ + 1694 + ], + "IOracleConsumer": [ + 1686 + ] + }, + "id": 1695, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1678, + "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": 1686, + "linearizedBaseContracts": [ + 1686 + ], + "name": "IOracleConsumer", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1685, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "receiveResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1680, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1685, + "src": "165:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1679, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "165:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1682, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1685, + "src": "174:14:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1681, + "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": 1684, + "nodeType": "ParameterList", + "parameters": [], + "src": "200:0:9" + }, + "scope": 1686, + "src": "142:59:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1695, + "src": "113:90:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 1694, + "linearizedBaseContracts": [ + 1694 + ], + "name": "IOracle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1693, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resultFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1689, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1688, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1693, + "src": "245:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1687, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "245:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "244:9:9" + }, + "returnParameters": { + "id": 1692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1691, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1693, + "src": "279:12:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1690, + "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": 1694, + "src": "226:67:9", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1695, + "src": "205:90:9" + } + ], + "src": "0:296:9" + }, + "legacyAST": { + "absolutePath": "iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol", + "exportedSymbols": { + "IOracle": [ + 1694 + ], + "IOracleConsumer": [ + 1686 + ] + }, + "id": 1695, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1678, + "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": 1686, + "linearizedBaseContracts": [ + 1686 + ], + "name": "IOracleConsumer", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1685, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "receiveResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1680, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1685, + "src": "165:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1679, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "165:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1682, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1685, + "src": "174:14:9", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1681, + "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": 1684, + "nodeType": "ParameterList", + "parameters": [], + "src": "200:0:9" + }, + "scope": 1686, + "src": "142:59:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1695, + "src": "113:90:9" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 1694, + "linearizedBaseContracts": [ + 1694 + ], + "name": "IOracle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 1693, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resultFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1689, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1688, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1693, + "src": "245:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1687, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "245:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "244:9:9" + }, + "returnParameters": { + "id": 1692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1691, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1693, + "src": "279:12:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1690, + "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": 1694, + "src": "226:67:9", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1695, + "src": "205:90:9" + } + ], + "src": "0:296:9" + }, + "compiler": { + "name": "solc", + "version": "0.5.8+commit.23d335f2.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.11", + "updatedAt": "2019-10-19T10:48:51.139Z", + "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/anemometer-oracle/smart-contract/build/contracts/IexecClerkInterface.json b/anemometer-oracle/smart-contract/build/contracts/IexecClerkInterface.json new file mode 100644 index 00000000..b753f0ea --- /dev/null +++ b/anemometer-oracle/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.8+commit.23d335f2\"},\"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\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-doracle-base/contracts/iexec-poco-interfaces/IexecClerkInterface.sol\":{\"keccak256\":\"0xa7a0fa79543be8f912f863594ea972301985e63ecb57cc0c74f5622533e9e02f\",\"urls\":[\"bzzr://439b54843d3e0c113a0b524d159fc53c5fa56024084a436d7334f2cdacbc01e8\"]},\"iexec-poco/contracts/libs/IexecODBLibCore.sol\":{\"keccak256\":\"0x3e1a247b137866fe9b7272fc9ea189cf83f8f8a3ad439bbdef1c770f67349b7a\",\"urls\":[\"bzzr://788a11e860998e576e89358eb050b74debca9ab2e46e292abb34753f4abfad60\"]},\"iexec-poco/contracts/libs/IexecODBLibOrders.sol\":{\"keccak256\":\"0xceb5c2483f92c7bbed29ac473f92371d04830f0c40bd734d01d26eef09e88f4f\",\"urls\":[\"bzzr://054a5f4728d0d5e774bb974181d4d97f98f23f8f2cf695f18723c79e8401b8a0\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x90e8c2521653bbb1768b05889c5760031e688d9cd361f167489b89215e201b95\",\"urls\":[\"bzzr://aa8b45b57edafc3d67bc5d916327ea16807fae33f753ca163ae0c4061b789766\"]}},\"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": [ + 969 + ] + }, + "id": 970, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 689, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:4" + }, + { + "id": 690, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:4" + }, + { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "file": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "id": 691, + "nodeType": "ImportDirective", + "scope": 970, + "sourceUnit": 1444, + "src": "59:55:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibOrders.sol", + "file": "iexec-poco/contracts/libs/IexecODBLibOrders.sol", + "id": 692, + "nodeType": "ImportDirective", + "scope": 970, + "sourceUnit": 1677, + "src": "115:57:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", + "file": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", + "id": 693, + "nodeType": "ImportDirective", + "scope": 970, + "sourceUnit": 2032, + "src": "173:64:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 969, + "linearizedBaseContracts": [ + 969 + ], + "name": "IexecClerkInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 696, + "name": "WORKERPOOL_STAKE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 969, + "src": "272:51:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 694, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "272:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3330", + "id": 695, + "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": 699, + "name": "KITTY_RATIO", + "nodeType": "VariableDeclaration", + "scope": 969, + "src": "326:51:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 697, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "326:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3130", + "id": 698, + "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": 702, + "name": "KITTY_MIN", + "nodeType": "VariableDeclaration", + "scope": 969, + "src": "380:59:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 700, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "380:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31303030303030303030", + "id": 701, + "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": 705, + "name": "GROUPMEMBER_PURPOSE", + "nodeType": "VariableDeclaration", + "scope": 969, + "src": "442:50:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 703, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "442:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "34", + "id": 704, + "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": 707, + "name": "EIP712DOMAIN_SEPARATOR", + "nodeType": "VariableDeclaration", + "scope": 969, + "src": "496:53:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 706, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "496:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 709, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 969, + "src": "553:19:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$2031", + "typeString": "contract IERC20" + }, + "typeName": { + "contractScope": null, + "id": 708, + "name": "IERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2031, + "src": "553:6:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$2031", + "typeString": "contract IERC20" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 723, + "name": "OrdersMatched", + "nodeType": "EventDefinition", + "parameters": { + "id": 722, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 711, + "indexed": false, + "name": "dealid", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "604:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 710, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "604:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 713, + "indexed": false, + "name": "appHash", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "620:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 712, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "620:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 715, + "indexed": false, + "name": "datasetHash", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "637:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 714, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "637:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 717, + "indexed": false, + "name": "workerpoolHash", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "658:22:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 716, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "658:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 719, + "indexed": false, + "name": "requestHash", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "682:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 718, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "682:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 721, + "indexed": false, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "703:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 720, + "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": 727, + "name": "ClosedAppOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 726, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 725, + "indexed": false, + "name": "appHash", + "nodeType": "VariableDeclaration", + "scope": 727, + "src": "749:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 724, + "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": 731, + "name": "ClosedDatasetOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 730, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 729, + "indexed": false, + "name": "datasetHash", + "nodeType": "VariableDeclaration", + "scope": 731, + "src": "796:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 728, + "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": 735, + "name": "ClosedWorkerpoolOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 734, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 733, + "indexed": false, + "name": "workerpoolHash", + "nodeType": "VariableDeclaration", + "scope": 735, + "src": "847:22:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 732, + "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": 739, + "name": "ClosedRequestOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 737, + "indexed": false, + "name": "requestHash", + "nodeType": "VariableDeclaration", + "scope": 739, + "src": "901:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 736, + "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": 745, + "name": "SchedulerNotice", + "nodeType": "EventDefinition", + "parameters": { + "id": 744, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 741, + "indexed": true, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 745, + "src": "952:26:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 740, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "952:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 743, + "indexed": false, + "name": "dealid", + "nodeType": "VariableDeclaration", + "scope": 745, + "src": "980:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 742, + "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": 751, + "name": "Deposit", + "nodeType": "EventDefinition", + "parameters": { + "id": 750, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 747, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 751, + "src": "1016:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 746, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1016:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 749, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 751, + "src": "1031:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 748, + "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": 759, + "name": "DepositFor", + "nodeType": "EventDefinition", + "parameters": { + "id": 758, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 753, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 759, + "src": "1066:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 752, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1066:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 755, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 759, + "src": "1081:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 754, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1081:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 757, + "indexed": false, + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 759, + "src": "1097:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 756, + "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": 765, + "name": "Withdraw", + "nodeType": "EventDefinition", + "parameters": { + "id": 764, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 761, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 765, + "src": "1132:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 760, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1132:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 763, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 765, + "src": "1147:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 762, + "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": 773, + "name": "Reward", + "nodeType": "EventDefinition", + "parameters": { + "id": 772, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 767, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 773, + "src": "1182:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 766, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1182:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 769, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 773, + "src": "1197:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 768, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1197:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 771, + "indexed": false, + "name": "ref", + "nodeType": "VariableDeclaration", + "scope": 773, + "src": "1213:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 770, + "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": 781, + "name": "Seize", + "nodeType": "EventDefinition", + "parameters": { + "id": 780, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 775, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 781, + "src": "1245:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 774, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1245:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 777, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 781, + "src": "1260:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 776, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1260:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 779, + "indexed": false, + "name": "ref", + "nodeType": "VariableDeclaration", + "scope": 781, + "src": "1276:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 778, + "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": 787, + "name": "Lock", + "nodeType": "EventDefinition", + "parameters": { + "id": 786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 783, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 787, + "src": "1308:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 782, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1308:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 785, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 787, + "src": "1323:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 784, + "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": 793, + "name": "Unlock", + "nodeType": "EventDefinition", + "parameters": { + "id": 792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 789, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 793, + "src": "1358:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 788, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1358:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 791, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 793, + "src": "1373:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 790, + "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": 797, + "name": "BroadcastAppOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 796, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 795, + "indexed": false, + "name": "apporder", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "1423:42:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 794, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1489, + "src": "1423:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1422:51:4" + }, + "src": "1392:82:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 801, + "name": "BroadcastDatasetOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 800, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 799, + "indexed": false, + "name": "datasetorder", + "nodeType": "VariableDeclaration", + "scope": 801, + "src": "1507:46:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 798, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1508, + "src": "1507:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1506:51:4" + }, + "src": "1476:82:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 805, + "name": "BroadcastWorkerpoolOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 803, + "indexed": false, + "name": "workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 805, + "src": "1591:49:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 802, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1531, + "src": "1591:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1590:51:4" + }, + "src": "1560:82:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 809, + "name": "BroadcastRequestOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 808, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 807, + "indexed": false, + "name": "requestorder", + "nodeType": "VariableDeclaration", + "scope": 809, + "src": "1675:46:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 806, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1564, + "src": "1675:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1674:51:4" + }, + "src": "1644:82:4" + }, + { + "body": null, + "documentation": null, + "id": 817, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewRequestDeals", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 812, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 811, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 817, + "src": "1755:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 810, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1755:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1754:13:4" + }, + "returnParameters": { + "id": 816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 815, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 817, + "src": "1792:16:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 813, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1792:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 814, + "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": 969, + "src": "1729:81:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 824, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewDeal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 819, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "1831:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 818, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1831:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1830:13:4" + }, + "returnParameters": { + "id": 823, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 822, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "1868:27:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal" + }, + "typeName": { + "contractScope": null, + "id": 821, + "name": "IexecODBLibCore.Deal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1394, + "src": "1868:20:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_storage_ptr", + "typeString": "struct IexecODBLibCore.Deal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1867:29:4" + }, + "scope": 969, + "src": "1813:84:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 831, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewConsumed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 827, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 826, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 831, + "src": "1922:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 825, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1922:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1921:13:4" + }, + "returnParameters": { + "id": 830, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 829, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 831, + "src": "1959:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 828, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1959:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1958:9:4" + }, + "scope": 969, + "src": "1900:68:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 838, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewPresigned", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 834, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 833, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 838, + "src": "1994:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 832, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1994:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1993:13:4" + }, + "returnParameters": { + "id": 837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 836, + "name": "presigned", + "nodeType": "VariableDeclaration", + "scope": 838, + "src": "2031:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 835, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2031:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2030:16:4" + }, + "scope": 969, + "src": "1971:76:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 845, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "signAppOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 841, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 840, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "2072:43:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 839, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1489, + "src": "2072:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2071:45:4" + }, + "returnParameters": { + "id": 844, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 843, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "2134:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 842, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2134:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2133:6:4" + }, + "scope": 969, + "src": "2050:90:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 852, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "signDatasetOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 848, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 847, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 852, + "src": "2169:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 846, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1508, + "src": "2169:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2168:53:4" + }, + "returnParameters": { + "id": 851, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 850, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 852, + "src": "2239:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 849, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2239:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2238:6:4" + }, + "scope": 969, + "src": "2143:102:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 859, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "signWorkerpoolOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 855, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 854, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 859, + "src": "2277:57:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 853, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1531, + "src": "2277:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2276:59:4" + }, + "returnParameters": { + "id": 858, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 857, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 859, + "src": "2353:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 856, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2353:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2352:6:4" + }, + "scope": 969, + "src": "2248:111:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 866, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "signRequestOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 861, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "2388:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 860, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1564, + "src": "2388:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2387:53:4" + }, + "returnParameters": { + "id": 865, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 864, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "2458:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 863, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2458:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2457:6:4" + }, + "scope": 969, + "src": "2362:102:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 879, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "matchOrders", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 875, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 868, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 879, + "src": "2491:50:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 867, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1489, + "src": "2491:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 870, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 879, + "src": "2545:54:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 869, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1508, + "src": "2545:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 872, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 879, + "src": "2603:57:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 871, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1531, + "src": "2603:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 874, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 879, + "src": "2664:54:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 873, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1564, + "src": "2664:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2487:232:4" + }, + "returnParameters": { + "id": 878, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 877, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 879, + "src": "2737:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 876, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2737:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2736:9:4" + }, + "scope": 969, + "src": "2467:279:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 886, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelAppOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 881, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 886, + "src": "2773:43:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 880, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1489, + "src": "2773:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2772:45:4" + }, + "returnParameters": { + "id": 885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 884, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 886, + "src": "2835:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 883, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2835:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2834:6:4" + }, + "scope": 969, + "src": "2749:92:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 893, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelDatasetOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 889, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 888, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 893, + "src": "2872:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 887, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1508, + "src": "2872:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2871:53:4" + }, + "returnParameters": { + "id": 892, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 891, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 893, + "src": "2942:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 890, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2942:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2941:6:4" + }, + "scope": 969, + "src": "2844:104:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 900, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelWorkerpoolOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 896, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 895, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 900, + "src": "2982:57:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 894, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1531, + "src": "2982:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2981:59:4" + }, + "returnParameters": { + "id": 899, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 898, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 900, + "src": "3058:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 897, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3058:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3057:6:4" + }, + "scope": 969, + "src": "2951:113:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 907, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelRequestOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 903, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 902, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 907, + "src": "3095:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 901, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1564, + "src": "3095:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3094:53:4" + }, + "returnParameters": { + "id": 906, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 905, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 907, + "src": "3165:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 904, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3165:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3164:6:4" + }, + "scope": 969, + "src": "3067:104:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 914, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewAccount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 910, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 909, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "3195:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 908, + "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": 913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 912, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "3234:30:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$1349_memory_ptr", + "typeString": "struct IexecODBLibCore.Account" + }, + "typeName": { + "contractScope": null, + "id": 911, + "name": "IexecODBLibCore.Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1349, + "src": "3234:23:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$1349_storage_ptr", + "typeString": "struct IexecODBLibCore.Account" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3233:32:4" + }, + "scope": 969, + "src": "3174:92:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 921, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "deposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 917, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 916, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 921, + "src": "3286:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 915, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3286:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3285:17:4" + }, + "returnParameters": { + "id": 920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 919, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 921, + "src": "3322:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 918, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3322:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3321:6:4" + }, + "scope": 969, + "src": "3269:59:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 930, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "depositFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 926, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 923, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 930, + "src": "3351:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 922, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3351:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 925, + "name": "_target", + "nodeType": "VariableDeclaration", + "scope": 930, + "src": "3368:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 924, + "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": 929, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 928, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 930, + "src": "3402:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 927, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3402:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3401:6:4" + }, + "scope": 969, + "src": "3331:77:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 941, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "depositForArray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 937, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 933, + "name": "_amounts", + "nodeType": "VariableDeclaration", + "scope": 941, + "src": "3436:27:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 931, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3436:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 932, + "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": 936, + "name": "_targets", + "nodeType": "VariableDeclaration", + "scope": 941, + "src": "3465:27:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 934, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3465:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 935, + "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": 940, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 939, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 941, + "src": "3513:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 938, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3513:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3512:6:4" + }, + "scope": 969, + "src": "3411:108:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 948, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 944, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 943, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 948, + "src": "3540:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 942, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3540:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3539:17:4" + }, + "returnParameters": { + "id": 947, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 946, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 948, + "src": "3576:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 945, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3576:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3575:6:4" + }, + "scope": 969, + "src": "3522:60:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 953, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcastAppOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 951, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 950, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 953, + "src": "3612:43:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 949, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1489, + "src": "3612:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3611:45:4" + }, + "returnParameters": { + "id": 952, + "nodeType": "ParameterList", + "parameters": [], + "src": "3664:0:4" + }, + "scope": 969, + "src": "3585:80:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 958, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcastDatasetOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 956, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 955, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 958, + "src": "3699:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 954, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1508, + "src": "3699:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3698:53:4" + }, + "returnParameters": { + "id": 957, + "nodeType": "ParameterList", + "parameters": [], + "src": "3759:0:4" + }, + "scope": 969, + "src": "3668:92:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 963, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcastWorkerpoolOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 961, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 960, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 963, + "src": "3797:57:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 959, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1531, + "src": "3797:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3796:59:4" + }, + "returnParameters": { + "id": 962, + "nodeType": "ParameterList", + "parameters": [], + "src": "3863:0:4" + }, + "scope": 969, + "src": "3763:101:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 968, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcastRequestOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 966, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 965, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 968, + "src": "3898:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 964, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1564, + "src": "3898:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3897:53:4" + }, + "returnParameters": { + "id": 967, + "nodeType": "ParameterList", + "parameters": [], + "src": "3958:0:4" + }, + "scope": 969, + "src": "3867:92:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 970, + "src": "240:3721:4" + } + ], + "src": "0:3962:4" + }, + "legacyAST": { + "absolutePath": "iexec-doracle-base/contracts/iexec-poco-interfaces/IexecClerkInterface.sol", + "exportedSymbols": { + "IexecClerkInterface": [ + 969 + ] + }, + "id": 970, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 689, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:4" + }, + { + "id": 690, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:4" + }, + { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "file": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "id": 691, + "nodeType": "ImportDirective", + "scope": 970, + "sourceUnit": 1444, + "src": "59:55:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibOrders.sol", + "file": "iexec-poco/contracts/libs/IexecODBLibOrders.sol", + "id": 692, + "nodeType": "ImportDirective", + "scope": 970, + "sourceUnit": 1677, + "src": "115:57:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", + "file": "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol", + "id": 693, + "nodeType": "ImportDirective", + "scope": 970, + "sourceUnit": 2032, + "src": "173:64:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 969, + "linearizedBaseContracts": [ + 969 + ], + "name": "IexecClerkInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 696, + "name": "WORKERPOOL_STAKE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 969, + "src": "272:51:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 694, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "272:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3330", + "id": 695, + "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": 699, + "name": "KITTY_RATIO", + "nodeType": "VariableDeclaration", + "scope": 969, + "src": "326:51:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 697, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "326:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3130", + "id": 698, + "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": 702, + "name": "KITTY_MIN", + "nodeType": "VariableDeclaration", + "scope": 969, + "src": "380:59:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 700, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "380:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31303030303030303030", + "id": 701, + "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": 705, + "name": "GROUPMEMBER_PURPOSE", + "nodeType": "VariableDeclaration", + "scope": 969, + "src": "442:50:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 703, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "442:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "34", + "id": 704, + "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": 707, + "name": "EIP712DOMAIN_SEPARATOR", + "nodeType": "VariableDeclaration", + "scope": 969, + "src": "496:53:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 706, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "496:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 709, + "name": "token", + "nodeType": "VariableDeclaration", + "scope": 969, + "src": "553:19:4", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$2031", + "typeString": "contract IERC20" + }, + "typeName": { + "contractScope": null, + "id": 708, + "name": "IERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2031, + "src": "553:6:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$2031", + "typeString": "contract IERC20" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 723, + "name": "OrdersMatched", + "nodeType": "EventDefinition", + "parameters": { + "id": 722, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 711, + "indexed": false, + "name": "dealid", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "604:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 710, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "604:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 713, + "indexed": false, + "name": "appHash", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "620:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 712, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "620:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 715, + "indexed": false, + "name": "datasetHash", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "637:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 714, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "637:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 717, + "indexed": false, + "name": "workerpoolHash", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "658:22:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 716, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "658:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 719, + "indexed": false, + "name": "requestHash", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "682:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 718, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "682:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 721, + "indexed": false, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 723, + "src": "703:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 720, + "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": 727, + "name": "ClosedAppOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 726, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 725, + "indexed": false, + "name": "appHash", + "nodeType": "VariableDeclaration", + "scope": 727, + "src": "749:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 724, + "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": 731, + "name": "ClosedDatasetOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 730, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 729, + "indexed": false, + "name": "datasetHash", + "nodeType": "VariableDeclaration", + "scope": 731, + "src": "796:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 728, + "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": 735, + "name": "ClosedWorkerpoolOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 734, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 733, + "indexed": false, + "name": "workerpoolHash", + "nodeType": "VariableDeclaration", + "scope": 735, + "src": "847:22:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 732, + "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": 739, + "name": "ClosedRequestOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 737, + "indexed": false, + "name": "requestHash", + "nodeType": "VariableDeclaration", + "scope": 739, + "src": "901:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 736, + "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": 745, + "name": "SchedulerNotice", + "nodeType": "EventDefinition", + "parameters": { + "id": 744, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 741, + "indexed": true, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 745, + "src": "952:26:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 740, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "952:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 743, + "indexed": false, + "name": "dealid", + "nodeType": "VariableDeclaration", + "scope": 745, + "src": "980:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 742, + "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": 751, + "name": "Deposit", + "nodeType": "EventDefinition", + "parameters": { + "id": 750, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 747, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 751, + "src": "1016:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 746, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1016:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 749, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 751, + "src": "1031:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 748, + "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": 759, + "name": "DepositFor", + "nodeType": "EventDefinition", + "parameters": { + "id": 758, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 753, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 759, + "src": "1066:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 752, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1066:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 755, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 759, + "src": "1081:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 754, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1081:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 757, + "indexed": false, + "name": "target", + "nodeType": "VariableDeclaration", + "scope": 759, + "src": "1097:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 756, + "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": 765, + "name": "Withdraw", + "nodeType": "EventDefinition", + "parameters": { + "id": 764, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 761, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 765, + "src": "1132:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 760, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1132:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 763, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 765, + "src": "1147:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 762, + "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": 773, + "name": "Reward", + "nodeType": "EventDefinition", + "parameters": { + "id": 772, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 767, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 773, + "src": "1182:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 766, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1182:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 769, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 773, + "src": "1197:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 768, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1197:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 771, + "indexed": false, + "name": "ref", + "nodeType": "VariableDeclaration", + "scope": 773, + "src": "1213:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 770, + "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": 781, + "name": "Seize", + "nodeType": "EventDefinition", + "parameters": { + "id": 780, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 775, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 781, + "src": "1245:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 774, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1245:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 777, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 781, + "src": "1260:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 776, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1260:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 779, + "indexed": false, + "name": "ref", + "nodeType": "VariableDeclaration", + "scope": 781, + "src": "1276:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 778, + "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": 787, + "name": "Lock", + "nodeType": "EventDefinition", + "parameters": { + "id": 786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 783, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 787, + "src": "1308:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 782, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1308:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 785, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 787, + "src": "1323:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 784, + "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": 793, + "name": "Unlock", + "nodeType": "EventDefinition", + "parameters": { + "id": 792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 789, + "indexed": false, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 793, + "src": "1358:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 788, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1358:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 791, + "indexed": false, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 793, + "src": "1373:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 790, + "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": 797, + "name": "BroadcastAppOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 796, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 795, + "indexed": false, + "name": "apporder", + "nodeType": "VariableDeclaration", + "scope": 797, + "src": "1423:42:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 794, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1489, + "src": "1423:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1422:51:4" + }, + "src": "1392:82:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 801, + "name": "BroadcastDatasetOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 800, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 799, + "indexed": false, + "name": "datasetorder", + "nodeType": "VariableDeclaration", + "scope": 801, + "src": "1507:46:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 798, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1508, + "src": "1507:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1506:51:4" + }, + "src": "1476:82:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 805, + "name": "BroadcastWorkerpoolOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 803, + "indexed": false, + "name": "workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 805, + "src": "1591:49:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 802, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1531, + "src": "1591:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1590:51:4" + }, + "src": "1560:82:4" + }, + { + "anonymous": false, + "documentation": null, + "id": 809, + "name": "BroadcastRequestOrder", + "nodeType": "EventDefinition", + "parameters": { + "id": 808, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 807, + "indexed": false, + "name": "requestorder", + "nodeType": "VariableDeclaration", + "scope": 809, + "src": "1675:46:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 806, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1564, + "src": "1675:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1674:51:4" + }, + "src": "1644:82:4" + }, + { + "body": null, + "documentation": null, + "id": 817, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewRequestDeals", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 812, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 811, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 817, + "src": "1755:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 810, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1755:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1754:13:4" + }, + "returnParameters": { + "id": 816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 815, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 817, + "src": "1792:16:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 813, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1792:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 814, + "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": 969, + "src": "1729:81:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 824, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewDeal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 819, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "1831:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 818, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1831:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1830:13:4" + }, + "returnParameters": { + "id": 823, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 822, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 824, + "src": "1868:27:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal" + }, + "typeName": { + "contractScope": null, + "id": 821, + "name": "IexecODBLibCore.Deal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1394, + "src": "1868:20:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_storage_ptr", + "typeString": "struct IexecODBLibCore.Deal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1867:29:4" + }, + "scope": 969, + "src": "1813:84:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 831, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewConsumed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 827, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 826, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 831, + "src": "1922:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 825, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1922:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1921:13:4" + }, + "returnParameters": { + "id": 830, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 829, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 831, + "src": "1959:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 828, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1959:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1958:9:4" + }, + "scope": 969, + "src": "1900:68:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 838, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewPresigned", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 834, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 833, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 838, + "src": "1994:11:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 832, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1994:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1993:13:4" + }, + "returnParameters": { + "id": 837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 836, + "name": "presigned", + "nodeType": "VariableDeclaration", + "scope": 838, + "src": "2031:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 835, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2031:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2030:16:4" + }, + "scope": 969, + "src": "1971:76:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 845, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "signAppOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 841, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 840, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "2072:43:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 839, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1489, + "src": "2072:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2071:45:4" + }, + "returnParameters": { + "id": 844, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 843, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "2134:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 842, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2134:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2133:6:4" + }, + "scope": 969, + "src": "2050:90:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 852, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "signDatasetOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 848, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 847, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 852, + "src": "2169:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 846, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1508, + "src": "2169:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2168:53:4" + }, + "returnParameters": { + "id": 851, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 850, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 852, + "src": "2239:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 849, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2239:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2238:6:4" + }, + "scope": 969, + "src": "2143:102:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 859, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "signWorkerpoolOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 855, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 854, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 859, + "src": "2277:57:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 853, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1531, + "src": "2277:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2276:59:4" + }, + "returnParameters": { + "id": 858, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 857, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 859, + "src": "2353:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 856, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2353:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2352:6:4" + }, + "scope": 969, + "src": "2248:111:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 866, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "signRequestOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 861, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "2388:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 860, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1564, + "src": "2388:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2387:53:4" + }, + "returnParameters": { + "id": 865, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 864, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 866, + "src": "2458:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 863, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2458:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2457:6:4" + }, + "scope": 969, + "src": "2362:102:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 879, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "matchOrders", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 875, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 868, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 879, + "src": "2491:50:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 867, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1489, + "src": "2491:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 870, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 879, + "src": "2545:54:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 869, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1508, + "src": "2545:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 872, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 879, + "src": "2603:57:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 871, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1531, + "src": "2603:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 874, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 879, + "src": "2664:54:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 873, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1564, + "src": "2664:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2487:232:4" + }, + "returnParameters": { + "id": 878, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 877, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 879, + "src": "2737:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 876, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2737:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2736:9:4" + }, + "scope": 969, + "src": "2467:279:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 886, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelAppOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 881, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 886, + "src": "2773:43:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 880, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1489, + "src": "2773:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2772:45:4" + }, + "returnParameters": { + "id": 885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 884, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 886, + "src": "2835:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 883, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2835:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2834:6:4" + }, + "scope": 969, + "src": "2749:92:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 893, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelDatasetOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 889, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 888, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 893, + "src": "2872:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 887, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1508, + "src": "2872:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2871:53:4" + }, + "returnParameters": { + "id": 892, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 891, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 893, + "src": "2942:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 890, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2942:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2941:6:4" + }, + "scope": 969, + "src": "2844:104:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 900, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelWorkerpoolOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 896, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 895, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 900, + "src": "2982:57:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 894, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1531, + "src": "2982:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2981:59:4" + }, + "returnParameters": { + "id": 899, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 898, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 900, + "src": "3058:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 897, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3058:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3057:6:4" + }, + "scope": 969, + "src": "2951:113:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 907, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "cancelRequestOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 903, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 902, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 907, + "src": "3095:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 901, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1564, + "src": "3095:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3094:53:4" + }, + "returnParameters": { + "id": 906, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 905, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 907, + "src": "3165:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 904, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3165:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3164:6:4" + }, + "scope": 969, + "src": "3067:104:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 914, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewAccount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 910, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 909, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "3195:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 908, + "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": 913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 912, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "3234:30:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$1349_memory_ptr", + "typeString": "struct IexecODBLibCore.Account" + }, + "typeName": { + "contractScope": null, + "id": 911, + "name": "IexecODBLibCore.Account", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1349, + "src": "3234:23:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Account_$1349_storage_ptr", + "typeString": "struct IexecODBLibCore.Account" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3233:32:4" + }, + "scope": 969, + "src": "3174:92:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 921, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "deposit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 917, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 916, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 921, + "src": "3286:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 915, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3286:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3285:17:4" + }, + "returnParameters": { + "id": 920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 919, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 921, + "src": "3322:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 918, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3322:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3321:6:4" + }, + "scope": 969, + "src": "3269:59:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 930, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "depositFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 926, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 923, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 930, + "src": "3351:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 922, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3351:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 925, + "name": "_target", + "nodeType": "VariableDeclaration", + "scope": 930, + "src": "3368:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 924, + "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": 929, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 928, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 930, + "src": "3402:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 927, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3402:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3401:6:4" + }, + "scope": 969, + "src": "3331:77:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 941, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "depositForArray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 937, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 933, + "name": "_amounts", + "nodeType": "VariableDeclaration", + "scope": 941, + "src": "3436:27:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 931, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3436:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 932, + "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": 936, + "name": "_targets", + "nodeType": "VariableDeclaration", + "scope": 941, + "src": "3465:27:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 934, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3465:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 935, + "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": 940, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 939, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 941, + "src": "3513:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 938, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3513:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3512:6:4" + }, + "scope": 969, + "src": "3411:108:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 948, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 944, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 943, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 948, + "src": "3540:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 942, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3540:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3539:17:4" + }, + "returnParameters": { + "id": 947, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 946, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 948, + "src": "3576:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 945, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3576:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3575:6:4" + }, + "scope": 969, + "src": "3522:60:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 953, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcastAppOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 951, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 950, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 953, + "src": "3612:43:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 949, + "name": "IexecODBLibOrders.AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1489, + "src": "3612:26:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3611:45:4" + }, + "returnParameters": { + "id": 952, + "nodeType": "ParameterList", + "parameters": [], + "src": "3664:0:4" + }, + "scope": 969, + "src": "3585:80:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 958, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcastDatasetOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 956, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 955, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 958, + "src": "3699:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 954, + "name": "IexecODBLibOrders.DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1508, + "src": "3699:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3698:53:4" + }, + "returnParameters": { + "id": 957, + "nodeType": "ParameterList", + "parameters": [], + "src": "3759:0:4" + }, + "scope": 969, + "src": "3668:92:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 963, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcastWorkerpoolOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 961, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 960, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 963, + "src": "3797:57:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 959, + "name": "IexecODBLibOrders.WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1531, + "src": "3797:33:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3796:59:4" + }, + "returnParameters": { + "id": 962, + "nodeType": "ParameterList", + "parameters": [], + "src": "3863:0:4" + }, + "scope": 969, + "src": "3763:101:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 968, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "broadcastRequestOrder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 966, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 965, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 968, + "src": "3898:51:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 964, + "name": "IexecODBLibOrders.RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1564, + "src": "3898:30:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3897:53:4" + }, + "returnParameters": { + "id": 967, + "nodeType": "ParameterList", + "parameters": [], + "src": "3958:0:4" + }, + "scope": 969, + "src": "3867:92:4", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 970, + "src": "240:3721:4" + } + ], + "src": "0:3962:4" + }, + "compiler": { + "name": "solc", + "version": "0.5.8+commit.23d335f2.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.11", + "updatedAt": "2019-10-19T10:48:51.094Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/anemometer-oracle/smart-contract/build/contracts/IexecDoracle.json b/anemometer-oracle/smart-contract/build/contracts/IexecDoracle.json new file mode 100644 index 00000000..70e4664f --- /dev/null +++ b/anemometer-oracle/smart-contract/build/contracts/IexecDoracle.json @@ -0,0 +1,7567 @@ +{ + "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.8+commit.23d335f2\"},\"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\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-doracle-base/contracts/IexecDoracle.sol\":{\"keccak256\":\"0xe69b88e50e5d323072cb0afe2e9e1c23dfeb6b1b518ec53c9c77931a71c50eed\",\"urls\":[\"bzzr://eeff34785a0b725f67a5e531cb250b0a99188e06994f48fd1865ddfaee248ef8\"]},\"iexec-doracle-base/contracts/IexecInterface.sol\":{\"keccak256\":\"0x625617959c972e4e9e4fa94e244cf4d0b841be6ca2d3efb8620993439b406eea\",\"urls\":[\"bzzr://afe446cc0a20bd779daad5820cd9cc96c0b568577e4ee313b253a234712a881c\"]},\"iexec-doracle-base/contracts/iexec-poco-interfaces/IexecClerkInterface.sol\":{\"keccak256\":\"0xa7a0fa79543be8f912f863594ea972301985e63ecb57cc0c74f5622533e9e02f\",\"urls\":[\"bzzr://439b54843d3e0c113a0b524d159fc53c5fa56024084a436d7334f2cdacbc01e8\"]},\"iexec-doracle-base/contracts/iexec-poco-interfaces/IexecHubInterface.sol\":{\"keccak256\":\"0x846e5ad3468a4020ccd311883d8b6fec8cb59539eea3cbbbe8a800b25d829287\",\"urls\":[\"bzzr://59cae26b1bed2633fc6643980e0f0c3c05a32078fc8229e20bf9fb376ff2c1ed\"]},\"iexec-poco/contracts/SignatureVerifier.sol\":{\"keccak256\":\"0x2e26922d87f29c337002a30babc615638cbee6cd87ed599f6ed90e67971e86a0\",\"urls\":[\"bzzr://1528fea12280336ed0c1c124746a4ce238c21f18c5d6a9323f3917546bd1e2a2\"]},\"iexec-poco/contracts/libs/IexecODBLibCore.sol\":{\"keccak256\":\"0x3e1a247b137866fe9b7272fc9ea189cf83f8f8a3ad439bbdef1c770f67349b7a\",\"urls\":[\"bzzr://788a11e860998e576e89358eb050b74debca9ab2e46e292abb34753f4abfad60\"]},\"iexec-poco/contracts/libs/IexecODBLibOrders.sol\":{\"keccak256\":\"0xceb5c2483f92c7bbed29ac473f92371d04830f0c40bd734d01d26eef09e88f4f\",\"urls\":[\"bzzr://054a5f4728d0d5e774bb974181d4d97f98f23f8f2cf695f18723c79e8401b8a0\"]},\"iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol\":{\"keccak256\":\"0xca20f6a22ba7bce6ed87cb53c2f8cfe0751d9b5e02e5f12d1112f0480f6ae31d\",\"urls\":[\"bzzr://31de73df2626e208672a80d8fd78b290af2e126782b70e3c85f62ced8325464f\"]},\"iexec-solidity/contracts/ERC1271/IERC1271.sol\":{\"keccak256\":\"0x90daa992bd38a335a1e6503b4b815b5aa5315366637dc0cb0b98e7f39096c842\",\"urls\":[\"bzzr://9c88f54779ee800bd2235d96ea251b3c80e45d4c127db93a9a71a8b9235becb2\"]},\"iexec-solidity/contracts/ERC734_KeyManager/IERC734.sol\":{\"keccak256\":\"0x46532e2d419a87bf604b354318a19d56a3dc25fa7ad6f94c77bd2aa8ce54a755\",\"urls\":[\"bzzr://8ada95bcec956bdd6e7c4e3ec840e9e13cfc04584668d0df2c00459f94d74541\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x90e8c2521653bbb1768b05889c5760031e688d9cd361f167489b89215e201b95\",\"urls\":[\"bzzr://aa8b45b57edafc3d67bc5d916327ea16807fae33f753ca163ae0c4061b789766\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b5060405160208062000efc83398101806040526200003391908101906200043f565b80600062000047826200041d60201b60201c565b11156200009457806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000332565b6000620000bb731383c16c927c4a853684d1a9c676986f25e221116200041d60201b60201c565b11156200011c57731383c16c927c4a853684d1a9c676986f25e221116000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000331565b60006200014373dbe30645ea7d216c31d09f8c5736fe74de774e636200041d60201b60201c565b1115620001a45773dbe30645ea7d216c31d09f8c5736fe74de774e636000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000330565b6000620001b860006200041d60201b60201c565b1115620002065760008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200032f565b60006200022d73b3901d04cf645747b99dbbe8f2ee9cb41a89cebf6200041d60201b60201c565b11156200028e5773b3901d04cf645747b99dbbe8f2ee9cb41a89cebf6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200032e565b6000620002a260006200041d60201b60201c565b1115620002f05760008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200032d565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200032490620004ad565b60405180910390fd5b5b5b5b5b5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b01c68466040518163ffffffff1660e01b815260040160206040518083038186803b1580156200039a57600080fd5b505afa158015620003af573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620003d591908101906200043f565b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506200052e565b6000813b9050919050565b600081519050620004398162000514565b92915050565b6000602082840312156200045257600080fd5b6000620004628482850162000428565b91505092915050565b60006200047a601383620004cf565b91507f696e76616c69642d6875622d61646472657373000000000000000000000000006000830152602082019050919050565b60006020820190508181036000830152620004c8816200046b565b9050919050565b600082825260208201905092915050565b6000620004ed82620004f4565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6200051f81620004e0565b81146200052b57600080fd5b50565b6109be806200053e6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806378dd4ae51161006657806378dd4ae514610120578063a41f45e91461013e578063ca2ef3c41461015c578063e73482a21461017a578063f6eba5471461019857610093565b806301751998146100985780631ce3aa0d146100c8578063482fb13e146100e65780635dd8085514610104575b600080fd5b6100b260048036036100ad919081019061052f565b6101b6565b6040516100bf91906106d4565b60405180910390f35b6100d061025e565b6040516100dd919061077f565b60405180910390f35b6100ee610284565b6040516100fb91906106b9565b60405180910390f35b61011e600480360361011991908101906105bf565b6102aa565b005b6101286102dc565b60405161013591906106b9565b60405180910390f35b610146610302565b604051610153919061079a565b60405180910390f35b610164610327565b60405161017191906106b9565b60405180910390f35b61018261034d565b60405161018f91906107b5565b60405180910390f35b6101a0610353565b6040516101ad91906106ef565b60405180910390f35b60006101c3848484610359565b8061025557508373ffffffffffffffffffffffffffffffffffffffff16631626ba7e84846040518363ffffffff1660e01b815260040161020492919061070a565b60206040518083038186803b15801561021c57600080fd5b505afa158015610230573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102549190810190610596565b5b90509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b827f28e9507238ce29efc9797f8791b89bf517f253f275a4ab2688a7cd108e40bc7a60405160405180910390a2505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b60055481565b6000806000806041855114610374576000935050505061044b565b6020850151925060408501519150606085015160001a9050601b8160ff16101561039f57601b810190505b601b8160ff16141580156103b75750601c8160ff1614155b156103c8576000935050505061044b565b600186828585604051600081526020016040526040516103eb949392919061073a565b6020604051602081039080840390855afa15801561040d573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161493505050505b9392505050565b6000813590506104618161093f565b92915050565b60008151905061047681610956565b92915050565b60008135905061048b8161096d565b92915050565b60008083601f8401126104a357600080fd5b8235905067ffffffffffffffff8111156104bc57600080fd5b6020830191508360018202830111156104d457600080fd5b9250929050565b600082601f8301126104ec57600080fd5b81356104ff6104fa826107fd565b6107d0565b9150808252602083016020830185838301111561051b57600080fd5b6105268382846108ec565b50505092915050565b60008060006060848603121561054457600080fd5b600061055286828701610452565b93505060206105638682870161047c565b925050604084013567ffffffffffffffff81111561058057600080fd5b61058c868287016104db565b9150509250925092565b6000602082840312156105a857600080fd5b60006105b684828501610467565b91505092915050565b6000806000604084860312156105d457600080fd5b60006105e28682870161047c565b935050602084013567ffffffffffffffff8111156105ff57600080fd5b61060b86828701610491565b92509250509250925092565b61062081610845565b82525050565b61062f81610857565b82525050565b61063e81610863565b82525050565b600061064f82610829565b6106598185610834565b93506106698185602086016108fb565b6106728161092e565b840191505092915050565b610686816108a4565b82525050565b610695816108c8565b82525050565b6106a48161088d565b82525050565b6106b381610897565b82525050565b60006020820190506106ce6000830184610617565b92915050565b60006020820190506106e96000830184610626565b92915050565b60006020820190506107046000830184610635565b92915050565b600060408201905061071f6000830185610635565b81810360208301526107318184610644565b90509392505050565b600060808201905061074f6000830187610635565b61075c60208301866106aa565b6107696040830185610635565b6107766060830184610635565b95945050505050565b6000602082019050610794600083018461067d565b92915050565b60006020820190506107af600083018461068c565b92915050565b60006020820190506107ca600083018461069b565b92915050565b6000604051905081810181811067ffffffffffffffff821117156107f357600080fd5b8060405250919050565b600067ffffffffffffffff82111561081457600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006108508261086d565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006108af826108b6565b9050919050565b60006108c18261086d565b9050919050565b60006108d3826108da565b9050919050565b60006108e58261086d565b9050919050565b82818337600083830152505050565b60005b838110156109195780820151818401526020810190506108fe565b83811115610928576000848401525b50505050565b6000601f19601f8301169050919050565b61094881610845565b811461095357600080fd5b50565b61095f81610857565b811461096a57600080fd5b50565b61097681610863565b811461098157600080fd5b5056fea265627a7a7230582009354912ccda2c37f849e6f73c1b173d2a5da9f1d60cf23e84385fa2beef1b956c6578706572696d656e74616cf50037", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806378dd4ae51161006657806378dd4ae514610120578063a41f45e91461013e578063ca2ef3c41461015c578063e73482a21461017a578063f6eba5471461019857610093565b806301751998146100985780631ce3aa0d146100c8578063482fb13e146100e65780635dd8085514610104575b600080fd5b6100b260048036036100ad919081019061052f565b6101b6565b6040516100bf91906106d4565b60405180910390f35b6100d061025e565b6040516100dd919061077f565b60405180910390f35b6100ee610284565b6040516100fb91906106b9565b60405180910390f35b61011e600480360361011991908101906105bf565b6102aa565b005b6101286102dc565b60405161013591906106b9565b60405180910390f35b610146610302565b604051610153919061079a565b60405180910390f35b610164610327565b60405161017191906106b9565b60405180910390f35b61018261034d565b60405161018f91906107b5565b60405180910390f35b6101a0610353565b6040516101ad91906106ef565b60405180910390f35b60006101c3848484610359565b8061025557508373ffffffffffffffffffffffffffffffffffffffff16631626ba7e84846040518363ffffffff1660e01b815260040161020492919061070a565b60206040518083038186803b15801561021c57600080fd5b505afa158015610230573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102549190810190610596565b5b90509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b827f28e9507238ce29efc9797f8791b89bf517f253f275a4ab2688a7cd108e40bc7a60405160405180910390a2505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b60055481565b6000806000806041855114610374576000935050505061044b565b6020850151925060408501519150606085015160001a9050601b8160ff16101561039f57601b810190505b601b8160ff16141580156103b75750601c8160ff1614155b156103c8576000935050505061044b565b600186828585604051600081526020016040526040516103eb949392919061073a565b6020604051602081039080840390855afa15801561040d573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161493505050505b9392505050565b6000813590506104618161093f565b92915050565b60008151905061047681610956565b92915050565b60008135905061048b8161096d565b92915050565b60008083601f8401126104a357600080fd5b8235905067ffffffffffffffff8111156104bc57600080fd5b6020830191508360018202830111156104d457600080fd5b9250929050565b600082601f8301126104ec57600080fd5b81356104ff6104fa826107fd565b6107d0565b9150808252602083016020830185838301111561051b57600080fd5b6105268382846108ec565b50505092915050565b60008060006060848603121561054457600080fd5b600061055286828701610452565b93505060206105638682870161047c565b925050604084013567ffffffffffffffff81111561058057600080fd5b61058c868287016104db565b9150509250925092565b6000602082840312156105a857600080fd5b60006105b684828501610467565b91505092915050565b6000806000604084860312156105d457600080fd5b60006105e28682870161047c565b935050602084013567ffffffffffffffff8111156105ff57600080fd5b61060b86828701610491565b92509250509250925092565b61062081610845565b82525050565b61062f81610857565b82525050565b61063e81610863565b82525050565b600061064f82610829565b6106598185610834565b93506106698185602086016108fb565b6106728161092e565b840191505092915050565b610686816108a4565b82525050565b610695816108c8565b82525050565b6106a48161088d565b82525050565b6106b381610897565b82525050565b60006020820190506106ce6000830184610617565b92915050565b60006020820190506106e96000830184610626565b92915050565b60006020820190506107046000830184610635565b92915050565b600060408201905061071f6000830185610635565b81810360208301526107318184610644565b90509392505050565b600060808201905061074f6000830187610635565b61075c60208301866106aa565b6107696040830185610635565b6107766060830184610635565b95945050505050565b6000602082019050610794600083018461067d565b92915050565b60006020820190506107af600083018461068c565b92915050565b60006020820190506107ca600083018461069b565b92915050565b6000604051905081810181811067ffffffffffffffff821117156107f357600080fd5b8060405250919050565b600067ffffffffffffffff82111561081457600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006108508261086d565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006108af826108b6565b9050919050565b60006108c18261086d565b9050919050565b60006108d3826108da565b9050919050565b60006108e58261086d565b9050919050565b82818337600083830152505050565b60005b838110156109195780820151818401526020810190506108fe565b83811115610928576000848401525b50505050565b6000601f19601f8301169050919050565b61094881610845565b811461095357600080fd5b50565b61095f81610857565b811461096a57600080fd5b50565b61097681610863565b811461098157600080fd5b5056fea265627a7a7230582009354912ccda2c37f849e6f73c1b173d2a5da9f1d60cf23e84385fa2beef1b956c6578706572696d656e74616cf50037", + "sourceMap": "217:2923: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;761:13;749:11;;;:30;;:::i;:::-;:34;740:697;;;816:13;787:8;;:47;;;;;;;;;;;;;;;;;;740:697;;;882:1;849:30;239:42;849:11;;;:30;;:::i;:::-;:34;845:592;;;239:42;887:8;;:47;;;;;;;;;;;;;;;;;;845:592;;;982:1;949:30;321:42;949:11;;;:30;;:::i;:::-;:34;945:492;;;321:42;987:8;;:47;;;;;;;;;;;;;;;;;;945:492;;;1082:1;1049:30;403:42;1049:11;;;:30;;:::i;:::-;:34;1045:392;;;403:42;1087:8;;:47;;;;;;;;;;;;;;;;;;1045:392;;;1182:1;1149:30;485:42;1149:11;;;:30;;:::i;:::-;:34;1145:292;;;485:42;1187:8;;:47;;;;;;;;;;;;;;;;;;1145:292;;;1282:1;1249:30;567:42;1249:11;;;:30;;:::i;:::-;:34;1245:192;;;567:42;1287:8;;:47;;;;;;;;;;;;;;;;;;1245:192;;;1387:29;;;;;;;;;;;;;;;;;;;1245:192;1145:292;1045:392;945:492;845:592;740:697;1473:8;;;;;;;;;;;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1473:21:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1473: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;1473:21:3;;;;;;;;;1440:10;;:55;;;;;;;;;;;;;;;;;;692:807;523:76:2;217:2923;;1502:120:3;1562:10;1611:5;1599:18;1590:27;;1588:31;;;:::o;5:134:-1:-;;89:6;83:13;74:22;;101:33;128:5;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;376:6;365:9;361:22;329:64;;;319:74;;291:108;223:186;;;;;417:364;;577:67;641:2;636:3;577:67;;;570:74;;677:66;673:1;668:3;664:11;657:87;772:2;767:3;763:12;756:19;;563:218;;;;789:407;;980:2;969:9;965:18;957:26;;1030:9;1024:4;1020:20;1016:1;1005:9;1001:17;994:47;1055:131;1181:4;1055:131;;;1047:139;;951:245;;;;1204:163;;1319:6;1314:3;1307:19;1356:4;1351:3;1347:14;1332:29;;1300:67;;;;;1375:91;;1437:24;1455:5;1437:24;;;1426:35;;1420:46;;;;1473:121;;1546:42;1539:5;1535:54;1524:65;;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:2923:2;;;;;;;", + "deployedSourceMap": "217:2923:2:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;217:2923: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;;;;805:9;796:36;;;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;;;;;;;;;750:101;743:108;;609:246;;;;;:::o;651:37:3:-;;;;;;;;;;;;;:::o;296:30:2:-;;;;;;;;;;;;;:::o;602:114::-;697:14;685:27;;;;;;;;;;602:114;;;:::o;329:34::-;;;;;;;;;;;;;:::o;613:35:3:-;;;;;;;;;;;;;:::o;366:37:2:-;;;;;;;;;;;;;:::o;437:30::-;;;;:::o;406:28::-;;;;:::o;923:435:6:-;1021:4;1032:9;1045;1058;1090:2;1075:4;:11;:17;1071:35;;1101:5;1094:12;;;;;;;1071:35;1155:4;1149;1145:15;1139:22;1126:35;;1194:4;1188;1184:15;1178:22;1165:35;;1233:4;1227;1223:15;1217:22;1214:1;1209:31;1204:36;;1255:2;1251:1;:6;;;1247:19;;;1264:2;1259:7;;;;1247:19;1279:2;1274:1;:7;;;;:18;;;;;1290:2;1285:1;: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;;;;;;;;1317:37;;:9;:37;;;1310:44;;;;;923:435;;;;;;:::o;5:130:-1:-;;85:6;72:20;63:29;;97:33;124:5;97:33;;;57:78;;;;;142:128;;223:6;217:13;208:22;;235:30;259:5;235:30;;;202:68;;;;;277:130;;357:6;344:20;335:29;;369:33;396:5;369:33;;;329:78;;;;;428:335;;;542:3;535:4;527:6;523:17;519:27;509:2;;560:1;557;550:12;509:2;593:6;580:20;570:30;;620:18;612:6;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;1471:6;1460:9;1456:22;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;2046:6;2035:9;2031:22;2002:61;;;1992:71;;1964:105;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;2330:6;2319:9;2315:22;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;;;2775:3;2768:34;2762:45;;;2814:113;2897:24;2915:5;2897:24;;;2892:3;2885:37;2879:48;;;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;;;3237:3;3233:39;3226:46;;3024:253;;;;;;3284:180;3394:64;3452:5;3394:64;;;3389:3;3382:77;3376:88;;;3471:178;3580:63;3637:5;3580:63;;;3575:3;3568:76;3562:87;;;3656:113;3739:24;3757:5;3739:24;;;3734:3;3727:37;3721:48;;;3776:107;3855:22;3871:5;3855:22;;;3850:3;3843:35;3837:46;;;3890:213;;4008:2;3997:9;3993:18;3985:26;;4022:71;4090:1;4079:9;4075:17;4066:6;4022:71;;;3979:124;;;;;4110:201;;4222:2;4211:9;4207:18;4199:26;;4236:65;4298:1;4287:9;4283:17;4274:6;4236:65;;;4193:118;;;;;4318:213;;4436:2;4425:9;4421:18;4413:26;;4450:71;4518:1;4507:9;4503:17;4494:6;4450:71;;;4407:124;;;;;4538:408;;4702:2;4691:9;4687:18;4679:26;;4716:71;4784:1;4773:9;4769:17;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;;;4852:84;;4673:273;;;;;;4953:539;;5151:3;5140:9;5136:19;5128:27;;5166:71;5234:1;5223:9;5219:17;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;5633:9;5629:18;5621:26;;5658:98;5753:1;5742:9;5738:17;5729:6;5658:98;;;5615:151;;;;;5773:265;;5917:2;5906:9;5902:18;5894:26;;5931:97;6025:1;6014:9;6010:17;6001:6;5931:97;;;5888:150;;;;;6045:213;;6163:2;6152:9;6148:18;6140:26;;6177:71;6245:1;6234:9;6230:17;6221:6;6177:71;;;6134:124;;;;;6265:256;;6327:2;6321:9;6311:19;;6365:4;6357:6;6353:17;6464:6;6452:10;6449:22;6428:18;6416:10;6413:34;6410:62;6407:2;;;6485:1;6482;6475:12;6407:2;6505:10;6501:2;6494:22;6305:216;;;;;6528:258;;6671:18;6663:6;6660:30;6657:2;;;6703:1;6700;6693:12;6657:2;6747:4;6743:9;6736:4;6728:6;6724:17;6720:33;6712:41;;6776:4;6770;6766:15;6758:23;;6594:192;;;;6793:91;;6873:5;6867:12;6857:22;;6851:33;;;;6892:162;;7006:6;7001:3;6994:19;7043:4;7038:3;7034:14;7019:29;;6987:67;;;;;7062:91;;7124:24;7142:5;7124:24;;;7113:35;;7107:46;;;;7160:85;;7233:5;7226:13;7219:21;7208:32;;7202:43;;;;7252:72;;7314:5;7303:16;;7297:27;;;;7331:121;;7404:42;7397:5;7393:54;7382:65;;7376:76;;;;7459:72;;7521:5;7510:16;;7504:27;;;;7538:81;;7609:4;7602:5;7598:16;7587:27;;7581:38;;;;7626:175;;7732:64;7790:5;7732:64;;;7719:77;;7713:88;;;;7808:135;;7914:24;7932:5;7914:24;;;7901:37;;7895:48;;;;7950:173;;8055:63;8112:5;8055:63;;;8042:76;;8036:87;;;;8130:134;;8235:24;8253:5;8235:24;;;8222:37;;8216:48;;;;8272:145;8353:6;8348:3;8343;8330:30;8409:1;8400:6;8395:3;8391:16;8384:27;8323:94;;;;8426:268;8491:1;8498:101;8512:6;8509:1;8506:13;8498:101;;;8588:1;8583:3;8579:11;8573:18;8569:1;8564:3;8560:11;8553:39;8534:2;8531:1;8527:10;8522:15;;8498:101;;;8614:6;8611:1;8608:13;8605:2;;;8679:1;8670:6;8665:3;8661:16;8654:27;8605:2;8475:219;;;;;8702:97;;8790:2;8786:7;8781:2;8774:5;8770:14;8766:28;8756:38;;8750:49;;;;8807:117;8876:24;8894:5;8876:24;;;8869:5;8866:35;8856:2;;8915:1;8912;8905:12;8856:2;8850:74;;8931:111;8997:21;9012:5;8997:21;;;8990:5;8987:32;8977:2;;9033:1;9030;9023:12;8977:2;8971:71;;9049:117;9118:24;9136:5;9118:24;;;9111:5;9108:35;9098:2;;9157:1;9154;9147:12;9098:2;9092:74;", + "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 _iexecDoracleGetResults(bytes32 _doracleCallId)\n\tinternal view returns (bool, 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\tif (task.status != IexecODBLibCore.TaskStatusEnum.COMPLETED ) { return (false, bytes(\"result-not-available\" )); }\n\t\tif (task.resultDigest != keccak256(task.results) ) { return (false, bytes(\"result-not-validated-by-consensus\")); }\n\t\tif (m_authorizedApp != address(0) && !checkIdentity(m_authorizedApp, deal.app.pointer, iexecClerk.GROUPMEMBER_PURPOSE())) { return (false, bytes(\"unauthorized-app\" )); }\n\t\tif (m_authorizedDataset != address(0) && !checkIdentity(m_authorizedDataset, deal.dataset.pointer, iexecClerk.GROUPMEMBER_PURPOSE())) { return (false, bytes(\"unauthorized-dataset\" )); }\n\t\tif (m_authorizedWorkerpool != address(0) && !checkIdentity(m_authorizedWorkerpool, deal.workerpool.pointer, iexecClerk.GROUPMEMBER_PURPOSE())) { return (false, bytes(\"unauthorized-workerpool\" )); }\n\t\tif (m_requiredtag & ~deal.tag != bytes32(0) ) { return (false, bytes(\"invalid-tag\" )); }\n\t\tif (m_requiredtrust > deal.trust ) { return (false, bytes(\"invalid-trust\" )); }\n\t\treturn (true, task.results);\n\t}\n\n\tfunction _iexecDoracleGetVerifiedResult(bytes32 _doracleCallId)\n\tinternal view returns (bytes memory)\n\t{\n\t\t(bool success, bytes memory results) = _iexecDoracleGetResults(_doracleCallId);\n\t\trequire(success, string(results));\n\t\treturn results;\n\t}\n}\n", + "sourcePath": "iexec-doracle-base/contracts/IexecDoracle.sol", + "ast": { + "absolutePath": "iexec-doracle-base/contracts/IexecDoracle.sol", + "exportedSymbols": { + "IexecDoracle": [ + 556 + ] + }, + "id": 557, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 287, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:2" + }, + { + "id": 288, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:2" + }, + { + "absolutePath": "iexec-poco/contracts/SignatureVerifier.sol", + "file": "iexec-poco/contracts/SignatureVerifier.sol", + "id": 289, + "nodeType": "ImportDirective", + "scope": 557, + "sourceUnit": 1343, + "src": "59:52:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol", + "file": "iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol", + "id": 290, + "nodeType": "ImportDirective", + "scope": 557, + "sourceUnit": 1695, + "src": "112:71:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-doracle-base/contracts/IexecInterface.sol", + "file": "./IexecInterface.sol", + "id": 291, + "nodeType": "ImportDirective", + "scope": 557, + "sourceUnit": 688, + "src": "184:30:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 292, + "name": "IexecInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 687, + "src": "242:14:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecInterface_$687", + "typeString": "contract IexecInterface" + } + }, + "id": 293, + "nodeType": "InheritanceSpecifier", + "src": "242:14:2" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 294, + "name": "SignatureVerifier", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1342, + "src": "258:17:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SignatureVerifier_$1342", + "typeString": "contract SignatureVerifier" + } + }, + "id": 295, + "nodeType": "InheritanceSpecifier", + "src": "258:17:2" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 296, + "name": "IOracleConsumer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1686, + "src": "277:15:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IOracleConsumer_$1686", + "typeString": "contract IOracleConsumer" + } + }, + "id": 297, + "nodeType": "InheritanceSpecifier", + "src": "277:15:2" + } + ], + "contractDependencies": [ + 687, + 1342, + 1686 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 556, + "linearizedBaseContracts": [ + 556, + 1686, + 1342, + 687 + ], + "name": "IexecDoracle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 299, + "name": "m_authorizedApp", + "nodeType": "VariableDeclaration", + "scope": 556, + "src": "296:30:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 298, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "296:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 301, + "name": "m_authorizedDataset", + "nodeType": "VariableDeclaration", + "scope": 556, + "src": "329:34:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 300, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "329:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 303, + "name": "m_authorizedWorkerpool", + "nodeType": "VariableDeclaration", + "scope": 556, + "src": "366:37:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 302, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "366:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 305, + "name": "m_requiredtag", + "nodeType": "VariableDeclaration", + "scope": 556, + "src": "406:28:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 304, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "406:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 307, + "name": "m_requiredtrust", + "nodeType": "VariableDeclaration", + "scope": 556, + "src": "437:30:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 306, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "437:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 311, + "name": "ResultReady", + "nodeType": "EventDefinition", + "parameters": { + "id": 310, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 309, + "indexed": true, + "name": "doracleCallId", + "nodeType": "VariableDeclaration", + "scope": 311, + "src": "489:29:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 308, + "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": 319, + "nodeType": "Block", + "src": "597:2:2", + "statements": [] + }, + "documentation": null, + "id": 320, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 316, + "name": "_iexecHubAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 313, + "src": "581:13:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 317, + "modifierName": { + "argumentTypes": null, + "id": 315, + "name": "IexecInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 687, + "src": "566:14:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecInterface_$687_$", + "typeString": "type(contract IexecInterface)" + } + }, + "nodeType": "ModifierInvocation", + "src": "566:29:2" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 314, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 313, + "name": "_iexecHubAddr", + "nodeType": "VariableDeclaration", + "scope": 320, + "src": "535:21:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 312, + "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": 318, + "nodeType": "ParameterList", + "parameters": [], + "src": "597:0:2" + }, + "scope": 556, + "src": "523:76:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 331, + "nodeType": "Block", + "src": "676:40:2", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 328, + "name": "_doracleCallId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 322, + "src": "697:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 327, + "name": "ResultReady", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 311, + "src": "685:11:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "685:27:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 330, + "nodeType": "EmitStatement", + "src": "680:32:2" + } + ] + }, + "documentation": null, + "id": 332, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "receiveResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 325, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 322, + "name": "_doracleCallId", + "nodeType": "VariableDeclaration", + "scope": 332, + "src": "625:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 321, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "625:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 324, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 332, + "src": "649:14:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 323, + "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": 326, + "nodeType": "ParameterList", + "parameters": [], + "src": "676:0:2" + }, + "scope": 556, + "src": "602:114:2", + "stateMutability": "nonpayable", + "superFunction": 1685, + "visibility": "external" + }, + { + "body": { + "id": 365, + "nodeType": "Block", + "src": "909:228:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 345, + "name": "m_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "913:15:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 346, + "name": "_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 334, + "src": "938:14:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "913:39:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 348, + "nodeType": "ExpressionStatement", + "src": "913:39:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 349, + "name": "m_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 301, + "src": "956:19:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 350, + "name": "_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 336, + "src": "981:18:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "956:43:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 352, + "nodeType": "ExpressionStatement", + "src": "956:43:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 353, + "name": "m_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 303, + "src": "1003:22:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 354, + "name": "_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 338, + "src": "1028:21:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1003:46:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 356, + "nodeType": "ExpressionStatement", + "src": "1003:46:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 357, + "name": "m_requiredtag", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "1053:13:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 358, + "name": "_requiredtag", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 340, + "src": "1078:12:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1053:37:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 360, + "nodeType": "ExpressionStatement", + "src": "1053:37:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 361, + "name": "m_requiredtrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "1094:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 362, + "name": "_requiredtrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "1119:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1094:39:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 364, + "nodeType": "ExpressionStatement", + "src": "1094:39:2" + } + ] + }, + "documentation": null, + "id": 366, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_iexecDoracleUpdateSettings", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 343, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 334, + "name": "_authorizedApp", + "nodeType": "VariableDeclaration", + "scope": 366, + "src": "759:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 333, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "759:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 336, + "name": "_authorizedDataset", + "nodeType": "VariableDeclaration", + "scope": 366, + "src": "785:26:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 335, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "785:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 338, + "name": "_authorizedWorkerpool", + "nodeType": "VariableDeclaration", + "scope": 366, + "src": "815:29:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 337, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "815:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 340, + "name": "_requiredtag", + "nodeType": "VariableDeclaration", + "scope": 366, + "src": "848:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 339, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "848:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 342, + "name": "_requiredtrust", + "nodeType": "VariableDeclaration", + "scope": 366, + "src": "872:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 341, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "872:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "755:142:2" + }, + "returnParameters": { + "id": 344, + "nodeType": "ParameterList", + "parameters": [], + "src": "909:0:2" + }, + "scope": 556, + "src": "719:418:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 529, + "nodeType": "Block", + "src": "1242:1649:2", + "statements": [ + { + "assignments": [ + 378 + ], + "declarations": [ + { + "constant": false, + "id": 378, + "name": "task", + "nodeType": "VariableDeclaration", + "scope": 529, + "src": "1246:32:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_memory_ptr", + "typeString": "struct IexecODBLibCore.Task" + }, + "typeName": { + "contractScope": null, + "id": 377, + "name": "IexecODBLibCore.Task", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1428, + "src": "1246:20:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_storage_ptr", + "typeString": "struct IexecODBLibCore.Task" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 383, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 381, + "name": "_doracleCallId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 368, + "src": "1299:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 379, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "1281:8:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "viewTask", + "nodeType": "MemberAccess", + "referencedDeclaration": 1062, + "src": "1281:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Task_$1428_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct IexecODBLibCore.Task memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1281:33:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1246:68:2" + }, + { + "assignments": [ + 387 + ], + "declarations": [ + { + "constant": false, + "id": 387, + "name": "deal", + "nodeType": "VariableDeclaration", + "scope": 529, + "src": "1318:32:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal" + }, + "typeName": { + "contractScope": null, + "id": 386, + "name": "IexecODBLibCore.Deal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1394, + "src": "1318:20:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_storage_ptr", + "typeString": "struct IexecODBLibCore.Deal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 393, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 390, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 378, + "src": "1373:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 391, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dealid", + "nodeType": "MemberAccess", + "referencedDeclaration": 1404, + "src": "1373:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 388, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 580, + "src": "1353:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "viewDeal", + "nodeType": "MemberAccess", + "referencedDeclaration": 824, + "src": "1353:19:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Deal_$1394_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct IexecODBLibCore.Deal memory)" + } + }, + "id": 392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1353:32:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1318:67:2" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1400", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + }, + "id": 399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 394, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 378, + "src": "1394:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 395, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 1402, + "src": "1394:11:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1400", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 396, + "name": "IexecODBLibCore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1443, + "src": "1409:15:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecODBLibCore_$1443_$", + "typeString": "type(library IexecODBLibCore)" + } + }, + "id": 397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "TaskStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 1400, + "src": "1409:30:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_TaskStatusEnum_$1400_$", + "typeString": "type(enum IexecODBLibCore.TaskStatusEnum)" + } + }, + "id": 398, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "COMPLETED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1409:40:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1400", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + } + }, + "src": "1394:55:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 407, + "nodeType": "IfStatement", + "src": "1390:207:2", + "trueBody": { + "id": 406, + "nodeType": "Block", + "src": "1533:64:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1543:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "726573756c742d6e6f742d617661696c61626c65", + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1556:22:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d69270f5ae52af5932ae4b645d839abaedbef4d911fcb0aef3cb5950a6e7dbc6", + "typeString": "literal_string \"result-not-available\"" + }, + "value": "result-not-available" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d69270f5ae52af5932ae4b645d839abaedbef4d911fcb0aef3cb5950a6e7dbc6", + "typeString": "literal_string \"result-not-available\"" + } + ], + "id": 401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1550:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 403, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1550:42:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 404, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1542:51:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "functionReturnParameters": 374, + "id": 405, + "nodeType": "Return", + "src": "1535:58:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 408, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 378, + "src": "1604:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 409, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultDigest", + "nodeType": "MemberAccess", + "referencedDeclaration": 1425, + "src": "1604:17:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 411, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 378, + "src": "1635:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 412, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "results", + "nodeType": "MemberAccess", + "referencedDeclaration": 1427, + "src": "1635:12:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + ], + "id": 410, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2040, + "src": "1625:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1625:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1604:44:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 422, + "nodeType": "IfStatement", + "src": "1600:207:2", + "trueBody": { + "id": 421, + "nodeType": "Block", + "src": "1743:64:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1753:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "726573756c742d6e6f742d76616c6964617465642d62792d636f6e73656e737573", + "id": 417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1766: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_stringliteral_effd92561db1e076a58acaf5e4bf3af2bd58ffdd7dfb455053c6ee6f87871e9e", + "typeString": "literal_string \"result-not-validated-by-consensus\"" + } + ], + "id": 416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1760:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1760:42:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 419, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1752:51:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "functionReturnParameters": 374, + "id": 420, + "nodeType": "Return", + "src": "1745:58:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 423, + "name": "m_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "1814:15:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 425, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1848: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": 424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1840:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 426, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1840:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1814:36:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1854:97:2", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 429, + "name": "m_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "1869:15:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 430, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "1893:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 431, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "app", + "nodeType": "MemberAccess", + "referencedDeclaration": 1365, + "src": "1893:8:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_memory", + "typeString": "struct IexecODBLibCore.Resource memory" + } + }, + "id": 432, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pointer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1358, + "src": "1893:16:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 433, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 580, + "src": "1918:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "GROUPMEMBER_PURPOSE", + "nodeType": "MemberAccess", + "referencedDeclaration": 705, + "src": "1918:30:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1918: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": 428, + "name": "checkIdentity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1243, + "src": "1855: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": 436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1855:96:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1814:137:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 446, + "nodeType": "IfStatement", + "src": "1810:207:2", + "trueBody": { + "id": 445, + "nodeType": "Block", + "src": "1953:64:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1963:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "756e617574686f72697a65642d617070", + "id": 441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1976:18:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ea77c3ead12002987db4d83aa96b54fe12f3a973fd8783e02c7519a846412e9", + "typeString": "literal_string \"unauthorized-app\"" + }, + "value": "unauthorized-app" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4ea77c3ead12002987db4d83aa96b54fe12f3a973fd8783e02c7519a846412e9", + "typeString": "literal_string \"unauthorized-app\"" + } + ], + "id": 440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1970:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1970:42:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 443, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1962:51:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "functionReturnParameters": 374, + "id": 444, + "nodeType": "Return", + "src": "1955:58:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 447, + "name": "m_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 301, + "src": "2024:19:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 449, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2058: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": 448, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2050:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2050:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2024:36:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2064:97:2", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 453, + "name": "m_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 301, + "src": "2079:19:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 454, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "2103:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 455, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dataset", + "nodeType": "MemberAccess", + "referencedDeclaration": 1367, + "src": "2103:12:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_memory", + "typeString": "struct IexecODBLibCore.Resource memory" + } + }, + "id": 456, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pointer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1358, + "src": "2103:20:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 457, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 580, + "src": "2128:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "GROUPMEMBER_PURPOSE", + "nodeType": "MemberAccess", + "referencedDeclaration": 705, + "src": "2128:30:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2128: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": 452, + "name": "checkIdentity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1243, + "src": "2065: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": 460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2065:96:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2024:137:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 470, + "nodeType": "IfStatement", + "src": "2020:207:2", + "trueBody": { + "id": 469, + "nodeType": "Block", + "src": "2163:64:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2173:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "756e617574686f72697a65642d64617461736574", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2186:22:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bf525b5472fd396b7f6f7a14cbb15f890199960d0984e8b8bf6ce9f25fd49af5", + "typeString": "literal_string \"unauthorized-dataset\"" + }, + "value": "unauthorized-dataset" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bf525b5472fd396b7f6f7a14cbb15f890199960d0984e8b8bf6ce9f25fd49af5", + "typeString": "literal_string \"unauthorized-dataset\"" + } + ], + "id": 464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2180:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2180:42:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 467, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2172:51:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "functionReturnParameters": 374, + "id": 468, + "nodeType": "Return", + "src": "2165:58:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 471, + "name": "m_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 303, + "src": "2234:22:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2268: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": 472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2260:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2260:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2234:36:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2274:97:2", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 477, + "name": "m_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 303, + "src": "2289:22:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 478, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "2313:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 479, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 1369, + "src": "2313:15:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_memory", + "typeString": "struct IexecODBLibCore.Resource memory" + } + }, + "id": 480, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pointer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1358, + "src": "2313:23:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 481, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 580, + "src": "2338:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "GROUPMEMBER_PURPOSE", + "nodeType": "MemberAccess", + "referencedDeclaration": 705, + "src": "2338:30:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2338: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": 476, + "name": "checkIdentity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1243, + "src": "2275: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": 484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2275:96:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2234:137:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 494, + "nodeType": "IfStatement", + "src": "2230:207:2", + "trueBody": { + "id": 493, + "nodeType": "Block", + "src": "2373:64:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2383:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "756e617574686f72697a65642d776f726b6572706f6f6c", + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2396:25:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cd9d5b91ce392ae4e14603789b529f4ed6dc406963f1568f4dd39ad738e11945", + "typeString": "literal_string \"unauthorized-workerpool\"" + }, + "value": "unauthorized-workerpool" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cd9d5b91ce392ae4e14603789b529f4ed6dc406963f1568f4dd39ad738e11945", + "typeString": "literal_string \"unauthorized-workerpool\"" + } + ], + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2390:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 490, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2390:42:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 491, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2382:51:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "functionReturnParameters": 374, + "id": 492, + "nodeType": "Return", + "src": "2375:58:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 495, + "name": "m_requiredtag", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "2444:13:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "argumentTypes": null, + "id": 498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "2460:9:2", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 496, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "2461:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 497, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tag", + "nodeType": "MemberAccess", + "referencedDeclaration": 1375, + "src": "2461:8:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2444:25:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 501, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2481: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": 500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2473:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 502, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2473:10:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2444:39:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 511, + "nodeType": "IfStatement", + "src": "2440:207:2", + "trueBody": { + "id": 510, + "nodeType": "Block", + "src": "2583:64:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 504, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2593:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "696e76616c69642d746167", + "id": 506, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2606:13:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_02cdd25b54a70d71eb740fc00118440c157bc4dc994a1498d50f0c343234d4d2", + "typeString": "literal_string \"invalid-tag\"" + }, + "value": "invalid-tag" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_02cdd25b54a70d71eb740fc00118440c157bc4dc994a1498d50f0c343234d4d2", + "typeString": "literal_string \"invalid-tag\"" + } + ], + "id": 505, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2600:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2600:42:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 508, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2592:51:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "functionReturnParameters": 374, + "id": 509, + "nodeType": "Return", + "src": "2585:58:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 512, + "name": "m_requiredtrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "2654:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 513, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "2672:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 514, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "trust", + "nodeType": "MemberAccess", + "referencedDeclaration": 1371, + "src": "2672:10:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2654:28:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 523, + "nodeType": "IfStatement", + "src": "2650:207:2", + "trueBody": { + "id": 522, + "nodeType": "Block", + "src": "2793:64:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 516, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2803:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "696e76616c69642d7472757374", + "id": 518, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2816:15:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f331d332d4edefa3b8602ebf0aa54d028069b1d557ce6fa4cfd9eb30c6dc64a4", + "typeString": "literal_string \"invalid-trust\"" + }, + "value": "invalid-trust" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f331d332d4edefa3b8602ebf0aa54d028069b1d557ce6fa4cfd9eb30c6dc64a4", + "typeString": "literal_string \"invalid-trust\"" + } + ], + "id": 517, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2810:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 519, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2810:42:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 520, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2802:51:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "functionReturnParameters": 374, + "id": 521, + "nodeType": "Return", + "src": "2795:58:2" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2868:4:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 525, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 378, + "src": "2874:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 526, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "results", + "nodeType": "MemberAccess", + "referencedDeclaration": 1427, + "src": "2874:12:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + } + ], + "id": 527, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2867:20:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "functionReturnParameters": 374, + "id": 528, + "nodeType": "Return", + "src": "2860:27:2" + } + ] + }, + "documentation": null, + "id": 530, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_iexecDoracleGetResults", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 369, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 368, + "name": "_doracleCallId", + "nodeType": "VariableDeclaration", + "scope": 530, + "src": "1173:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 367, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1173:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1172:24:2" + }, + "returnParameters": { + "id": 374, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 371, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 530, + "src": "1221:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 370, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1221:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 373, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 530, + "src": "1227:12:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 372, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1227:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1220:20:2" + }, + "scope": 556, + "src": "1140:1751:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 554, + "nodeType": "Block", + "src": "2997:141:2", + "statements": [ + { + "assignments": [ + 538, + 540 + ], + "declarations": [ + { + "constant": false, + "id": 538, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 554, + "src": "3002:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 537, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3002:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 540, + "name": "results", + "nodeType": "VariableDeclaration", + "scope": 554, + "src": "3016:20:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 539, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3016:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 544, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 542, + "name": "_doracleCallId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 532, + "src": "3064:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 541, + "name": "_iexecDoracleGetResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 530, + "src": "3040:23:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes32) view returns (bool,bytes memory)" + } + }, + "id": 543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3040:39:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3001:78:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 546, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 538, + "src": "3091:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 548, + "name": "results", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 540, + "src": "3107:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 547, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3100:6:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": "string" + }, + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3100:15:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 545, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2049, + 2050 + ], + "referencedDeclaration": 2050, + "src": "3083:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3083:33:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 551, + "nodeType": "ExpressionStatement", + "src": "3083:33:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 552, + "name": "results", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 540, + "src": "3127:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 536, + "id": 553, + "nodeType": "Return", + "src": "3120:14:2" + } + ] + }, + "documentation": null, + "id": 555, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_iexecDoracleGetVerifiedResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 533, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 532, + "name": "_doracleCallId", + "nodeType": "VariableDeclaration", + "scope": 555, + "src": "2934:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 531, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2934:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2933:24:2" + }, + "returnParameters": { + "id": 536, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 535, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 555, + "src": "2982:12:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 534, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2982:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2981:14:2" + }, + "scope": 556, + "src": "2894:244:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 557, + "src": "217:2923:2" + } + ], + "src": "0:3141:2" + }, + "legacyAST": { + "absolutePath": "iexec-doracle-base/contracts/IexecDoracle.sol", + "exportedSymbols": { + "IexecDoracle": [ + 556 + ] + }, + "id": 557, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 287, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:2" + }, + { + "id": 288, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:2" + }, + { + "absolutePath": "iexec-poco/contracts/SignatureVerifier.sol", + "file": "iexec-poco/contracts/SignatureVerifier.sol", + "id": 289, + "nodeType": "ImportDirective", + "scope": 557, + "sourceUnit": 1343, + "src": "59:52:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol", + "file": "iexec-solidity/contracts/ERC1154_OracleInterface/IERC1154.sol", + "id": 290, + "nodeType": "ImportDirective", + "scope": 557, + "sourceUnit": 1695, + "src": "112:71:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-doracle-base/contracts/IexecInterface.sol", + "file": "./IexecInterface.sol", + "id": 291, + "nodeType": "ImportDirective", + "scope": 557, + "sourceUnit": 688, + "src": "184:30:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 292, + "name": "IexecInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 687, + "src": "242:14:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecInterface_$687", + "typeString": "contract IexecInterface" + } + }, + "id": 293, + "nodeType": "InheritanceSpecifier", + "src": "242:14:2" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 294, + "name": "SignatureVerifier", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1342, + "src": "258:17:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SignatureVerifier_$1342", + "typeString": "contract SignatureVerifier" + } + }, + "id": 295, + "nodeType": "InheritanceSpecifier", + "src": "258:17:2" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 296, + "name": "IOracleConsumer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1686, + "src": "277:15:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IOracleConsumer_$1686", + "typeString": "contract IOracleConsumer" + } + }, + "id": 297, + "nodeType": "InheritanceSpecifier", + "src": "277:15:2" + } + ], + "contractDependencies": [ + 687, + 1342, + 1686 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 556, + "linearizedBaseContracts": [ + 556, + 1686, + 1342, + 687 + ], + "name": "IexecDoracle", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 299, + "name": "m_authorizedApp", + "nodeType": "VariableDeclaration", + "scope": 556, + "src": "296:30:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 298, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "296:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 301, + "name": "m_authorizedDataset", + "nodeType": "VariableDeclaration", + "scope": 556, + "src": "329:34:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 300, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "329:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 303, + "name": "m_authorizedWorkerpool", + "nodeType": "VariableDeclaration", + "scope": 556, + "src": "366:37:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 302, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "366:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 305, + "name": "m_requiredtag", + "nodeType": "VariableDeclaration", + "scope": 556, + "src": "406:28:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 304, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "406:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 307, + "name": "m_requiredtrust", + "nodeType": "VariableDeclaration", + "scope": 556, + "src": "437:30:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 306, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "437:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 311, + "name": "ResultReady", + "nodeType": "EventDefinition", + "parameters": { + "id": 310, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 309, + "indexed": true, + "name": "doracleCallId", + "nodeType": "VariableDeclaration", + "scope": 311, + "src": "489:29:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 308, + "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": 319, + "nodeType": "Block", + "src": "597:2:2", + "statements": [] + }, + "documentation": null, + "id": 320, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 316, + "name": "_iexecHubAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 313, + "src": "581:13:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 317, + "modifierName": { + "argumentTypes": null, + "id": 315, + "name": "IexecInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 687, + "src": "566:14:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecInterface_$687_$", + "typeString": "type(contract IexecInterface)" + } + }, + "nodeType": "ModifierInvocation", + "src": "566:29:2" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 314, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 313, + "name": "_iexecHubAddr", + "nodeType": "VariableDeclaration", + "scope": 320, + "src": "535:21:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 312, + "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": 318, + "nodeType": "ParameterList", + "parameters": [], + "src": "597:0:2" + }, + "scope": 556, + "src": "523:76:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 331, + "nodeType": "Block", + "src": "676:40:2", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 328, + "name": "_doracleCallId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 322, + "src": "697:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 327, + "name": "ResultReady", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 311, + "src": "685:11:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "685:27:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 330, + "nodeType": "EmitStatement", + "src": "680:32:2" + } + ] + }, + "documentation": null, + "id": 332, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "receiveResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 325, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 322, + "name": "_doracleCallId", + "nodeType": "VariableDeclaration", + "scope": 332, + "src": "625:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 321, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "625:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 324, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 332, + "src": "649:14:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 323, + "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": 326, + "nodeType": "ParameterList", + "parameters": [], + "src": "676:0:2" + }, + "scope": 556, + "src": "602:114:2", + "stateMutability": "nonpayable", + "superFunction": 1685, + "visibility": "external" + }, + { + "body": { + "id": 365, + "nodeType": "Block", + "src": "909:228:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 345, + "name": "m_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "913:15:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 346, + "name": "_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 334, + "src": "938:14:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "913:39:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 348, + "nodeType": "ExpressionStatement", + "src": "913:39:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 349, + "name": "m_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 301, + "src": "956:19:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 350, + "name": "_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 336, + "src": "981:18:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "956:43:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 352, + "nodeType": "ExpressionStatement", + "src": "956:43:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 353, + "name": "m_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 303, + "src": "1003:22:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 354, + "name": "_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 338, + "src": "1028:21:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1003:46:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 356, + "nodeType": "ExpressionStatement", + "src": "1003:46:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 357, + "name": "m_requiredtag", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "1053:13:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 358, + "name": "_requiredtag", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 340, + "src": "1078:12:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1053:37:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 360, + "nodeType": "ExpressionStatement", + "src": "1053:37:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 361, + "name": "m_requiredtrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "1094:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 362, + "name": "_requiredtrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "1119:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1094:39:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 364, + "nodeType": "ExpressionStatement", + "src": "1094:39:2" + } + ] + }, + "documentation": null, + "id": 366, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_iexecDoracleUpdateSettings", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 343, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 334, + "name": "_authorizedApp", + "nodeType": "VariableDeclaration", + "scope": 366, + "src": "759:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 333, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "759:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 336, + "name": "_authorizedDataset", + "nodeType": "VariableDeclaration", + "scope": 366, + "src": "785:26:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 335, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "785:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 338, + "name": "_authorizedWorkerpool", + "nodeType": "VariableDeclaration", + "scope": 366, + "src": "815:29:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 337, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "815:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 340, + "name": "_requiredtag", + "nodeType": "VariableDeclaration", + "scope": 366, + "src": "848:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 339, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "848:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 342, + "name": "_requiredtrust", + "nodeType": "VariableDeclaration", + "scope": 366, + "src": "872:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 341, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "872:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "755:142:2" + }, + "returnParameters": { + "id": 344, + "nodeType": "ParameterList", + "parameters": [], + "src": "909:0:2" + }, + "scope": 556, + "src": "719:418:2", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 529, + "nodeType": "Block", + "src": "1242:1649:2", + "statements": [ + { + "assignments": [ + 378 + ], + "declarations": [ + { + "constant": false, + "id": 378, + "name": "task", + "nodeType": "VariableDeclaration", + "scope": 529, + "src": "1246:32:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_memory_ptr", + "typeString": "struct IexecODBLibCore.Task" + }, + "typeName": { + "contractScope": null, + "id": 377, + "name": "IexecODBLibCore.Task", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1428, + "src": "1246:20:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_storage_ptr", + "typeString": "struct IexecODBLibCore.Task" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 383, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 381, + "name": "_doracleCallId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 368, + "src": "1299:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 379, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "1281:8:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "viewTask", + "nodeType": "MemberAccess", + "referencedDeclaration": 1062, + "src": "1281:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Task_$1428_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct IexecODBLibCore.Task memory)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1281:33:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1246:68:2" + }, + { + "assignments": [ + 387 + ], + "declarations": [ + { + "constant": false, + "id": 387, + "name": "deal", + "nodeType": "VariableDeclaration", + "scope": 529, + "src": "1318:32:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal" + }, + "typeName": { + "contractScope": null, + "id": 386, + "name": "IexecODBLibCore.Deal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1394, + "src": "1318:20:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_storage_ptr", + "typeString": "struct IexecODBLibCore.Deal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 393, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 390, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 378, + "src": "1373:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 391, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dealid", + "nodeType": "MemberAccess", + "referencedDeclaration": 1404, + "src": "1373:11:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 388, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 580, + "src": "1353:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "viewDeal", + "nodeType": "MemberAccess", + "referencedDeclaration": 824, + "src": "1353:19:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Deal_$1394_memory_ptr_$", + "typeString": "function (bytes32) view external returns (struct IexecODBLibCore.Deal memory)" + } + }, + "id": 392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1353:32:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1318:67:2" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1400", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + }, + "id": 399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 394, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 378, + "src": "1394:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 395, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 1402, + "src": "1394:11:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1400", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 396, + "name": "IexecODBLibCore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1443, + "src": "1409:15:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecODBLibCore_$1443_$", + "typeString": "type(library IexecODBLibCore)" + } + }, + "id": 397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "TaskStatusEnum", + "nodeType": "MemberAccess", + "referencedDeclaration": 1400, + "src": "1409:30:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_TaskStatusEnum_$1400_$", + "typeString": "type(enum IexecODBLibCore.TaskStatusEnum)" + } + }, + "id": 398, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "COMPLETED", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1409:40:2", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1400", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + } + }, + "src": "1394:55:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 407, + "nodeType": "IfStatement", + "src": "1390:207:2", + "trueBody": { + "id": 406, + "nodeType": "Block", + "src": "1533:64:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1543:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "726573756c742d6e6f742d617661696c61626c65", + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1556:22:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d69270f5ae52af5932ae4b645d839abaedbef4d911fcb0aef3cb5950a6e7dbc6", + "typeString": "literal_string \"result-not-available\"" + }, + "value": "result-not-available" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d69270f5ae52af5932ae4b645d839abaedbef4d911fcb0aef3cb5950a6e7dbc6", + "typeString": "literal_string \"result-not-available\"" + } + ], + "id": 401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1550:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 403, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1550:42:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 404, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1542:51:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "functionReturnParameters": 374, + "id": 405, + "nodeType": "Return", + "src": "1535:58:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 408, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 378, + "src": "1604:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 409, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "resultDigest", + "nodeType": "MemberAccess", + "referencedDeclaration": 1425, + "src": "1604:17:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 411, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 378, + "src": "1635:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 412, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "results", + "nodeType": "MemberAccess", + "referencedDeclaration": 1427, + "src": "1635:12:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + ], + "id": 410, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2040, + "src": "1625:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1625:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1604:44:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 422, + "nodeType": "IfStatement", + "src": "1600:207:2", + "trueBody": { + "id": 421, + "nodeType": "Block", + "src": "1743:64:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1753:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "726573756c742d6e6f742d76616c6964617465642d62792d636f6e73656e737573", + "id": 417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1766: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_stringliteral_effd92561db1e076a58acaf5e4bf3af2bd58ffdd7dfb455053c6ee6f87871e9e", + "typeString": "literal_string \"result-not-validated-by-consensus\"" + } + ], + "id": 416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1760:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1760:42:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 419, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1752:51:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "functionReturnParameters": 374, + "id": 420, + "nodeType": "Return", + "src": "1745:58:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 423, + "name": "m_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "1814:15:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 425, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1848: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": 424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1840:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 426, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1840:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "1814:36:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1854:97:2", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 429, + "name": "m_authorizedApp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "1869:15:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 430, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "1893:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 431, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "app", + "nodeType": "MemberAccess", + "referencedDeclaration": 1365, + "src": "1893:8:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_memory", + "typeString": "struct IexecODBLibCore.Resource memory" + } + }, + "id": 432, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pointer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1358, + "src": "1893:16:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 433, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 580, + "src": "1918:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "GROUPMEMBER_PURPOSE", + "nodeType": "MemberAccess", + "referencedDeclaration": 705, + "src": "1918:30:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1918: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": 428, + "name": "checkIdentity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1243, + "src": "1855: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": 436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1855:96:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1814:137:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 446, + "nodeType": "IfStatement", + "src": "1810:207:2", + "trueBody": { + "id": 445, + "nodeType": "Block", + "src": "1953:64:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1963:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "756e617574686f72697a65642d617070", + "id": 441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1976:18:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ea77c3ead12002987db4d83aa96b54fe12f3a973fd8783e02c7519a846412e9", + "typeString": "literal_string \"unauthorized-app\"" + }, + "value": "unauthorized-app" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4ea77c3ead12002987db4d83aa96b54fe12f3a973fd8783e02c7519a846412e9", + "typeString": "literal_string \"unauthorized-app\"" + } + ], + "id": 440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1970:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1970:42:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 443, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1962:51:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "functionReturnParameters": 374, + "id": 444, + "nodeType": "Return", + "src": "1955:58:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 447, + "name": "m_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 301, + "src": "2024:19:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 449, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2058: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": 448, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2050:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2050:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2024:36:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2064:97:2", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 453, + "name": "m_authorizedDataset", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 301, + "src": "2079:19:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 454, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "2103:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 455, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dataset", + "nodeType": "MemberAccess", + "referencedDeclaration": 1367, + "src": "2103:12:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_memory", + "typeString": "struct IexecODBLibCore.Resource memory" + } + }, + "id": 456, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pointer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1358, + "src": "2103:20:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 457, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 580, + "src": "2128:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "GROUPMEMBER_PURPOSE", + "nodeType": "MemberAccess", + "referencedDeclaration": 705, + "src": "2128:30:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2128: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": 452, + "name": "checkIdentity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1243, + "src": "2065: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": 460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2065:96:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2024:137:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 470, + "nodeType": "IfStatement", + "src": "2020:207:2", + "trueBody": { + "id": 469, + "nodeType": "Block", + "src": "2163:64:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2173:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "756e617574686f72697a65642d64617461736574", + "id": 465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2186:22:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bf525b5472fd396b7f6f7a14cbb15f890199960d0984e8b8bf6ce9f25fd49af5", + "typeString": "literal_string \"unauthorized-dataset\"" + }, + "value": "unauthorized-dataset" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_bf525b5472fd396b7f6f7a14cbb15f890199960d0984e8b8bf6ce9f25fd49af5", + "typeString": "literal_string \"unauthorized-dataset\"" + } + ], + "id": 464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2180:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2180:42:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 467, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2172:51:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "functionReturnParameters": 374, + "id": 468, + "nodeType": "Return", + "src": "2165:58:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 471, + "name": "m_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 303, + "src": "2234:22:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2268: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": 472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2260:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2260:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "2234:36:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2274:97:2", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 477, + "name": "m_authorizedWorkerpool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 303, + "src": "2289:22:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 478, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "2313:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 479, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "workerpool", + "nodeType": "MemberAccess", + "referencedDeclaration": 1369, + "src": "2313:15:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_memory", + "typeString": "struct IexecODBLibCore.Resource memory" + } + }, + "id": 480, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pointer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1358, + "src": "2313:23:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 481, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 580, + "src": "2338:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "GROUPMEMBER_PURPOSE", + "nodeType": "MemberAccess", + "referencedDeclaration": 705, + "src": "2338:30:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2338: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": 476, + "name": "checkIdentity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1243, + "src": "2275: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": 484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2275:96:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2234:137:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 494, + "nodeType": "IfStatement", + "src": "2230:207:2", + "trueBody": { + "id": 493, + "nodeType": "Block", + "src": "2373:64:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 487, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2383:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "756e617574686f72697a65642d776f726b6572706f6f6c", + "id": 489, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2396:25:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cd9d5b91ce392ae4e14603789b529f4ed6dc406963f1568f4dd39ad738e11945", + "typeString": "literal_string \"unauthorized-workerpool\"" + }, + "value": "unauthorized-workerpool" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cd9d5b91ce392ae4e14603789b529f4ed6dc406963f1568f4dd39ad738e11945", + "typeString": "literal_string \"unauthorized-workerpool\"" + } + ], + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2390:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 490, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2390:42:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 491, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2382:51:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "functionReturnParameters": 374, + "id": 492, + "nodeType": "Return", + "src": "2375:58:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 495, + "name": "m_requiredtag", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "2444:13:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "argumentTypes": null, + "id": 498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "~", + "prefix": true, + "src": "2460:9:2", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 496, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "2461:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 497, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tag", + "nodeType": "MemberAccess", + "referencedDeclaration": 1375, + "src": "2461:8:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2444:25:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 501, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2481: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": 500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2473:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 502, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2473:10:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2444:39:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 511, + "nodeType": "IfStatement", + "src": "2440:207:2", + "trueBody": { + "id": 510, + "nodeType": "Block", + "src": "2583:64:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 504, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2593:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "696e76616c69642d746167", + "id": 506, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2606:13:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_02cdd25b54a70d71eb740fc00118440c157bc4dc994a1498d50f0c343234d4d2", + "typeString": "literal_string \"invalid-tag\"" + }, + "value": "invalid-tag" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_02cdd25b54a70d71eb740fc00118440c157bc4dc994a1498d50f0c343234d4d2", + "typeString": "literal_string \"invalid-tag\"" + } + ], + "id": 505, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2600:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2600:42:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 508, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2592:51:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "functionReturnParameters": 374, + "id": 509, + "nodeType": "Return", + "src": "2585:58:2" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 512, + "name": "m_requiredtrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "2654:15:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 513, + "name": "deal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "2672:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Deal_$1394_memory_ptr", + "typeString": "struct IexecODBLibCore.Deal memory" + } + }, + "id": 514, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "trust", + "nodeType": "MemberAccess", + "referencedDeclaration": 1371, + "src": "2672:10:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2654:28:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 523, + "nodeType": "IfStatement", + "src": "2650:207:2", + "trueBody": { + "id": 522, + "nodeType": "Block", + "src": "2793:64:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 516, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2803:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "696e76616c69642d7472757374", + "id": 518, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2816:15:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f331d332d4edefa3b8602ebf0aa54d028069b1d557ce6fa4cfd9eb30c6dc64a4", + "typeString": "literal_string \"invalid-trust\"" + }, + "value": "invalid-trust" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f331d332d4edefa3b8602ebf0aa54d028069b1d557ce6fa4cfd9eb30c6dc64a4", + "typeString": "literal_string \"invalid-trust\"" + } + ], + "id": 517, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2810:5:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": "bytes" + }, + "id": 519, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2810:42:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 520, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2802:51:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "functionReturnParameters": 374, + "id": 521, + "nodeType": "Return", + "src": "2795:58:2" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2868:4:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 525, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 378, + "src": "2874:4:2", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_memory_ptr", + "typeString": "struct IexecODBLibCore.Task memory" + } + }, + "id": 526, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "results", + "nodeType": "MemberAccess", + "referencedDeclaration": 1427, + "src": "2874:12:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory", + "typeString": "bytes memory" + } + } + ], + "id": 527, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2867:20:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "functionReturnParameters": 374, + "id": 528, + "nodeType": "Return", + "src": "2860:27:2" + } + ] + }, + "documentation": null, + "id": 530, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_iexecDoracleGetResults", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 369, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 368, + "name": "_doracleCallId", + "nodeType": "VariableDeclaration", + "scope": 530, + "src": "1173:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 367, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1173:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1172:24:2" + }, + "returnParameters": { + "id": 374, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 371, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 530, + "src": "1221:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 370, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1221:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 373, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 530, + "src": "1227:12:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 372, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1227:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1220:20:2" + }, + "scope": 556, + "src": "1140:1751:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 554, + "nodeType": "Block", + "src": "2997:141:2", + "statements": [ + { + "assignments": [ + 538, + 540 + ], + "declarations": [ + { + "constant": false, + "id": 538, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 554, + "src": "3002:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 537, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3002:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 540, + "name": "results", + "nodeType": "VariableDeclaration", + "scope": 554, + "src": "3016:20:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 539, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3016:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 544, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 542, + "name": "_doracleCallId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 532, + "src": "3064:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 541, + "name": "_iexecDoracleGetResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 530, + "src": "3040:23:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes32) view returns (bool,bytes memory)" + } + }, + "id": 543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3040:39:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3001:78:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 546, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 538, + "src": "3091:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 548, + "name": "results", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 540, + "src": "3107:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 547, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3100:6:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": "string" + }, + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3100:15:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 545, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2049, + 2050 + ], + "referencedDeclaration": 2050, + "src": "3083:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3083:33:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 551, + "nodeType": "ExpressionStatement", + "src": "3083:33:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 552, + "name": "results", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 540, + "src": "3127:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 536, + "id": 553, + "nodeType": "Return", + "src": "3120:14:2" + } + ] + }, + "documentation": null, + "id": 555, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_iexecDoracleGetVerifiedResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 533, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 532, + "name": "_doracleCallId", + "nodeType": "VariableDeclaration", + "scope": 555, + "src": "2934:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 531, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2934:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2933:24:2" + }, + "returnParameters": { + "id": 536, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 535, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 555, + "src": "2982:12:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 534, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2982:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2981:14:2" + }, + "scope": 556, + "src": "2894:244:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 557, + "src": "217:2923:2" + } + ], + "src": "0:3141:2" + }, + "compiler": { + "name": "solc", + "version": "0.5.8+commit.23d335f2.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.11", + "updatedAt": "2019-10-19T10:48:51.078Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/anemometer-oracle/smart-contract/build/contracts/IexecHubInterface.json b/anemometer-oracle/smart-contract/build/contracts/IexecHubInterface.json new file mode 100644 index 00000000..63bbe266 --- /dev/null +++ b/anemometer-oracle/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.8+commit.23d335f2\"},\"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\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-doracle-base/contracts/iexec-poco-interfaces/IexecHubInterface.sol\":{\"keccak256\":\"0x846e5ad3468a4020ccd311883d8b6fec8cb59539eea3cbbbe8a800b25d829287\",\"urls\":[\"bzzr://59cae26b1bed2633fc6643980e0f0c3c05a32078fc8229e20bf9fb376ff2c1ed\"]},\"iexec-poco/contracts/libs/IexecODBLibCore.sol\":{\"keccak256\":\"0x3e1a247b137866fe9b7272fc9ea189cf83f8f8a3ad439bbdef1c770f67349b7a\",\"urls\":[\"bzzr://788a11e860998e576e89358eb050b74debca9ab2e46e292abb34753f4abfad60\"]}},\"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": [ + 1198 + ] + }, + "id": 1199, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 971, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:5" + }, + { + "id": 972, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:5" + }, + { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "file": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "id": 973, + "nodeType": "ImportDirective", + "scope": 1199, + "sourceUnit": 1444, + "src": "59:55:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 1198, + "linearizedBaseContracts": [ + 1198 + ], + "name": "IexecHubInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 976, + "name": "CONTRIBUTION_DEADLINE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 1198, + "src": "147:55:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 974, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "147:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "37", + "id": 975, + "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": 979, + "name": "REVEAL_DEADLINE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 1198, + "src": "205:55:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 977, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "205:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 978, + "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": 982, + "name": "FINAL_DEADLINE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 1198, + "src": "263:56:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 980, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "263:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3130", + "id": 981, + "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": 984, + "name": "iexecclerk", + "nodeType": "VariableDeclaration", + "scope": 1198, + "src": "323:25:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 983, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "323:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 986, + "name": "appregistry", + "nodeType": "VariableDeclaration", + "scope": 1198, + "src": "351:26:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 985, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "351:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 988, + "name": "datasetregistry", + "nodeType": "VariableDeclaration", + "scope": 1198, + "src": "380:30:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 987, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "380:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 990, + "name": "workerpoolregistry", + "nodeType": "VariableDeclaration", + "scope": 1198, + "src": "413:33:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 989, + "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": 996, + "name": "TaskInitialize", + "nodeType": "EventDefinition", + "parameters": { + "id": 995, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 992, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 996, + "src": "471:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 991, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "471:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 994, + "indexed": true, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 996, + "src": "495:26:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 993, + "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": 1004, + "name": "TaskContribute", + "nodeType": "EventDefinition", + "parameters": { + "id": 1003, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 998, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 1004, + "src": "561:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 997, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "561:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1000, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 1004, + "src": "585:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 999, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "585:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1002, + "indexed": false, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 1004, + "src": "609:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1001, + "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": 1010, + "name": "TaskConsensus", + "nodeType": "EventDefinition", + "parameters": { + "id": 1009, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1006, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 1010, + "src": "651:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1005, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "651:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1008, + "indexed": false, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 1010, + "src": "699:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1007, + "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": 1018, + "name": "TaskReveal", + "nodeType": "EventDefinition", + "parameters": { + "id": 1017, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1012, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 1018, + "src": "741:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1011, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "741:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1014, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 1018, + "src": "765:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1013, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "765:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1016, + "indexed": false, + "name": "digest", + "nodeType": "VariableDeclaration", + "scope": 1018, + "src": "789:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1015, + "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": 1022, + "name": "TaskReopen", + "nodeType": "EventDefinition", + "parameters": { + "id": 1021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1020, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 1022, + "src": "831:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1019, + "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": 1028, + "name": "TaskFinalize", + "nodeType": "EventDefinition", + "parameters": { + "id": 1027, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1024, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 1028, + "src": "921:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1023, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "921:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1026, + "indexed": false, + "name": "results", + "nodeType": "VariableDeclaration", + "scope": 1028, + "src": "969:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1025, + "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": 1032, + "name": "TaskClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 1031, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1030, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 1032, + "src": "1011:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1029, + "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": 1038, + "name": "AccurateContribution", + "nodeType": "EventDefinition", + "parameters": { + "id": 1037, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1034, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 1038, + "src": "1108:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1033, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1108:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1036, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 1038, + "src": "1132:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1035, + "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": 1044, + "name": "FaultyContribution", + "nodeType": "EventDefinition", + "parameters": { + "id": 1043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1040, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 1044, + "src": "1185:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1039, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1185:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1042, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 1044, + "src": "1209:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1041, + "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": 1055, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "attachContracts", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1053, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1046, + "name": "_iexecclerkAddress", + "nodeType": "VariableDeclaration", + "scope": 1055, + "src": "1264:26:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1045, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1264:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1048, + "name": "_appregistryAddress", + "nodeType": "VariableDeclaration", + "scope": 1055, + "src": "1294:27:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1047, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1294:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1050, + "name": "_datasetregistryAddress", + "nodeType": "VariableDeclaration", + "scope": 1055, + "src": "1325:31:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1049, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1325:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1052, + "name": "_workerpoolregistryAddress", + "nodeType": "VariableDeclaration", + "scope": 1055, + "src": "1360:34:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1051, + "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": 1054, + "nodeType": "ParameterList", + "parameters": [], + "src": "1405:0:5" + }, + "scope": 1198, + "src": "1236:170:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1062, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewTask", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1058, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1057, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1062, + "src": "1427:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1056, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1427:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1426:17:5" + }, + "returnParameters": { + "id": 1061, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1060, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1062, + "src": "1468:27:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_memory_ptr", + "typeString": "struct IexecODBLibCore.Task" + }, + "typeName": { + "contractScope": null, + "id": 1059, + "name": "IexecODBLibCore.Task", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1428, + "src": "1468:20:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_storage_ptr", + "typeString": "struct IexecODBLibCore.Task" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1467:29:5" + }, + "scope": 1198, + "src": "1409:88:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1071, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewContribution", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1064, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1071, + "src": "1526:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1063, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1526:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1066, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1071, + "src": "1543:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1065, + "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": 1070, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1069, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1071, + "src": "1584:35:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$1442_memory_ptr", + "typeString": "struct IexecODBLibCore.Contribution" + }, + "typeName": { + "contractScope": null, + "id": 1068, + "name": "IexecODBLibCore.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1442, + "src": "1584:28:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$1442_storage_ptr", + "typeString": "struct IexecODBLibCore.Contribution" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1583:37:5" + }, + "scope": 1198, + "src": "1500:121:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1078, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewScore", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1074, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1073, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1078, + "src": "1643:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1072, + "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": 1077, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1076, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1078, + "src": "1684:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1075, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1684:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1683:9:5" + }, + "scope": 1198, + "src": "1624:69:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1089, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "checkResources", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1085, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1080, + "name": "aap", + "nodeType": "VariableDeclaration", + "scope": 1089, + "src": "1720:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1079, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1720:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1082, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1089, + "src": "1733:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1081, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1733:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1084, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1089, + "src": "1750:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1083, + "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": 1088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1087, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1089, + "src": "1794:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1086, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1794:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1793:6:5" + }, + "scope": 1198, + "src": "1696:104:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1096, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resultFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1092, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1091, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 1096, + "src": "1822:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1090, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1822:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1821:12:5" + }, + "returnParameters": { + "id": 1095, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1094, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1096, + "src": "1858:12:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1093, + "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": 1198, + "src": "1803:69:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1105, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "initialize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1101, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1098, + "name": "_dealid", + "nodeType": "VariableDeclaration", + "scope": 1105, + "src": "1898:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1097, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1898:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1100, + "name": "idx", + "nodeType": "VariableDeclaration", + "scope": 1105, + "src": "1917:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1099, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1917:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1894:35:5" + }, + "returnParameters": { + "id": 1104, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1103, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1105, + "src": "1947:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1102, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1947:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1946:9:5" + }, + "scope": 1198, + "src": "1875:81:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1120, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "contribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1118, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1107, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1120, + "src": "1982:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1106, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1982:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1109, + "name": "_resultHash", + "nodeType": "VariableDeclaration", + "scope": 1120, + "src": "2006:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1108, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2006:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1111, + "name": "_resultSeal", + "nodeType": "VariableDeclaration", + "scope": 1120, + "src": "2034:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1110, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2034:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1113, + "name": "_enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 1120, + "src": "2062:30:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1112, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2062:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1115, + "name": "_enclaveSign", + "nodeType": "VariableDeclaration", + "scope": 1120, + "src": "2096:25:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1114, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2096:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1117, + "name": "_workerpoolSign", + "nodeType": "VariableDeclaration", + "scope": 1120, + "src": "2125:28:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1116, + "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": 1119, + "nodeType": "ParameterList", + "parameters": [], + "src": "2162:0:5" + }, + "scope": 1198, + "src": "1959:204:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1127, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "reveal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1125, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1122, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1127, + "src": "2185:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1121, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2185:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1124, + "name": "_resultDigest", + "nodeType": "VariableDeclaration", + "scope": 1127, + "src": "2204:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1123, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2204:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2181:45:5" + }, + "returnParameters": { + "id": 1126, + "nodeType": "ParameterList", + "parameters": [], + "src": "2236:0:5" + }, + "scope": 1198, + "src": "2166:71:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1132, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "reopen", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1130, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1129, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1132, + "src": "2259:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1128, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2259:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2255:20:5" + }, + "returnParameters": { + "id": 1131, + "nodeType": "ParameterList", + "parameters": [], + "src": "2285:0:5" + }, + "scope": 1198, + "src": "2240:46:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1139, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "finalize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1134, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1139, + "src": "2310:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1133, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2310:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1136, + "name": "_results", + "nodeType": "VariableDeclaration", + "scope": 1139, + "src": "2329:24:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1135, + "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": 1138, + "nodeType": "ParameterList", + "parameters": [], + "src": "2364:0:5" + }, + "scope": 1198, + "src": "2289:76:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1144, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "claim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1142, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1141, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1144, + "src": "2386:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1140, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2386:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2382:20:5" + }, + "returnParameters": { + "id": 1143, + "nodeType": "ParameterList", + "parameters": [], + "src": "2410:0:5" + }, + "scope": 1198, + "src": "2368:43:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1155, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "initializeArray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1151, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1147, + "name": "_dealid", + "nodeType": "VariableDeclaration", + "scope": 1155, + "src": "2442:26:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1145, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2442:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1146, + "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": 1150, + "name": "_idx", + "nodeType": "VariableDeclaration", + "scope": 1155, + "src": "2472:23:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1148, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2472:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1149, + "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": 1154, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1153, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1155, + "src": "2516:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1152, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2516:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2515:6:5" + }, + "scope": 1198, + "src": "2414:108:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1163, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "claimArray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1158, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1163, + "src": "2548:26:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1156, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2548:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1157, + "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": 1162, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1161, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1163, + "src": "2595:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1160, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2595:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2594:6:5" + }, + "scope": 1198, + "src": "2525:76:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1174, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "initializeAndClaimArray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1166, + "name": "_dealid", + "nodeType": "VariableDeclaration", + "scope": 1174, + "src": "2640:26:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1164, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2640:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1165, + "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": 1169, + "name": "_idx", + "nodeType": "VariableDeclaration", + "scope": 1174, + "src": "2670:23:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2670:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1168, + "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": 1173, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1172, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1174, + "src": "2714:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1171, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2714:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2713:6:5" + }, + "scope": 1198, + "src": "2604:116:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1181, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1177, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1176, + "name": "_catid", + "nodeType": "VariableDeclaration", + "scope": 1181, + "src": "2745:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1175, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2745:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2744:16:5" + }, + "returnParameters": { + "id": 1180, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1179, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1181, + "src": "2785:40:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$1356_memory_ptr", + "typeString": "struct IexecODBLibCore.Category" + }, + "typeName": { + "contractScope": null, + "id": 1178, + "name": "IexecODBLibCore.Category", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1356, + "src": "2785:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$1356_storage_ptr", + "typeString": "struct IexecODBLibCore.Category" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2784:42:5" + }, + "scope": 1198, + "src": "2723:104:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1186, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "countCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1182, + "nodeType": "ParameterList", + "parameters": [], + "src": "2852:2:5" + }, + "returnParameters": { + "id": 1185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1184, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1186, + "src": "2879:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1183, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2879:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2878:9:5" + }, + "scope": 1198, + "src": "2830:58:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1197, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "createCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1188, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1197, + "src": "2918:21:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1187, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2918:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1190, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 1197, + "src": "2943:28:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1189, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2943:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1192, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1197, + "src": "2975:33:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1191, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2975:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2914:95:5" + }, + "returnParameters": { + "id": 1196, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1195, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1197, + "src": "3029:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1194, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3029:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3028:9:5" + }, + "scope": 1198, + "src": "2891:147:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1199, + "src": "117:2923:5" + } + ], + "src": "0:3041:5" + }, + "legacyAST": { + "absolutePath": "iexec-doracle-base/contracts/iexec-poco-interfaces/IexecHubInterface.sol", + "exportedSymbols": { + "IexecHubInterface": [ + 1198 + ] + }, + "id": 1199, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 971, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:5" + }, + { + "id": 972, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:5" + }, + { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "file": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "id": 973, + "nodeType": "ImportDirective", + "scope": 1199, + "sourceUnit": 1444, + "src": "59:55:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 1198, + "linearizedBaseContracts": [ + 1198 + ], + "name": "IexecHubInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 976, + "name": "CONTRIBUTION_DEADLINE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 1198, + "src": "147:55:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 974, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "147:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "37", + "id": 975, + "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": 979, + "name": "REVEAL_DEADLINE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 1198, + "src": "205:55:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 977, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "205:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 978, + "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": 982, + "name": "FINAL_DEADLINE_RATIO", + "nodeType": "VariableDeclaration", + "scope": 1198, + "src": "263:56:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 980, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "263:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3130", + "id": 981, + "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": 984, + "name": "iexecclerk", + "nodeType": "VariableDeclaration", + "scope": 1198, + "src": "323:25:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 983, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "323:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 986, + "name": "appregistry", + "nodeType": "VariableDeclaration", + "scope": 1198, + "src": "351:26:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 985, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "351:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 988, + "name": "datasetregistry", + "nodeType": "VariableDeclaration", + "scope": 1198, + "src": "380:30:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 987, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "380:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 990, + "name": "workerpoolregistry", + "nodeType": "VariableDeclaration", + "scope": 1198, + "src": "413:33:5", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 989, + "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": 996, + "name": "TaskInitialize", + "nodeType": "EventDefinition", + "parameters": { + "id": 995, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 992, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 996, + "src": "471:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 991, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "471:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 994, + "indexed": true, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 996, + "src": "495:26:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 993, + "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": 1004, + "name": "TaskContribute", + "nodeType": "EventDefinition", + "parameters": { + "id": 1003, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 998, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 1004, + "src": "561:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 997, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "561:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1000, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 1004, + "src": "585:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 999, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "585:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1002, + "indexed": false, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 1004, + "src": "609:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1001, + "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": 1010, + "name": "TaskConsensus", + "nodeType": "EventDefinition", + "parameters": { + "id": 1009, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1006, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 1010, + "src": "651:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1005, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "651:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1008, + "indexed": false, + "name": "consensus", + "nodeType": "VariableDeclaration", + "scope": 1010, + "src": "699:17:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1007, + "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": 1018, + "name": "TaskReveal", + "nodeType": "EventDefinition", + "parameters": { + "id": 1017, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1012, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 1018, + "src": "741:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1011, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "741:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1014, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 1018, + "src": "765:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1013, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "765:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1016, + "indexed": false, + "name": "digest", + "nodeType": "VariableDeclaration", + "scope": 1018, + "src": "789:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1015, + "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": 1022, + "name": "TaskReopen", + "nodeType": "EventDefinition", + "parameters": { + "id": 1021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1020, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 1022, + "src": "831:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1019, + "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": 1028, + "name": "TaskFinalize", + "nodeType": "EventDefinition", + "parameters": { + "id": 1027, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1024, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 1028, + "src": "921:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1023, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "921:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1026, + "indexed": false, + "name": "results", + "nodeType": "VariableDeclaration", + "scope": 1028, + "src": "969:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1025, + "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": 1032, + "name": "TaskClaimed", + "nodeType": "EventDefinition", + "parameters": { + "id": 1031, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1030, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 1032, + "src": "1011:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1029, + "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": 1038, + "name": "AccurateContribution", + "nodeType": "EventDefinition", + "parameters": { + "id": 1037, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1034, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 1038, + "src": "1108:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1033, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1108:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1036, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 1038, + "src": "1132:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1035, + "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": 1044, + "name": "FaultyContribution", + "nodeType": "EventDefinition", + "parameters": { + "id": 1043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1040, + "indexed": true, + "name": "worker", + "nodeType": "VariableDeclaration", + "scope": 1044, + "src": "1185:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1039, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1185:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1042, + "indexed": true, + "name": "taskid", + "nodeType": "VariableDeclaration", + "scope": 1044, + "src": "1209:22:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1041, + "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": 1055, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "attachContracts", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1053, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1046, + "name": "_iexecclerkAddress", + "nodeType": "VariableDeclaration", + "scope": 1055, + "src": "1264:26:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1045, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1264:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1048, + "name": "_appregistryAddress", + "nodeType": "VariableDeclaration", + "scope": 1055, + "src": "1294:27:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1047, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1294:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1050, + "name": "_datasetregistryAddress", + "nodeType": "VariableDeclaration", + "scope": 1055, + "src": "1325:31:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1049, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1325:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1052, + "name": "_workerpoolregistryAddress", + "nodeType": "VariableDeclaration", + "scope": 1055, + "src": "1360:34:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1051, + "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": 1054, + "nodeType": "ParameterList", + "parameters": [], + "src": "1405:0:5" + }, + "scope": 1198, + "src": "1236:170:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1062, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewTask", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1058, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1057, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1062, + "src": "1427:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1056, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1427:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1426:17:5" + }, + "returnParameters": { + "id": 1061, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1060, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1062, + "src": "1468:27:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_memory_ptr", + "typeString": "struct IexecODBLibCore.Task" + }, + "typeName": { + "contractScope": null, + "id": 1059, + "name": "IexecODBLibCore.Task", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1428, + "src": "1468:20:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Task_$1428_storage_ptr", + "typeString": "struct IexecODBLibCore.Task" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1467:29:5" + }, + "scope": 1198, + "src": "1409:88:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1071, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewContribution", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1064, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1071, + "src": "1526:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1063, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1526:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1066, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1071, + "src": "1543:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1065, + "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": 1070, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1069, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1071, + "src": "1584:35:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$1442_memory_ptr", + "typeString": "struct IexecODBLibCore.Contribution" + }, + "typeName": { + "contractScope": null, + "id": 1068, + "name": "IexecODBLibCore.Contribution", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1442, + "src": "1584:28:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Contribution_$1442_storage_ptr", + "typeString": "struct IexecODBLibCore.Contribution" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1583:37:5" + }, + "scope": 1198, + "src": "1500:121:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1078, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewScore", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1074, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1073, + "name": "_worker", + "nodeType": "VariableDeclaration", + "scope": 1078, + "src": "1643:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1072, + "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": 1077, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1076, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1078, + "src": "1684:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1075, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1684:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1683:9:5" + }, + "scope": 1198, + "src": "1624:69:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1089, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "checkResources", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1085, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1080, + "name": "aap", + "nodeType": "VariableDeclaration", + "scope": 1089, + "src": "1720:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1079, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1720:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1082, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1089, + "src": "1733:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1081, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1733:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1084, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1089, + "src": "1750:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1083, + "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": 1088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1087, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1089, + "src": "1794:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1086, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1794:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1793:6:5" + }, + "scope": 1198, + "src": "1696:104:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1096, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "resultFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1092, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1091, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 1096, + "src": "1822:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1090, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1822:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1821:12:5" + }, + "returnParameters": { + "id": 1095, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1094, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1096, + "src": "1858:12:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1093, + "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": 1198, + "src": "1803:69:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1105, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "initialize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1101, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1098, + "name": "_dealid", + "nodeType": "VariableDeclaration", + "scope": 1105, + "src": "1898:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1097, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1898:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1100, + "name": "idx", + "nodeType": "VariableDeclaration", + "scope": 1105, + "src": "1917:11:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1099, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1917:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1894:35:5" + }, + "returnParameters": { + "id": 1104, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1103, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1105, + "src": "1947:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1102, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1947:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1946:9:5" + }, + "scope": 1198, + "src": "1875:81:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1120, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "contribute", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1118, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1107, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1120, + "src": "1982:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1106, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1982:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1109, + "name": "_resultHash", + "nodeType": "VariableDeclaration", + "scope": 1120, + "src": "2006:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1108, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2006:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1111, + "name": "_resultSeal", + "nodeType": "VariableDeclaration", + "scope": 1120, + "src": "2034:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1110, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2034:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1113, + "name": "_enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 1120, + "src": "2062:30:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1112, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2062:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1115, + "name": "_enclaveSign", + "nodeType": "VariableDeclaration", + "scope": 1120, + "src": "2096:25:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1114, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2096:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1117, + "name": "_workerpoolSign", + "nodeType": "VariableDeclaration", + "scope": 1120, + "src": "2125:28:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1116, + "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": 1119, + "nodeType": "ParameterList", + "parameters": [], + "src": "2162:0:5" + }, + "scope": 1198, + "src": "1959:204:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1127, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "reveal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1125, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1122, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1127, + "src": "2185:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1121, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2185:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1124, + "name": "_resultDigest", + "nodeType": "VariableDeclaration", + "scope": 1127, + "src": "2204:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1123, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2204:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2181:45:5" + }, + "returnParameters": { + "id": 1126, + "nodeType": "ParameterList", + "parameters": [], + "src": "2236:0:5" + }, + "scope": 1198, + "src": "2166:71:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1132, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "reopen", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1130, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1129, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1132, + "src": "2259:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1128, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2259:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2255:20:5" + }, + "returnParameters": { + "id": 1131, + "nodeType": "ParameterList", + "parameters": [], + "src": "2285:0:5" + }, + "scope": 1198, + "src": "2240:46:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1139, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "finalize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1134, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1139, + "src": "2310:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1133, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2310:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1136, + "name": "_results", + "nodeType": "VariableDeclaration", + "scope": 1139, + "src": "2329:24:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1135, + "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": 1138, + "nodeType": "ParameterList", + "parameters": [], + "src": "2364:0:5" + }, + "scope": 1198, + "src": "2289:76:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1144, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "claim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1142, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1141, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1144, + "src": "2386:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1140, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2386:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2382:20:5" + }, + "returnParameters": { + "id": 1143, + "nodeType": "ParameterList", + "parameters": [], + "src": "2410:0:5" + }, + "scope": 1198, + "src": "2368:43:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 1155, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "initializeArray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1151, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1147, + "name": "_dealid", + "nodeType": "VariableDeclaration", + "scope": 1155, + "src": "2442:26:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1145, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2442:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1146, + "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": 1150, + "name": "_idx", + "nodeType": "VariableDeclaration", + "scope": 1155, + "src": "2472:23:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1148, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2472:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1149, + "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": 1154, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1153, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1155, + "src": "2516:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1152, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2516:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2515:6:5" + }, + "scope": 1198, + "src": "2414:108:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1163, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "claimArray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1158, + "name": "_taskid", + "nodeType": "VariableDeclaration", + "scope": 1163, + "src": "2548:26:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1156, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2548:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1157, + "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": 1162, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1161, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1163, + "src": "2595:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1160, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2595:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2594:6:5" + }, + "scope": 1198, + "src": "2525:76:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1174, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "initializeAndClaimArray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1166, + "name": "_dealid", + "nodeType": "VariableDeclaration", + "scope": 1174, + "src": "2640:26:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 1164, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2640:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1165, + "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": 1169, + "name": "_idx", + "nodeType": "VariableDeclaration", + "scope": 1174, + "src": "2670:23:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2670:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1168, + "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": 1173, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1172, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1174, + "src": "2714:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1171, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2714:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2713:6:5" + }, + "scope": 1198, + "src": "2604:116:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1181, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "viewCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1177, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1176, + "name": "_catid", + "nodeType": "VariableDeclaration", + "scope": 1181, + "src": "2745:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1175, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2745:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2744:16:5" + }, + "returnParameters": { + "id": 1180, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1179, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1181, + "src": "2785:40:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$1356_memory_ptr", + "typeString": "struct IexecODBLibCore.Category" + }, + "typeName": { + "contractScope": null, + "id": 1178, + "name": "IexecODBLibCore.Category", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1356, + "src": "2785:24:5", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Category_$1356_storage_ptr", + "typeString": "struct IexecODBLibCore.Category" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2784:42:5" + }, + "scope": 1198, + "src": "2723:104:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1186, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "countCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1182, + "nodeType": "ParameterList", + "parameters": [], + "src": "2852:2:5" + }, + "returnParameters": { + "id": 1185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1184, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1186, + "src": "2879:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1183, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2879:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2878:9:5" + }, + "scope": 1198, + "src": "2830:58:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 1197, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "createCategory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1188, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1197, + "src": "2918:21:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1187, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2918:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1190, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 1197, + "src": "2943:28:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1189, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2943:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1192, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1197, + "src": "2975:33:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1191, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2975:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2914:95:5" + }, + "returnParameters": { + "id": 1196, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1195, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1197, + "src": "3029:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1194, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3029:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3028:9:5" + }, + "scope": 1198, + "src": "2891:147:5", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 1199, + "src": "117:2923:5" + } + ], + "src": "0:3041:5" + }, + "compiler": { + "name": "solc", + "version": "0.5.8+commit.23d335f2.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.11", + "updatedAt": "2019-10-19T10:48:51.100Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/anemometer-oracle/smart-contract/build/contracts/IexecInterface.json b/anemometer-oracle/smart-contract/build/contracts/IexecInterface.json new file mode 100644 index 00000000..e088eef3 --- /dev/null +++ b/anemometer-oracle/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.8+commit.23d335f2\"},\"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\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-doracle-base/contracts/IexecInterface.sol\":{\"keccak256\":\"0x625617959c972e4e9e4fa94e244cf4d0b841be6ca2d3efb8620993439b406eea\",\"urls\":[\"bzzr://afe446cc0a20bd779daad5820cd9cc96c0b568577e4ee313b253a234712a881c\"]},\"iexec-doracle-base/contracts/iexec-poco-interfaces/IexecClerkInterface.sol\":{\"keccak256\":\"0xa7a0fa79543be8f912f863594ea972301985e63ecb57cc0c74f5622533e9e02f\",\"urls\":[\"bzzr://439b54843d3e0c113a0b524d159fc53c5fa56024084a436d7334f2cdacbc01e8\"]},\"iexec-doracle-base/contracts/iexec-poco-interfaces/IexecHubInterface.sol\":{\"keccak256\":\"0x846e5ad3468a4020ccd311883d8b6fec8cb59539eea3cbbbe8a800b25d829287\",\"urls\":[\"bzzr://59cae26b1bed2633fc6643980e0f0c3c05a32078fc8229e20bf9fb376ff2c1ed\"]},\"iexec-poco/contracts/libs/IexecODBLibCore.sol\":{\"keccak256\":\"0x3e1a247b137866fe9b7272fc9ea189cf83f8f8a3ad439bbdef1c770f67349b7a\",\"urls\":[\"bzzr://788a11e860998e576e89358eb050b74debca9ab2e46e292abb34753f4abfad60\"]},\"iexec-poco/contracts/libs/IexecODBLibOrders.sol\":{\"keccak256\":\"0xceb5c2483f92c7bbed29ac473f92371d04830f0c40bd734d01d26eef09e88f4f\",\"urls\":[\"bzzr://054a5f4728d0d5e774bb974181d4d97f98f23f8f2cf695f18723c79e8401b8a0\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x90e8c2521653bbb1768b05889c5760031e688d9cd361f167489b89215e201b95\",\"urls\":[\"bzzr://aa8b45b57edafc3d67bc5d916327ea16807fae33f753ca163ae0c4061b789766\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b506040516020806106c2833981018060405261002f9190810190610418565b6000610040826103f860201b60201c565b111561008b57806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610313565b60006100b0731383c16c927c4a853684d1a9c676986f25e221116103f860201b60201c565b111561010f57731383c16c927c4a853684d1a9c676986f25e221116000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610312565b600061013473dbe30645ea7d216c31d09f8c5736fe74de774e636103f860201b60201c565b11156101935773dbe30645ea7d216c31d09f8c5736fe74de774e636000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610311565b60006101a560006103f860201b60201c565b11156101f15760008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610310565b600061021673b3901d04cf645747b99dbbe8f2ee9cb41a89cebf6103f860201b60201c565b11156102755773b3901d04cf645747b99dbbe8f2ee9cb41a89cebf6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061030f565b600061028760006103f860201b60201c565b11156102d35760008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061030e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030590610481565b60405180910390fd5b5b5b5b5b5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b01c68466040518163ffffffff1660e01b815260040160206040518083038186803b15801561037a57600080fd5b505afa15801561038e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103b29190810190610418565b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506104fb565b6000813b9050919050565b600081519050610412816104e4565b92915050565b60006020828403121561042a57600080fd5b600061043884828501610403565b91505092915050565b600061044e6013836104a1565b91507f696e76616c69642d6875622d61646472657373000000000000000000000000006000830152602082019050919050565b6000602082019050818103600083015261049a81610441565b9050919050565b600082825260208201905092915050565b60006104bd826104c4565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6104ed816104b2565b81146104f857600080fd5b50565b6101b88061050a6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80631ce3aa0d1461003b578063a41f45e914610059575b600080fd5b610043610077565b60405161005091906100e0565b60405180910390f35b61006161009d565b60405161006e91906100fb565b60405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6100cb81610136565b82525050565b6100da8161015a565b82525050565b60006020820190506100f560008301846100c2565b92915050565b600060208201905061011060008301846100d1565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061014182610148565b9050919050565b600061015382610116565b9050919050565b60006101658261016c565b9050919050565b600061017782610116565b905091905056fea265627a7a72305820bca5d0c8e0c96cb8d1d8a7cbb9c50740772a34b01745c934f6d683fbb08dc44a6c6578706572696d656e74616cf50037", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80631ce3aa0d1461003b578063a41f45e914610059575b600080fd5b610043610077565b60405161005091906100e0565b60405180910390f35b61006161009d565b60405161006e91906100fb565b60405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6100cb81610136565b82525050565b6100da8161015a565b82525050565b60006020820190506100f560008301846100c2565b92915050565b600060208201905061011060008301846100d1565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061014182610148565b9050919050565b600061015382610116565b9050919050565b60006101658261016c565b9050919050565b600061017782610116565b905091905056fea265627a7a72305820bca5d0c8e0c96cb8d1d8a7cbb9c50740772a34b01745c934f6d683fbb08dc44a6c6578706572696d656e74616cf50037", + "sourceMap": "175:1449:3:-;;;692:807;8:9:-1;5:2;;;30:1;27;20:12;5:2;692:807:3;;;;;;;;;;;;;;;;;;;;;;782:1;749:30;761:13;749:11;;;:30;;:::i;:::-;:34;740:697;;;816:13;787:8;;:47;;;;;;;;;;;;;;;;;;740:697;;;882:1;849:30;239:42;849:11;;;:30;;:::i;:::-;:34;845:592;;;239:42;887:8;;:47;;;;;;;;;;;;;;;;;;845:592;;;982:1;949:30;321:42;949:11;;;:30;;:::i;:::-;:34;945:492;;;321:42;987:8;;:47;;;;;;;;;;;;;;;;;;945:492;;;1082:1;1049:30;403:42;1049:11;;;:30;;:::i;:::-;:34;1045:392;;;403:42;1087:8;;:47;;;;;;;;;;;;;;;;;;1045:392;;;1182:1;1149:30;485:42;1149:11;;;:30;;:::i;:::-;:34;1145:292;;;485:42;1187:8;;:47;;;;;;;;;;;;;;;;;;1145:292;;;1282:1;1249:30;567:42;1249:11;;;:30;;:::i;:::-;:34;1245:192;;;567:42;1287:8;;:47;;;;;;;;;;;;;;;;;;1245:192;;;1387:29;;;;;;;;;;;;;;;;;;;1245:192;1145:292;1045:392;945:492;845:592;740:697;1473:8;;;;;;;;;;;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1473:21:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1473: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;1473:21:3;;;;;;;;;1440:10;;:55;;;;;;;;;;;;;;;;;;692:807;175:1449;;1502:120;1562:10;1611:5;1599:18;1590:27;;1588:31;;;:::o;5:134:-1:-;;89:6;83:13;74:22;;101:33;128:5;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;376:6;365:9;361:22;329:64;;;319:74;;291:108;223:186;;;;;417:364;;577:67;641:2;636:3;577:67;;;570:74;;677:66;673:1;668:3;664:11;657:87;772:2;767:3;763:12;756:19;;563:218;;;;789:407;;980:2;969:9;965:18;957:26;;1030:9;1024:4;1020:20;1016:1;1005:9;1001:17;994:47;1055:131;1181:4;1055:131;;;1047:139;;951:245;;;;1204:163;;1319:6;1314:3;1307:19;1356:4;1351:3;1347:14;1332:29;;1300:67;;;;;1375:91;;1437:24;1455:5;1437:24;;;1426:35;;1420:46;;;;1473:121;;1546:42;1539:5;1535:54;1524:65;;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:1449:3;;;;;;;", + "deployedSourceMap": "175:1449:3:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;175:1449:3;;;;;;;;;;;;;;;;;;;;;;;;651:37;;;:::i;:::-;;;;;;;;;;;;;;;;613:35;;;:::i;:::-;;;;;;;;;;;;;;;;651:37;;;;;;;;;;;;;:::o;613:35::-;;;;;;;;;;;;;:::o;5:180:-1:-;115:64;173:5;115:64;;;110:3;103:77;97:88;;;192:178;301:63;358:5;301:63;;;296:3;289:76;283:87;;;377:267;;522:2;511:9;507:18;499:26;;536:98;631:1;620:9;616:17;607:6;536:98;;;493:151;;;;;651:265;;795:2;784:9;780:18;772:26;;809:97;903:1;892:9;888:17;879:6;809:97;;;766:150;;;;;923:121;;996:42;989:5;985:54;974:65;;968:76;;;;1051:175;;1157:64;1215:5;1157:64;;;1144:77;;1138:88;;;;1233:135;;1339:24;1357:5;1339:24;;;1326:37;;1320:48;;;;1375:173;;1480:63;1537:5;1480:63;;;1467:76;;1461:87;;;;1555:134;;1660:24;1678:5;1660:24;;;1647:37;;1641:48;;;", + "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": [ + 687 + ] + }, + "id": 688, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 558, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:3" + }, + { + "id": 559, + "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": 560, + "nodeType": "ImportDirective", + "scope": 688, + "sourceUnit": 1199, + "src": "59:55:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-doracle-base/contracts/iexec-poco-interfaces/IexecClerkInterface.sol", + "file": "./iexec-poco-interfaces/IexecClerkInterface.sol", + "id": 561, + "nodeType": "ImportDirective", + "scope": 688, + "sourceUnit": 970, + "src": "115:57:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 687, + "linearizedBaseContracts": [ + 687 + ], + "name": "IexecInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 564, + "name": "IEXEC_HUB_MAINNET", + "nodeType": "VariableDeclaration", + "scope": 687, + "src": "202:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 562, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "202:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307831333833633136633932376334413835333638346431613963363736393836663235453232313131", + "id": 563, + "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": 567, + "name": "IEXEC_HUB_ROPSTEN", + "nodeType": "VariableDeclaration", + "scope": 687, + "src": "284:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 565, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "284:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307844626533303634354541376432313663333144303966386335373336464537346465373734653633", + "id": 566, + "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": 570, + "name": "IEXEC_HUB_RINKEBY", + "nodeType": "VariableDeclaration", + "scope": 687, + "src": "366:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 568, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "366:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303030", + "id": 569, + "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": 573, + "name": "IEXEC_HUB_KOVAN", + "nodeType": "VariableDeclaration", + "scope": 687, + "src": "448:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 571, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "448:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307862333930316430344346363435373437623939444262653866326545396362343141383943654246", + "id": 572, + "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": 576, + "name": "IEXEC_HUB_GOERLI", + "nodeType": "VariableDeclaration", + "scope": 687, + "src": "530:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 574, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "530:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303030", + "id": 575, + "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": 578, + "name": "iexecHub", + "nodeType": "VariableDeclaration", + "scope": 687, + "src": "613:35:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + }, + "typeName": { + "contractScope": null, + "id": 577, + "name": "IexecHubInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1198, + "src": "613:17:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 580, + "name": "iexecClerk", + "nodeType": "VariableDeclaration", + "scope": 687, + "src": "651:37:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + }, + "typeName": { + "contractScope": null, + "id": 579, + "name": "IexecClerkInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 969, + "src": "651:19:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 676, + "nodeType": "Block", + "src": "736:763:3", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 586, + "name": "_iexecHubAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 582, + "src": "761:13:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 585, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "749:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 587, + "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": 588, + "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": 601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 598, + "name": "IEXEC_HUB_MAINNET", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 564, + "src": "861:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 597, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "849:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 599, + "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": 600, + "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": 613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 610, + "name": "IEXEC_HUB_ROPSTEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 567, + "src": "961:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 609, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "949:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 611, + "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": 612, + "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": 625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 622, + "name": "IEXEC_HUB_RINKEBY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 570, + "src": "1061:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 621, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "1049:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 623, + "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": 624, + "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": 637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 634, + "name": "IEXEC_HUB_KOVAN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 573, + "src": "1161:15:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 633, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "1149:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 635, + "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": 636, + "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": 649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 646, + "name": "IEXEC_HUB_GOERLI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "1261:16:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 645, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "1249:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 647, + "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": 648, + "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": 661, + "nodeType": "Block", + "src": "1385:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "696e76616c69642d6875622d61646472657373", + "id": 658, + "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": 657, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2051, + 2052 + ], + "referencedDeclaration": 2052, + "src": "1387:6:3", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1387:29:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 660, + "nodeType": "ExpressionStatement", + "src": "1387:29:3" + } + ] + }, + "id": 662, + "nodeType": "IfStatement", + "src": "1245:192:3", + "trueBody": { + "id": 656, + "nodeType": "Block", + "src": "1285:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 650, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "1287:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 652, + "name": "IEXEC_HUB_GOERLI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "1316:16:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 651, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1198, + "src": "1298:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1198_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 653, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1298:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "src": "1287:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "id": 655, + "nodeType": "ExpressionStatement", + "src": "1287:47:3" + } + ] + } + }, + "id": 663, + "nodeType": "IfStatement", + "src": "1145:292:3", + "trueBody": { + "id": 644, + "nodeType": "Block", + "src": "1185:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 638, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "1187:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 640, + "name": "IEXEC_HUB_KOVAN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 573, + "src": "1216:15:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 639, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1198, + "src": "1198:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1198_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1198:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "src": "1187:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "id": 643, + "nodeType": "ExpressionStatement", + "src": "1187:47:3" + } + ] + } + }, + "id": 664, + "nodeType": "IfStatement", + "src": "1045:392:3", + "trueBody": { + "id": 632, + "nodeType": "Block", + "src": "1085:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 626, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "1087:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 628, + "name": "IEXEC_HUB_RINKEBY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 570, + "src": "1116:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 627, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1198, + "src": "1098:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1198_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1098:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "src": "1087:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "id": 631, + "nodeType": "ExpressionStatement", + "src": "1087:47:3" + } + ] + } + }, + "id": 665, + "nodeType": "IfStatement", + "src": "945:492:3", + "trueBody": { + "id": 620, + "nodeType": "Block", + "src": "985:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 614, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "987:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 616, + "name": "IEXEC_HUB_ROPSTEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 567, + "src": "1016:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 615, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1198, + "src": "998:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1198_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "998:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "src": "987:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "id": 619, + "nodeType": "ExpressionStatement", + "src": "987:47:3" + } + ] + } + }, + "id": 666, + "nodeType": "IfStatement", + "src": "845:592:3", + "trueBody": { + "id": 608, + "nodeType": "Block", + "src": "885:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 602, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "887:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 604, + "name": "IEXEC_HUB_MAINNET", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 564, + "src": "916:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 603, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1198, + "src": "898:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1198_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 605, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "898:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "src": "887:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "id": 607, + "nodeType": "ExpressionStatement", + "src": "887:47:3" + } + ] + } + }, + "id": 667, + "nodeType": "IfStatement", + "src": "740:697:3", + "trueBody": { + "id": 596, + "nodeType": "Block", + "src": "785:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 590, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "787:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 592, + "name": "_iexecHubAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 582, + "src": "816:13:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 591, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1198, + "src": "798:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1198_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "798:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "src": "787:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "id": 595, + "nodeType": "ExpressionStatement", + "src": "787:47:3" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 668, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 580, + "src": "1440:10:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 670, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "1473:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "id": 671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "iexecclerk", + "nodeType": "MemberAccess", + "referencedDeclaration": 984, + "src": "1473:19:3", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1473:21:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 669, + "name": "IexecClerkInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 969, + "src": "1453:19:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecClerkInterface_$969_$", + "typeString": "type(contract IexecClerkInterface)" + } + }, + "id": 673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1453:42:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + } + }, + "src": "1440:55:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 675, + "nodeType": "ExpressionStatement", + "src": "1440:55:3" + } + ] + }, + "documentation": null, + "id": 677, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 583, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 582, + "name": "_iexecHubAddr", + "nodeType": "VariableDeclaration", + "scope": 677, + "src": "704:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 581, + "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": 584, + "nodeType": "ParameterList", + "parameters": [], + "src": "736:0:3" + }, + "scope": 687, + "src": "692:807:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 685, + "nodeType": "Block", + "src": "1575:47:3", + "statements": [ + { + "externalReferences": [ + { + "_size": { + "declaration": 682, + "isOffset": false, + "isSlot": false, + "src": "1590:5:3", + "valueSize": 1 + } + }, + { + "_addr": { + "declaration": 679, + "isOffset": false, + "isSlot": false, + "src": "1611:5:3", + "valueSize": 1 + } + } + ], + "id": 684, + "nodeType": "InlineAssembly", + "operations": "{\n _size := extcodesize(_addr)\n}", + "src": "1579:40:3" + } + ] + }, + "documentation": null, + "id": 686, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getCodeSize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 680, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 679, + "name": "_addr", + "nodeType": "VariableDeclaration", + "scope": 686, + "src": "1523:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 678, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1523:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1522:15:3" + }, + "returnParameters": { + "id": 683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 682, + "name": "_size", + "nodeType": "VariableDeclaration", + "scope": 686, + "src": "1562:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 681, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1562:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1561:12:3" + }, + "scope": 687, + "src": "1502:120:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 688, + "src": "175:1449:3" + } + ], + "src": "0:1625:3" + }, + "legacyAST": { + "absolutePath": "iexec-doracle-base/contracts/IexecInterface.sol", + "exportedSymbols": { + "IexecInterface": [ + 687 + ] + }, + "id": 688, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 558, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:3" + }, + { + "id": 559, + "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": 560, + "nodeType": "ImportDirective", + "scope": 688, + "sourceUnit": 1199, + "src": "59:55:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-doracle-base/contracts/iexec-poco-interfaces/IexecClerkInterface.sol", + "file": "./iexec-poco-interfaces/IexecClerkInterface.sol", + "id": 561, + "nodeType": "ImportDirective", + "scope": 688, + "sourceUnit": 970, + "src": "115:57:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 687, + "linearizedBaseContracts": [ + 687 + ], + "name": "IexecInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 564, + "name": "IEXEC_HUB_MAINNET", + "nodeType": "VariableDeclaration", + "scope": 687, + "src": "202:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 562, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "202:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307831333833633136633932376334413835333638346431613963363736393836663235453232313131", + "id": 563, + "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": 567, + "name": "IEXEC_HUB_ROPSTEN", + "nodeType": "VariableDeclaration", + "scope": 687, + "src": "284:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 565, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "284:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307844626533303634354541376432313663333144303966386335373336464537346465373734653633", + "id": 566, + "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": 570, + "name": "IEXEC_HUB_RINKEBY", + "nodeType": "VariableDeclaration", + "scope": 687, + "src": "366:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 568, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "366:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303030", + "id": 569, + "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": 573, + "name": "IEXEC_HUB_KOVAN", + "nodeType": "VariableDeclaration", + "scope": 687, + "src": "448:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 571, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "448:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307862333930316430344346363435373437623939444262653866326545396362343141383943654246", + "id": 572, + "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": 576, + "name": "IEXEC_HUB_GOERLI", + "nodeType": "VariableDeclaration", + "scope": 687, + "src": "530:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 574, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "530:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303030", + "id": 575, + "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": 578, + "name": "iexecHub", + "nodeType": "VariableDeclaration", + "scope": 687, + "src": "613:35:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + }, + "typeName": { + "contractScope": null, + "id": 577, + "name": "IexecHubInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1198, + "src": "613:17:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 580, + "name": "iexecClerk", + "nodeType": "VariableDeclaration", + "scope": 687, + "src": "651:37:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + }, + "typeName": { + "contractScope": null, + "id": 579, + "name": "IexecClerkInterface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 969, + "src": "651:19:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 676, + "nodeType": "Block", + "src": "736:763:3", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 586, + "name": "_iexecHubAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 582, + "src": "761:13:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 585, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "749:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 587, + "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": 588, + "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": 601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 598, + "name": "IEXEC_HUB_MAINNET", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 564, + "src": "861:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 597, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "849:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 599, + "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": 600, + "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": 613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 610, + "name": "IEXEC_HUB_ROPSTEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 567, + "src": "961:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 609, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "949:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 611, + "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": 612, + "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": 625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 622, + "name": "IEXEC_HUB_RINKEBY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 570, + "src": "1061:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 621, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "1049:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 623, + "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": 624, + "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": 637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 634, + "name": "IEXEC_HUB_KOVAN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 573, + "src": "1161:15:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 633, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "1149:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 635, + "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": 636, + "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": 649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 646, + "name": "IEXEC_HUB_GOERLI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "1261:16:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 645, + "name": "getCodeSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 686, + "src": "1249:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 647, + "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": 648, + "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": 661, + "nodeType": "Block", + "src": "1385:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "696e76616c69642d6875622d61646472657373", + "id": 658, + "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": 657, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2051, + 2052 + ], + "referencedDeclaration": 2052, + "src": "1387:6:3", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1387:29:3", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 660, + "nodeType": "ExpressionStatement", + "src": "1387:29:3" + } + ] + }, + "id": 662, + "nodeType": "IfStatement", + "src": "1245:192:3", + "trueBody": { + "id": 656, + "nodeType": "Block", + "src": "1285:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 650, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "1287:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 652, + "name": "IEXEC_HUB_GOERLI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "1316:16:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 651, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1198, + "src": "1298:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1198_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 653, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1298:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "src": "1287:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "id": 655, + "nodeType": "ExpressionStatement", + "src": "1287:47:3" + } + ] + } + }, + "id": 663, + "nodeType": "IfStatement", + "src": "1145:292:3", + "trueBody": { + "id": 644, + "nodeType": "Block", + "src": "1185:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 638, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "1187:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 640, + "name": "IEXEC_HUB_KOVAN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 573, + "src": "1216:15:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 639, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1198, + "src": "1198:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1198_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1198:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "src": "1187:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "id": 643, + "nodeType": "ExpressionStatement", + "src": "1187:47:3" + } + ] + } + }, + "id": 664, + "nodeType": "IfStatement", + "src": "1045:392:3", + "trueBody": { + "id": 632, + "nodeType": "Block", + "src": "1085:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 626, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "1087:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 628, + "name": "IEXEC_HUB_RINKEBY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 570, + "src": "1116:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 627, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1198, + "src": "1098:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1198_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1098:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "src": "1087:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "id": 631, + "nodeType": "ExpressionStatement", + "src": "1087:47:3" + } + ] + } + }, + "id": 665, + "nodeType": "IfStatement", + "src": "945:492:3", + "trueBody": { + "id": 620, + "nodeType": "Block", + "src": "985:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 614, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "987:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 616, + "name": "IEXEC_HUB_ROPSTEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 567, + "src": "1016:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 615, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1198, + "src": "998:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1198_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "998:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "src": "987:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "id": 619, + "nodeType": "ExpressionStatement", + "src": "987:47:3" + } + ] + } + }, + "id": 666, + "nodeType": "IfStatement", + "src": "845:592:3", + "trueBody": { + "id": 608, + "nodeType": "Block", + "src": "885:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 602, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "887:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 604, + "name": "IEXEC_HUB_MAINNET", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 564, + "src": "916:17:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 603, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1198, + "src": "898:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1198_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 605, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "898:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "src": "887:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "id": 607, + "nodeType": "ExpressionStatement", + "src": "887:47:3" + } + ] + } + }, + "id": 667, + "nodeType": "IfStatement", + "src": "740:697:3", + "trueBody": { + "id": 596, + "nodeType": "Block", + "src": "785:52:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 590, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "787:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 592, + "name": "_iexecHubAddr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 582, + "src": "816:13:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 591, + "name": "IexecHubInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1198, + "src": "798:17:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecHubInterface_$1198_$", + "typeString": "type(contract IexecHubInterface)" + } + }, + "id": 593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "798:36:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "src": "787:47:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "id": 595, + "nodeType": "ExpressionStatement", + "src": "787:47:3" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 668, + "name": "iexecClerk", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 580, + "src": "1440:10:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 670, + "name": "iexecHub", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 578, + "src": "1473:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecHubInterface_$1198", + "typeString": "contract IexecHubInterface" + } + }, + "id": 671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "iexecclerk", + "nodeType": "MemberAccess", + "referencedDeclaration": 984, + "src": "1473:19:3", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1473:21:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 669, + "name": "IexecClerkInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 969, + "src": "1453:19:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IexecClerkInterface_$969_$", + "typeString": "type(contract IexecClerkInterface)" + } + }, + "id": 673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1453:42:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + } + }, + "src": "1440:55:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IexecClerkInterface_$969", + "typeString": "contract IexecClerkInterface" + } + }, + "id": 675, + "nodeType": "ExpressionStatement", + "src": "1440:55:3" + } + ] + }, + "documentation": null, + "id": 677, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 583, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 582, + "name": "_iexecHubAddr", + "nodeType": "VariableDeclaration", + "scope": 677, + "src": "704:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 581, + "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": 584, + "nodeType": "ParameterList", + "parameters": [], + "src": "736:0:3" + }, + "scope": 687, + "src": "692:807:3", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 685, + "nodeType": "Block", + "src": "1575:47:3", + "statements": [ + { + "externalReferences": [ + { + "_size": { + "declaration": 682, + "isOffset": false, + "isSlot": false, + "src": "1590:5:3", + "valueSize": 1 + } + }, + { + "_addr": { + "declaration": 679, + "isOffset": false, + "isSlot": false, + "src": "1611:5:3", + "valueSize": 1 + } + } + ], + "id": 684, + "nodeType": "InlineAssembly", + "operations": "{\n _size := extcodesize(_addr)\n}", + "src": "1579:40:3" + } + ] + }, + "documentation": null, + "id": 686, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getCodeSize", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 680, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 679, + "name": "_addr", + "nodeType": "VariableDeclaration", + "scope": 686, + "src": "1523:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 678, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1523:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1522:15:3" + }, + "returnParameters": { + "id": 683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 682, + "name": "_size", + "nodeType": "VariableDeclaration", + "scope": 686, + "src": "1562:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 681, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1562:4:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1561:12:3" + }, + "scope": 687, + "src": "1502:120:3", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 688, + "src": "175:1449:3" + } + ], + "src": "0:1625:3" + }, + "compiler": { + "name": "solc", + "version": "0.5.8+commit.23d335f2.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.11", + "updatedAt": "2019-10-19T10:48:51.084Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/anemometer-oracle/smart-contract/build/contracts/IexecODBLibCore.json b/anemometer-oracle/smart-contract/build/contracts/IexecODBLibCore.json new file mode 100644 index 00000000..8016d150 --- /dev/null +++ b/anemometer-oracle/smart-contract/build/contracts/IexecODBLibCore.json @@ -0,0 +1,2516 @@ +{ + "contractName": "IexecODBLibCore", + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.5.8+commit.23d335f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"iexec-poco/contracts/libs/IexecODBLibCore.sol\":\"IexecODBLibCore\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-poco/contracts/libs/IexecODBLibCore.sol\":{\"keccak256\":\"0x3e1a247b137866fe9b7272fc9ea189cf83f8f8a3ad439bbdef1c770f67349b7a\",\"urls\":[\"bzzr://788a11e860998e576e89358eb050b74debca9ab2e46e292abb34753f4abfad60\"]}},\"version\":1}", + "bytecode": "0x604c6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582097918ac388e96af2fc34dc8978caabce727ab8dfdd85f1527e812a4b665700360029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582097918ac388e96af2fc34dc8978caabce727ab8dfdd85f1527e812a4b665700360029", + "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": [ + 1443 + ] + }, + "id": 1444, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1344, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:7" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 1443, + "linearizedBaseContracts": [ + 1443 + ], + "name": "IexecODBLibCore", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "IexecODBLibCore.Account", + "id": 1349, + "members": [ + { + "constant": false, + "id": 1346, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 1349, + "src": "90:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1345, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "90:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1348, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 1349, + "src": "107:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1347, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "107:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Account", + "nodeType": "StructDefinition", + "scope": 1443, + "src": "70:55:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.Category", + "id": 1356, + "members": [ + { + "constant": false, + "id": 1351, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1356, + "src": "148:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1350, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "148:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1353, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 1356, + "src": "164:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1352, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "164:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1355, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1356, + "src": "187:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1354, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "187:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Category", + "nodeType": "StructDefinition", + "scope": 1443, + "src": "127:88:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.Resource", + "id": 1363, + "members": [ + { + "constant": false, + "id": 1358, + "name": "pointer", + "nodeType": "VariableDeclaration", + "scope": 1363, + "src": "267:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1357, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "267:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1360, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1363, + "src": "286:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1359, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "286:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1362, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 1363, + "src": "303:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1361, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "303:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Resource", + "nodeType": "StructDefinition", + "scope": 1443, + "src": "246:74:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.Deal", + "id": 1394, + "members": [ + { + "constant": false, + "id": 1365, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "355:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + }, + "typeName": { + "contractScope": null, + "id": 1364, + "name": "Resource", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1363, + "src": "355:8:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1367, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "371:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + }, + "typeName": { + "contractScope": null, + "id": 1366, + "name": "Resource", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1363, + "src": "371:8:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1369, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "391:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + }, + "typeName": { + "contractScope": null, + "id": 1368, + "name": "Resource", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1363, + "src": "391:8:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1371, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "414:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1370, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "414:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1373, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "431:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1372, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "431:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1375, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "451:11:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1374, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "451:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1377, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "489:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1376, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "489:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1379, + "name": "beneficiary", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "510:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1378, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "510:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1381, + "name": "callback", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "533:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1380, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "533:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1383, + "name": "params", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "553:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1382, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "553:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1385, + "name": "startTime", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "595:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1384, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "595:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1387, + "name": "botFirst", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "616:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1386, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "616:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1389, + "name": "botSize", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "636:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "636:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1391, + "name": "workerStake", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "672:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1390, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "672:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1393, + "name": "schedulerRewardRatio", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "695:28:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1392, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "695:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Deal", + "nodeType": "StructDefinition", + "scope": 1443, + "src": "322:405:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.TaskStatusEnum", + "id": 1400, + "members": [ + { + "id": 1395, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "812:5:7" + }, + { + "id": 1396, + "name": "ACTIVE", + "nodeType": "EnumValue", + "src": "877:6:7" + }, + { + "id": 1397, + "name": "REVEALING", + "nodeType": "EnumValue", + "src": "930:9:7" + }, + { + "id": 1398, + "name": "COMPLETED", + "nodeType": "EnumValue", + "src": "972:9:7" + }, + { + "id": 1399, + "name": "FAILLED", + "nodeType": "EnumValue", + "src": "1007:7:7" + } + ], + "name": "TaskStatusEnum", + "nodeType": "EnumDefinition", + "src": "787:254:7" + }, + { + "canonicalName": "IexecODBLibCore.Task", + "id": 1428, + "members": [ + { + "constant": false, + "id": 1402, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1060:21:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1400", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 1401, + "name": "TaskStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1400, + "src": "1060:14:7", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1400", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1404, + "name": "dealid", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1085:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1403, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1085:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1406, + "name": "idx", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1105:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1405, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1105:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1408, + "name": "timeref", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1122:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1407, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1122:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1410, + "name": "contributionDeadline", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1143:30:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1409, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1143:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1412, + "name": "revealDeadline", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1177:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1411, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1177:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1414, + "name": "finalDeadline", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1205:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1413, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1205:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1416, + "name": "consensusValue", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1232:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1415, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1232:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1418, + "name": "revealCounter", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1260:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1417, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1260:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1420, + "name": "winnerCounter", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1287:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1419, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1287:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1423, + "name": "contributors", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1314:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1421, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1314:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1422, + "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": 1425, + "name": "resultDigest", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1340:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1424, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1340:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1427, + "name": "results", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1366:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1426, + "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": 1443, + "src": "1043:344:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.ContributionStatusEnum", + "id": 1433, + "members": [ + { + "id": 1429, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "1447:5:7" + }, + { + "id": 1430, + "name": "CONTRIBUTED", + "nodeType": "EnumValue", + "src": "1456:11:7" + }, + { + "id": 1431, + "name": "PROVED", + "nodeType": "EnumValue", + "src": "1471:6:7" + }, + { + "id": 1432, + "name": "REJECTED", + "nodeType": "EnumValue", + "src": "1481:8:7" + } + ], + "name": "ContributionStatusEnum", + "nodeType": "EnumDefinition", + "src": "1414:78:7" + }, + { + "canonicalName": "IexecODBLibCore.Contribution", + "id": 1442, + "members": [ + { + "constant": false, + "id": 1435, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 1442, + "src": "1519:29:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$1433", + "typeString": "enum IexecODBLibCore.ContributionStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 1434, + "name": "ContributionStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1433, + "src": "1519:22:7", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$1433", + "typeString": "enum IexecODBLibCore.ContributionStatusEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1437, + "name": "resultHash", + "nodeType": "VariableDeclaration", + "scope": 1442, + "src": "1552:18:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1436, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1552:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1439, + "name": "resultSeal", + "nodeType": "VariableDeclaration", + "scope": 1442, + "src": "1574:18:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1438, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1574:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1441, + "name": "enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 1442, + "src": "1596:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1440, + "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": 1443, + "src": "1494:130:7", + "visibility": "public" + } + ], + "scope": 1444, + "src": "25:1602:7" + } + ], + "src": "0:1628:7" + }, + "legacyAST": { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibCore.sol", + "exportedSymbols": { + "IexecODBLibCore": [ + 1443 + ] + }, + "id": 1444, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1344, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:7" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 1443, + "linearizedBaseContracts": [ + 1443 + ], + "name": "IexecODBLibCore", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "IexecODBLibCore.Account", + "id": 1349, + "members": [ + { + "constant": false, + "id": 1346, + "name": "stake", + "nodeType": "VariableDeclaration", + "scope": 1349, + "src": "90:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1345, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "90:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1348, + "name": "locked", + "nodeType": "VariableDeclaration", + "scope": 1349, + "src": "107:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1347, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "107:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Account", + "nodeType": "StructDefinition", + "scope": 1443, + "src": "70:55:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.Category", + "id": 1356, + "members": [ + { + "constant": false, + "id": 1351, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1356, + "src": "148:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1350, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "148:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1353, + "name": "description", + "nodeType": "VariableDeclaration", + "scope": 1356, + "src": "164:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1352, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "164:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1355, + "name": "workClockTimeRef", + "nodeType": "VariableDeclaration", + "scope": 1356, + "src": "187:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1354, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "187:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Category", + "nodeType": "StructDefinition", + "scope": 1443, + "src": "127:88:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.Resource", + "id": 1363, + "members": [ + { + "constant": false, + "id": 1358, + "name": "pointer", + "nodeType": "VariableDeclaration", + "scope": 1363, + "src": "267:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1357, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "267:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1360, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 1363, + "src": "286:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1359, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "286:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1362, + "name": "price", + "nodeType": "VariableDeclaration", + "scope": 1363, + "src": "303:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1361, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "303:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Resource", + "nodeType": "StructDefinition", + "scope": 1443, + "src": "246:74:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.Deal", + "id": 1394, + "members": [ + { + "constant": false, + "id": 1365, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "355:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + }, + "typeName": { + "contractScope": null, + "id": 1364, + "name": "Resource", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1363, + "src": "355:8:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1367, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "371:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + }, + "typeName": { + "contractScope": null, + "id": 1366, + "name": "Resource", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1363, + "src": "371:8:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1369, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "391:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + }, + "typeName": { + "contractScope": null, + "id": 1368, + "name": "Resource", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1363, + "src": "391:8:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Resource_$1363_storage_ptr", + "typeString": "struct IexecODBLibCore.Resource" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1371, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "414:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1370, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "414:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1373, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "431:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1372, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "431:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1375, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "451:11:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1374, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "451:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1377, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "489:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1376, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "489:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1379, + "name": "beneficiary", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "510:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1378, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "510:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1381, + "name": "callback", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "533:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1380, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "533:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1383, + "name": "params", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "553:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1382, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "553:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1385, + "name": "startTime", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "595:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1384, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "595:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1387, + "name": "botFirst", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "616:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1386, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "616:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1389, + "name": "botSize", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "636:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "636:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1391, + "name": "workerStake", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "672:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1390, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "672:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1393, + "name": "schedulerRewardRatio", + "nodeType": "VariableDeclaration", + "scope": 1394, + "src": "695:28:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1392, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "695:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Deal", + "nodeType": "StructDefinition", + "scope": 1443, + "src": "322:405:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.TaskStatusEnum", + "id": 1400, + "members": [ + { + "id": 1395, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "812:5:7" + }, + { + "id": 1396, + "name": "ACTIVE", + "nodeType": "EnumValue", + "src": "877:6:7" + }, + { + "id": 1397, + "name": "REVEALING", + "nodeType": "EnumValue", + "src": "930:9:7" + }, + { + "id": 1398, + "name": "COMPLETED", + "nodeType": "EnumValue", + "src": "972:9:7" + }, + { + "id": 1399, + "name": "FAILLED", + "nodeType": "EnumValue", + "src": "1007:7:7" + } + ], + "name": "TaskStatusEnum", + "nodeType": "EnumDefinition", + "src": "787:254:7" + }, + { + "canonicalName": "IexecODBLibCore.Task", + "id": 1428, + "members": [ + { + "constant": false, + "id": 1402, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1060:21:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1400", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 1401, + "name": "TaskStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1400, + "src": "1060:14:7", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatusEnum_$1400", + "typeString": "enum IexecODBLibCore.TaskStatusEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1404, + "name": "dealid", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1085:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1403, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1085:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1406, + "name": "idx", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1105:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1405, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1105:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1408, + "name": "timeref", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1122:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1407, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1122:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1410, + "name": "contributionDeadline", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1143:30:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1409, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1143:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1412, + "name": "revealDeadline", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1177:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1411, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1177:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1414, + "name": "finalDeadline", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1205:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1413, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1205:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1416, + "name": "consensusValue", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1232:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1415, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1232:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1418, + "name": "revealCounter", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1260:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1417, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1260:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1420, + "name": "winnerCounter", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1287:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1419, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1287:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1423, + "name": "contributors", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1314:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1421, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1314:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1422, + "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": 1425, + "name": "resultDigest", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1340:22:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1424, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1340:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1427, + "name": "results", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "1366:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1426, + "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": 1443, + "src": "1043:344:7", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibCore.ContributionStatusEnum", + "id": 1433, + "members": [ + { + "id": 1429, + "name": "UNSET", + "nodeType": "EnumValue", + "src": "1447:5:7" + }, + { + "id": 1430, + "name": "CONTRIBUTED", + "nodeType": "EnumValue", + "src": "1456:11:7" + }, + { + "id": 1431, + "name": "PROVED", + "nodeType": "EnumValue", + "src": "1471:6:7" + }, + { + "id": 1432, + "name": "REJECTED", + "nodeType": "EnumValue", + "src": "1481:8:7" + } + ], + "name": "ContributionStatusEnum", + "nodeType": "EnumDefinition", + "src": "1414:78:7" + }, + { + "canonicalName": "IexecODBLibCore.Contribution", + "id": 1442, + "members": [ + { + "constant": false, + "id": 1435, + "name": "status", + "nodeType": "VariableDeclaration", + "scope": 1442, + "src": "1519:29:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$1433", + "typeString": "enum IexecODBLibCore.ContributionStatusEnum" + }, + "typeName": { + "contractScope": null, + "id": 1434, + "name": "ContributionStatusEnum", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1433, + "src": "1519:22:7", + "typeDescriptions": { + "typeIdentifier": "t_enum$_ContributionStatusEnum_$1433", + "typeString": "enum IexecODBLibCore.ContributionStatusEnum" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1437, + "name": "resultHash", + "nodeType": "VariableDeclaration", + "scope": 1442, + "src": "1552:18:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1436, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1552:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1439, + "name": "resultSeal", + "nodeType": "VariableDeclaration", + "scope": 1442, + "src": "1574:18:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1438, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1574:7:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1441, + "name": "enclaveChallenge", + "nodeType": "VariableDeclaration", + "scope": 1442, + "src": "1596:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1440, + "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": 1443, + "src": "1494:130:7", + "visibility": "public" + } + ], + "scope": 1444, + "src": "25:1602:7" + } + ], + "src": "0:1628:7" + }, + "compiler": { + "name": "solc", + "version": "0.5.8+commit.23d335f2.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.11", + "updatedAt": "2019-10-19T10:48:51.127Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/anemometer-oracle/smart-contract/build/contracts/IexecODBLibOrders.json b/anemometer-oracle/smart-contract/build/contracts/IexecODBLibOrders.json new file mode 100644 index 00000000..1c0a7380 --- /dev/null +++ b/anemometer-oracle/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.8+commit.23d335f2\"},\"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\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-poco/contracts/libs/IexecODBLibOrders.sol\":{\"keccak256\":\"0xceb5c2483f92c7bbed29ac473f92371d04830f0c40bd734d01d26eef09e88f4f\",\"urls\":[\"bzzr://054a5f4728d0d5e774bb974181d4d97f98f23f8f2cf695f18723c79e8401b8a0\"]}},\"version\":1}", + "bytecode": "0x610f27610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100b35760003560e01c806358b505861161007b57806358b505861461019657806365db1dbb146101c65780636f84d2da146101e45780639a6f72ee14610202578063c49f91d314610220578063eca34ccf1461023e576100b3565b806304951329146100b85780630813424e146100e8578063176eaa4914610118578063207dbbfe146101485780632bd4c73414610166575b600080fd5b6100d260048036036100cd9190810190610bbc565b61026e565b6040516100df9190610d9e565b60405180910390f35b61010260048036036100fd9190810190610c7f565b6102b9565b60405161010f9190610d9e565b60405180910390f35b610132600480360361012d9190810190610b80565b61032b565b60405161013f9190610d9e565b60405180910390f35b61015061035e565b60405161015d9190610d9e565b60405180910390f35b610180600480360361017b9190810190610bfd565b610385565b60405161018d9190610d9e565b60405180910390f35b6101b060048036036101ab9190810190610cc0565b6103d0565b6040516101bd9190610d9e565b60405180910390f35b6101ce61041b565b6040516101db9190610d9e565b60405180910390f35b6101ec610442565b6040516101f99190610d9e565b60405180910390f35b61020a610469565b6040516102179190610d9e565b60405180910390f35b610228610490565b6040516102359190610d9e565b60405180910390f35b61025860048036036102539190810190610c3e565b6104b7565b6040516102659190610d9e565b60405180910390f35b6000807f60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d00860001b90506020830351816020850352610120602085032092508060208503525050919050565b6000807ff24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae060001b90506000836101a0015180519060200120905060208403516101a0850151836020870352826101a087015261020060208703209450816020870352806101a087015250505050919050565b60008183604051602001610340929190610d67565b60405160208183030381529060405280519060200120905092915050565b7f60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d00860001b81565b6000807f6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c60001b90506020830351816020850352610120602085032092508060208503525050919050565b6000807faa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb60001b90506020830351816020850352610160602085032092508060208503525050919050565b7faa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb60001b81565b7f6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c60001b81565b7ff24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae060001b81565b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b81565b6000807f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b9050600083600001518051906020012090506000846020015180519060200120905060208503516000860151602087015185602089035284600089015283602089015260a060208903209650826020890352816000890152806020890152505050505050919050565b60008135905061055681610ea8565b92915050565b60008135905061056b81610ebf565b92915050565b600082601f83011261058257600080fd5b813561059561059082610de6565b610db9565b915080825260208301602083018583830111156105b157600080fd5b6105bc838284610e8f565b50505092915050565b600082601f8301126105d657600080fd5b81356105e96105e482610e12565b610db9565b9150808252602083016020830185838301111561060557600080fd5b610610838284610e8f565b50505092915050565b6000610120828403121561062c57600080fd5b610637610120610db9565b9050600061064784828501610547565b600083015250602061065b84828501610b6b565b602083015250604061066f84828501610b6b565b60408301525060606106838482850161055c565b606083015250608061069784828501610547565b60808301525060a06106ab84828501610547565b60a08301525060c06106bf84828501610547565b60c08301525060e06106d38482850161055c565b60e08301525061010082013567ffffffffffffffff8111156106f457600080fd5b61070084828501610571565b6101008301525092915050565b6000610120828403121561072057600080fd5b61072b610120610db9565b9050600061073b84828501610547565b600083015250602061074f84828501610b6b565b602083015250604061076384828501610b6b565b60408301525060606107778482850161055c565b606083015250608061078b84828501610547565b60808301525060a061079f84828501610547565b60a08301525060c06107b384828501610547565b60c08301525060e06107c78482850161055c565b60e08301525061010082013567ffffffffffffffff8111156107e857600080fd5b6107f484828501610571565b6101008301525092915050565b60006080828403121561081357600080fd5b61081d6080610db9565b9050600082013567ffffffffffffffff81111561083957600080fd5b610845848285016105c5565b600083015250602082013567ffffffffffffffff81111561086557600080fd5b610871848285016105c5565b602083015250604061088584828501610b6b565b604083015250606061089984828501610547565b60608301525092915050565b600061020082840312156108b857600080fd5b6108c3610200610db9565b905060006108d384828501610547565b60008301525060206108e784828501610b6b565b60208301525060406108fb84828501610547565b604083015250606061090f84828501610b6b565b606083015250608061092384828501610547565b60808301525060a061093784828501610b6b565b60a08301525060c061094b84828501610547565b60c08301525060e061095f84828501610b6b565b60e0830152506101006109748482850161055c565b6101008301525061012061098a84828501610b6b565b610120830152506101406109a084828501610b6b565b610140830152506101606109b684828501610547565b610160830152506101806109cc84828501610547565b610180830152506101a082013567ffffffffffffffff8111156109ee57600080fd5b6109fa848285016105c5565b6101a0830152506101c0610a108482850161055c565b6101c0830152506101e082013567ffffffffffffffff811115610a3257600080fd5b610a3e84828501610571565b6101e08301525092915050565b60006101608284031215610a5e57600080fd5b610a69610160610db9565b90506000610a7984828501610547565b6000830152506020610a8d84828501610b6b565b6020830152506040610aa184828501610b6b565b6040830152506060610ab58482850161055c565b6060830152506080610ac984828501610b6b565b60808301525060a0610add84828501610b6b565b60a08301525060c0610af184828501610547565b60c08301525060e0610b0584828501610547565b60e083015250610100610b1a84828501610547565b61010083015250610120610b308482850161055c565b6101208301525061014082013567ffffffffffffffff811115610b5257600080fd5b610b5e84828501610571565b6101408301525092915050565b600081359050610b7a81610ed6565b92915050565b60008060408385031215610b9357600080fd5b6000610ba18582860161055c565b9250506020610bb28582860161055c565b9150509250929050565b600060208284031215610bce57600080fd5b600082013567ffffffffffffffff811115610be857600080fd5b610bf484828501610619565b91505092915050565b600060208284031215610c0f57600080fd5b600082013567ffffffffffffffff811115610c2957600080fd5b610c358482850161070d565b91505092915050565b600060208284031215610c5057600080fd5b600082013567ffffffffffffffff811115610c6a57600080fd5b610c7684828501610801565b91505092915050565b600060208284031215610c9157600080fd5b600082013567ffffffffffffffff811115610cab57600080fd5b610cb7848285016108a5565b91505092915050565b600060208284031215610cd257600080fd5b600082013567ffffffffffffffff811115610cec57600080fd5b610cf884828501610a4b565b91505092915050565b610d0a81610e5b565b82525050565b610d21610d1c82610e5b565b610e9e565b82525050565b6000610d34600283610e3e565b91507f19010000000000000000000000000000000000000000000000000000000000006000830152600282019050919050565b6000610d7282610d27565b9150610d7e8285610d10565b602082019150610d8e8284610d10565b6020820191508190509392505050565b6000602082019050610db36000830184610d01565b92915050565b6000604051905081810181811067ffffffffffffffff82111715610ddc57600080fd5b8060405250919050565b600067ffffffffffffffff821115610dfd57600080fd5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff821115610e2957600080fd5b601f19601f8301169050602081019050919050565b600081905092915050565b6000610e5482610e65565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b6000819050919050565b610eb181610e49565b8114610ebc57600080fd5b50565b610ec881610e5b565b8114610ed357600080fd5b50565b610edf81610e85565b8114610eea57600080fd5b5056fea265627a7a72305820b29190ce2a5a0f00ceb930c71819c4af43431c57fbd826f98d365cf85b39555e6c6578706572696d656e74616cf50037", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100b35760003560e01c806358b505861161007b57806358b505861461019657806365db1dbb146101c65780636f84d2da146101e45780639a6f72ee14610202578063c49f91d314610220578063eca34ccf1461023e576100b3565b806304951329146100b85780630813424e146100e8578063176eaa4914610118578063207dbbfe146101485780632bd4c73414610166575b600080fd5b6100d260048036036100cd9190810190610bbc565b61026e565b6040516100df9190610d9e565b60405180910390f35b61010260048036036100fd9190810190610c7f565b6102b9565b60405161010f9190610d9e565b60405180910390f35b610132600480360361012d9190810190610b80565b61032b565b60405161013f9190610d9e565b60405180910390f35b61015061035e565b60405161015d9190610d9e565b60405180910390f35b610180600480360361017b9190810190610bfd565b610385565b60405161018d9190610d9e565b60405180910390f35b6101b060048036036101ab9190810190610cc0565b6103d0565b6040516101bd9190610d9e565b60405180910390f35b6101ce61041b565b6040516101db9190610d9e565b60405180910390f35b6101ec610442565b6040516101f99190610d9e565b60405180910390f35b61020a610469565b6040516102179190610d9e565b60405180910390f35b610228610490565b6040516102359190610d9e565b60405180910390f35b61025860048036036102539190810190610c3e565b6104b7565b6040516102659190610d9e565b60405180910390f35b6000807f60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d00860001b90506020830351816020850352610120602085032092508060208503525050919050565b6000807ff24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae060001b90506000836101a0015180519060200120905060208403516101a0850151836020870352826101a087015261020060208703209450816020870352806101a087015250505050919050565b60008183604051602001610340929190610d67565b60405160208183030381529060405280519060200120905092915050565b7f60815a0eeec47dddf1615fe53b31d016c31444e01b9d796db365443a6445d00860001b81565b6000807f6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c60001b90506020830351816020850352610120602085032092508060208503525050919050565b6000807faa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb60001b90506020830351816020850352610160602085032092508060208503525050919050565b7faa3429fb281b34691803133d3d978a75bb77c617ed6bc9aa162b9b30920022bb60001b81565b7f6cfc932a5a3d22c4359295b9f433edff52b60703fa47690a04a83e40933dd47c60001b81565b7ff24e853034a3a450aba845a82914fbb564ad85accca6cf62be112a154520fae060001b81565b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b81565b6000807f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b9050600083600001518051906020012090506000846020015180519060200120905060208503516000860151602087015185602089035284600089015283602089015260a060208903209650826020890352816000890152806020890152505050505050919050565b60008135905061055681610ea8565b92915050565b60008135905061056b81610ebf565b92915050565b600082601f83011261058257600080fd5b813561059561059082610de6565b610db9565b915080825260208301602083018583830111156105b157600080fd5b6105bc838284610e8f565b50505092915050565b600082601f8301126105d657600080fd5b81356105e96105e482610e12565b610db9565b9150808252602083016020830185838301111561060557600080fd5b610610838284610e8f565b50505092915050565b6000610120828403121561062c57600080fd5b610637610120610db9565b9050600061064784828501610547565b600083015250602061065b84828501610b6b565b602083015250604061066f84828501610b6b565b60408301525060606106838482850161055c565b606083015250608061069784828501610547565b60808301525060a06106ab84828501610547565b60a08301525060c06106bf84828501610547565b60c08301525060e06106d38482850161055c565b60e08301525061010082013567ffffffffffffffff8111156106f457600080fd5b61070084828501610571565b6101008301525092915050565b6000610120828403121561072057600080fd5b61072b610120610db9565b9050600061073b84828501610547565b600083015250602061074f84828501610b6b565b602083015250604061076384828501610b6b565b60408301525060606107778482850161055c565b606083015250608061078b84828501610547565b60808301525060a061079f84828501610547565b60a08301525060c06107b384828501610547565b60c08301525060e06107c78482850161055c565b60e08301525061010082013567ffffffffffffffff8111156107e857600080fd5b6107f484828501610571565b6101008301525092915050565b60006080828403121561081357600080fd5b61081d6080610db9565b9050600082013567ffffffffffffffff81111561083957600080fd5b610845848285016105c5565b600083015250602082013567ffffffffffffffff81111561086557600080fd5b610871848285016105c5565b602083015250604061088584828501610b6b565b604083015250606061089984828501610547565b60608301525092915050565b600061020082840312156108b857600080fd5b6108c3610200610db9565b905060006108d384828501610547565b60008301525060206108e784828501610b6b565b60208301525060406108fb84828501610547565b604083015250606061090f84828501610b6b565b606083015250608061092384828501610547565b60808301525060a061093784828501610b6b565b60a08301525060c061094b84828501610547565b60c08301525060e061095f84828501610b6b565b60e0830152506101006109748482850161055c565b6101008301525061012061098a84828501610b6b565b610120830152506101406109a084828501610b6b565b610140830152506101606109b684828501610547565b610160830152506101806109cc84828501610547565b610180830152506101a082013567ffffffffffffffff8111156109ee57600080fd5b6109fa848285016105c5565b6101a0830152506101c0610a108482850161055c565b6101c0830152506101e082013567ffffffffffffffff811115610a3257600080fd5b610a3e84828501610571565b6101e08301525092915050565b60006101608284031215610a5e57600080fd5b610a69610160610db9565b90506000610a7984828501610547565b6000830152506020610a8d84828501610b6b565b6020830152506040610aa184828501610b6b565b6040830152506060610ab58482850161055c565b6060830152506080610ac984828501610b6b565b60808301525060a0610add84828501610b6b565b60a08301525060c0610af184828501610547565b60c08301525060e0610b0584828501610547565b60e083015250610100610b1a84828501610547565b61010083015250610120610b308482850161055c565b6101208301525061014082013567ffffffffffffffff811115610b5257600080fd5b610b5e84828501610571565b6101408301525092915050565b600081359050610b7a81610ed6565b92915050565b60008060408385031215610b9357600080fd5b6000610ba18582860161055c565b9250506020610bb28582860161055c565b9150509250929050565b600060208284031215610bce57600080fd5b600082013567ffffffffffffffff811115610be857600080fd5b610bf484828501610619565b91505092915050565b600060208284031215610c0f57600080fd5b600082013567ffffffffffffffff811115610c2957600080fd5b610c358482850161070d565b91505092915050565b600060208284031215610c5057600080fd5b600082013567ffffffffffffffff811115610c6a57600080fd5b610c7684828501610801565b91505092915050565b600060208284031215610c9157600080fd5b600082013567ffffffffffffffff811115610cab57600080fd5b610cb7848285016108a5565b91505092915050565b600060208284031215610cd257600080fd5b600082013567ffffffffffffffff811115610cec57600080fd5b610cf884828501610a4b565b91505092915050565b610d0a81610e5b565b82525050565b610d21610d1c82610e5b565b610e9e565b82525050565b6000610d34600283610e3e565b91507f19010000000000000000000000000000000000000000000000000000000000006000830152600282019050919050565b6000610d7282610d27565b9150610d7e8285610d10565b602082019150610d8e8284610d10565b6020820191508190509392505050565b6000602082019050610db36000830184610d01565b92915050565b6000604051905081810181811067ffffffffffffffff82111715610ddc57600080fd5b8060405250919050565b600067ffffffffffffffff821115610dfd57600080fd5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff821115610e2957600080fd5b601f19601f8301169050602081019050919050565b600081905092915050565b6000610e5482610e65565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b6000819050919050565b610eb181610e49565b8114610ebc57600080fd5b50565b610ec881610e5b565b8114610ed357600080fd5b50565b610edf81610e85565b8114610eea57600080fd5b5056fea265627a7a72305820b29190ce2a5a0f00ceb930c71819c4af43431c57fbd826f98d365cf85b39555e6c6578706572696d656e74616cf50037", + "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;4201:15;4574:16;1480:66;4593:17;;4574:36;;4690:4;4679:9;4675:20;4669:27;4765:8;4758:4;4747:9;4743:20;4736:38;4840:5;4833:4;4822:9;4818:20;4808:38;4797:49;;4918:5;4911:4;4900:9;4896:20;4889:35;4623:305;;;;;:::o;6795:1323::-;6866:19;7529:16;1840:66;7548:21;;7529:40;;7573:18;7610:13;:20;;;7594:38;;;;;;7573:59;;7716:5;7701:13;7697:25;7691:32;7765:5;7750:13;7746:25;7740:32;7846:8;7838:5;7823:13;7819:25;7812:43;7893:10;7885:5;7870:13;7866:25;7859:45;7978:5;7971:4;7956:13;7952:24;7942:42;7927:57;;8061:5;8053;8038:13;8034:25;8027:40;8105:5;8097;8082:13;8078:25;8071:40;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::-;5004:19;5421:16;1600:66;5440:21;;5421:40;;5545:4;5530:13;5526:24;5520:31;5624:8;5617:4;5602:13;5598:24;5591:42;5707:5;5700:4;5685:13;5681:24;5671:42;5656:57;;5789:5;5782:4;5767:13;5763:24;5756:39;5474:325;;;;;:::o;5804:989::-;5881:22;6394:16;1720:66;6413:24;;6394:43;;6524:4;6506:16;6502:27;6496:34;6606:8;6599:4;6581:16;6577:27;6570:45;6695:5;6688:4;6670:16;6666:27;6656:45;6638:63;;6780:5;6773:4;6755:16;6751:27;6744:42;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::-;3119:18;3416:16;1360:66;3438:21;;3416:43;;3463:16;3501:7;:12;;;3485:30;;;;;;3463:52;;3519:19;3557:7;:15;;;3541:33;;;;;;3519:55;;3652:4;3643:7;3639:18;3633:25;3694:4;3685:7;3681:18;3675:25;3736:4;3727:7;3723:18;3717:25;3812:8;3802:4;3793:7;3789:18;3782:39;3855:8;3845:4;3836:7;3832:18;3825:39;3895:11;3888:4;3879:7;3875:18;3868:39;3974:4;3967;3958:7;3954:18;3944:35;3930:49;;4049:5;4042:4;4033:7;4029:18;4022:33;4086:5;4079:4;4070:7;4066:18;4059:33;4123:5;4116:4;4107:7;4103:18;4096:33;3587:546;;;;;;;;;:::o;5:130:-1:-;;85:6;72:20;63:29;;97:33;124:5;97:33;;;57:78;;;;;142:130;;222:6;209:20;200:29;;234:33;261:5;234:33;;;194:78;;;;;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;;;;;;;;721:434;;819:3;812:4;804:6;800:17;796:27;786:2;;837:1;834;827:12;786:2;874:6;861:20;896:61;911:45;949:6;911:45;;;896:61;;;887:70;;977:6;970:5;963:21;1013:4;1005:6;1001:17;1046:4;1039:5;1035:16;1081:3;1072:6;1067:3;1063:16;1060:25;1057:2;;;1098:1;1095;1088:12;1057:2;1108:41;1142:6;1137:3;1132;1108:41;;;779:376;;;;;;;;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;;1425:1;1456:49;1501:3;1492:6;1481:9;1477:22;1456:49;;;1450:3;1443:5;1439:15;1432:74;1386:131;1571:2;1604:49;1649:3;1640:6;1629:9;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;;;;;2870:1624;;2989:5;2977:9;2972:3;2968:19;2964:31;2961:2;;;3008:1;3005;2998:12;2961:2;3026:21;3041:5;3026:21;;;3017:30;;3100:1;3131:49;3176:3;3167:6;3156:9;3152:22;3131:49;;;3125:3;3118:5;3114:15;3107:74;3057:135;3250:2;3283:49;3328:3;3319:6;3308:9;3304:22;3283:49;;;3276:4;3269:5;3265:16;3258:75;3202:142;3396:2;3429:49;3474:3;3465:6;3454:9;3450:22;3429:49;;;3422:4;3415:5;3411:16;3404:75;3354:136;3539:2;3572:49;3617:3;3608:6;3597:9;3593:22;3572:49;;;3565:4;3558:5;3554:16;3547:75;3500:133;3690:3;3724:49;3769:3;3760:6;3749:9;3745:22;3724:49;;;3717:4;3710:5;3706:16;3699:75;3643:142;3849:3;3883:49;3928:3;3919:6;3908:9;3904:22;3883:49;;;3876:4;3869:5;3865:16;3858:75;3795:149;4007:3;4041:49;4086:3;4077:6;4066:9;4062:22;4041:49;;;4034:4;4027:5;4023:16;4016:75;3954:148;4152:3;4186:49;4231:3;4222:6;4211:9;4207:22;4186:49;;;4179:4;4172:5;4168:16;4161:75;4112:135;4325:3;4314:9;4310:19;4297:33;4350:18;4342:6;4339:30;4336:2;;;4382:1;4379;4372:12;4336:2;4418:54;4468:3;4459:6;4448:9;4444:22;4418:54;;;4410:5;4403;4399:17;4392:81;4257:227;2955:1539;;;;;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;;4798:1;4787:9;4783:17;4770:31;4821:18;4813:6;4810:30;4807:2;;;4853:1;4850;4843:12;4807:2;4887:55;4938:3;4929:6;4918:9;4914:22;4887:55;;;4881:3;4874:5;4870:15;4863:80;4730:224;5035:2;5024:9;5020:18;5007:32;5059:18;5051:6;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;;5784:1;5815:49;5860:3;5851:6;5840:9;5836:22;5815:49;;;5809:3;5802:5;5798:15;5791:74;5745:131;5933:2;5966:49;6011:3;6002:6;5991:9;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;;8604:1;8635:49;8680:3;8671:6;8660:9;8656:22;8635:49;;;8629:3;8622:5;8618:15;8611:74;8558:138;8757:2;8790:49;8835:3;8826:6;8815:9;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;;;;;10302:130;;10382:6;10369:20;10360:29;;10394:33;10421:5;10394:33;;;10354:78;;;;;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;10664:6;10653:9;10649:22;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;11021:1;11010:9;11006:17;10993:31;11044:18;11036:6;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;;10972:209;10904:287;;;;;11198:387;;11332:2;11320:9;11311:7;11307:23;11303:32;11300:2;;;11348:1;11345;11338:12;11300:2;11411:1;11400:9;11396:17;11383:31;11434:18;11426:6;11423:30;11420:2;;;11466:1;11463;11456:12;11420:2;11486:83;11561:7;11552:6;11541:9;11537:22;11486:83;;;11476:93;;11362:213;11294:291;;;;;11592:387;;11726:2;11714:9;11705:7;11701:23;11697:32;11694:2;;;11742:1;11739;11732:12;11694:2;11805:1;11794:9;11790:17;11777:31;11828:18;11820:6;11817:30;11814:2;;;11860:1;11857;11850:12;11814:2;11880:83;11955:7;11946:6;11935:9;11931:22;11880:83;;;11870:93;;11756:213;11688:291;;;;;11986:387;;12120:2;12108:9;12099:7;12095:23;12091:32;12088:2;;;12136:1;12133;12126:12;12088:2;12199:1;12188:9;12184:17;12171:31;12222:18;12214:6;12211:30;12208:2;;;12254:1;12251;12244:12;12208:2;12274:83;12349:7;12340:6;12329:9;12325:22;12274:83;;;12264:93;;12150:213;12082:291;;;;;12380:393;;12517:2;12505:9;12496:7;12492:23;12488:32;12485:2;;;12533:1;12530;12523:12;12485:2;12596:1;12585:9;12581:17;12568:31;12619:18;12611:6;12608:30;12605:2;;;12651:1;12648;12641:12;12605:2;12671:86;12749:7;12740:6;12729:9;12725:22;12671:86;;;12661:96;;12547:216;12479:294;;;;;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;;;13004:3;12997:58;12991:69;;;13068:398;;13246:84;13328:1;13323:3;13246:84;;;13239:91;;13363:66;13359:1;13354:3;13350:11;13343:87;13458:1;13453:3;13449:11;13442:18;;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;;;14096:2;14091:3;14087:12;14080:19;;14116:3;14109:10;;13710:414;;;;;;14131:229;;14257:2;14246:9;14242:18;14234:26;;14271:79;14347:1;14336:9;14332:17;14323:6;14271:79;;;14228:132;;;;;14367:256;;14429:2;14423:9;14413:19;;14467:4;14459:6;14455:17;14566:6;14554:10;14551:22;14530:18;14518:10;14515:34;14512:62;14509:2;;;14587:1;14584;14577:12;14509:2;14607:10;14603:2;14596:22;14407:216;;;;;14630:254;;14769:18;14761:6;14758:30;14755:2;;;14801:1;14798;14791:12;14755:2;14845:4;14841:9;14834:4;14826:6;14822:17;14818:33;14810:41;;14874:4;14868;14864:15;14856:23;;14692:192;;;;14891:255;;15031:18;15023:6;15020:30;15017:2;;;15063:1;15060;15053:12;15017:2;15107:4;15103:9;15096:4;15088:6;15084:17;15080:33;15072:41;;15136:4;15130;15126:15;15118:23;;14954:192;;;;15154:145;;15290:3;15275:18;;15268:31;;;;;15307:91;;15369:24;15387:5;15369:24;;;15358:35;;15352:46;;;;15405:72;;15467:5;15456:16;;15450:27;;;;15484:121;;15557:42;15550:5;15546:54;15535:65;;15529:76;;;;15612:72;;15674:5;15663:16;;15657:27;;;;15692:145;15773:6;15768:3;15763;15750:30;15829:1;15820:6;15815:3;15811:16;15804:27;15743:94;;;;15845:74;;15909:5;15898:16;;15892:27;;;;15926:117;15995:24;16013:5;15995:24;;;15988:5;15985:35;15975:2;;16034:1;16031;16024:12;15975:2;15969:74;;16050:117;16119:24;16137:5;16119:24;;;16112:5;16109:35;16099:2;;16158:1;16155;16148:12;16099:2;16093:74;;16174:117;16243:24;16261:5;16243:24;;;16236:5;16233:35;16223:2;;16282:1;16279;16272:12;16223:2;16217:74;", + "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": [ + 1676 + ] + }, + "id": 1677, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1445, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:8" + }, + { + "id": 1446, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:8" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 1676, + "linearizedBaseContracts": [ + 1676 + ], + "name": "IexecODBLibOrders", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1449, + "name": "EIP712DOMAIN_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1676, + "src": "1309:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1447, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1309:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307838623733633363363962623866653364353132656363346366373539636337393233396637623137396230666661636161396137356435323262333934303066", + "id": 1448, + "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": 1452, + "name": "APPORDER_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1676, + "src": "1429:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1450, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1429:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307836303831356130656565633437646464663136313566653533623331643031366333313434346530316239643739366462333635343433613634343564303038", + "id": 1451, + "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": 1455, + "name": "DATASETORDER_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1676, + "src": "1549:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1453, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1549:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307836636663393332613561336432326334333539323935623966343333656466663532623630373033666134373639306130346138336534303933336464343763", + "id": 1454, + "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": 1458, + "name": "WORKERPOOLORDER_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1676, + "src": "1669:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1456, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1669:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307861613334323966623238316233343639313830333133336433643937386137356262373763363137656436626339616131363262396233303932303032326262", + "id": 1457, + "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": 1461, + "name": "REQUESTORDER_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1676, + "src": "1789:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1459, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1789:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307866323465383533303334613361343530616261383435613832393134666262353634616438356163636361366366363262653131326131353435323066616530", + "id": 1460, + "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": 1470, + "members": [ + { + "constant": false, + "id": 1463, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "1935:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1462, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1935:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1465, + "name": "version", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "1951:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1464, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1951:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1467, + "name": "chainId", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "1970:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1466, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1970:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1469, + "name": "verifyingContract", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "1989:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1468, + "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": 1676, + "src": "1910:108:8", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.AppOrder", + "id": 1489, + "members": [ + { + "constant": false, + "id": 1472, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2041:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1471, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2041:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1474, + "name": "appprice", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2056:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1473, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2056:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1476, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2076:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1475, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2076:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1478, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2094:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1477, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2094:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1480, + "name": "datasetrestrict", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2109:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1479, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2109:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1482, + "name": "workerpoolrestrict", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2136:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1481, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2136:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1484, + "name": "requesterrestrict", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2166:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1483, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2166:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1486, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2195:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1485, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2195:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1488, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2211:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1487, + "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": 1676, + "src": "2020:207:8", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.DatasetOrder", + "id": 1508, + "members": [ + { + "constant": false, + "id": 1491, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2254:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1490, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2254:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1493, + "name": "datasetprice", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2273:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1492, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2273:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1495, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2297:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2297:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1497, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2315:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1496, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2315:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1499, + "name": "apprestrict", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2330:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1498, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2330:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1501, + "name": "workerpoolrestrict", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2353:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1500, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2353:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1503, + "name": "requesterrestrict", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2383:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1502, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2383:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1505, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2412:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1504, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2412:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1507, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2428:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1506, + "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": 1676, + "src": "2229:215:8", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.WorkerpoolOrder", + "id": 1531, + "members": [ + { + "constant": false, + "id": 1510, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2474:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1509, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2474:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1512, + "name": "workerpoolprice", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2496:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1511, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2496:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1514, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2523:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1513, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2523:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1516, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2541:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1515, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2541:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1518, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2556:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1517, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2556:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1520, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2576:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1519, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2576:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1522, + "name": "apprestrict", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2593:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1521, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2593:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1524, + "name": "datasetrestrict", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2616:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1523, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2616:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1526, + "name": "requesterrestrict", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2643:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1525, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2643:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1528, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2672:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1527, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2672:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1530, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2688:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1529, + "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": 1676, + "src": "2446:258:8", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.RequestOrder", + "id": 1564, + "members": [ + { + "constant": false, + "id": 1533, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2731:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1532, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2731:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1535, + "name": "appmaxprice", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2746:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1534, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2746:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1537, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2769:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1536, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2769:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1539, + "name": "datasetmaxprice", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2788:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1538, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2788:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1541, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2815:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1540, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2815:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1543, + "name": "workerpoolmaxprice", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2837:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1542, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2837:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1545, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2867:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1544, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2867:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1547, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2888:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1546, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2888:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1549, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2906:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1548, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2906:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1551, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2921:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1550, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2921:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1553, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2941:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1552, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2941:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1555, + "name": "beneficiary", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2958:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1554, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2958:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1557, + "name": "callback", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2981:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1556, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2981:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1559, + "name": "params", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "3001:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1558, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3001:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1561, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "3019:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1560, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3019:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1563, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "3035:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1562, + "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": 1676, + "src": "2706:345:8", + "visibility": "public" + }, + { + "body": { + "id": 1594, + "nodeType": "Block", + "src": "3140:996:8", + "statements": [ + { + "assignments": [ + 1572 + ], + "declarations": [ + { + "constant": false, + "id": 1572, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1594, + "src": "3416:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1571, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3416:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1574, + "initialValue": { + "argumentTypes": null, + "id": 1573, + "name": "EIP712DOMAIN_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1449, + "src": "3438:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3416:43:8" + }, + { + "assignments": [ + 1576 + ], + "declarations": [ + { + "constant": false, + "id": 1576, + "name": "nameHash", + "nodeType": "VariableDeclaration", + "scope": 1594, + "src": "3463:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1575, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3463:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1583, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1579, + "name": "_domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1566, + "src": "3501:7:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP712Domain_$1470_memory_ptr", + "typeString": "struct IexecODBLibOrders.EIP712Domain memory" + } + }, + "id": 1580, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1463, + "src": "3501:12:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + ], + "id": 1578, + "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": 1581, + "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": 1577, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2040, + "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": 1582, + "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": [ + 1585 + ], + "declarations": [ + { + "constant": false, + "id": 1585, + "name": "versionHash", + "nodeType": "VariableDeclaration", + "scope": 1594, + "src": "3519:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1584, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3519:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1592, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1588, + "name": "_domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1566, + "src": "3557:7:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP712Domain_$1470_memory_ptr", + "typeString": "struct IexecODBLibOrders.EIP712Domain memory" + } + }, + "id": 1589, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "version", + "nodeType": "MemberAccess", + "referencedDeclaration": 1465, + "src": "3557:15:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + ], + "id": 1587, + "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": 1590, + "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": 1586, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2040, + "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": 1591, + "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": 1566, + "isOffset": false, + "isSlot": false, + "src": "3643:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "3685:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "3958:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "3727:7:8", + "valueSize": 1 + } + }, + { + "versionHash": { + "declaration": 1585, + "isOffset": false, + "isSlot": false, + "src": "3895:11:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "3879:7:8", + "valueSize": 1 + } + }, + { + "domainhash": { + "declaration": 1569, + "isOffset": false, + "isSlot": false, + "src": "3930:10:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1572, + "isOffset": false, + "isSlot": false, + "src": "3812:8:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "3793:7:8", + "valueSize": 1 + } + }, + { + "nameHash": { + "declaration": 1576, + "isOffset": false, + "isSlot": false, + "src": "3855:8:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "3836:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "4107:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "4033:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "4070:7:8", + "valueSize": 1 + } + } + ], + "id": 1593, + "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": 1595, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1567, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1566, + "name": "_domain", + "nodeType": "VariableDeclaration", + "scope": 1595, + "src": "3068:27:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP712Domain_$1470_memory_ptr", + "typeString": "struct IexecODBLibOrders.EIP712Domain" + }, + "typeName": { + "contractScope": null, + "id": 1565, + "name": "EIP712Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1470, + "src": "3068:12:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP712Domain_$1470_storage_ptr", + "typeString": "struct IexecODBLibOrders.EIP712Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3067:29:8" + }, + "returnParameters": { + "id": 1570, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1569, + "name": "domainhash", + "nodeType": "VariableDeclaration", + "scope": 1595, + "src": "3119:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1568, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3119:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3118:20:8" + }, + "scope": 1676, + "src": "3054:1082:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1607, + "nodeType": "Block", + "src": "4219:712:8", + "statements": [ + { + "assignments": [ + 1603 + ], + "declarations": [ + { + "constant": false, + "id": 1603, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1607, + "src": "4574:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1602, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4574:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1605, + "initialValue": { + "argumentTypes": null, + "id": 1604, + "name": "APPORDER_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "4593:17:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4574:36:8" + }, + { + "externalReferences": [ + { + "_apporder": { + "declaration": 1597, + "isOffset": false, + "isSlot": false, + "src": "4679:9:8", + "valueSize": 1 + } + }, + { + "apphash": { + "declaration": 1600, + "isOffset": false, + "isSlot": false, + "src": "4797:7:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1603, + "isOffset": false, + "isSlot": false, + "src": "4765:8:8", + "valueSize": 1 + } + }, + { + "_apporder": { + "declaration": 1597, + "isOffset": false, + "isSlot": false, + "src": "4747:9:8", + "valueSize": 1 + } + }, + { + "_apporder": { + "declaration": 1597, + "isOffset": false, + "isSlot": false, + "src": "4822:9:8", + "valueSize": 1 + } + }, + { + "_apporder": { + "declaration": 1597, + "isOffset": false, + "isSlot": false, + "src": "4900:9:8", + "valueSize": 1 + } + } + ], + "id": 1606, + "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": 1608, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1598, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1597, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 1608, + "src": "4152:25:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 1596, + "name": "AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1489, + "src": "4152:8:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4151:27:8" + }, + "returnParameters": { + "id": 1601, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1600, + "name": "apphash", + "nodeType": "VariableDeclaration", + "scope": 1608, + "src": "4201:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1599, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4201:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4200:17:8" + }, + "scope": 1676, + "src": "4138:793:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1620, + "nodeType": "Block", + "src": "5026:776:8", + "statements": [ + { + "assignments": [ + 1616 + ], + "declarations": [ + { + "constant": false, + "id": 1616, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1620, + "src": "5421:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1615, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5421:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1618, + "initialValue": { + "argumentTypes": null, + "id": 1617, + "name": "DATASETORDER_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1455, + "src": "5440:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5421:40:8" + }, + { + "externalReferences": [ + { + "_datasetorder": { + "declaration": 1610, + "isOffset": false, + "isSlot": false, + "src": "5530:13:8", + "valueSize": 1 + } + }, + { + "datasethash": { + "declaration": 1613, + "isOffset": false, + "isSlot": false, + "src": "5656:11:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1616, + "isOffset": false, + "isSlot": false, + "src": "5624:8:8", + "valueSize": 1 + } + }, + { + "_datasetorder": { + "declaration": 1610, + "isOffset": false, + "isSlot": false, + "src": "5602:13:8", + "valueSize": 1 + } + }, + { + "_datasetorder": { + "declaration": 1610, + "isOffset": false, + "isSlot": false, + "src": "5685:13:8", + "valueSize": 1 + } + }, + { + "_datasetorder": { + "declaration": 1610, + "isOffset": false, + "isSlot": false, + "src": "5767:13:8", + "valueSize": 1 + } + } + ], + "id": 1619, + "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": 1621, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1611, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1610, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 1621, + "src": "4947:33:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 1609, + "name": "DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1508, + "src": "4947:12:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4946:35:8" + }, + "returnParameters": { + "id": 1614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1613, + "name": "datasethash", + "nodeType": "VariableDeclaration", + "scope": 1621, + "src": "5004:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1612, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5004:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5003:21:8" + }, + "scope": 1676, + "src": "4933:869:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1633, + "nodeType": "Block", + "src": "5906:887:8", + "statements": [ + { + "assignments": [ + 1629 + ], + "declarations": [ + { + "constant": false, + "id": 1629, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1633, + "src": "6394:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1628, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6394:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1631, + "initialValue": { + "argumentTypes": null, + "id": 1630, + "name": "WORKERPOOLORDER_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1458, + "src": "6413:24:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6394:43:8" + }, + { + "externalReferences": [ + { + "_workerpoolorder": { + "declaration": 1623, + "isOffset": false, + "isSlot": false, + "src": "6506:16:8", + "valueSize": 1 + } + }, + { + "workerpoolhash": { + "declaration": 1626, + "isOffset": false, + "isSlot": false, + "src": "6638:14:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1629, + "isOffset": false, + "isSlot": false, + "src": "6606:8:8", + "valueSize": 1 + } + }, + { + "_workerpoolorder": { + "declaration": 1623, + "isOffset": false, + "isSlot": false, + "src": "6581:16:8", + "valueSize": 1 + } + }, + { + "_workerpoolorder": { + "declaration": 1623, + "isOffset": false, + "isSlot": false, + "src": "6670:16:8", + "valueSize": 1 + } + }, + { + "_workerpoolorder": { + "declaration": 1623, + "isOffset": false, + "isSlot": false, + "src": "6755:16:8", + "valueSize": 1 + } + } + ], + "id": 1632, + "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": 1634, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1624, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1623, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 1634, + "src": "5818:39:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 1622, + "name": "WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1531, + "src": "5818:15:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5817:41:8" + }, + "returnParameters": { + "id": 1627, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1626, + "name": "workerpoolhash", + "nodeType": "VariableDeclaration", + "scope": 1634, + "src": "5881:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1625, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5881:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5880:24:8" + }, + "scope": 1676, + "src": "5804:989:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1655, + "nodeType": "Block", + "src": "6888:1230:8", + "statements": [ + { + "assignments": [ + 1642 + ], + "declarations": [ + { + "constant": false, + "id": 1642, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1655, + "src": "7529:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1641, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7529:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1644, + "initialValue": { + "argumentTypes": null, + "id": 1643, + "name": "REQUESTORDER_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1461, + "src": "7548:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7529:40:8" + }, + { + "assignments": [ + 1646 + ], + "declarations": [ + { + "constant": false, + "id": 1646, + "name": "paramsHash", + "nodeType": "VariableDeclaration", + "scope": 1655, + "src": "7573:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1645, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7573:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1653, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1649, + "name": "_requestorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1636, + "src": "7610:13:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder memory" + } + }, + "id": 1650, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "params", + "nodeType": "MemberAccess", + "referencedDeclaration": 1559, + "src": "7610:20:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + ], + "id": 1648, + "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": 1651, + "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": 1647, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2040, + "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": 1652, + "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": 1636, + "isOffset": false, + "isSlot": false, + "src": "7701:13:8", + "valueSize": 1 + } + }, + { + "requesthash": { + "declaration": 1639, + "isOffset": false, + "isSlot": false, + "src": "7927:11:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1636, + "isOffset": false, + "isSlot": false, + "src": "7750:13:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1636, + "isOffset": false, + "isSlot": false, + "src": "7956:13:8", + "valueSize": 1 + } + }, + { + "paramsHash": { + "declaration": 1646, + "isOffset": false, + "isSlot": false, + "src": "7893:10:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1642, + "isOffset": false, + "isSlot": false, + "src": "7846:8:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1636, + "isOffset": false, + "isSlot": false, + "src": "7823:13:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1636, + "isOffset": false, + "isSlot": false, + "src": "7870:13:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1636, + "isOffset": false, + "isSlot": false, + "src": "8038:13:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1636, + "isOffset": false, + "isSlot": false, + "src": "8082:13:8", + "valueSize": 1 + } + } + ], + "id": 1654, + "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": 1656, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1637, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1636, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 1656, + "src": "6809:33:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 1635, + "name": "RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1564, + "src": "6809:12:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6808:35:8" + }, + "returnParameters": { + "id": 1640, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1639, + "name": "requesthash", + "nodeType": "VariableDeclaration", + "scope": 1656, + "src": "6866:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1638, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6866:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6865:21:8" + }, + "scope": 1676, + "src": "6795:1323:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1674, + "nodeType": "Block", + "src": "8241:80:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "1901", + "id": 1668, + "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": 1669, + "name": "_domainHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1660, + "src": "8291:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1670, + "name": "_structHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1658, + "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": 1666, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2033, + "src": "8262:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1667, + "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": 1671, + "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": 1665, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2040, + "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": 1672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8252:65:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1664, + "id": 1673, + "nodeType": "Return", + "src": "8245:72:8" + } + ] + }, + "documentation": null, + "id": 1675, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toEthTypedStructHash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1661, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1658, + "name": "_structHash", + "nodeType": "VariableDeclaration", + "scope": 1675, + "src": "8151:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1657, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8151:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1660, + "name": "_domainHash", + "nodeType": "VariableDeclaration", + "scope": 1675, + "src": "8172:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1659, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8172:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8150:42:8" + }, + "returnParameters": { + "id": 1664, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1663, + "name": "typedStructHash", + "nodeType": "VariableDeclaration", + "scope": 1675, + "src": "8215:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1662, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8215:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8214:25:8" + }, + "scope": 1676, + "src": "8121:200:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1677, + "src": "59:8264:8" + } + ], + "src": "0:8324:8" + }, + "legacyAST": { + "absolutePath": "iexec-poco/contracts/libs/IexecODBLibOrders.sol", + "exportedSymbols": { + "IexecODBLibOrders": [ + 1676 + ] + }, + "id": 1677, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1445, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:8" + }, + { + "id": 1446, + "literals": [ + "experimental", + "ABIEncoderV2" + ], + "nodeType": "PragmaDirective", + "src": "24:33:8" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 1676, + "linearizedBaseContracts": [ + 1676 + ], + "name": "IexecODBLibOrders", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1449, + "name": "EIP712DOMAIN_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1676, + "src": "1309:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1447, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1309:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307838623733633363363962623866653364353132656363346366373539636337393233396637623137396230666661636161396137356435323262333934303066", + "id": 1448, + "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": 1452, + "name": "APPORDER_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1676, + "src": "1429:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1450, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1429:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307836303831356130656565633437646464663136313566653533623331643031366333313434346530316239643739366462333635343433613634343564303038", + "id": 1451, + "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": 1455, + "name": "DATASETORDER_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1676, + "src": "1549:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1453, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1549:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307836636663393332613561336432326334333539323935623966343333656466663532623630373033666134373639306130346138336534303933336464343763", + "id": 1454, + "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": 1458, + "name": "WORKERPOOLORDER_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1676, + "src": "1669:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1456, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1669:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307861613334323966623238316233343639313830333133336433643937386137356262373763363137656436626339616131363262396233303932303032326262", + "id": 1457, + "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": 1461, + "name": "REQUESTORDER_TYPEHASH", + "nodeType": "VariableDeclaration", + "scope": 1676, + "src": "1789:117:8", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1459, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1789:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "307866323465383533303334613361343530616261383435613832393134666262353634616438356163636361366366363262653131326131353435323066616530", + "id": 1460, + "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": 1470, + "members": [ + { + "constant": false, + "id": 1463, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "1935:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1462, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1935:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1465, + "name": "version", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "1951:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1464, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1951:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1467, + "name": "chainId", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "1970:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1466, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1970:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1469, + "name": "verifyingContract", + "nodeType": "VariableDeclaration", + "scope": 1470, + "src": "1989:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1468, + "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": 1676, + "src": "1910:108:8", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.AppOrder", + "id": 1489, + "members": [ + { + "constant": false, + "id": 1472, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2041:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1471, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2041:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1474, + "name": "appprice", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2056:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1473, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2056:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1476, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2076:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1475, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2076:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1478, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2094:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1477, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2094:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1480, + "name": "datasetrestrict", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2109:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1479, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2109:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1482, + "name": "workerpoolrestrict", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2136:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1481, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2136:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1484, + "name": "requesterrestrict", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2166:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1483, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2166:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1486, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2195:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1485, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2195:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1488, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1489, + "src": "2211:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1487, + "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": 1676, + "src": "2020:207:8", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.DatasetOrder", + "id": 1508, + "members": [ + { + "constant": false, + "id": 1491, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2254:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1490, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2254:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1493, + "name": "datasetprice", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2273:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1492, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2273:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1495, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2297:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2297:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1497, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2315:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1496, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2315:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1499, + "name": "apprestrict", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2330:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1498, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2330:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1501, + "name": "workerpoolrestrict", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2353:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1500, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2353:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1503, + "name": "requesterrestrict", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2383:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1502, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2383:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1505, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2412:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1504, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2412:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1507, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1508, + "src": "2428:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1506, + "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": 1676, + "src": "2229:215:8", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.WorkerpoolOrder", + "id": 1531, + "members": [ + { + "constant": false, + "id": 1510, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2474:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1509, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2474:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1512, + "name": "workerpoolprice", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2496:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1511, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2496:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1514, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2523:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1513, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2523:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1516, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2541:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1515, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2541:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1518, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2556:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1517, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2556:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1520, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2576:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1519, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2576:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1522, + "name": "apprestrict", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2593:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1521, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2593:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1524, + "name": "datasetrestrict", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2616:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1523, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2616:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1526, + "name": "requesterrestrict", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2643:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1525, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2643:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1528, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2672:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1527, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2672:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1530, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "2688:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1529, + "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": 1676, + "src": "2446:258:8", + "visibility": "public" + }, + { + "canonicalName": "IexecODBLibOrders.RequestOrder", + "id": 1564, + "members": [ + { + "constant": false, + "id": 1533, + "name": "app", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2731:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1532, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2731:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1535, + "name": "appmaxprice", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2746:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1534, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2746:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1537, + "name": "dataset", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2769:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1536, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2769:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1539, + "name": "datasetmaxprice", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2788:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1538, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2788:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1541, + "name": "workerpool", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2815:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1540, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2815:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1543, + "name": "workerpoolmaxprice", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2837:26:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1542, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2837:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1545, + "name": "requester", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2867:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1544, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2867:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1547, + "name": "volume", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2888:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1546, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2888:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1549, + "name": "tag", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2906:11:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1548, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2906:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1551, + "name": "category", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2921:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1550, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2921:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1553, + "name": "trust", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2941:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1552, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2941:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1555, + "name": "beneficiary", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2958:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1554, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2958:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1557, + "name": "callback", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "2981:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1556, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2981:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1559, + "name": "params", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "3001:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1558, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3001:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1561, + "name": "salt", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "3019:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1560, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3019:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1563, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "3035:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1562, + "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": 1676, + "src": "2706:345:8", + "visibility": "public" + }, + { + "body": { + "id": 1594, + "nodeType": "Block", + "src": "3140:996:8", + "statements": [ + { + "assignments": [ + 1572 + ], + "declarations": [ + { + "constant": false, + "id": 1572, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1594, + "src": "3416:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1571, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3416:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1574, + "initialValue": { + "argumentTypes": null, + "id": 1573, + "name": "EIP712DOMAIN_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1449, + "src": "3438:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3416:43:8" + }, + { + "assignments": [ + 1576 + ], + "declarations": [ + { + "constant": false, + "id": 1576, + "name": "nameHash", + "nodeType": "VariableDeclaration", + "scope": 1594, + "src": "3463:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1575, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3463:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1583, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1579, + "name": "_domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1566, + "src": "3501:7:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP712Domain_$1470_memory_ptr", + "typeString": "struct IexecODBLibOrders.EIP712Domain memory" + } + }, + "id": 1580, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1463, + "src": "3501:12:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + ], + "id": 1578, + "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": 1581, + "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": 1577, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2040, + "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": 1582, + "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": [ + 1585 + ], + "declarations": [ + { + "constant": false, + "id": 1585, + "name": "versionHash", + "nodeType": "VariableDeclaration", + "scope": 1594, + "src": "3519:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1584, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3519:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1592, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1588, + "name": "_domain", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1566, + "src": "3557:7:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP712Domain_$1470_memory_ptr", + "typeString": "struct IexecODBLibOrders.EIP712Domain memory" + } + }, + "id": 1589, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "version", + "nodeType": "MemberAccess", + "referencedDeclaration": 1465, + "src": "3557:15:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + ], + "id": 1587, + "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": 1590, + "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": 1586, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2040, + "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": 1591, + "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": 1566, + "isOffset": false, + "isSlot": false, + "src": "3643:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "3685:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "3958:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "3727:7:8", + "valueSize": 1 + } + }, + { + "versionHash": { + "declaration": 1585, + "isOffset": false, + "isSlot": false, + "src": "3895:11:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "3879:7:8", + "valueSize": 1 + } + }, + { + "domainhash": { + "declaration": 1569, + "isOffset": false, + "isSlot": false, + "src": "3930:10:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1572, + "isOffset": false, + "isSlot": false, + "src": "3812:8:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "3793:7:8", + "valueSize": 1 + } + }, + { + "nameHash": { + "declaration": 1576, + "isOffset": false, + "isSlot": false, + "src": "3855:8:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "3836:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "4107:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "4033:7:8", + "valueSize": 1 + } + }, + { + "_domain": { + "declaration": 1566, + "isOffset": false, + "isSlot": false, + "src": "4070:7:8", + "valueSize": 1 + } + } + ], + "id": 1593, + "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": 1595, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1567, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1566, + "name": "_domain", + "nodeType": "VariableDeclaration", + "scope": 1595, + "src": "3068:27:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP712Domain_$1470_memory_ptr", + "typeString": "struct IexecODBLibOrders.EIP712Domain" + }, + "typeName": { + "contractScope": null, + "id": 1565, + "name": "EIP712Domain", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1470, + "src": "3068:12:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_EIP712Domain_$1470_storage_ptr", + "typeString": "struct IexecODBLibOrders.EIP712Domain" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3067:29:8" + }, + "returnParameters": { + "id": 1570, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1569, + "name": "domainhash", + "nodeType": "VariableDeclaration", + "scope": 1595, + "src": "3119:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1568, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3119:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3118:20:8" + }, + "scope": 1676, + "src": "3054:1082:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1607, + "nodeType": "Block", + "src": "4219:712:8", + "statements": [ + { + "assignments": [ + 1603 + ], + "declarations": [ + { + "constant": false, + "id": 1603, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1607, + "src": "4574:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1602, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4574:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1605, + "initialValue": { + "argumentTypes": null, + "id": 1604, + "name": "APPORDER_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1452, + "src": "4593:17:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4574:36:8" + }, + { + "externalReferences": [ + { + "_apporder": { + "declaration": 1597, + "isOffset": false, + "isSlot": false, + "src": "4679:9:8", + "valueSize": 1 + } + }, + { + "apphash": { + "declaration": 1600, + "isOffset": false, + "isSlot": false, + "src": "4797:7:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1603, + "isOffset": false, + "isSlot": false, + "src": "4765:8:8", + "valueSize": 1 + } + }, + { + "_apporder": { + "declaration": 1597, + "isOffset": false, + "isSlot": false, + "src": "4747:9:8", + "valueSize": 1 + } + }, + { + "_apporder": { + "declaration": 1597, + "isOffset": false, + "isSlot": false, + "src": "4822:9:8", + "valueSize": 1 + } + }, + { + "_apporder": { + "declaration": 1597, + "isOffset": false, + "isSlot": false, + "src": "4900:9:8", + "valueSize": 1 + } + } + ], + "id": 1606, + "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": 1608, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1598, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1597, + "name": "_apporder", + "nodeType": "VariableDeclaration", + "scope": 1608, + "src": "4152:25:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_memory_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + }, + "typeName": { + "contractScope": null, + "id": 1596, + "name": "AppOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1489, + "src": "4152:8:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AppOrder_$1489_storage_ptr", + "typeString": "struct IexecODBLibOrders.AppOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4151:27:8" + }, + "returnParameters": { + "id": 1601, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1600, + "name": "apphash", + "nodeType": "VariableDeclaration", + "scope": 1608, + "src": "4201:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1599, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4201:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4200:17:8" + }, + "scope": 1676, + "src": "4138:793:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1620, + "nodeType": "Block", + "src": "5026:776:8", + "statements": [ + { + "assignments": [ + 1616 + ], + "declarations": [ + { + "constant": false, + "id": 1616, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1620, + "src": "5421:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1615, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5421:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1618, + "initialValue": { + "argumentTypes": null, + "id": 1617, + "name": "DATASETORDER_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1455, + "src": "5440:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5421:40:8" + }, + { + "externalReferences": [ + { + "_datasetorder": { + "declaration": 1610, + "isOffset": false, + "isSlot": false, + "src": "5530:13:8", + "valueSize": 1 + } + }, + { + "datasethash": { + "declaration": 1613, + "isOffset": false, + "isSlot": false, + "src": "5656:11:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1616, + "isOffset": false, + "isSlot": false, + "src": "5624:8:8", + "valueSize": 1 + } + }, + { + "_datasetorder": { + "declaration": 1610, + "isOffset": false, + "isSlot": false, + "src": "5602:13:8", + "valueSize": 1 + } + }, + { + "_datasetorder": { + "declaration": 1610, + "isOffset": false, + "isSlot": false, + "src": "5685:13:8", + "valueSize": 1 + } + }, + { + "_datasetorder": { + "declaration": 1610, + "isOffset": false, + "isSlot": false, + "src": "5767:13:8", + "valueSize": 1 + } + } + ], + "id": 1619, + "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": 1621, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1611, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1610, + "name": "_datasetorder", + "nodeType": "VariableDeclaration", + "scope": 1621, + "src": "4947:33:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_memory_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + }, + "typeName": { + "contractScope": null, + "id": 1609, + "name": "DatasetOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1508, + "src": "4947:12:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DatasetOrder_$1508_storage_ptr", + "typeString": "struct IexecODBLibOrders.DatasetOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4946:35:8" + }, + "returnParameters": { + "id": 1614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1613, + "name": "datasethash", + "nodeType": "VariableDeclaration", + "scope": 1621, + "src": "5004:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1612, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5004:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5003:21:8" + }, + "scope": 1676, + "src": "4933:869:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1633, + "nodeType": "Block", + "src": "5906:887:8", + "statements": [ + { + "assignments": [ + 1629 + ], + "declarations": [ + { + "constant": false, + "id": 1629, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1633, + "src": "6394:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1628, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6394:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1631, + "initialValue": { + "argumentTypes": null, + "id": 1630, + "name": "WORKERPOOLORDER_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1458, + "src": "6413:24:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6394:43:8" + }, + { + "externalReferences": [ + { + "_workerpoolorder": { + "declaration": 1623, + "isOffset": false, + "isSlot": false, + "src": "6506:16:8", + "valueSize": 1 + } + }, + { + "workerpoolhash": { + "declaration": 1626, + "isOffset": false, + "isSlot": false, + "src": "6638:14:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1629, + "isOffset": false, + "isSlot": false, + "src": "6606:8:8", + "valueSize": 1 + } + }, + { + "_workerpoolorder": { + "declaration": 1623, + "isOffset": false, + "isSlot": false, + "src": "6581:16:8", + "valueSize": 1 + } + }, + { + "_workerpoolorder": { + "declaration": 1623, + "isOffset": false, + "isSlot": false, + "src": "6670:16:8", + "valueSize": 1 + } + }, + { + "_workerpoolorder": { + "declaration": 1623, + "isOffset": false, + "isSlot": false, + "src": "6755:16:8", + "valueSize": 1 + } + } + ], + "id": 1632, + "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": 1634, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1624, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1623, + "name": "_workerpoolorder", + "nodeType": "VariableDeclaration", + "scope": 1634, + "src": "5818:39:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_memory_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + }, + "typeName": { + "contractScope": null, + "id": 1622, + "name": "WorkerpoolOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1531, + "src": "5818:15:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_WorkerpoolOrder_$1531_storage_ptr", + "typeString": "struct IexecODBLibOrders.WorkerpoolOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5817:41:8" + }, + "returnParameters": { + "id": 1627, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1626, + "name": "workerpoolhash", + "nodeType": "VariableDeclaration", + "scope": 1634, + "src": "5881:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1625, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5881:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5880:24:8" + }, + "scope": 1676, + "src": "5804:989:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1655, + "nodeType": "Block", + "src": "6888:1230:8", + "statements": [ + { + "assignments": [ + 1642 + ], + "declarations": [ + { + "constant": false, + "id": 1642, + "name": "typeHash", + "nodeType": "VariableDeclaration", + "scope": 1655, + "src": "7529:16:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1641, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7529:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1644, + "initialValue": { + "argumentTypes": null, + "id": 1643, + "name": "REQUESTORDER_TYPEHASH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1461, + "src": "7548:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7529:40:8" + }, + { + "assignments": [ + 1646 + ], + "declarations": [ + { + "constant": false, + "id": 1646, + "name": "paramsHash", + "nodeType": "VariableDeclaration", + "scope": 1655, + "src": "7573:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1645, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7573:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1653, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1649, + "name": "_requestorder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1636, + "src": "7610:13:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder memory" + } + }, + "id": 1650, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "params", + "nodeType": "MemberAccess", + "referencedDeclaration": 1559, + "src": "7610:20:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory", + "typeString": "string memory" + } + ], + "id": 1648, + "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": 1651, + "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": 1647, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2040, + "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": 1652, + "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": 1636, + "isOffset": false, + "isSlot": false, + "src": "7701:13:8", + "valueSize": 1 + } + }, + { + "requesthash": { + "declaration": 1639, + "isOffset": false, + "isSlot": false, + "src": "7927:11:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1636, + "isOffset": false, + "isSlot": false, + "src": "7750:13:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1636, + "isOffset": false, + "isSlot": false, + "src": "7956:13:8", + "valueSize": 1 + } + }, + { + "paramsHash": { + "declaration": 1646, + "isOffset": false, + "isSlot": false, + "src": "7893:10:8", + "valueSize": 1 + } + }, + { + "typeHash": { + "declaration": 1642, + "isOffset": false, + "isSlot": false, + "src": "7846:8:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1636, + "isOffset": false, + "isSlot": false, + "src": "7823:13:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1636, + "isOffset": false, + "isSlot": false, + "src": "7870:13:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1636, + "isOffset": false, + "isSlot": false, + "src": "8038:13:8", + "valueSize": 1 + } + }, + { + "_requestorder": { + "declaration": 1636, + "isOffset": false, + "isSlot": false, + "src": "8082:13:8", + "valueSize": 1 + } + } + ], + "id": 1654, + "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": 1656, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1637, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1636, + "name": "_requestorder", + "nodeType": "VariableDeclaration", + "scope": 1656, + "src": "6809:33:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_memory_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + }, + "typeName": { + "contractScope": null, + "id": 1635, + "name": "RequestOrder", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1564, + "src": "6809:12:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RequestOrder_$1564_storage_ptr", + "typeString": "struct IexecODBLibOrders.RequestOrder" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6808:35:8" + }, + "returnParameters": { + "id": 1640, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1639, + "name": "requesthash", + "nodeType": "VariableDeclaration", + "scope": 1656, + "src": "6866:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1638, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6866:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6865:21:8" + }, + "scope": 1676, + "src": "6795:1323:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1674, + "nodeType": "Block", + "src": "8241:80:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "1901", + "id": 1668, + "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": 1669, + "name": "_domainHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1660, + "src": "8291:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1670, + "name": "_structHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1658, + "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": 1666, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2033, + "src": "8262:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1667, + "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": 1671, + "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": 1665, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2040, + "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": 1672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8252:65:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1664, + "id": 1673, + "nodeType": "Return", + "src": "8245:72:8" + } + ] + }, + "documentation": null, + "id": 1675, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toEthTypedStructHash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1661, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1658, + "name": "_structHash", + "nodeType": "VariableDeclaration", + "scope": 1675, + "src": "8151:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1657, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8151:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1660, + "name": "_domainHash", + "nodeType": "VariableDeclaration", + "scope": 1675, + "src": "8172:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1659, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8172:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8150:42:8" + }, + "returnParameters": { + "id": 1664, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1663, + "name": "typedStructHash", + "nodeType": "VariableDeclaration", + "scope": 1675, + "src": "8215:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1662, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8215:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8214:25:8" + }, + "scope": 1676, + "src": "8121:200:8", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1677, + "src": "59:8264:8" + } + ], + "src": "0:8324:8" + }, + "compiler": { + "name": "solc", + "version": "0.5.8+commit.23d335f2.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.11", + "updatedAt": "2019-10-19T10:48:51.132Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/anemometer-oracle/smart-contract/build/contracts/Migrations.json b/anemometer-oracle/smart-contract/build/contracts/Migrations.json new file mode 100644 index 00000000..c2458e7a --- /dev/null +++ b/anemometer-oracle/smart-contract/build/contracts/Migrations.json @@ -0,0 +1,1392 @@ +{ + "contractName": "Migrations", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "last_completed_migration", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "completed", + "type": "uint256" + } + ], + "name": "setCompleted", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "new_address", + "type": "address" + } + ], + "name": "upgrade", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.5.8+commit.23d335f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"new_address\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"last_completed_migration\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"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\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Volumes/MacintoshHD/Users/Andy/iexec-apps/anemometer-oracle/smart-contract/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Volumes/MacintoshHD/Users/Andy/iexec-apps/anemometer-oracle/smart-contract/contracts/Migrations.sol\":{\"keccak256\":\"0xfdb731592344e2a2890faf03baec7b4bee7057ffba18ba6dbb6eec8db85f8f4c\",\"urls\":[\"bzzr://ddc8801d0a2a7220c2c9bf3881b4921817e72fdd96827ec8be4428fa009ace07\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102ae806100606000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100955780638da5cb5b146100b3578063fdacd576146100fd575b600080fd5b6100936004803603602081101561006757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061012b565b005b61009d6101f7565b6040518082815260200191505060405180910390f35b6100bb6101fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101296004803603602081101561011357600080fd5b8101908080359060200190929190505050610222565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156101f45760008190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156101da57600080fd5b505af11580156101ee573d6000803e3d6000fd5b50505050505b50565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561027f57806001819055505b5056fea165627a7a723058209b49b93e46b335045d068f9d3292127c48885779b5e7e35c19f4af25637ed1540029", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100955780638da5cb5b146100b3578063fdacd576146100fd575b600080fd5b6100936004803603602081101561006757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061012b565b005b61009d6101f7565b6040518082815260200191505060405180910390f35b6100bb6101fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101296004803603602081101561011357600080fd5b8101908080359060200190929190505050610222565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156101f45760008190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156101da57600080fd5b505af11580156101ee573d6000803e3d6000fd5b50505050505b50565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561027f57806001819055505b5056fea165627a7a723058209b49b93e46b335045d068f9d3292127c48885779b5e7e35c19f4af25637ed1540029", + "sourceMap": "34:480:1:-;;;123:50;8:9:-1;5:2;;;30:1;27;20:12;5:2;123:50:1;158:10;150:5;;:18;;;;;;;;;;;;;;;;;;34:480;;;;;;", + "deployedSourceMap": "34:480:1:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;34:480:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;347:165;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;347:165:1;;;;;;;;;;;;;;;;;;;:::i;:::-;;82:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;58:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;240:103;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;240:103:1;;;;;;;;;;;;;;;;;:::i;:::-;;347:165;223:5;;;;;;;;;;;209:19;;:10;:19;;;205:26;;;409:19;442:11;409:45;;460:8;:21;;;482:24;;460:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:47:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;460:47:1;;;;230:1;205:26;347:165;:::o;82:36::-;;;;:::o;58:20::-;;;;;;;;;;;;;:::o;240:103::-;223:5;;;;;;;;;;;209:19;;:10;:19;;;205:26;;;329:9;302:24;:36;;;;205:26;240:103;:::o", + "source": "pragma solidity >=0.4.21 <0.6.0;\n\ncontract Migrations {\n address public owner;\n uint public last_completed_migration;\n\n constructor() public {\n owner = msg.sender;\n }\n\n modifier restricted() {\n if (msg.sender == owner) _;\n }\n\n function setCompleted(uint completed) public restricted {\n last_completed_migration = completed;\n }\n\n function upgrade(address new_address) public restricted {\n Migrations upgraded = Migrations(new_address);\n upgraded.setCompleted(last_completed_migration);\n }\n}\n", + "sourcePath": "/Volumes/MacintoshHD/Users/Andy/iexec-apps/anemometer-oracle/smart-contract/contracts/Migrations.sol", + "ast": { + "absolutePath": "/Volumes/MacintoshHD/Users/Andy/iexec-apps/anemometer-oracle/smart-contract/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 285 + ] + }, + "id": 286, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 230, + "literals": [ + "solidity", + ">=", + "0.4", + ".21", + "<", + "0.6", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:32:1" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 285, + "linearizedBaseContracts": [ + 285 + ], + "name": "Migrations", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 232, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 285, + "src": "58:20:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 231, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 234, + "name": "last_completed_migration", + "nodeType": "VariableDeclaration", + "scope": 285, + "src": "82:36:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 233, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "82:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 242, + "nodeType": "Block", + "src": "144:29:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 237, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 232, + "src": "150:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 238, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2046, + "src": "158:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "158:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "150:18:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 241, + "nodeType": "ExpressionStatement", + "src": "150:18:1" + } + ] + }, + "documentation": null, + "id": 243, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 235, + "nodeType": "ParameterList", + "parameters": [], + "src": "134:2:1" + }, + "returnParameters": { + "id": 236, + "nodeType": "ParameterList", + "parameters": [], + "src": "144:0:1" + }, + "scope": 285, + "src": "123:50:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 251, + "nodeType": "Block", + "src": "199:37:1", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 245, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2046, + "src": "209:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "209:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 247, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 232, + "src": "223:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "209:19:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 250, + "nodeType": "IfStatement", + "src": "205:26:1", + "trueBody": { + "id": 249, + "nodeType": "PlaceholderStatement", + "src": "230:1:1" + } + } + ] + }, + "documentation": null, + "id": 252, + "name": "restricted", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 244, + "nodeType": "ParameterList", + "parameters": [], + "src": "196:2:1" + }, + "src": "177:59:1", + "visibility": "internal" + }, + { + "body": { + "id": 263, + "nodeType": "Block", + "src": "296:47:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 259, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 234, + "src": "302:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 260, + "name": "completed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 254, + "src": "329:9:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "302:36:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 262, + "nodeType": "ExpressionStatement", + "src": "302:36:1" + } + ] + }, + "documentation": null, + "id": 264, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 257, + "modifierName": { + "argumentTypes": null, + "id": 256, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 252, + "src": "285:10:1", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "285:10:1" + } + ], + "name": "setCompleted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 255, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 254, + "name": "completed", + "nodeType": "VariableDeclaration", + "scope": 264, + "src": "262:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 253, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "262:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "261:16:1" + }, + "returnParameters": { + "id": 258, + "nodeType": "ParameterList", + "parameters": [], + "src": "296:0:1" + }, + "scope": 285, + "src": "240:103:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 283, + "nodeType": "Block", + "src": "403:109:1", + "statements": [ + { + "assignments": [ + 272 + ], + "declarations": [ + { + "constant": false, + "id": 272, + "name": "upgraded", + "nodeType": "VariableDeclaration", + "scope": 283, + "src": "409:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$285", + "typeString": "contract Migrations" + }, + "typeName": { + "contractScope": null, + "id": 271, + "name": "Migrations", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 285, + "src": "409:10:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$285", + "typeString": "contract Migrations" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 276, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 274, + "name": "new_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 266, + "src": "442:11:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 273, + "name": "Migrations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 285, + "src": "431:10:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Migrations_$285_$", + "typeString": "type(contract Migrations)" + } + }, + "id": 275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "431:23:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$285", + "typeString": "contract Migrations" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "409:45:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 280, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 234, + "src": "482:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 277, + "name": "upgraded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 272, + "src": "460:8:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$285", + "typeString": "contract Migrations" + } + }, + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setCompleted", + "nodeType": "MemberAccess", + "referencedDeclaration": 264, + "src": "460:21:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "460:47:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 282, + "nodeType": "ExpressionStatement", + "src": "460:47:1" + } + ] + }, + "documentation": null, + "id": 284, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 269, + "modifierName": { + "argumentTypes": null, + "id": 268, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 252, + "src": "392:10:1", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "392:10:1" + } + ], + "name": "upgrade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 267, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 266, + "name": "new_address", + "nodeType": "VariableDeclaration", + "scope": 284, + "src": "364:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 265, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "364:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "363:21:1" + }, + "returnParameters": { + "id": 270, + "nodeType": "ParameterList", + "parameters": [], + "src": "403:0:1" + }, + "scope": 285, + "src": "347:165:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 286, + "src": "34:480:1" + } + ], + "src": "0:515:1" + }, + "legacyAST": { + "absolutePath": "/Volumes/MacintoshHD/Users/Andy/iexec-apps/anemometer-oracle/smart-contract/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 285 + ] + }, + "id": 286, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 230, + "literals": [ + "solidity", + ">=", + "0.4", + ".21", + "<", + "0.6", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "0:32:1" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 285, + "linearizedBaseContracts": [ + 285 + ], + "name": "Migrations", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 232, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 285, + "src": "58:20:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 231, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 234, + "name": "last_completed_migration", + "nodeType": "VariableDeclaration", + "scope": 285, + "src": "82:36:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 233, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "82:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 242, + "nodeType": "Block", + "src": "144:29:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 237, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 232, + "src": "150:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 238, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2046, + "src": "158:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "158:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "150:18:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 241, + "nodeType": "ExpressionStatement", + "src": "150:18:1" + } + ] + }, + "documentation": null, + "id": 243, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 235, + "nodeType": "ParameterList", + "parameters": [], + "src": "134:2:1" + }, + "returnParameters": { + "id": 236, + "nodeType": "ParameterList", + "parameters": [], + "src": "144:0:1" + }, + "scope": 285, + "src": "123:50:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 251, + "nodeType": "Block", + "src": "199:37:1", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 245, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2046, + "src": "209:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "209:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 247, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 232, + "src": "223:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "209:19:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 250, + "nodeType": "IfStatement", + "src": "205:26:1", + "trueBody": { + "id": 249, + "nodeType": "PlaceholderStatement", + "src": "230:1:1" + } + } + ] + }, + "documentation": null, + "id": 252, + "name": "restricted", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 244, + "nodeType": "ParameterList", + "parameters": [], + "src": "196:2:1" + }, + "src": "177:59:1", + "visibility": "internal" + }, + { + "body": { + "id": 263, + "nodeType": "Block", + "src": "296:47:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 259, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 234, + "src": "302:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 260, + "name": "completed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 254, + "src": "329:9:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "302:36:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 262, + "nodeType": "ExpressionStatement", + "src": "302:36:1" + } + ] + }, + "documentation": null, + "id": 264, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 257, + "modifierName": { + "argumentTypes": null, + "id": 256, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 252, + "src": "285:10:1", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "285:10:1" + } + ], + "name": "setCompleted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 255, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 254, + "name": "completed", + "nodeType": "VariableDeclaration", + "scope": 264, + "src": "262:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 253, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "262:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "261:16:1" + }, + "returnParameters": { + "id": 258, + "nodeType": "ParameterList", + "parameters": [], + "src": "296:0:1" + }, + "scope": 285, + "src": "240:103:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 283, + "nodeType": "Block", + "src": "403:109:1", + "statements": [ + { + "assignments": [ + 272 + ], + "declarations": [ + { + "constant": false, + "id": 272, + "name": "upgraded", + "nodeType": "VariableDeclaration", + "scope": 283, + "src": "409:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$285", + "typeString": "contract Migrations" + }, + "typeName": { + "contractScope": null, + "id": 271, + "name": "Migrations", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 285, + "src": "409:10:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$285", + "typeString": "contract Migrations" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 276, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 274, + "name": "new_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 266, + "src": "442:11:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 273, + "name": "Migrations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 285, + "src": "431:10:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Migrations_$285_$", + "typeString": "type(contract Migrations)" + } + }, + "id": 275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "431:23:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$285", + "typeString": "contract Migrations" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "409:45:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 280, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 234, + "src": "482:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 277, + "name": "upgraded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 272, + "src": "460:8:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$285", + "typeString": "contract Migrations" + } + }, + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setCompleted", + "nodeType": "MemberAccess", + "referencedDeclaration": 264, + "src": "460:21:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "460:47:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 282, + "nodeType": "ExpressionStatement", + "src": "460:47:1" + } + ] + }, + "documentation": null, + "id": 284, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 269, + "modifierName": { + "argumentTypes": null, + "id": 268, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 252, + "src": "392:10:1", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "392:10:1" + } + ], + "name": "upgrade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 267, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 266, + "name": "new_address", + "nodeType": "VariableDeclaration", + "scope": 284, + "src": "364:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 265, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "364:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "363:21:1" + }, + "returnParameters": { + "id": 270, + "nodeType": "ParameterList", + "parameters": [], + "src": "403:0:1" + }, + "scope": 285, + "src": "347:165:1", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 286, + "src": "34:480:1" + } + ], + "src": "0:515:1" + }, + "compiler": { + "name": "solc", + "version": "0.5.8+commit.23d335f2.Emscripten.clang" + }, + "networks": { + "42": { + "events": {}, + "links": {}, + "address": "0x2718eDDF3577211462A0122e7f2E84eDf59A7794", + "transactionHash": "0xc747699d7b793b4e8b8be32d10d8940ef293c85820e7f6ee8f1f1a8de38a2718" + } + }, + "schemaVersion": "3.0.11", + "updatedAt": "2019-10-19T10:53:05.472Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/anemometer-oracle/smart-contract/build/contracts/Ownable.json b/anemometer-oracle/smart-contract/build/contracts/Ownable.json new file mode 100644 index 00000000..4f6a7ff2 --- /dev/null +++ b/anemometer-oracle/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.8+commit.23d335f2\"},\"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\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0xf79fb10e8235770eb4aea7249034076a3cc9f9119ad944fc48705bae9c9d20dc\",\"urls\":[\"bzzr://d12a11272051eb6586de8f7e0a82c04a98c9984ce8b2a6cf1ee439f65aba29a9\"]}},\"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": [ + 1962 + ] + }, + "id": 1963, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1853, + "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": 1962, + "linearizedBaseContracts": [ + 1962 + ], + "name": "Ownable", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1855, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 1962, + "src": "408:22:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1854, + "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": 1861, + "name": "OwnershipTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 1860, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1857, + "indexed": true, + "name": "previousOwner", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "464:29:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1856, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "464:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1859, + "indexed": true, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "495:24:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1858, + "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": 1876, + "nodeType": "Block", + "src": "647:91:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1864, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "657:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1865, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2046, + "src": "666:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1866, + "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": 1868, + "nodeType": "ExpressionStatement", + "src": "657:19:12" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1871, + "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": 1870, + "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": 1872, + "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": 1873, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "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": 1869, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1861, + "src": "691:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "691:40:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1875, + "nodeType": "EmitStatement", + "src": "686:45:12" + } + ] + }, + "documentation": "@dev Initializes the contract setting the deployer as the initial owner.", + "id": 1877, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1862, + "nodeType": "ParameterList", + "parameters": [], + "src": "635:2:12" + }, + "returnParameters": { + "id": 1863, + "nodeType": "ParameterList", + "parameters": [], + "src": "647:0:12" + }, + "scope": 1962, + "src": "623:115:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1884, + "nodeType": "Block", + "src": "861:30:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1882, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "878:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1881, + "id": 1883, + "nodeType": "Return", + "src": "871:13:12" + } + ] + }, + "documentation": "@dev Returns the address of the current owner.", + "id": 1885, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1878, + "nodeType": "ParameterList", + "parameters": [], + "src": "828:2:12" + }, + "returnParameters": { + "id": 1881, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1880, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1885, + "src": "852:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1879, + "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": 1962, + "src": "814:77:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1894, + "nodeType": "Block", + "src": "1000:82:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1888, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1906, + "src": "1018:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 1889, + "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": 1890, + "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": 1887, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2049, + 2050 + ], + "referencedDeclaration": 2050, + "src": "1010:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1010:54:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1892, + "nodeType": "ExpressionStatement", + "src": "1010:54:12" + }, + { + "id": 1893, + "nodeType": "PlaceholderStatement", + "src": "1074:1:12" + } + ] + }, + "documentation": "@dev Throws if called by any account other than the owner.", + "id": 1895, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1886, + "nodeType": "ParameterList", + "parameters": [], + "src": "997:2:12" + }, + "src": "979:103:12", + "visibility": "internal" + }, + { + "body": { + "id": 1905, + "nodeType": "Block", + "src": "1211:44:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1900, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2046, + "src": "1228:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1901, + "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": 1902, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "1242:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1228:20:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1899, + "id": 1904, + "nodeType": "Return", + "src": "1221:27:12" + } + ] + }, + "documentation": "@dev Returns true if the caller is the current owner.", + "id": 1906, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1896, + "nodeType": "ParameterList", + "parameters": [], + "src": "1181:2:12" + }, + "returnParameters": { + "id": 1899, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1898, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1906, + "src": "1205:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1897, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1205:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1204:6:12" + }, + "scope": 1962, + "src": "1165:90:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1924, + "nodeType": "Block", + "src": "1645:91:12", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1912, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "1681:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1914, + "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": 1913, + "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": 1915, + "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": 1911, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1861, + "src": "1660:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1660:40:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1917, + "nodeType": "EmitStatement", + "src": "1655:45:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 1922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1918, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "1710:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1920, + "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": 1919, + "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": 1921, + "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": 1923, + "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": 1925, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 1909, + "modifierName": { + "argumentTypes": null, + "id": 1908, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1895, + "src": "1635:9:12", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1635:9:12" + } + ], + "name": "renounceOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1907, + "nodeType": "ParameterList", + "parameters": [], + "src": "1625:2:12" + }, + "returnParameters": { + "id": 1910, + "nodeType": "ParameterList", + "parameters": [], + "src": "1645:0:12" + }, + "scope": 1962, + "src": "1599:137:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1936, + "nodeType": "Block", + "src": "1947:45:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1933, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1927, + "src": "1976:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1932, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1961, + "src": "1957:18:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1957:28:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1935, + "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": 1937, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 1930, + "modifierName": { + "argumentTypes": null, + "id": 1929, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1895, + "src": "1937:9:12", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1937:9:12" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1928, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1927, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1937, + "src": "1912:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1926, + "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": 1931, + "nodeType": "ParameterList", + "parameters": [], + "src": "1947:0:12" + }, + "scope": 1962, + "src": "1885:107:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1960, + "nodeType": "Block", + "src": "2148:170:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1943, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1939, + "src": "2166:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1945, + "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": 1944, + "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": 1946, + "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": 1948, + "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": 1942, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2049, + 2050 + ], + "referencedDeclaration": 2050, + "src": "2158:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2158:73:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1950, + "nodeType": "ExpressionStatement", + "src": "2158:73:12" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1952, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "2267:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1953, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1939, + "src": "2275:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1951, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1861, + "src": "2246:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2246:38:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1955, + "nodeType": "EmitStatement", + "src": "2241:43:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 1958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1956, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "2294:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1957, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1939, + "src": "2303:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2294:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1959, + "nodeType": "ExpressionStatement", + "src": "2294:17:12" + } + ] + }, + "documentation": "@dev Transfers ownership of the contract to a new account (`newOwner`).", + "id": 1961, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1940, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1939, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1961, + "src": "2121:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1938, + "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": 1941, + "nodeType": "ParameterList", + "parameters": [], + "src": "2148:0:12" + }, + "scope": 1962, + "src": "2093:225:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1963, + "src": "385:1935:12" + } + ], + "src": "0:2321:12" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "exportedSymbols": { + "Ownable": [ + 1962 + ] + }, + "id": 1963, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1853, + "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": 1962, + "linearizedBaseContracts": [ + 1962 + ], + "name": "Ownable", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1855, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 1962, + "src": "408:22:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1854, + "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": 1861, + "name": "OwnershipTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 1860, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1857, + "indexed": true, + "name": "previousOwner", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "464:29:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1856, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "464:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1859, + "indexed": true, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1861, + "src": "495:24:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1858, + "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": 1876, + "nodeType": "Block", + "src": "647:91:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1864, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "657:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1865, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2046, + "src": "666:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1866, + "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": 1868, + "nodeType": "ExpressionStatement", + "src": "657:19:12" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1871, + "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": 1870, + "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": 1872, + "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": 1873, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "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": 1869, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1861, + "src": "691:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "691:40:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1875, + "nodeType": "EmitStatement", + "src": "686:45:12" + } + ] + }, + "documentation": "@dev Initializes the contract setting the deployer as the initial owner.", + "id": 1877, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1862, + "nodeType": "ParameterList", + "parameters": [], + "src": "635:2:12" + }, + "returnParameters": { + "id": 1863, + "nodeType": "ParameterList", + "parameters": [], + "src": "647:0:12" + }, + "scope": 1962, + "src": "623:115:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1884, + "nodeType": "Block", + "src": "861:30:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1882, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "878:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1881, + "id": 1883, + "nodeType": "Return", + "src": "871:13:12" + } + ] + }, + "documentation": "@dev Returns the address of the current owner.", + "id": 1885, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1878, + "nodeType": "ParameterList", + "parameters": [], + "src": "828:2:12" + }, + "returnParameters": { + "id": 1881, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1880, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1885, + "src": "852:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1879, + "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": 1962, + "src": "814:77:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1894, + "nodeType": "Block", + "src": "1000:82:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1888, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1906, + "src": "1018:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 1889, + "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": 1890, + "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": 1887, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2049, + 2050 + ], + "referencedDeclaration": 2050, + "src": "1010:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1010:54:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1892, + "nodeType": "ExpressionStatement", + "src": "1010:54:12" + }, + { + "id": 1893, + "nodeType": "PlaceholderStatement", + "src": "1074:1:12" + } + ] + }, + "documentation": "@dev Throws if called by any account other than the owner.", + "id": 1895, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1886, + "nodeType": "ParameterList", + "parameters": [], + "src": "997:2:12" + }, + "src": "979:103:12", + "visibility": "internal" + }, + { + "body": { + "id": 1905, + "nodeType": "Block", + "src": "1211:44:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1900, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2046, + "src": "1228:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1901, + "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": 1902, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "1242:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1228:20:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1899, + "id": 1904, + "nodeType": "Return", + "src": "1221:27:12" + } + ] + }, + "documentation": "@dev Returns true if the caller is the current owner.", + "id": 1906, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1896, + "nodeType": "ParameterList", + "parameters": [], + "src": "1181:2:12" + }, + "returnParameters": { + "id": 1899, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1898, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1906, + "src": "1205:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1897, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1205:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1204:6:12" + }, + "scope": 1962, + "src": "1165:90:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1924, + "nodeType": "Block", + "src": "1645:91:12", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1912, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "1681:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1914, + "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": 1913, + "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": 1915, + "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": 1911, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1861, + "src": "1660:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1660:40:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1917, + "nodeType": "EmitStatement", + "src": "1655:45:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 1922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1918, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "1710:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1920, + "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": 1919, + "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": 1921, + "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": 1923, + "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": 1925, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 1909, + "modifierName": { + "argumentTypes": null, + "id": 1908, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1895, + "src": "1635:9:12", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1635:9:12" + } + ], + "name": "renounceOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1907, + "nodeType": "ParameterList", + "parameters": [], + "src": "1625:2:12" + }, + "returnParameters": { + "id": 1910, + "nodeType": "ParameterList", + "parameters": [], + "src": "1645:0:12" + }, + "scope": 1962, + "src": "1599:137:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1936, + "nodeType": "Block", + "src": "1947:45:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1933, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1927, + "src": "1976:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1932, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1961, + "src": "1957:18:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1957:28:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1935, + "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": 1937, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": null, + "id": 1930, + "modifierName": { + "argumentTypes": null, + "id": 1929, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1895, + "src": "1937:9:12", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1937:9:12" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1928, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1927, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1937, + "src": "1912:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1926, + "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": 1931, + "nodeType": "ParameterList", + "parameters": [], + "src": "1947:0:12" + }, + "scope": 1962, + "src": "1885:107:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1960, + "nodeType": "Block", + "src": "2148:170:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1943, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1939, + "src": "2166:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 1945, + "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": 1944, + "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": 1946, + "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": 1948, + "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": 1942, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2049, + 2050 + ], + "referencedDeclaration": 2050, + "src": "2158:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2158:73:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1950, + "nodeType": "ExpressionStatement", + "src": "2158:73:12" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1952, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "2267:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1953, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1939, + "src": "2275:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1951, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1861, + "src": "2246:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2246:38:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1955, + "nodeType": "EmitStatement", + "src": "2241:43:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 1958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1956, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "2294:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1957, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1939, + "src": "2303:8:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2294:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1959, + "nodeType": "ExpressionStatement", + "src": "2294:17:12" + } + ] + }, + "documentation": "@dev Transfers ownership of the contract to a new account (`newOwner`).", + "id": 1961, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1940, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1939, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 1961, + "src": "2121:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1938, + "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": 1941, + "nodeType": "ParameterList", + "parameters": [], + "src": "2148:0:12" + }, + "scope": 1962, + "src": "2093:225:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1963, + "src": "385:1935:12" + } + ], + "src": "0:2321:12" + }, + "compiler": { + "name": "solc", + "version": "0.5.8+commit.23d335f2.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.11", + "updatedAt": "2019-10-19T10:48:51.143Z", + "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/anemometer-oracle/smart-contract/build/contracts/SignatureVerifier.json b/anemometer-oracle/smart-contract/build/contracts/SignatureVerifier.json new file mode 100644 index 00000000..3084c709 --- /dev/null +++ b/anemometer-oracle/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.8+commit.23d335f2\"},\"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\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"iexec-poco/contracts/SignatureVerifier.sol\":{\"keccak256\":\"0x2e26922d87f29c337002a30babc615638cbee6cd87ed599f6ed90e67971e86a0\",\"urls\":[\"bzzr://1528fea12280336ed0c1c124746a4ce238c21f18c5d6a9323f3917546bd1e2a2\"]},\"iexec-solidity/contracts/ERC1271/IERC1271.sol\":{\"keccak256\":\"0x90daa992bd38a335a1e6503b4b815b5aa5315366637dc0cb0b98e7f39096c842\",\"urls\":[\"bzzr://9c88f54779ee800bd2235d96ea251b3c80e45d4c127db93a9a71a8b9235becb2\"]},\"iexec-solidity/contracts/ERC734_KeyManager/IERC734.sol\":{\"keccak256\":\"0x46532e2d419a87bf604b354318a19d56a3dc25fa7ad6f94c77bd2aa8ce54a755\",\"urls\":[\"bzzr://8ada95bcec956bdd6e7c4e3ec840e9e13cfc04584668d0df2c00459f94d74541\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b506105b6806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80630175199814610030575b600080fd5b61004a60048036036100459190810190610294565b610060565b604051610057919061038a565b60405180910390f35b600061006d848484610108565b806100ff57508373ffffffffffffffffffffffffffffffffffffffff16631626ba7e84846040518363ffffffff1660e01b81526004016100ae9291906103a5565b60206040518083038186803b1580156100c657600080fd5b505afa1580156100da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506100fe91908101906102fb565b5b90509392505050565b600080600080604185511461012357600093505050506101fa565b6020850151925060408501519150606085015160001a9050601b8160ff16101561014e57601b810190505b601b8160ff16141580156101665750601c8160ff1614155b1561017757600093505050506101fa565b6001868285856040516000815260200160405260405161019a94939291906103d5565b6020604051602081039080840390855afa1580156101bc573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161493505050505b9392505050565b60008135905061021081610537565b92915050565b6000815190506102258161054e565b92915050565b60008135905061023a81610565565b92915050565b600082601f83011261025157600080fd5b813561026461025f82610447565b61041a565b9150808252602083016020830185838301111561028057600080fd5b61028b8382846104e4565b50505092915050565b6000806000606084860312156102a957600080fd5b60006102b786828701610201565b93505060206102c88682870161022b565b925050604084013567ffffffffffffffff8111156102e557600080fd5b6102f186828701610240565b9150509250925092565b60006020828403121561030d57600080fd5b600061031b84828501610216565b91505092915050565b61032d816104a1565b82525050565b61033c816104ad565b82525050565b600061034d82610473565b610357818561047e565b93506103678185602086016104f3565b61037081610526565b840191505092915050565b610384816104d7565b82525050565b600060208201905061039f6000830184610324565b92915050565b60006040820190506103ba6000830185610333565b81810360208301526103cc8184610342565b90509392505050565b60006080820190506103ea6000830187610333565b6103f7602083018661037b565b6104046040830185610333565b6104116060830184610333565b95945050505050565b6000604051905081810181811067ffffffffffffffff8211171561043d57600080fd5b8060405250919050565b600067ffffffffffffffff82111561045e57600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600061049a826104b7565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b838110156105115780820151818401526020810190506104f6565b83811115610520576000848401525b50505050565b6000601f19601f8301169050919050565b6105408161048f565b811461054b57600080fd5b50565b610557816104a1565b811461056257600080fd5b50565b61056e816104ad565b811461057957600080fd5b5056fea265627a7a723058203285bd2fb5478c48774ccfc2642acfc3bfe29250131bbc20914170e3f231d7766c6578706572696d656e74616cf50037", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80630175199814610030575b600080fd5b61004a60048036036100459190810190610294565b610060565b604051610057919061038a565b60405180910390f35b600061006d848484610108565b806100ff57508373ffffffffffffffffffffffffffffffffffffffff16631626ba7e84846040518363ffffffff1660e01b81526004016100ae9291906103a5565b60206040518083038186803b1580156100c657600080fd5b505afa1580156100da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506100fe91908101906102fb565b5b90509392505050565b600080600080604185511461012357600093505050506101fa565b6020850151925060408501519150606085015160001a9050601b8160ff16101561014e57601b810190505b601b8160ff16141580156101665750601c8160ff1614155b1561017757600093505050506101fa565b6001868285856040516000815260200160405260405161019a94939291906103d5565b6020604051602081039080840390855afa1580156101bc573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161493505050505b9392505050565b60008135905061021081610537565b92915050565b6000815190506102258161054e565b92915050565b60008135905061023a81610565565b92915050565b600082601f83011261025157600080fd5b813561026461025f82610447565b61041a565b9150808252602083016020830185838301111561028057600080fd5b61028b8382846104e4565b50505092915050565b6000806000606084860312156102a957600080fd5b60006102b786828701610201565b93505060206102c88682870161022b565b925050604084013567ffffffffffffffff8111156102e557600080fd5b6102f186828701610240565b9150509250925092565b60006020828403121561030d57600080fd5b600061031b84828501610216565b91505092915050565b61032d816104a1565b82525050565b61033c816104ad565b82525050565b600061034d82610473565b610357818561047e565b93506103678185602086016104f3565b61037081610526565b840191505092915050565b610384816104d7565b82525050565b600060208201905061039f6000830184610324565b92915050565b60006040820190506103ba6000830185610333565b81810360208301526103cc8184610342565b90509392505050565b60006080820190506103ea6000830187610333565b6103f7602083018661037b565b6104046040830185610333565b6104116060830184610333565b95945050505050565b6000604051905081810181811067ffffffffffffffff8211171561043d57600080fd5b8060405250919050565b600067ffffffffffffffff82111561045e57600080fd5b601f19601f8301169050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600061049a826104b7565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b838110156105115780820151818401526020810190506104f6565b83811115610520576000848401525b50505050565b6000601f19601f8301169050919050565b6105408161048f565b811461054b57600080fd5b50565b610557816104a1565b811461056257600080fd5b50565b61056e816104ad565b811461057957600080fd5b5056fea265627a7a723058203285bd2fb5478c48774ccfc2642acfc3bfe29250131bbc20914170e3f231d7766c6578706572696d656e74616cf50037", + "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;;;;805:9;796:36;;;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;;;;;;;;;750:101;743:108;;609:246;;;;;:::o;923:435::-;1021:4;1032:9;1045;1058;1090:2;1075:4;:11;:17;1071:35;;1101:5;1094:12;;;;;;;1071:35;1155:4;1149;1145:15;1139:22;1126:35;;1194:4;1188;1184:15;1178:22;1165:35;;1233:4;1227;1223:15;1217:22;1214:1;1209:31;1204:36;;1255:2;1251:1;:6;;;1247:19;;;1264:2;1259:7;;;;1247:19;1279:2;1274:1;:7;;;;:18;;;;;1290:2;1285:1;: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;;;;;;;;1317:37;;:9;:37;;;1310:44;;;;;923:435;;;;;;:::o;5:130:-1:-;;85:6;72:20;63:29;;97:33;124:5;97:33;;;57:78;;;;;142:128;;223:6;217:13;208:22;;235:30;259:5;235:30;;;202:68;;;;;277:130;;357:6;344:20;335:29;;369:33;396:5;369:33;;;329:78;;;;;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;1114:6;1103:9;1099:22;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;1689:6;1678:9;1674:22;1645:61;;;1635:71;;1607:105;1539:183;;;;;1729:104;1806:21;1821:5;1806:21;;;1801:3;1794:34;1788:45;;;1840:113;1923:24;1941:5;1923:24;;;1918:3;1911:37;1905:48;;;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;;;2263:3;2259:39;2252:46;;2050:253;;;;;;2310:107;2389:22;2405:5;2389:22;;;2384:3;2377:35;2371:46;;;2424:201;;2536:2;2525:9;2521:18;2513:26;;2550:65;2612:1;2601:9;2597:17;2588:6;2550:65;;;2507:118;;;;;2632:408;;2796:2;2785:9;2781:18;2773:26;;2810:71;2878:1;2867:9;2863:17;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;;;2946:84;;2767:273;;;;;;3047:539;;3245:3;3234:9;3230:19;3222:27;;3260:71;3328:1;3317:9;3313:17;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;3639:19;;3693:4;3685:6;3681:17;3792:6;3780:10;3777:22;3756:18;3744:10;3741:34;3738:62;3735:2;;;3813:1;3810;3803:12;3735:2;3833:10;3829:2;3822:22;3633:216;;;;;3856:258;;3999:18;3991:6;3988:30;3985:2;;;4031:1;4028;4021:12;3985:2;4075:4;4071:9;4064:4;4056:6;4052:17;4048:33;4040:41;;4104:4;4098;4094:15;4086:23;;3922:192;;;;4121:91;;4201:5;4195:12;4185:22;;4179:33;;;;4220:162;;4334:6;4329:3;4322:19;4371:4;4366:3;4362:14;4347:29;;4315:67;;;;;4390:91;;4452:24;4470:5;4452:24;;;4441:35;;4435:46;;;;4488:85;;4561:5;4554:13;4547:21;4536:32;;4530:43;;;;4580:72;;4642:5;4631:16;;4625:27;;;;4659:121;;4732:42;4725:5;4721:54;4710:65;;4704:76;;;;4787:81;;4858:4;4851:5;4847:16;4836:27;;4830:38;;;;4876:145;4957:6;4952:3;4947;4934:30;5013:1;5004:6;4999:3;4995:16;4988:27;4927:94;;;;5030:268;5095:1;5102:101;5116:6;5113:1;5110:13;5102:101;;;5192:1;5187:3;5183:11;5177:18;5173:1;5168:3;5164:11;5157:39;5138:2;5135:1;5131:10;5126:15;;5102:101;;;5218:6;5215:1;5212:13;5209:2;;;5283:1;5274:6;5269:3;5265:16;5258:27;5209:2;5079:219;;;;;5306:97;;5394:2;5390:7;5385:2;5378:5;5374:14;5370:28;5360:38;;5354:49;;;;5411:117;5480:24;5498:5;5480:24;;;5473:5;5470:35;5460:2;;5519:1;5516;5509:12;5460:2;5454:74;;5535:111;5601:21;5616:5;5601:21;;;5594:5;5591:32;5581:2;;5637:1;5634;5627:12;5581:2;5575:71;;5653:117;5722:24;5740:5;5722:24;;;5715:5;5712:35;5702:2;;5761:1;5758;5751:12;5702:2;5696:74;", + "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": [ + 1342 + ] + }, + "id": 1343, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1200, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:6" + }, + { + "id": 1201, + "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": 1202, + "nodeType": "ImportDirective", + "scope": 1343, + "sourceUnit": 1852, + "src": "59:64:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-solidity/contracts/ERC1271/IERC1271.sol", + "file": "iexec-solidity/contracts/ERC1271/IERC1271.sol", + "id": 1203, + "nodeType": "ImportDirective", + "scope": 1343, + "sourceUnit": 1710, + "src": "124:55:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1342, + "linearizedBaseContracts": [ + 1342 + ], + "name": "SignatureVerifier", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1216, + "nodeType": "Block", + "src": "279:38:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1212, + "name": "_addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1205, + "src": "306:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1211, + "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": 1213, + "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": 1210, + "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": 1214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "290:23:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1209, + "id": 1215, + "nodeType": "Return", + "src": "283:30:6" + } + ] + }, + "documentation": null, + "id": 1217, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addrToKey", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1205, + "name": "_addr", + "nodeType": "VariableDeclaration", + "scope": 1217, + "src": "230:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1204, + "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": 1209, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1208, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1217, + "src": "269:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1207, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "269:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "268:9:6" + }, + "scope": 1342, + "src": "211:106:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1242, + "nodeType": "Block", + "src": "437:154:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1228, + "name": "_identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1219, + "src": "448:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1229, + "name": "_candidate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1221, + "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": 1236, + "name": "_candidate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1221, + "src": "518:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1235, + "name": "addrToKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1217, + "src": "508:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", + "typeString": "function (address) pure returns (bytes32)" + } + }, + "id": 1237, + "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": 1238, + "name": "_purpose", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1223, + "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": 1232, + "name": "_identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1219, + "src": "483:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1231, + "name": "IERC734", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1851, + "src": "475:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC734_$1851_$", + "typeString": "type(contract IERC734)" + } + }, + "id": 1233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "475:18:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC734_$1851", + "typeString": "contract IERC734" + } + }, + "id": 1234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "keyHasPurpose", + "nodeType": "MemberAccess", + "referencedDeclaration": 1802, + "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": 1239, + "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": 1227, + "id": 1241, + "nodeType": "Return", + "src": "441:99:6" + } + ] + }, + "documentation": null, + "id": 1243, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "checkIdentity", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1224, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1219, + "name": "_identity", + "nodeType": "VariableDeclaration", + "scope": 1243, + "src": "343:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1218, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "343:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1221, + "name": "_candidate", + "nodeType": "VariableDeclaration", + "scope": 1243, + "src": "362:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1220, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "362:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1223, + "name": "_purpose", + "nodeType": "VariableDeclaration", + "scope": 1243, + "src": "382:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1222, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "382:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "342:57:6" + }, + "returnParameters": { + "id": 1227, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1226, + "name": "valid", + "nodeType": "VariableDeclaration", + "scope": 1243, + "src": "424:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1225, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "424:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "423:12:6" + }, + "scope": 1342, + "src": "320:271:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1268, + "nodeType": "Block", + "src": "739:116:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1255, + "name": "_identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1245, + "src": "763:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1256, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1247, + "src": "774:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1257, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1249, + "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": 1254, + "name": "recoverCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1325, + "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": 1258, + "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": 1263, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1247, + "src": "833:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1264, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1249, + "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": 1260, + "name": "_identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1245, + "src": "805:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1259, + "name": "IERC1271", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1709, + "src": "796:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1271_$1709_$", + "typeString": "type(contract IERC1271)" + } + }, + "id": 1261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "796:19:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1271_$1709", + "typeString": "contract IERC1271" + } + }, + "id": 1262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isValidSignature", + "nodeType": "MemberAccess", + "referencedDeclaration": 1708, + "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": 1265, + "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": 1253, + "id": 1267, + "nodeType": "Return", + "src": "743:108:6" + } + ] + }, + "documentation": null, + "id": 1269, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifySignature", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1250, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1245, + "name": "_identity", + "nodeType": "VariableDeclaration", + "scope": 1269, + "src": "637:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1244, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "637:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1247, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 1269, + "src": "663:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1246, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "663:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1249, + "name": "_signature", + "nodeType": "VariableDeclaration", + "scope": 1269, + "src": "685:23:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1248, + "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": 1253, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1252, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1269, + "src": "732:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1251, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "732:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "731:6:6" + }, + "scope": 1342, + "src": "609:246:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1324, + "nodeType": "Block", + "src": "1028:330:6", + "statements": [ + { + "assignments": [ + 1281 + ], + "declarations": [ + { + "constant": false, + "id": 1281, + "name": "r", + "nodeType": "VariableDeclaration", + "scope": 1324, + "src": "1032:9:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1280, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1032:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1282, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1032:9:6" + }, + { + "assignments": [ + 1284 + ], + "declarations": [ + { + "constant": false, + "id": 1284, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 1324, + "src": "1045:9:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1283, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1045:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1285, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1045:9:6" + }, + { + "assignments": [ + 1287 + ], + "declarations": [ + { + "constant": false, + "id": 1287, + "name": "v", + "nodeType": "VariableDeclaration", + "scope": 1324, + "src": "1058:9:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1286, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1058:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1288, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1058:9:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1289, + "name": "sign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1275, + "src": "1075:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1290, + "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": 1291, + "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": 1295, + "nodeType": "IfStatement", + "src": "1071:35:6", + "trueBody": { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1293, + "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": 1279, + "id": 1294, + "nodeType": "Return", + "src": "1094:12:6" + } + }, + { + "externalReferences": [ + { + "r": { + "declaration": 1281, + "isOffset": false, + "isSlot": false, + "src": "1126:1:6", + "valueSize": 1 + } + }, + { + "sign": { + "declaration": 1275, + "isOffset": false, + "isSlot": false, + "src": "1149:4:6", + "valueSize": 1 + } + }, + { + "v": { + "declaration": 1287, + "isOffset": false, + "isSlot": false, + "src": "1204:1:6", + "valueSize": 1 + } + }, + { + "s": { + "declaration": 1284, + "isOffset": false, + "isSlot": false, + "src": "1165:1:6", + "valueSize": 1 + } + }, + { + "sign": { + "declaration": 1275, + "isOffset": false, + "isSlot": false, + "src": "1188:4:6", + "valueSize": 1 + } + }, + { + "sign": { + "declaration": 1275, + "isOffset": false, + "isSlot": false, + "src": "1227:4:6", + "valueSize": 1 + } + } + ], + "id": 1296, + "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": 1299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1297, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "1251:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3237", + "id": 1298, + "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": 1304, + "nodeType": "IfStatement", + "src": "1247:19:6", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 1302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1300, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "1259:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3237", + "id": 1301, + "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": 1303, + "nodeType": "ExpressionStatement", + "src": "1259:7:6" + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1305, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "1274:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3237", + "id": 1306, + "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": 1310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1308, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "1285:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3238", + "id": 1309, + "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": 1314, + "nodeType": "IfStatement", + "src": "1270:36:6", + "trueBody": { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1312, + "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": 1279, + "id": 1313, + "nodeType": "Return", + "src": "1294:12:6" + } + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1315, + "name": "candidate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1271, + "src": "1317:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1317, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1273, + "src": "1340:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1318, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "1346:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 1319, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1281, + "src": "1349:1:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1320, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1284, + "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": 1316, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2038, + "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": 1321, + "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": 1279, + "id": 1323, + "nodeType": "Return", + "src": "1310:44:6" + } + ] + }, + "documentation": null, + "id": 1325, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "recoverCheck", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1276, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1271, + "name": "candidate", + "nodeType": "VariableDeclaration", + "scope": 1325, + "src": "945:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1270, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "945:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1273, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 1325, + "src": "964:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1272, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "964:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1275, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1325, + "src": "978:17:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1274, + "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": 1279, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1278, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1325, + "src": "1021:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1277, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1021:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1020:6:6" + }, + "scope": 1342, + "src": "923:435:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1340, + "nodeType": "Block", + "src": "1441:84:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", + "id": 1335, + "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": 1336, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "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": 1333, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2033, + "src": "1462:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1334, + "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": 1337, + "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": 1332, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2040, + "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": 1338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1452:69:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1331, + "id": 1339, + "nodeType": "Return", + "src": "1445:76:6" + } + ] + }, + "documentation": null, + "id": 1341, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toEthSignedMessageHash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1327, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 1341, + "src": "1393:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1326, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1393:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1392:14:6" + }, + "returnParameters": { + "id": 1331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1330, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1341, + "src": "1431:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1329, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1431:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1430:9:6" + }, + "scope": 1342, + "src": "1361:164:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1343, + "src": "181:1346:6" + } + ], + "src": "0:1528:6" + }, + "legacyAST": { + "absolutePath": "iexec-poco/contracts/SignatureVerifier.sol", + "exportedSymbols": { + "SignatureVerifier": [ + 1342 + ] + }, + "id": 1343, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1200, + "literals": [ + "solidity", + "^", + "0.5", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "0:23:6" + }, + { + "id": 1201, + "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": 1202, + "nodeType": "ImportDirective", + "scope": 1343, + "sourceUnit": 1852, + "src": "59:64:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "iexec-solidity/contracts/ERC1271/IERC1271.sol", + "file": "iexec-solidity/contracts/ERC1271/IERC1271.sol", + "id": 1203, + "nodeType": "ImportDirective", + "scope": 1343, + "sourceUnit": 1710, + "src": "124:55:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1342, + "linearizedBaseContracts": [ + 1342 + ], + "name": "SignatureVerifier", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1216, + "nodeType": "Block", + "src": "279:38:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1212, + "name": "_addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1205, + "src": "306:5:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1211, + "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": 1213, + "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": 1210, + "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": 1214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "290:23:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1209, + "id": 1215, + "nodeType": "Return", + "src": "283:30:6" + } + ] + }, + "documentation": null, + "id": 1217, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addrToKey", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1205, + "name": "_addr", + "nodeType": "VariableDeclaration", + "scope": 1217, + "src": "230:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1204, + "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": 1209, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1208, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1217, + "src": "269:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1207, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "269:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "268:9:6" + }, + "scope": 1342, + "src": "211:106:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1242, + "nodeType": "Block", + "src": "437:154:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1228, + "name": "_identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1219, + "src": "448:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1229, + "name": "_candidate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1221, + "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": 1236, + "name": "_candidate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1221, + "src": "518:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1235, + "name": "addrToKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1217, + "src": "508:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bytes32_$", + "typeString": "function (address) pure returns (bytes32)" + } + }, + "id": 1237, + "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": 1238, + "name": "_purpose", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1223, + "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": 1232, + "name": "_identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1219, + "src": "483:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1231, + "name": "IERC734", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1851, + "src": "475:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC734_$1851_$", + "typeString": "type(contract IERC734)" + } + }, + "id": 1233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "475:18:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC734_$1851", + "typeString": "contract IERC734" + } + }, + "id": 1234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "keyHasPurpose", + "nodeType": "MemberAccess", + "referencedDeclaration": 1802, + "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": 1239, + "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": 1227, + "id": 1241, + "nodeType": "Return", + "src": "441:99:6" + } + ] + }, + "documentation": null, + "id": 1243, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "checkIdentity", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1224, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1219, + "name": "_identity", + "nodeType": "VariableDeclaration", + "scope": 1243, + "src": "343:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1218, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "343:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1221, + "name": "_candidate", + "nodeType": "VariableDeclaration", + "scope": 1243, + "src": "362:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1220, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "362:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1223, + "name": "_purpose", + "nodeType": "VariableDeclaration", + "scope": 1243, + "src": "382:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1222, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "382:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "342:57:6" + }, + "returnParameters": { + "id": 1227, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1226, + "name": "valid", + "nodeType": "VariableDeclaration", + "scope": 1243, + "src": "424:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1225, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "424:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "423:12:6" + }, + "scope": 1342, + "src": "320:271:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1268, + "nodeType": "Block", + "src": "739:116:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1255, + "name": "_identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1245, + "src": "763:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1256, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1247, + "src": "774:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1257, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1249, + "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": 1254, + "name": "recoverCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1325, + "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": 1258, + "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": 1263, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1247, + "src": "833:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1264, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1249, + "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": 1260, + "name": "_identity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1245, + "src": "805:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1259, + "name": "IERC1271", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1709, + "src": "796:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1271_$1709_$", + "typeString": "type(contract IERC1271)" + } + }, + "id": 1261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "796:19:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1271_$1709", + "typeString": "contract IERC1271" + } + }, + "id": 1262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isValidSignature", + "nodeType": "MemberAccess", + "referencedDeclaration": 1708, + "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": 1265, + "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": 1253, + "id": 1267, + "nodeType": "Return", + "src": "743:108:6" + } + ] + }, + "documentation": null, + "id": 1269, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifySignature", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1250, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1245, + "name": "_identity", + "nodeType": "VariableDeclaration", + "scope": 1269, + "src": "637:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1244, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "637:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1247, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 1269, + "src": "663:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1246, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "663:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1249, + "name": "_signature", + "nodeType": "VariableDeclaration", + "scope": 1269, + "src": "685:23:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1248, + "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": 1253, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1252, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1269, + "src": "732:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1251, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "732:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "731:6:6" + }, + "scope": 1342, + "src": "609:246:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1324, + "nodeType": "Block", + "src": "1028:330:6", + "statements": [ + { + "assignments": [ + 1281 + ], + "declarations": [ + { + "constant": false, + "id": 1281, + "name": "r", + "nodeType": "VariableDeclaration", + "scope": 1324, + "src": "1032:9:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1280, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1032:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1282, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1032:9:6" + }, + { + "assignments": [ + 1284 + ], + "declarations": [ + { + "constant": false, + "id": 1284, + "name": "s", + "nodeType": "VariableDeclaration", + "scope": 1324, + "src": "1045:9:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1283, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1045:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1285, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1045:9:6" + }, + { + "assignments": [ + 1287 + ], + "declarations": [ + { + "constant": false, + "id": 1287, + "name": "v", + "nodeType": "VariableDeclaration", + "scope": 1324, + "src": "1058:9:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1286, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1058:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1288, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1058:9:6" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1289, + "name": "sign", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1275, + "src": "1075:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1290, + "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": 1291, + "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": 1295, + "nodeType": "IfStatement", + "src": "1071:35:6", + "trueBody": { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1293, + "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": 1279, + "id": 1294, + "nodeType": "Return", + "src": "1094:12:6" + } + }, + { + "externalReferences": [ + { + "r": { + "declaration": 1281, + "isOffset": false, + "isSlot": false, + "src": "1126:1:6", + "valueSize": 1 + } + }, + { + "sign": { + "declaration": 1275, + "isOffset": false, + "isSlot": false, + "src": "1149:4:6", + "valueSize": 1 + } + }, + { + "v": { + "declaration": 1287, + "isOffset": false, + "isSlot": false, + "src": "1204:1:6", + "valueSize": 1 + } + }, + { + "s": { + "declaration": 1284, + "isOffset": false, + "isSlot": false, + "src": "1165:1:6", + "valueSize": 1 + } + }, + { + "sign": { + "declaration": 1275, + "isOffset": false, + "isSlot": false, + "src": "1188:4:6", + "valueSize": 1 + } + }, + { + "sign": { + "declaration": 1275, + "isOffset": false, + "isSlot": false, + "src": "1227:4:6", + "valueSize": 1 + } + } + ], + "id": 1296, + "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": 1299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1297, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "1251:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3237", + "id": 1298, + "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": 1304, + "nodeType": "IfStatement", + "src": "1247:19:6", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 1302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1300, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "1259:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3237", + "id": 1301, + "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": 1303, + "nodeType": "ExpressionStatement", + "src": "1259:7:6" + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 1307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1305, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "1274:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3237", + "id": 1306, + "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": 1310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1308, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "1285:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3238", + "id": 1309, + "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": 1314, + "nodeType": "IfStatement", + "src": "1270:36:6", + "trueBody": { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1312, + "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": 1279, + "id": 1313, + "nodeType": "Return", + "src": "1294:12:6" + } + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1315, + "name": "candidate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1271, + "src": "1317:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1317, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1273, + "src": "1340:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1318, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1287, + "src": "1346:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 1319, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1281, + "src": "1349:1:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1320, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1284, + "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": 1316, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2038, + "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": 1321, + "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": 1279, + "id": 1323, + "nodeType": "Return", + "src": "1310:44:6" + } + ] + }, + "documentation": null, + "id": 1325, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "recoverCheck", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1276, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1271, + "name": "candidate", + "nodeType": "VariableDeclaration", + "scope": 1325, + "src": "945:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1270, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "945:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1273, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 1325, + "src": "964:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1272, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "964:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1275, + "name": "sign", + "nodeType": "VariableDeclaration", + "scope": 1325, + "src": "978:17:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1274, + "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": 1279, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1278, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1325, + "src": "1021:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1277, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1021:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1020:6:6" + }, + "scope": 1342, + "src": "923:435:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1340, + "nodeType": "Block", + "src": "1441:84:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", + "id": 1335, + "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": 1336, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "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": 1333, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2033, + "src": "1462:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1334, + "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": 1337, + "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": 1332, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2040, + "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": 1338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1452:69:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 1331, + "id": 1339, + "nodeType": "Return", + "src": "1445:76:6" + } + ] + }, + "documentation": null, + "id": 1341, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toEthSignedMessageHash", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1327, + "name": "hash", + "nodeType": "VariableDeclaration", + "scope": 1341, + "src": "1393:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1326, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1393:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1392:14:6" + }, + "returnParameters": { + "id": 1331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1330, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 1341, + "src": "1431:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1329, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1431:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1430:9:6" + }, + "scope": 1342, + "src": "1361:164:6", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1343, + "src": "181:1346:6" + } + ], + "src": "0:1528:6" + }, + "compiler": { + "name": "solc", + "version": "0.5.8+commit.23d335f2.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.11", + "updatedAt": "2019-10-19T10:48:51.108Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/anemometer-oracle/smart-contract/contracts/AnemometerOracle.sol b/anemometer-oracle/smart-contract/contracts/AnemometerOracle.sol new file mode 100644 index 00000000..6e78f68e --- /dev/null +++ b/anemometer-oracle/smart-contract/contracts/AnemometerOracle.sol @@ -0,0 +1,81 @@ +pragma solidity ^0.5.8; +pragma experimental ABIEncoderV2; + +import "openzeppelin-solidity/contracts/ownership/Ownable.sol"; +import "iexec-doracle-base/contracts/IexecDoracle.sol"; + +contract AnemometerOracle is Ownable, IexecDoracle +{ + struct WeatherReport + { + bytes32 oracleCallID; + string summary; + uint256 windSpeed; + bool historicalData; + } + + struct Location + { + string location; + mapping(uint256 => WeatherReport) reports; + } + + mapping (bytes32 => Location) public locations; + + + event NewWeatherReport( + bytes32 indexed id, + bytes32 indexed oracleCallID, + string location, + uint256 date, + string summary, + uint256 windSpeed + ); + + // 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, string memory, uint256) + { return abi.decode(results, (uint256, string, string, uint256)); } + + function processResult(bytes32 _oracleCallID) + public + { + uint256 date; + string memory location; + string memory summary; + uint256 windSpeed; + + // Parse results + (date, location, summary, windSpeed) = decodeResults(_iexecDoracleGetVerifiedResult(_oracleCallID)); + + // Process results + bytes32 id = keccak256(bytes(location)); + require (!locations[id].reports[date].historicalData, "report is already fetched for given location and time"); + emit NewWeatherReport(id, _oracleCallID, location, date, summary, windSpeed); + locations[id].reports[date].oracleCallID = _oracleCallID; + locations[id].reports[date].summary = summary; + locations[id].reports[date].windSpeed = windSpeed; + locations[id].reports[date].historicalData = now > date ? true : false; + locations[id].location = location; + } + + function getWeatherReport(bytes32 id, uint256 date) public view returns(WeatherReport memory) { + return locations[id].reports[date]; + } +} diff --git a/anemometer-oracle/smart-contract/contracts/Migrations.sol b/anemometer-oracle/smart-contract/contracts/Migrations.sol new file mode 100644 index 00000000..c378ffb0 --- /dev/null +++ b/anemometer-oracle/smart-contract/contracts/Migrations.sol @@ -0,0 +1,23 @@ +pragma solidity >=0.4.21 <0.6.0; + +contract Migrations { + address public owner; + uint public last_completed_migration; + + constructor() public { + owner = msg.sender; + } + + modifier restricted() { + if (msg.sender == owner) _; + } + + function setCompleted(uint completed) public restricted { + last_completed_migration = completed; + } + + function upgrade(address new_address) public restricted { + Migrations upgraded = Migrations(new_address); + upgraded.setCompleted(last_completed_migration); + } +} diff --git a/anemometer-oracle/smart-contract/migrations/1_initial_migration.js b/anemometer-oracle/smart-contract/migrations/1_initial_migration.js new file mode 100644 index 00000000..ee2135d2 --- /dev/null +++ b/anemometer-oracle/smart-contract/migrations/1_initial_migration.js @@ -0,0 +1,5 @@ +const Migrations = artifacts.require("Migrations"); + +module.exports = function(deployer) { + deployer.deploy(Migrations); +}; diff --git a/anemometer-oracle/smart-contract/migrations/2_deploy_contracts.js b/anemometer-oracle/smart-contract/migrations/2_deploy_contracts.js new file mode 100644 index 00000000..7e81c4ba --- /dev/null +++ b/anemometer-oracle/smart-contract/migrations/2_deploy_contracts.js @@ -0,0 +1,8 @@ +var AnemometerOracle = artifacts.require("AnemometerOracle"); + +module.exports = async function(deployer, network, accounts) +{ + await deployer.deploy(AnemometerOracle, "0x0000000000000000000000000000000000000000", { gas: 2500000 }); + AnemometerOracleInstance = await AnemometerOracle.deployed(); + console.log("AnemometerOracle deployed at address: " + AnemometerOracleInstance.address); +}; diff --git a/anemometer-oracle/smart-contract/package-lock.json b/anemometer-oracle/smart-contract/package-lock.json new file mode 100644 index 00000000..55dd68e9 --- /dev/null +++ b/anemometer-oracle/smart-contract/package-lock.json @@ -0,0 +1,4081 @@ +{ + "name": "smart-contract", + "version": "1.0.0", + "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.11.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.11.1.tgz", + "integrity": "sha512-TJtwsqZ39pqcljJpajeoofYRfeZ7/I/OMUQ5pR4q5wOKf2ocrUvBAZUMhWsOvKx3dVc/aaV5GluBivt0sWqA5A==" + }, + "@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.20", + "resolved": "https://registry.npmjs.org/@types/web3/-/web3-1.0.20.tgz", + "integrity": "sha512-KTDlFuYjzCUlBDGt35Ir5QRtyV9klF84MMKUsEJK10sTWga/71V+8VYLT7yysjuBjaOx2uFYtIWNGoz3yrNDlg==", + "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.7.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", + "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==" + }, + "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.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" + }, + "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.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" + }, + "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.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "es-abstract": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.0.tgz", + "integrity": "sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==", + "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.1.0", + "string.prototype.trimright": "^2.1.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.38", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.38.tgz", + "integrity": "sha512-l7l7RIfk2/rIFgRRVLFY3H06S9dhXXPUdMlYm6SCelB6oG+ABmoRig7xSVOLcHLayBfSwssjAAYLKxf1jWhbuQ==", + "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.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.22.tgz", + "integrity": "sha512-9taxKC944BqoTVjE+UT3pQH0nHZlTvITwfsOZqyc+R3sfJuxaTtxWjfn1K2UlxyPcKHf0rnaXcVFrS9F9vf0bw==" + } + } + }, + "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.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==" + }, + "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.7", + "resolved": "https://registry.npmjs.org/iexec-doracle-base/-/iexec-doracle-base-0.0.7.tgz", + "integrity": "sha512-yYPXcosyHeGo8zrw5jJ6XrgD7h2dTPuh7tygrUBKkVkGIJ/tAxBzqZ+DvczK6qKOiUfTK2nCn2WV0bW/qVkvQQ==", + "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.14", + "resolved": "https://registry.npmjs.org/iexec-solidity/-/iexec-solidity-0.0.14.tgz", + "integrity": "sha512-U/Y5i1+dC4qYiF1oH1FyU5/OZrv6aEK5sMp8xM/nYA4yQjNVNWLFTy4LRiyUE2LExHXJQfQGPOZ04l8nya4B1A==", + "requires": { + "openzeppelin-solidity": "^2.3.0", + "zos-lib": "^2.4.2" + } + }, + "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.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" + }, + "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.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "requires": { + "minipass": "^2.9.0" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.10.2.tgz", + "integrity": "sha512-ewPQ83O4U8/Gd8I15WoB6vgTTmq5khxBskUWCRvswUqjCfOOTREmxllztQOm+PXMWUxATry+VBWXQJloAyxtbQ==" + }, + "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.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + }, + "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.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, + "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.41", + "resolved": "https://registry.npmjs.org/truffle/-/truffle-5.0.41.tgz", + "integrity": "sha512-vQm7OHRN8qh4Te3QZ9A74JsDoZfcYoJLuI1FrcLpJoicdTrzCZU4UXGIYFUIZ+UmOTlMS07lUufxDSraSHxpdg==", + "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.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.22.tgz", + "integrity": "sha512-9taxKC944BqoTVjE+UT3pQH0nHZlTvITwfsOZqyc+R3sfJuxaTtxWjfn1K2UlxyPcKHf0rnaXcVFrS9F9vf0bw==" + }, + "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.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "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#905deb4812572b344f5801f8c9ce8bb02799d82e" + }, + "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.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.22.tgz", + "integrity": "sha512-9taxKC944BqoTVjE+UT3pQH0nHZlTvITwfsOZqyc+R3sfJuxaTtxWjfn1K2UlxyPcKHf0rnaXcVFrS9F9vf0bw==" + }, + "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#6c72925e3f8aaaea8dc8450f97627e85263999f2" + } + }, + "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.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "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/anemometer-oracle/smart-contract/package.json b/anemometer-oracle/smart-contract/package.json new file mode 100644 index 00000000..b779fb39 --- /dev/null +++ b/anemometer-oracle/smart-contract/package.json @@ -0,0 +1,22 @@ +{ + "name": "smart-contract", + "version": "1.0.0", + "description": "", + "main": "truffle-config.js", + "directories": { + "test": "test" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "iexec-doracle-base": "0.0.7", + "iexec-poco": "^3.0.35", + "iexec-solidity": "0.0.14", + "openzeppelin-solidity": "^2.3.0", + "truffle": "^5.0.41", + "truffle-hdwallet-provider": "^1.0.17" + } +} diff --git a/anemometer-oracle/smart-contract/truffle.js b/anemometer-oracle/smart-contract/truffle.js new file mode 100644 index 00000000..94d21f96 --- /dev/null +++ b/anemometer-oracle/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/anemometer-oracle/wind-feed/app/Dockerfile b/anemometer-oracle/wind-feed/app/Dockerfile new file mode 100644 index 00000000..c8a7c142 --- /dev/null +++ b/anemometer-oracle/wind-feed/app/Dockerfile @@ -0,0 +1,8 @@ +FROM node:11-alpine +COPY wind-feed.js /app/wind-feed.js +COPY entrypoint.sh /entrypoint.sh +ARG APIKEY=APIKEY +ENV APIKEY=${APIKEY} +RUN npm i https ethers fs +RUN chmod +x /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] \ No newline at end of file diff --git a/anemometer-oracle/wind-feed/app/entrypoint.sh b/anemometer-oracle/wind-feed/app/entrypoint.sh new file mode 100644 index 00000000..cdb0f8aa --- /dev/null +++ b/anemometer-oracle/wind-feed/app/entrypoint.sh @@ -0,0 +1,2 @@ +#!/bin/sh +node app/wind-feed.js $@ \ No newline at end of file diff --git a/anemometer-oracle/wind-feed/app/wind-feed.js b/anemometer-oracle/wind-feed/app/wind-feed.js new file mode 100644 index 00000000..850a8a3a --- /dev/null +++ b/anemometer-oracle/wind-feed/app/wind-feed.js @@ -0,0 +1,116 @@ +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)); +} + +/***************************************************************************** + * CONFIG * + *****************************************************************************/ + +// coin api key +const APIKEY = process.env.APIKEY; + +// 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 * + *****************************************************************************/ + +let [ lat, lon, time ] = process.argv.slice(2); + +const unit = 'si'; + +/***************************************************************************** + * HTTP QUERY * + *****************************************************************************/ +let path = `/forecast/${APIKEY}/${lat},${lon},${time}?exclude=minutely,hourly,daily,alerts&units=${unit}`; + +const query = { + method: 'GET', + port: 443, + host: 'api.darksky.net', + path: path, +}; + +/***************************************************************************** + * 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(`- Calling API ${query.host}${query.path}`); + let chunks = []; + let request = https.request(query, 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.on('error', reject); + request.end(); +}) +.then(data => { + let results = JSON.parse(data.toString()); + + if (results.error !== undefined) + { + throw new Error(results.error); + } + + let { latitude, longitude } = results; + let { time, summary, windSpeed } = results.currently; + windSpeed = windSpeed * 1000; + + let location = `${latitude},${longitude}`; + + if (isNaN(time) || isNaN(windSpeed) || summary == undefined) + { + throw new Error("invalid results"); + } + + let iexeccallback = ethers.utils.defaultAbiCoder.encode(['uint256', 'string', 'string', 'uint256'], [time, location, summary, windSpeed]); + let iexecconsensus = ethers.utils.keccak256(iexeccallback); + fs.writeFile(callbackFilePath, iexeccallback , (err) => {}); + fs.writeFile(determinismFilePath, iexecconsensus, (err) => {}); + + console.log(`- Success: ${time} ${summary} ${windSpeed}`); +}) +.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/anemometer-oracle/wind-feed/chain.json b/anemometer-oracle/wind-feed/chain.json new file mode 100644 index 00000000..700ab0e4 --- /dev/null +++ b/anemometer-oracle/wind-feed/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/anemometer-oracle/wind-feed/deployed.json b/anemometer-oracle/wind-feed/deployed.json new file mode 100644 index 00000000..d1daeafa --- /dev/null +++ b/anemometer-oracle/wind-feed/deployed.json @@ -0,0 +1,5 @@ +{ + "app": { + "42": "0xA4f68821bdA8d6117eA8b88afbe0A91c3c2dE119" + } +} \ No newline at end of file diff --git a/anemometer-oracle/wind-feed/iexec.json b/anemometer-oracle/wind-feed/iexec.json new file mode 100644 index 00000000..8fa3d2ab --- /dev/null +++ b/anemometer-oracle/wind-feed/iexec.json @@ -0,0 +1,35 @@ +{ + "description": "My iExec ressource description, must be at least 150 chars long in order to pass the validation checks. Describe your application, dataset or workerpool to your users", + "license": "MIT", + "author": "?", + "social": { + "website": "?", + "github": "?" + }, + "logo": "logo.png", + "buyConf": { + "params": "", + "tag": "0x0000000000000000000000000000000000000000000000000000000000000000", + "trust": "0", + "callback": "0x0000000000000000000000000000000000000000" + }, + "app": { + "owner": "0x866A9D83B80266F2D40882b13463615eda305b08", + "name": "Anemometer-oracle", + "type": "DOCKER", + "multiaddr": "registry.hub.docker.com/andy92pac/wind-feed:1.0.0", + "checksum": "0x1df32b2b104f9d38e6376c0619c121c7fa65d2e870c865c0eb2f62ad1cfec364", + "mrenclave": "" + }, + "order": { + "apporder": { + "app": "0xA4f68821bdA8d6117eA8b88afbe0A91c3c2dE119", + "appprice": "0", + "volume": "1000000", + "tag": "0x0000000000000000000000000000000000000000000000000000000000000000", + "datasetrestrict": "0x0000000000000000000000000000000000000000", + "workerpoolrestrict": "0x0000000000000000000000000000000000000000", + "requesterrestrict": "0x0000000000000000000000000000000000000000" + } + } +} \ No newline at end of file diff --git a/anemometer-oracle/wind-feed/orders.json b/anemometer-oracle/wind-feed/orders.json new file mode 100644 index 00000000..5d71270e --- /dev/null +++ b/anemometer-oracle/wind-feed/orders.json @@ -0,0 +1,15 @@ +{ + "42": { + "apporder": { + "app": "0xA4f68821bdA8d6117eA8b88afbe0A91c3c2dE119", + "appprice": "0", + "volume": "1000000", + "tag": "0x0000000000000000000000000000000000000000000000000000000000000000", + "datasetrestrict": "0x0000000000000000000000000000000000000000", + "workerpoolrestrict": "0x0000000000000000000000000000000000000000", + "requesterrestrict": "0x0000000000000000000000000000000000000000", + "salt": "0xdb2ec441dbba1013362aca1e8080e0d2ed80f60bf384cba3db7b40fd3b2aafeb", + "sign": "0x736e09078808a5b52c24553c47d814b0cd0e923b59029e513484869dac75f2a43db188fcc84f3258f37d2f46d2af94f7b109fb15a9d6ad4b51ce52dc73f19bcf1c" + } + } +} \ No newline at end of file