From 7d44440102fc287e0e005586632a8ed6bff0f828 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Blanco?= <ablanco@siu.edu.ar> Date: Wed, 8 May 2019 13:20:34 -0300 Subject: [PATCH] se ignora api/dist y contract/build --- api/.gitignore | 1 + api/dist/index.js | 126 - api/dist/simpleStamperWrapper.js | 58 - contract/.gitignore | 1 + contract/build/contracts/Migrations.json | 1403 ----- contract/build/contracts/Stamper.json | 6663 ---------------------- 6 files changed, 2 insertions(+), 8250 deletions(-) delete mode 100644 api/dist/index.js delete mode 100644 api/dist/simpleStamperWrapper.js delete mode 100644 contract/build/contracts/Migrations.json delete mode 100644 contract/build/contracts/Stamper.json diff --git a/api/.gitignore b/api/.gitignore index 998bdcb..b52c94e 100644 --- a/api/.gitignore +++ b/api/.gitignore @@ -1,3 +1,4 @@ node_modules .env *.swp +dist diff --git a/api/dist/index.js b/api/dist/index.js deleted file mode 100644 index 4a9e28a..0000000 --- a/api/dist/index.js +++ /dev/null @@ -1,126 +0,0 @@ -"use strict"; - -require("dotenv/config"); - -var _web = _interopRequireDefault(require("web3")); - -var _express = _interopRequireDefault(require("express")); - -var _cors = _interopRequireDefault(require("cors")); - -var _bodyParser = _interopRequireDefault(require("body-parser")); - -var _expressBasicAuth = _interopRequireDefault(require("express-basic-auth")); - -var _simpleStamperWrapper = _interopRequireDefault(require("./simpleStamperWrapper")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -async function setupWeb3Ganache() { - try { - let netIsListening = await web3.eth.net.isListening(); - let netId = await web3.eth.net.getId(); - web3.eth.defaultAccount = (await web3.eth.getAccounts())[0]; - console.log(`Conectado exitosamente a Ganache: - > netId: ${netId} - > account: ${web3.eth.defaultAccount} - `); - } catch (e) { - console.error('Error de conexión'); - console.error(e); - process.exit(1); - } -} - -var web3 = web3; - -if (typeof web3 !== 'undefined') { - console.log('Cargando web3 provider desde el entorno'); // Use Mist/MetaMask's provider - //conector.setWeb3Instance(new Web3(web3.currentProvider)) -} else { - //console.warn(web3.eth.defaultAccount) - console.log('Conectando a Ganache'); - web3 = new _web.default(new _web.default.providers.HttpProvider('http://localhost:7545')); - web3.eth.defaultAccount = web3.eth.accounts[0]; - setupWeb3Ganache(); -} - -const app = (0, _express.default)(); -app.use((0, _cors.default)()); -app.use(_bodyParser.default.json()); - -if (process.env.AUTH_TYPE === 'basic') { - if (process.env.API_USER && process.env.API_PASS) { - var users = {}; - users[process.env.API_USER] = process.env.API_PASS; - app.use((0, _expressBasicAuth.default)({ - users: users, - challenge: true - })); - } else { - console.error("El servidor es PUBLICO"); - } -} - -app.post('/stamp', async (req, res) => { - let netId = await web3.eth.net.getId(); - let ss = new _simpleStamperWrapper.default(web3, netId); - ss.setSender(web3.eth.defaultAccount); - - if (!("hash" in req.body)) { - res.status(422); - res.send('No se incluyó la clave hash en el cuerpo del POST'); - return; - } - - var hash = req.body.hash; - - if (!hash.startsWith('0x')) { - hash = '0x' + hash; - } - - try { - let txHash = await ss.stamp(hash); - let fullUrl = req.protocol + '://' + req.get('host'); - return res.json({ - verifyUri: `${fullUrl}/verify/${hash}`, - hash: txHash - }); - } catch (e) { - res.status(500); - res.send('Error interno. Chequee el log de la aplicación para más detalles'); - } -}); -app.get('/verify/:hash', async (req, res) => { - let netId = await web3.eth.net.getId(); - let ss = new _simpleStamperWrapper.default(web3, netId); - ss.setSender(web3.eth.defaultAccount); - var value = req.params.hash; - - if (!value.startsWith('0x')) { - value = '0x' + value; - } - - try { - let info = await ss.verify(value); - return res.json(info); - } catch (e) { - console.error(e); - res.status(404); - res.send("No existe el hash en la base de datos"); - } -}); // app.get('/status/:txHash', async (req, res) => { -// try { -// let info = await web3.eth.getTransaction(req.params.txHash, (e, f) => { -// console.log(e) -// console.log(f) -// }) -// console.log(info) -// res.send(info) -// } catch (e) { -// res.send(e) -// } -// }) - -let port = process.env.PORT ? process.env.PORT : 3000; -app.listen(port, () => console.log(`TSA Api corriendo en ${port}!`)); \ No newline at end of file diff --git a/api/dist/simpleStamperWrapper.js b/api/dist/simpleStamperWrapper.js deleted file mode 100644 index 6c1163f..0000000 --- a/api/dist/simpleStamperWrapper.js +++ /dev/null @@ -1,58 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -const simpleStamperInterface = require('../../contract/build/contracts/SimpleStamper.json'); - -class SimpleStamper { - constructor(web3, netId) { - this.web3 = web3; - let address = simpleStamperInterface.networks[netId].address; - this.contract = new web3.eth.Contract(simpleStamperInterface.abi, address); - } - - setSender(fromAddress) { - this.from = fromAddress; - } - - async stamp(hash) { - console.log(`${hash}: stamping`); - let txPromise = this.contract.methods.stamp(hash).send({ - from: this.from - }); - txPromise.then(receipt => { - console.log(`${hash}: stamped (bloque: ${receipt.blockNumber})`); - }).catch(error => { - console.error(error); - }); - return new Promise((resolve, reject) => { - txPromise.on('transactionHash', txHash => { - resolve(txHash); - }); - txPromise.catch(error => { - reject(error); - }); - }); - } - - async verify(hash) { - try { - let blockNumber = await this.contract.methods.getBlockNumber(hash).call(); - console.log(`${hash}: blockNmb (${blockNumber})`); - return { - verified: blockNumber > 0, - blockNumber: blockNumber - }; - } catch (e) { - console.error(e); - throw e; - } - } - -} - -var _default = SimpleStamper; -exports.default = _default; \ No newline at end of file diff --git a/contract/.gitignore b/contract/.gitignore index e43b0f9..3094469 100644 --- a/contract/.gitignore +++ b/contract/.gitignore @@ -1 +1,2 @@ .DS_Store +build diff --git a/contract/build/contracts/Migrations.json b/contract/build/contracts/Migrations.json deleted file mode 100644 index 20fb9d9..0000000 --- a/contract/build/contracts/Migrations.json +++ /dev/null @@ -1,1403 +0,0 @@ -{ - "contractName": "Migrations", - "abi": [ - { - "constant": true, - "inputs": [], - "name": "last_completed_migration", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x445df0ac" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x8da5cb5b" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - }, - { - "constant": false, - "inputs": [ - { - "name": "completed", - "type": "uint256" - } - ], - "name": "setCompleted", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0xfdacd576" - }, - { - "constant": false, - "inputs": [ - { - "name": "new_address", - "type": "address" - } - ], - "name": "upgrade", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x0900f010" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.2+commit.1df8f40c\"},\"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\":{\"/home/ablanco/proyectos/bfa/tsa/contract/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/ablanco/proyectos/bfa/tsa/contract/contracts/Migrations.sol\":{\"keccak256\":\"0xfdb731592344e2a2890faf03baec7b4bee7057ffba18ba6dbb6eec8db85f8f4c\",\"urls\":[\"bzzr://ddc8801d0a2a7220c2c9bf3881b4921817e72fdd96827ec8be4428fa009ace07\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102e7806100606000396000f3fe608060405234801561001057600080fd5b5060043610610069576000357c0100000000000000000000000000000000000000000000000000000000900480630900f0101461006e578063445df0ac146100b25780638da5cb5b146100d0578063fdacd5761461011a575b600080fd5b6100b06004803603602081101561008457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610148565b005b6100ba610230565b6040518082815260200191505060405180910390f35b6100d8610236565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101466004803603602081101561013057600080fd5b810190808035906020019092919050505061025b565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561022d5760008190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561021357600080fd5b505af1158015610227573d6000803e3d6000fd5b50505050505b50565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102b857806001819055505b5056fea165627a7a72305820d0bda2c762e942e8d7dd363f2f848d59f80abfeaf111d82acff55dffd072350b0029", - "deployedBytecode": "0x608060405234801561001057600080fd5b5060043610610069576000357c0100000000000000000000000000000000000000000000000000000000900480630900f0101461006e578063445df0ac146100b25780638da5cb5b146100d0578063fdacd5761461011a575b600080fd5b6100b06004803603602081101561008457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610148565b005b6100ba610230565b6040518082815260200191505060405180910390f35b6100d8610236565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101466004803603602081101561013057600080fd5b810190808035906020019092919050505061025b565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561022d5760008190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561021357600080fd5b505af1158015610227573d6000803e3d6000fd5b50505050505b50565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102b857806001819055505b5056fea165627a7a72305820d0bda2c762e942e8d7dd363f2f848d59f80abfeaf111d82acff55dffd072350b0029", - "sourceMap": "34:480:0:-;;;123:50;8:9:-1;5:2;;;30:1;27;20:12;5:2;123:50:0;158:10;150:5;;:18;;;;;;;;;;;;;;;;;;34:480;;;;;;", - "deployedSourceMap": "34:480:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;34:480:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;347:165;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;347:165:0;;;;;;;;;;;;;;;;;;;:::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:0;;;;;;;;;;;;;;;;;:::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:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;460:47:0;;;;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": "/home/ablanco/proyectos/bfa/tsa/contract/contracts/Migrations.sol", - "ast": { - "absolutePath": "/home/ablanco/proyectos/bfa/tsa/contract/contracts/Migrations.sol", - "exportedSymbols": { - "Migrations": [ - 56 - ] - }, - "id": 57, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - ">=", - "0.4", - ".21", - "<", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:32:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 56, - "linearizedBaseContracts": [ - 56 - ], - "name": "Migrations", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 3, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 56, - "src": "58:20:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "58:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5, - "name": "last_completed_migration", - "nodeType": "VariableDeclaration", - "scope": 56, - "src": "82:36:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "82:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 13, - "nodeType": "Block", - "src": "144:29:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "150:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "158:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 10, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "158:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "150:18:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12, - "nodeType": "ExpressionStatement", - "src": "150:18:0" - } - ] - }, - "documentation": null, - "id": 14, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6, - "nodeType": "ParameterList", - "parameters": [], - "src": "134:2:0" - }, - "returnParameters": { - "id": 7, - "nodeType": "ParameterList", - "parameters": [], - "src": "144:0:0" - }, - "scope": 56, - "src": "123:50:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22, - "nodeType": "Block", - "src": "199:37:0", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "209:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "209:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 18, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "223:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "209:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21, - "nodeType": "IfStatement", - "src": "205:26:0", - "trueBody": { - "id": 20, - "nodeType": "PlaceholderStatement", - "src": "230:1:0" - } - } - ] - }, - "documentation": null, - "id": 23, - "name": "restricted", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 15, - "nodeType": "ParameterList", - "parameters": [], - "src": "196:2:0" - }, - "src": "177:59:0", - "visibility": "internal" - }, - { - "body": { - "id": 34, - "nodeType": "Block", - "src": "296:47:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 32, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 30, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5, - "src": "302:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 31, - "name": "completed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "329:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "302:36:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 33, - "nodeType": "ExpressionStatement", - "src": "302:36:0" - } - ] - }, - "documentation": null, - "id": 35, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 28, - "modifierName": { - "argumentTypes": null, - "id": 27, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "285:10:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "285:10:0" - } - ], - "name": "setCompleted", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25, - "name": "completed", - "nodeType": "VariableDeclaration", - "scope": 35, - "src": "262:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "262:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "261:16:0" - }, - "returnParameters": { - "id": 29, - "nodeType": "ParameterList", - "parameters": [], - "src": "296:0:0" - }, - "scope": 56, - "src": "240:103:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 54, - "nodeType": "Block", - "src": "403:109:0", - "statements": [ - { - "assignments": [ - 43 - ], - "declarations": [ - { - "constant": false, - "id": 43, - "name": "upgraded", - "nodeType": "VariableDeclaration", - "scope": 54, - "src": "409:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$56", - "typeString": "contract Migrations" - }, - "typeName": { - "contractScope": null, - "id": 42, - "name": "Migrations", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 56, - "src": "409:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$56", - "typeString": "contract Migrations" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 47, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 45, - "name": "new_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "442:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 44, - "name": "Migrations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56, - "src": "431:10:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Migrations_$56_$", - "typeString": "type(contract Migrations)" - } - }, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "431:23:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$56", - "typeString": "contract Migrations" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "409:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 51, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5, - "src": "482:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 48, - "name": "upgraded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43, - "src": "460:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$56", - "typeString": "contract Migrations" - } - }, - "id": 50, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setCompleted", - "nodeType": "MemberAccess", - "referencedDeclaration": 35, - "src": "460:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 52, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "460:47:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 53, - "nodeType": "ExpressionStatement", - "src": "460:47:0" - } - ] - }, - "documentation": null, - "id": 55, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 40, - "modifierName": { - "argumentTypes": null, - "id": 39, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "392:10:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "392:10:0" - } - ], - "name": "upgrade", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 38, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 37, - "name": "new_address", - "nodeType": "VariableDeclaration", - "scope": 55, - "src": "364:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 36, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "364:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "363:21:0" - }, - "returnParameters": { - "id": 41, - "nodeType": "ParameterList", - "parameters": [], - "src": "403:0:0" - }, - "scope": 56, - "src": "347:165:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 57, - "src": "34:480:0" - } - ], - "src": "0:515:0" - }, - "legacyAST": { - "absolutePath": "/home/ablanco/proyectos/bfa/tsa/contract/contracts/Migrations.sol", - "exportedSymbols": { - "Migrations": [ - 56 - ] - }, - "id": 57, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - ">=", - "0.4", - ".21", - "<", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:32:0" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 56, - "linearizedBaseContracts": [ - 56 - ], - "name": "Migrations", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 3, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 56, - "src": "58:20:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "58:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 5, - "name": "last_completed_migration", - "nodeType": "VariableDeclaration", - "scope": 56, - "src": "82:36:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "82:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 13, - "nodeType": "Block", - "src": "144:29:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 11, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "150:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "158:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 10, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "158:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "150:18:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 12, - "nodeType": "ExpressionStatement", - "src": "150:18:0" - } - ] - }, - "documentation": null, - "id": 14, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6, - "nodeType": "ParameterList", - "parameters": [], - "src": "134:2:0" - }, - "returnParameters": { - "id": 7, - "nodeType": "ParameterList", - "parameters": [], - "src": "144:0:0" - }, - "scope": 56, - "src": "123:50:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 22, - "nodeType": "Block", - "src": "199:37:0", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 16, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "209:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 17, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "209:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 18, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3, - "src": "223:5:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "209:19:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 21, - "nodeType": "IfStatement", - "src": "205:26:0", - "trueBody": { - "id": 20, - "nodeType": "PlaceholderStatement", - "src": "230:1:0" - } - } - ] - }, - "documentation": null, - "id": 23, - "name": "restricted", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 15, - "nodeType": "ParameterList", - "parameters": [], - "src": "196:2:0" - }, - "src": "177:59:0", - "visibility": "internal" - }, - { - "body": { - "id": 34, - "nodeType": "Block", - "src": "296:47:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 32, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 30, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5, - "src": "302:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 31, - "name": "completed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 25, - "src": "329:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "302:36:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 33, - "nodeType": "ExpressionStatement", - "src": "302:36:0" - } - ] - }, - "documentation": null, - "id": 35, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 28, - "modifierName": { - "argumentTypes": null, - "id": 27, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "285:10:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "285:10:0" - } - ], - "name": "setCompleted", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 26, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 25, - "name": "completed", - "nodeType": "VariableDeclaration", - "scope": 35, - "src": "262:14:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 24, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "262:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "261:16:0" - }, - "returnParameters": { - "id": 29, - "nodeType": "ParameterList", - "parameters": [], - "src": "296:0:0" - }, - "scope": 56, - "src": "240:103:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 54, - "nodeType": "Block", - "src": "403:109:0", - "statements": [ - { - "assignments": [ - 43 - ], - "declarations": [ - { - "constant": false, - "id": 43, - "name": "upgraded", - "nodeType": "VariableDeclaration", - "scope": 54, - "src": "409:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$56", - "typeString": "contract Migrations" - }, - "typeName": { - "contractScope": null, - "id": 42, - "name": "Migrations", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 56, - "src": "409:10:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$56", - "typeString": "contract Migrations" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 47, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 45, - "name": "new_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "442:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 44, - "name": "Migrations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56, - "src": "431:10:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Migrations_$56_$", - "typeString": "type(contract Migrations)" - } - }, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "431:23:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$56", - "typeString": "contract Migrations" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "409:45:0" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 51, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5, - "src": "482:24:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 48, - "name": "upgraded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43, - "src": "460:8:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$56", - "typeString": "contract Migrations" - } - }, - "id": 50, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setCompleted", - "nodeType": "MemberAccess", - "referencedDeclaration": 35, - "src": "460:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 52, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "460:47:0", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 53, - "nodeType": "ExpressionStatement", - "src": "460:47:0" - } - ] - }, - "documentation": null, - "id": 55, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 40, - "modifierName": { - "argumentTypes": null, - "id": 39, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 23, - "src": "392:10:0", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "392:10:0" - } - ], - "name": "upgrade", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 38, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 37, - "name": "new_address", - "nodeType": "VariableDeclaration", - "scope": 55, - "src": "364:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 36, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "364:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "363:21:0" - }, - "returnParameters": { - "id": 41, - "nodeType": "ParameterList", - "parameters": [], - "src": "403:0:0" - }, - "scope": 56, - "src": "347:165:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 57, - "src": "34:480:0" - } - ], - "src": "0:515:0" - }, - "compiler": { - "name": "solc", - "version": "0.5.2+commit.1df8f40c.Emscripten.clang" - }, - "networks": { - "5775": { - "events": {}, - "links": {}, - "address": "0x5175060BeFded5174677a70dfAfa92eDB865F918", - "transactionHash": "0x1643e6fe152db5ed8c644e3954bb79fd0cdc7e9cf04454f3e21395e11d940619" - }, - "5777": { - "events": {}, - "links": {}, - "address": "0x165336346B122a90e986bB69a566930E19390CF2", - "transactionHash": "0x542353ae506883566064e83b5bb98dfe91b2454fdc0745607b74c4b7c6de10af" - } - }, - "schemaVersion": "3.0.8", - "updatedAt": "2019-05-07T21:28:13.658Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/contract/build/contracts/Stamper.json b/contract/build/contracts/Stamper.json deleted file mode 100644 index f805453..0000000 --- a/contract/build/contracts/Stamper.json +++ /dev/null @@ -1,6663 +0,0 @@ -{ - "contractName": "Stamper", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor", - "signature": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "from", - "type": "address" - }, - { - "indexed": true, - "name": "object", - "type": "bytes32" - }, - { - "indexed": false, - "name": "blockNo", - "type": "uint256" - } - ], - "name": "Stamped", - "type": "event", - "signature": "0x3a0b5d7066b49e6f19e8199e84c7a296092240386482cc1b23a7c4e3c98a79d5" - }, - { - "constant": false, - "inputs": [ - { - "name": "objectList", - "type": "bytes32[]" - } - ], - "name": "put", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function", - "signature": "0x3a00faae" - }, - { - "constant": true, - "inputs": [ - { - "name": "pos", - "type": "uint256" - } - ], - "name": "getStamplistPos", - "outputs": [ - { - "name": "", - "type": "bytes32" - }, - { - "name": "", - "type": "address" - }, - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x9d192428" - }, - { - "constant": true, - "inputs": [ - { - "name": "object", - "type": "bytes32" - } - ], - "name": "getObjectCount", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xc2433cd3" - }, - { - "constant": true, - "inputs": [ - { - "name": "object", - "type": "bytes32" - }, - { - "name": "pos", - "type": "uint256" - } - ], - "name": "getObjectPos", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0x789bbb41" - }, - { - "constant": true, - "inputs": [ - { - "name": "object", - "type": "bytes32" - }, - { - "name": "stamper", - "type": "address" - } - ], - "name": "getBlockNo", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xbbc48b7c" - }, - { - "constant": true, - "inputs": [ - { - "name": "stamper", - "type": "address" - } - ], - "name": "getStamperCount", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xc15ed491" - }, - { - "constant": true, - "inputs": [ - { - "name": "stamper", - "type": "address" - }, - { - "name": "pos", - "type": "uint256" - } - ], - "name": "getStamperPos", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function", - "signature": "0xa08d1a4f" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.2+commit.1df8f40c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"objectList\",\"type\":\"bytes32[]\"}],\"name\":\"put\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"object\",\"type\":\"bytes32\"},{\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"getObjectPos\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"getStamplistPos\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"stamper\",\"type\":\"address\"},{\"name\":\"pos\",\"type\":\"uint256\"}],\"name\":\"getStamperPos\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"object\",\"type\":\"bytes32\"},{\"name\":\"stamper\",\"type\":\"address\"}],\"name\":\"getBlockNo\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"stamper\",\"type\":\"address\"}],\"name\":\"getStamperCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"object\",\"type\":\"bytes32\"}],\"name\":\"getObjectCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"object\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"blockNo\",\"type\":\"uint256\"}],\"name\":\"Stamped\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/ablanco/proyectos/bfa/tsa/contract/contracts/Stamper.sol\":\"Stamper\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/ablanco/proyectos/bfa/tsa/contract/contracts/Stamper.sol\":{\"keccak256\":\"0xded7111315090fa75dfb31c7da58f0e7f12732fd165e00d5490cdd947d23ca5d\",\"urls\":[\"bzzr://1b8abe940b34236a333ed6685576b90e24f0d1908507f92ef884c435f93d0841\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000606060405190810160405280600060010281526020013373ffffffffffffffffffffffffffffffffffffffff16815260200143815250908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201555050506108c9806101226000396000f3fe608060405234801561001057600080fd5b506004361061009a576000357c010000000000000000000000000000000000000000000000000000000090048063a08d1a4f11610078578063a08d1a4f1461021f578063bbc48b7c14610281578063c15ed491146102e3578063c2433cd31461033b5761009a565b80633a00faae1461009f578063789bbb41146101575780639d192428146101a3575b600080fd5b610155600480360360208110156100b557600080fd5b81019080803590602001906401000000008111156100d257600080fd5b8201836020820111156100e457600080fd5b8035906020019184602083028401116401000000008311171561010657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061037d565b005b61018d6004803603604081101561016d57600080fd5b810190808035906020019092919080359060200190929190505050610579565b6040518082815260200191505060405180910390f35b6101cf600480360360208110156101b957600080fd5b81019080803590602001909291905050506105ae565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b61026b6004803603604081101561023557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610642565b6040518082815260200191505060405180910390f35b6102cd6004803603604081101561029757600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106a3565b6040518082815260200191505060405180910390f35b610325600480360360208110156102f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107f6565b6040518082815260200191505060405180910390f35b6103676004803603602081101561035157600080fd5b8101908080359060200190929190505050610842565b6040518082815260200191505060405180910390f35b60008090506000825190505b8082101561057457600083838151811015156103a157fe5b9060200190602002015190506000600160006060604051908101604052808581526020013373ffffffffffffffffffffffffffffffffffffffff16815260200143815250908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155505003905060016000838152602001908152602001600020819080600181540180825580915050906001820390600052602060002001600090919290919091505550600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819080600181540180825580915050906001820390600052602060002001600090919290919091505550813373ffffffffffffffffffffffffffffffffffffffff167f3a0b5d7066b49e6f19e8199e84c7a296092240386482cc1b23a7c4e3c98a79d5436040518082815260200191505060405180910390a383806001019450505050610389565b505050565b6000600160008481526020019081526020016000208281548110151561059b57fe5b9060005260206000200154905092915050565b600080600080848154811015156105c157fe5b9060005260206000209060030201600001546000858154811015156105e257fe5b906000526020600020906003020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660008681548110151561062357fe5b9060005260206000209060030201600201549250925092509193909250565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561069057fe5b9060005260206000200154905092915050565b6000806001600085815260200190815260200160002080549050905060008090505b818110156107e9576106d5610862565b600060016000888152602001908152602001600020838154811015156106f757fe5b906000526020600020015481548110151561070e57fe5b906000526020600020906003020160606040519081016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152505090508473ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff1614156107db57806040015193505050506107f0565b5080806001019150506106c5565b5060009150505b92915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b600060016000838152602001908152602001600020805490509050919050565b60606040519081016040528060008019168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152509056fea165627a7a72305820c541aba450f5d18a4cae8359ffcd198da12440d103ca79e555d3ae53ca3b31460029", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009a576000357c010000000000000000000000000000000000000000000000000000000090048063a08d1a4f11610078578063a08d1a4f1461021f578063bbc48b7c14610281578063c15ed491146102e3578063c2433cd31461033b5761009a565b80633a00faae1461009f578063789bbb41146101575780639d192428146101a3575b600080fd5b610155600480360360208110156100b557600080fd5b81019080803590602001906401000000008111156100d257600080fd5b8201836020820111156100e457600080fd5b8035906020019184602083028401116401000000008311171561010657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061037d565b005b61018d6004803603604081101561016d57600080fd5b810190808035906020019092919080359060200190929190505050610579565b6040518082815260200191505060405180910390f35b6101cf600480360360208110156101b957600080fd5b81019080803590602001909291905050506105ae565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b61026b6004803603604081101561023557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610642565b6040518082815260200191505060405180910390f35b6102cd6004803603604081101561029757600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106a3565b6040518082815260200191505060405180910390f35b610325600480360360208110156102f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107f6565b6040518082815260200191505060405180910390f35b6103676004803603602081101561035157600080fd5b8101908080359060200190929190505050610842565b6040518082815260200191505060405180910390f35b60008090506000825190505b8082101561057457600083838151811015156103a157fe5b9060200190602002015190506000600160006060604051908101604052808581526020013373ffffffffffffffffffffffffffffffffffffffff16815260200143815250908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155505003905060016000838152602001908152602001600020819080600181540180825580915050906001820390600052602060002001600090919290919091505550600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819080600181540180825580915050906001820390600052602060002001600090919290919091505550813373ffffffffffffffffffffffffffffffffffffffff167f3a0b5d7066b49e6f19e8199e84c7a296092240386482cc1b23a7c4e3c98a79d5436040518082815260200191505060405180910390a383806001019450505050610389565b505050565b6000600160008481526020019081526020016000208281548110151561059b57fe5b9060005260206000200154905092915050565b600080600080848154811015156105c157fe5b9060005260206000209060030201600001546000858154811015156105e257fe5b906000526020600020906003020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660008681548110151561062357fe5b9060005260206000209060030201600201549250925092509193909250565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561069057fe5b9060005260206000200154905092915050565b6000806001600085815260200190815260200160002080549050905060008090505b818110156107e9576106d5610862565b600060016000888152602001908152602001600020838154811015156106f757fe5b906000526020600020015481548110151561070e57fe5b906000526020600020906003020160606040519081016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152505090508473ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff1614156107db57806040015193505050506107f0565b5080806001019150506106c5565b5060009150505b92915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b600060016000838152602001908152602001600020805490509050919050565b60606040519081016040528060008019168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152509056fea165627a7a72305820c541aba450f5d18a4cae8359ffcd198da12440d103ca79e555d3ae53ca3b31460029", - "sourceMap": "113:3021:2:-;;;663:275;8:9:-1;5:2;;;30:1;27;20:12;5:2;663:275:2;702:10;694:5;;:18;;;;;;;;;;;;;;;;;;881:9;896:34;;;;;;;;;902:1;896:34;;;;;;905:10;896:34;;;;;;917:12;896:34;;;881:50;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;881:50:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;113:3021;;;;;;", - "deployedSourceMap": "113:3021:2:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;113:3021:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;990:532;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;990:532:2;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;990:532:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;990:532:2;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;990:532:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;990:532:2;;;;;;;;;;;;;;;:::i;:::-;;2074:135;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2074:135:2;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1601:191;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1601:191:2;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2993:139;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2993:139:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2314:389;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2314:389:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2772:130;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2772:130:2;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1859:126;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1859:126:2;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;990:532;1051:9;1063:1;1051:13;;1074:11;1088:10;:17;1074:31;;1115:401;1125:3;1123:1;:5;1115:401;;;1153:9;1165:10;1176:1;1165:13;;;;;;;;;;;;;;;;;;1153:25;;1277:11;1344:1;1291:9;1306:34;;;;;;;;;1312:1;1306:34;;;;1315:10;1306:34;;;;;;1327:12;1306:34;;;1291:50;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;1291:50:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:54;1277:68;;1359:11;:14;1371:1;1359:14;;;;;;;;;;;1379:3;1359:24;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;1359:24:2;;;;;;;;;;;;;;;;;;;;;;1397:12;:24;1410:10;1397:24;;;;;;;;;;;;;;;1427:3;1397:34;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;1397:34:2;;;;;;;;;;;;;;;;;;;;;;1471:1;1459:10;1451:36;;;1474:12;1451:36;;;;;;;;;;;;;;;;;;1502:3;;;;;;;1115:401;;;;;990:532;;;:::o;2074:135::-;2148:7;2178:11;:19;2190:6;2178:19;;;;;;;;;;;2198:3;2178:24;;;;;;;;;;;;;;;;;;2171:31;;2074:135;;;;:::o;1601:191::-;1663:7;1672;1681;1714:9;1724:3;1714:14;;;;;;;;;;;;;;;;;;;;:21;;;1737:9;1747:3;1737:14;;;;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;1761:9;1771:3;1761:14;;;;;;;;;;;;;;;;;;;;:22;;;1705:80;;;;;;1601:191;;;;;:::o;2993:139::-;3069:7;3099:12;:21;3112:7;3099:21;;;;;;;;;;;;;;;3121:3;3099:26;;;;;;;;;;;;;;;;;;3092:33;;2993:139;;;;:::o;2314:389::-;2390:7;2413:11;2427;:19;2439:6;2427:19;;;;;;;;;;;:26;;;;2413:40;;2468:6;2477:1;2468:10;;2463:215;2484:6;2480:1;:10;2463:215;;;2511:20;;:::i;:::-;2534:9;2544:11;:19;2556:6;2544:19;;;;;;;;;;;2564:1;2544:22;;;;;;;;;;;;;;;;;;2534:33;;;;;;;;;;;;;;;;;;;;2511:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2604:7;2585:26;;:7;:15;;;:26;;;2581:87;;;2638:7;:15;;;2631:22;;;;;;;2581:87;2463:215;2492:3;;;;;;;2463:215;;;;2695:1;2688:8;;;2314:389;;;;;:::o;2772:130::-;2837:7;2867:12;:21;2880:7;2867:21;;;;;;;;;;;;;;;:28;;;;2860:35;;2772:130;;;:::o;1859:126::-;1922:7;1952:11;:19;1964:6;1952:19;;;;;;;;;;;:26;;;;1945:33;;1859:126;;;:::o;113:3021::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "// 20190401 Robert Martin-Legene <robert@nic.ar>\n// Stamper\n// vim:filetype=javascript\n\npragma solidity ^0.5.2;\n\ncontract Stamper {\n struct Stamp {\n bytes32 object;\n address stamper;\n uint256 blockNo;\n }\n Stamp[] stampList;\n\n // Mapping de objects stampeados a la stampList\n mapping ( bytes32 => uint256[] ) hashObjects;\n\n // Mapping de cuentas que stampean (stampers) a la stampList\n mapping ( address => uint256[] ) hashStampers;\n\n // Evento que se dispara al agregar un stamp\n event Stamped(\n address indexed from,\n bytes32 indexed object,\n uint256 blockNo\n );\n\n address owner;\n\n constructor() public {\n owner = msg.sender;\n\n // No queremos que haya stamps asociados a la posicion 0 (== false)\n // entonces guardamos ahi informacion de quien creo el SC y en que bloque\n stampList.push(Stamp(0, msg.sender, block.number));\n }\n\n // Stampear una lista de objects (hashes)\n function put( bytes32[] memory objectList ) public {\n uint256 i = 0;\n uint256 max = objectList.length;\n while ( i<max )\n {\n bytes32 h = objectList[i];\n // stampList.push devuelve la longitud, restamos 1 para usar como indice\n uint256 idx = stampList.push(Stamp(h, msg.sender, block.number)) - 1;\n hashObjects[h].push(idx);\n hashStampers[msg.sender].push(idx);\n\n emit Stamped(msg.sender, h, block.number);\n\n i++;\n }\n }\n\n // devuelve un stamp completo (object, stamper, blockno) de la lista\n function getStamplistPos( uint256 pos ) public view returns ( bytes32, address, uint256 )\n {\n return (stampList[pos].object, stampList[pos].stamper, stampList[pos].blockNo );\n }\n\n // devuelve la cantidad de stamps que hay de este object\n function getObjectCount( bytes32 object ) public view returns (uint256)\n {\n return hashObjects[object].length;\n }\n\n // devuelve la ubicacion en la stampList de un stamp especifico de este object\n function getObjectPos( bytes32 object, uint256 pos ) public view returns (uint256)\n {\n return hashObjects[object][pos];\n }\n\n // devuelve el nro de bloque en el que stamper registro object. Si no fue stampeado devuelve 0\n function getBlockNo( bytes32 object, address stamper ) public view returns (uint256)\n {\n uint length = hashObjects[object].length;\n for (uint i = 0; i < length; i++) {\n Stamp memory current = stampList[hashObjects[object][i]];\n if (current.stamper == stamper) {\n return current.blockNo;\n }\n }\n\n return 0;\n }\n\n // devuelve la cantidad de stamps que realizo este stamper\n function getStamperCount( address stamper ) public view returns (uint256)\n {\n return hashStampers[stamper].length;\n }\n\n // devuelve la ubicacion en la sstamplist de un Stamp especifico de este stamper\n function getStamperPos( address stamper, uint256 pos ) public view returns (uint256)\n {\n return hashStampers[stamper][pos];\n }\n}\n", - "sourcePath": "/home/ablanco/proyectos/bfa/tsa/contract/contracts/Stamper.sol", - "ast": { - "absolutePath": "/home/ablanco/proyectos/bfa/tsa/contract/contracts/Stamper.sol", - "exportedSymbols": { - "Stamper": [ - 364 - ] - }, - "id": 365, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 110, - "literals": [ - "solidity", - "^", - "0.5", - ".2" - ], - "nodeType": "PragmaDirective", - "src": "88:23:2" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 364, - "linearizedBaseContracts": [ - 364 - ], - "name": "Stamper", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Stamper.Stamp", - "id": 117, - "members": [ - { - "constant": false, - "id": 112, - "name": "object", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "159:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 111, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "159:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 114, - "name": "stamper", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "183:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 113, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "183:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 116, - "name": "blockNo", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "208:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "208:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Stamp", - "nodeType": "StructDefinition", - "scope": 364, - "src": "136:94:2", - "visibility": "public" - }, - { - "constant": false, - "id": 120, - "name": "stampList", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "235:17:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Stamp_$117_storage_$dyn_storage", - "typeString": "struct Stamper.Stamp[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 118, - "name": "Stamp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 117, - "src": "235:5:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_storage_ptr", - "typeString": "struct Stamper.Stamp" - } - }, - "id": 119, - "length": null, - "nodeType": "ArrayTypeName", - "src": "235:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Stamp_$117_storage_$dyn_storage_ptr", - "typeString": "struct Stamper.Stamp[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 125, - "name": "hashObjects", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "311:45:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(bytes32 => uint256[])" - }, - "typeName": { - "id": 124, - "keyType": { - "id": 121, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "321:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "311:32:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(bytes32 => uint256[])" - }, - "valueType": { - "baseType": { - "id": 122, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "332:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 123, - "length": null, - "nodeType": "ArrayTypeName", - "src": "332:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 130, - "name": "hashStampers", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "428:46:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 129, - "keyType": { - "id": 126, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "438:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "428:32:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "449:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 128, - "length": null, - "nodeType": "ArrayTypeName", - "src": "449:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 138, - "name": "Stamped", - "nodeType": "EventDefinition", - "parameters": { - "id": 137, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 132, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 138, - "src": "553:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "553:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 134, - "indexed": true, - "name": "object", - "nodeType": "VariableDeclaration", - "scope": 138, - "src": "583:22:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 133, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "583:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 136, - "indexed": false, - "name": "blockNo", - "nodeType": "VariableDeclaration", - "scope": 138, - "src": "615:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "615:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "543:93:2" - }, - "src": "530:107:2" - }, - { - "constant": false, - "id": 140, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "643:13:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 139, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "643:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 160, - "nodeType": "Block", - "src": "684:254:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 143, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "694:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 144, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "702:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "702:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "694:18:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 147, - "nodeType": "ExpressionStatement", - "src": "694:18:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "902:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 153, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "905:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "905:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 155, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 369, - "src": "917:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "917:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 151, - "name": "Stamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "896:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Stamp_$117_storage_ptr_$", - "typeString": "type(struct Stamper.Stamp storage pointer)" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "896:34:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_memory", - "typeString": "struct Stamper.Stamp memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Stamp_$117_memory", - "typeString": "struct Stamper.Stamp memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 148, - "name": "stampList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 120, - "src": "881:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Stamp_$117_storage_$dyn_storage", - "typeString": "struct Stamper.Stamp storage ref[] storage ref" - } - }, - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "881:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Stamp_$117_storage_$returns$_t_uint256_$", - "typeString": "function (struct Stamper.Stamp storage ref) returns (uint256)" - } - }, - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "881:50:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 159, - "nodeType": "ExpressionStatement", - "src": "881:50:2" - } - ] - }, - "documentation": null, - "id": 161, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 141, - "nodeType": "ParameterList", - "parameters": [], - "src": "674:2:2" - }, - "returnParameters": { - "id": 142, - "nodeType": "ParameterList", - "parameters": [], - "src": "684:0:2" - }, - "scope": 364, - "src": "663:275:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 228, - "nodeType": "Block", - "src": "1041:481:2", - "statements": [ - { - "assignments": [ - 168 - ], - "declarations": [ - { - "constant": false, - "id": 168, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1051:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1051:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 170, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1063:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1051:13:2" - }, - { - "assignments": [ - 172 - ], - "declarations": [ - { - "constant": false, - "id": 172, - "name": "max", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1074:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1074:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 175, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 173, - "name": "objectList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 164, - "src": "1088:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1088:17:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1074:31:2" - }, - { - "body": { - "id": 226, - "nodeType": "Block", - "src": "1139:377:2", - "statements": [ - { - "assignments": [ - 180 - ], - "declarations": [ - { - "constant": false, - "id": 180, - "name": "h", - "nodeType": "VariableDeclaration", - "scope": 226, - "src": "1153:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 179, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1153:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 184, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 181, - "name": "objectList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 164, - "src": "1165:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - } - }, - "id": 183, - "indexExpression": { - "argumentTypes": null, - "id": 182, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 168, - "src": "1176:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1165:13:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1153:25:2" - }, - { - "assignments": [ - 186 - ], - "declarations": [ - { - "constant": false, - "id": 186, - "name": "idx", - "nodeType": "VariableDeclaration", - "scope": 226, - "src": "1277:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 185, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1277:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 199, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 190, - "name": "h", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 180, - "src": "1312:1:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 191, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "1315:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1315:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 193, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 369, - "src": "1327:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1327:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 189, - "name": "Stamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "1306:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Stamp_$117_storage_ptr_$", - "typeString": "type(struct Stamper.Stamp storage pointer)" - } - }, - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1306:34:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_memory", - "typeString": "struct Stamper.Stamp memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Stamp_$117_memory", - "typeString": "struct Stamper.Stamp memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 187, - "name": "stampList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 120, - "src": "1291:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Stamp_$117_storage_$dyn_storage", - "typeString": "struct Stamper.Stamp storage ref[] storage ref" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1291:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Stamp_$117_storage_$returns$_t_uint256_$", - "typeString": "function (struct Stamper.Stamp storage ref) returns (uint256)" - } - }, - "id": 196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1291:50:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 197, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1344:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1291:54:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1277:68:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 204, - "name": "idx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "1379:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 200, - "name": "hashObjects", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "1359:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(bytes32 => uint256[] storage ref)" - } - }, - "id": 202, - "indexExpression": { - "argumentTypes": null, - "id": 201, - "name": "h", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 180, - "src": "1371:1:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1359:14:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1359:19:2", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1359:24:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 206, - "nodeType": "ExpressionStatement", - "src": "1359:24:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 212, - "name": "idx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "1427:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 207, - "name": "hashStampers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1397:12:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 210, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 208, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "1410:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1410:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1397:24:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1397:29:2", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1397:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 214, - "nodeType": "ExpressionStatement", - "src": "1397:34:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 216, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "1459:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1459:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 218, - "name": "h", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 180, - "src": "1471:1:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 219, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 369, - "src": "1474:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1474:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 215, - "name": "Stamped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 138, - "src": "1451:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (address,bytes32,uint256)" - } - }, - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1451:36:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 222, - "nodeType": "EmitStatement", - "src": "1446:41:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1502:3:2", - "subExpression": { - "argumentTypes": null, - "id": 223, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 168, - "src": "1502:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 225, - "nodeType": "ExpressionStatement", - "src": "1502:3:2" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 176, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 168, - "src": "1123:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 177, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 172, - "src": "1125:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1123:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 227, - "nodeType": "WhileStatement", - "src": "1115:401:2" - } - ] - }, - "documentation": null, - "id": 229, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "put", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 165, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 164, - "name": "objectList", - "nodeType": "VariableDeclaration", - "scope": 229, - "src": "1004:27:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 162, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1004:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 163, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1004:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1002:31:2" - }, - "returnParameters": { - "id": 166, - "nodeType": "ParameterList", - "parameters": [], - "src": "1041:0:2" - }, - "scope": 364, - "src": "990:532:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 254, - "nodeType": "Block", - "src": "1695:97:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 240, - "name": "stampList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 120, - "src": "1714:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Stamp_$117_storage_$dyn_storage", - "typeString": "struct Stamper.Stamp storage ref[] storage ref" - } - }, - "id": 242, - "indexExpression": { - "argumentTypes": null, - "id": 241, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "1724:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1714:14:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_storage", - "typeString": "struct Stamper.Stamp storage ref" - } - }, - "id": 243, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "object", - "nodeType": "MemberAccess", - "referencedDeclaration": 112, - "src": "1714:21:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 244, - "name": "stampList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 120, - "src": "1737:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Stamp_$117_storage_$dyn_storage", - "typeString": "struct Stamper.Stamp storage ref[] storage ref" - } - }, - "id": 246, - "indexExpression": { - "argumentTypes": null, - "id": 245, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "1747:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1737:14:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_storage", - "typeString": "struct Stamper.Stamp storage ref" - } - }, - "id": 247, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stamper", - "nodeType": "MemberAccess", - "referencedDeclaration": 114, - "src": "1737:22:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 248, - "name": "stampList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 120, - "src": "1761:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Stamp_$117_storage_$dyn_storage", - "typeString": "struct Stamper.Stamp storage ref[] storage ref" - } - }, - "id": 250, - "indexExpression": { - "argumentTypes": null, - "id": 249, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "1771:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1761:14:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_storage", - "typeString": "struct Stamper.Stamp storage ref" - } - }, - "id": 251, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "blockNo", - "nodeType": "MemberAccess", - "referencedDeclaration": 116, - "src": "1761:22:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 252, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1713:72:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_uint256_$", - "typeString": "tuple(bytes32,address,uint256)" - } - }, - "functionReturnParameters": 239, - "id": 253, - "nodeType": "Return", - "src": "1705:80:2" - } - ] - }, - "documentation": null, - "id": 255, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStamplistPos", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 232, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 231, - "name": "pos", - "nodeType": "VariableDeclaration", - "scope": 255, - "src": "1627:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 230, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1627:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1625:15:2" - }, - "returnParameters": { - "id": 239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 234, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 255, - "src": "1663:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 233, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1663:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 236, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 255, - "src": "1672:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1672:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 238, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 255, - "src": "1681:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1681:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1661:29:2" - }, - "scope": 364, - "src": "1601:191:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 267, - "nodeType": "Block", - "src": "1935:50:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 262, - "name": "hashObjects", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "1952:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(bytes32 => uint256[] storage ref)" - } - }, - "id": 264, - "indexExpression": { - "argumentTypes": null, - "id": 263, - "name": "object", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "1964:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1952:19:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 265, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1952:26:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 261, - "id": 266, - "nodeType": "Return", - "src": "1945:33:2" - } - ] - }, - "documentation": null, - "id": 268, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getObjectCount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 258, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 257, - "name": "object", - "nodeType": "VariableDeclaration", - "scope": 268, - "src": "1884:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 256, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1884:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1882:18:2" - }, - "returnParameters": { - "id": 261, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 260, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 268, - "src": "1922:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 259, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1922:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1921:9:2" - }, - "scope": 364, - "src": "1859:126:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 283, - "nodeType": "Block", - "src": "2161:48:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 277, - "name": "hashObjects", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "2178:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(bytes32 => uint256[] storage ref)" - } - }, - "id": 279, - "indexExpression": { - "argumentTypes": null, - "id": 278, - "name": "object", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 270, - "src": "2190:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2178:19:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 281, - "indexExpression": { - "argumentTypes": null, - "id": 280, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 272, - "src": "2198:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2178:24:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 276, - "id": 282, - "nodeType": "Return", - "src": "2171:31:2" - } - ] - }, - "documentation": null, - "id": 284, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getObjectPos", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 273, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 270, - "name": "object", - "nodeType": "VariableDeclaration", - "scope": 284, - "src": "2097:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 269, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2097:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 272, - "name": "pos", - "nodeType": "VariableDeclaration", - "scope": 284, - "src": "2113:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 271, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2113:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2095:31:2" - }, - "returnParameters": { - "id": 276, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 275, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 284, - "src": "2148:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 274, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2148:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2147:9:2" - }, - "scope": 364, - "src": "2074:135:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 333, - "nodeType": "Block", - "src": "2403:300:2", - "statements": [ - { - "assignments": [ - 294 - ], - "declarations": [ - { - "constant": false, - "id": 294, - "name": "length", - "nodeType": "VariableDeclaration", - "scope": 333, - "src": "2413:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 293, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2413:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 299, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 295, - "name": "hashObjects", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "2427:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(bytes32 => uint256[] storage ref)" - } - }, - "id": 297, - "indexExpression": { - "argumentTypes": null, - "id": 296, - "name": "object", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 286, - "src": "2439:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2427:19:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 298, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2427:26:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2413:40:2" - }, - { - "body": { - "id": 329, - "nodeType": "Block", - "src": "2497:181:2", - "statements": [ - { - "assignments": [ - 311 - ], - "declarations": [ - { - "constant": false, - "id": 311, - "name": "current", - "nodeType": "VariableDeclaration", - "scope": 329, - "src": "2511:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_memory_ptr", - "typeString": "struct Stamper.Stamp" - }, - "typeName": { - "contractScope": null, - "id": 310, - "name": "Stamp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 117, - "src": "2511:5:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_storage_ptr", - "typeString": "struct Stamper.Stamp" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 319, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 312, - "name": "stampList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 120, - "src": "2534:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Stamp_$117_storage_$dyn_storage", - "typeString": "struct Stamper.Stamp storage ref[] storage ref" - } - }, - "id": 318, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 313, - "name": "hashObjects", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "2544:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(bytes32 => uint256[] storage ref)" - } - }, - "id": 315, - "indexExpression": { - "argumentTypes": null, - "id": 314, - "name": "object", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 286, - "src": "2556:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2544:19:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 317, - "indexExpression": { - "argumentTypes": null, - "id": 316, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 301, - "src": "2564:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2544:22:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2534:33:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_storage", - "typeString": "struct Stamper.Stamp storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2511:56:2" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 320, - "name": "current", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 311, - "src": "2585:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_memory_ptr", - "typeString": "struct Stamper.Stamp memory" - } - }, - "id": 321, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stamper", - "nodeType": "MemberAccess", - "referencedDeclaration": 114, - "src": "2585:15:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 322, - "name": "stamper", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 288, - "src": "2604:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2585:26:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 328, - "nodeType": "IfStatement", - "src": "2581:87:2", - "trueBody": { - "id": 327, - "nodeType": "Block", - "src": "2613:55:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 324, - "name": "current", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 311, - "src": "2638:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_memory_ptr", - "typeString": "struct Stamper.Stamp memory" - } - }, - "id": 325, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "blockNo", - "nodeType": "MemberAccess", - "referencedDeclaration": 116, - "src": "2638:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 292, - "id": 326, - "nodeType": "Return", - "src": "2631:22:2" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 304, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 301, - "src": "2480:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 305, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "2484:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2480:10:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 330, - "initializationExpression": { - "assignments": [ - 301 - ], - "declarations": [ - { - "constant": false, - "id": 301, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 330, - "src": "2468:6:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 300, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2468:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 303, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2477:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2468:10:2" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2492:3:2", - "subExpression": { - "argumentTypes": null, - "id": 307, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 301, - "src": "2492:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 309, - "nodeType": "ExpressionStatement", - "src": "2492:3:2" - }, - "nodeType": "ForStatement", - "src": "2463:215:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2695:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 292, - "id": 332, - "nodeType": "Return", - "src": "2688:8:2" - } - ] - }, - "documentation": null, - "id": 334, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBlockNo", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 286, - "name": "object", - "nodeType": "VariableDeclaration", - "scope": 334, - "src": "2335:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 285, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2335:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 288, - "name": "stamper", - "nodeType": "VariableDeclaration", - "scope": 334, - "src": "2351:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 287, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2351:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2333:35:2" - }, - "returnParameters": { - "id": 292, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 291, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 334, - "src": "2390:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2390:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2389:9:2" - }, - "scope": 364, - "src": "2314:389:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 346, - "nodeType": "Block", - "src": "2850:52:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 341, - "name": "hashStampers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "2867:12:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 343, - "indexExpression": { - "argumentTypes": null, - "id": 342, - "name": "stamper", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 336, - "src": "2880:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2867:21:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2867:28:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 340, - "id": 345, - "nodeType": "Return", - "src": "2860:35:2" - } - ] - }, - "documentation": null, - "id": 347, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStamperCount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 337, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 336, - "name": "stamper", - "nodeType": "VariableDeclaration", - "scope": 347, - "src": "2798:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 335, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2798:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2796:19:2" - }, - "returnParameters": { - "id": 340, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 339, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 347, - "src": "2837:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2837:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2836:9:2" - }, - "scope": 364, - "src": "2772:130:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 362, - "nodeType": "Block", - "src": "3082:50:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 356, - "name": "hashStampers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "3099:12:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 358, - "indexExpression": { - "argumentTypes": null, - "id": 357, - "name": "stamper", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 349, - "src": "3112:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3099:21:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 360, - "indexExpression": { - "argumentTypes": null, - "id": 359, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 351, - "src": "3121:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3099:26:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 355, - "id": 361, - "nodeType": "Return", - "src": "3092:33:2" - } - ] - }, - "documentation": null, - "id": 363, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStamperPos", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 352, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 349, - "name": "stamper", - "nodeType": "VariableDeclaration", - "scope": 363, - "src": "3017:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 348, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3017:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 351, - "name": "pos", - "nodeType": "VariableDeclaration", - "scope": 363, - "src": "3034:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 350, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3034:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3015:32:2" - }, - "returnParameters": { - "id": 355, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 354, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 363, - "src": "3069:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 353, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3069:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3068:9:2" - }, - "scope": 364, - "src": "2993:139:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 365, - "src": "113:3021:2" - } - ], - "src": "88:3047:2" - }, - "legacyAST": { - "absolutePath": "/home/ablanco/proyectos/bfa/tsa/contract/contracts/Stamper.sol", - "exportedSymbols": { - "Stamper": [ - 364 - ] - }, - "id": 365, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 110, - "literals": [ - "solidity", - "^", - "0.5", - ".2" - ], - "nodeType": "PragmaDirective", - "src": "88:23:2" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 364, - "linearizedBaseContracts": [ - 364 - ], - "name": "Stamper", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Stamper.Stamp", - "id": 117, - "members": [ - { - "constant": false, - "id": 112, - "name": "object", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "159:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 111, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "159:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 114, - "name": "stamper", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "183:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 113, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "183:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 116, - "name": "blockNo", - "nodeType": "VariableDeclaration", - "scope": 117, - "src": "208:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "208:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Stamp", - "nodeType": "StructDefinition", - "scope": 364, - "src": "136:94:2", - "visibility": "public" - }, - { - "constant": false, - "id": 120, - "name": "stampList", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "235:17:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Stamp_$117_storage_$dyn_storage", - "typeString": "struct Stamper.Stamp[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 118, - "name": "Stamp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 117, - "src": "235:5:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_storage_ptr", - "typeString": "struct Stamper.Stamp" - } - }, - "id": 119, - "length": null, - "nodeType": "ArrayTypeName", - "src": "235:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Stamp_$117_storage_$dyn_storage_ptr", - "typeString": "struct Stamper.Stamp[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 125, - "name": "hashObjects", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "311:45:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(bytes32 => uint256[])" - }, - "typeName": { - "id": 124, - "keyType": { - "id": 121, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "321:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "311:32:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(bytes32 => uint256[])" - }, - "valueType": { - "baseType": { - "id": 122, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "332:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 123, - "length": null, - "nodeType": "ArrayTypeName", - "src": "332:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 130, - "name": "hashStampers", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "428:46:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 129, - "keyType": { - "id": 126, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "438:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "428:32:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "449:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 128, - "length": null, - "nodeType": "ArrayTypeName", - "src": "449:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 138, - "name": "Stamped", - "nodeType": "EventDefinition", - "parameters": { - "id": 137, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 132, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 138, - "src": "553:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "553:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 134, - "indexed": true, - "name": "object", - "nodeType": "VariableDeclaration", - "scope": 138, - "src": "583:22:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 133, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "583:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 136, - "indexed": false, - "name": "blockNo", - "nodeType": "VariableDeclaration", - "scope": 138, - "src": "615:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "615:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "543:93:2" - }, - "src": "530:107:2" - }, - { - "constant": false, - "id": 140, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 364, - "src": "643:13:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 139, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "643:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 160, - "nodeType": "Block", - "src": "684:254:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 143, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "694:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 144, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "702:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "702:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "694:18:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 147, - "nodeType": "ExpressionStatement", - "src": "694:18:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "902:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 153, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "905:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "905:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 155, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 369, - "src": "917:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "917:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 151, - "name": "Stamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "896:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Stamp_$117_storage_ptr_$", - "typeString": "type(struct Stamper.Stamp storage pointer)" - } - }, - "id": 157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "896:34:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_memory", - "typeString": "struct Stamper.Stamp memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Stamp_$117_memory", - "typeString": "struct Stamper.Stamp memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 148, - "name": "stampList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 120, - "src": "881:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Stamp_$117_storage_$dyn_storage", - "typeString": "struct Stamper.Stamp storage ref[] storage ref" - } - }, - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "881:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Stamp_$117_storage_$returns$_t_uint256_$", - "typeString": "function (struct Stamper.Stamp storage ref) returns (uint256)" - } - }, - "id": 158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "881:50:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 159, - "nodeType": "ExpressionStatement", - "src": "881:50:2" - } - ] - }, - "documentation": null, - "id": 161, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 141, - "nodeType": "ParameterList", - "parameters": [], - "src": "674:2:2" - }, - "returnParameters": { - "id": 142, - "nodeType": "ParameterList", - "parameters": [], - "src": "684:0:2" - }, - "scope": 364, - "src": "663:275:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 228, - "nodeType": "Block", - "src": "1041:481:2", - "statements": [ - { - "assignments": [ - 168 - ], - "declarations": [ - { - "constant": false, - "id": 168, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1051:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1051:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 170, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1063:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1051:13:2" - }, - { - "assignments": [ - 172 - ], - "declarations": [ - { - "constant": false, - "id": 172, - "name": "max", - "nodeType": "VariableDeclaration", - "scope": 228, - "src": "1074:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1074:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 175, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 173, - "name": "objectList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 164, - "src": "1088:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - } - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1088:17:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1074:31:2" - }, - { - "body": { - "id": 226, - "nodeType": "Block", - "src": "1139:377:2", - "statements": [ - { - "assignments": [ - 180 - ], - "declarations": [ - { - "constant": false, - "id": 180, - "name": "h", - "nodeType": "VariableDeclaration", - "scope": 226, - "src": "1153:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 179, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1153:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 184, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 181, - "name": "objectList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 164, - "src": "1165:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - } - }, - "id": 183, - "indexExpression": { - "argumentTypes": null, - "id": 182, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 168, - "src": "1176:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1165:13:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1153:25:2" - }, - { - "assignments": [ - 186 - ], - "declarations": [ - { - "constant": false, - "id": 186, - "name": "idx", - "nodeType": "VariableDeclaration", - "scope": 226, - "src": "1277:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 185, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1277:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 199, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 190, - "name": "h", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 180, - "src": "1312:1:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 191, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "1315:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1315:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 193, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 369, - "src": "1327:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1327:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 189, - "name": "Stamp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 117, - "src": "1306:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Stamp_$117_storage_ptr_$", - "typeString": "type(struct Stamper.Stamp storage pointer)" - } - }, - "id": 195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1306:34:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_memory", - "typeString": "struct Stamper.Stamp memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Stamp_$117_memory", - "typeString": "struct Stamper.Stamp memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 187, - "name": "stampList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 120, - "src": "1291:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Stamp_$117_storage_$dyn_storage", - "typeString": "struct Stamper.Stamp storage ref[] storage ref" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1291:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Stamp_$117_storage_$returns$_t_uint256_$", - "typeString": "function (struct Stamper.Stamp storage ref) returns (uint256)" - } - }, - "id": 196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1291:50:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 197, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1344:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1291:54:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1277:68:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 204, - "name": "idx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "1379:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 200, - "name": "hashObjects", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "1359:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(bytes32 => uint256[] storage ref)" - } - }, - "id": 202, - "indexExpression": { - "argumentTypes": null, - "id": 201, - "name": "h", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 180, - "src": "1371:1:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1359:14:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1359:19:2", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1359:24:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 206, - "nodeType": "ExpressionStatement", - "src": "1359:24:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 212, - "name": "idx", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 186, - "src": "1427:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 207, - "name": "hashStampers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1397:12:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 210, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 208, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "1410:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1410:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1397:24:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1397:29:2", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1397:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 214, - "nodeType": "ExpressionStatement", - "src": "1397:34:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 216, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "1459:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1459:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 218, - "name": "h", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 180, - "src": "1471:1:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 219, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 369, - "src": "1474:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "number", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1474:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 215, - "name": "Stamped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 138, - "src": "1451:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (address,bytes32,uint256)" - } - }, - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1451:36:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 222, - "nodeType": "EmitStatement", - "src": "1446:41:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1502:3:2", - "subExpression": { - "argumentTypes": null, - "id": 223, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 168, - "src": "1502:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 225, - "nodeType": "ExpressionStatement", - "src": "1502:3:2" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 176, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 168, - "src": "1123:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 177, - "name": "max", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 172, - "src": "1125:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1123:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 227, - "nodeType": "WhileStatement", - "src": "1115:401:2" - } - ] - }, - "documentation": null, - "id": 229, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "put", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 165, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 164, - "name": "objectList", - "nodeType": "VariableDeclaration", - "scope": 229, - "src": "1004:27:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 162, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1004:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 163, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1004:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1002:31:2" - }, - "returnParameters": { - "id": 166, - "nodeType": "ParameterList", - "parameters": [], - "src": "1041:0:2" - }, - "scope": 364, - "src": "990:532:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 254, - "nodeType": "Block", - "src": "1695:97:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 240, - "name": "stampList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 120, - "src": "1714:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Stamp_$117_storage_$dyn_storage", - "typeString": "struct Stamper.Stamp storage ref[] storage ref" - } - }, - "id": 242, - "indexExpression": { - "argumentTypes": null, - "id": 241, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "1724:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1714:14:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_storage", - "typeString": "struct Stamper.Stamp storage ref" - } - }, - "id": 243, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "object", - "nodeType": "MemberAccess", - "referencedDeclaration": 112, - "src": "1714:21:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 244, - "name": "stampList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 120, - "src": "1737:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Stamp_$117_storage_$dyn_storage", - "typeString": "struct Stamper.Stamp storage ref[] storage ref" - } - }, - "id": 246, - "indexExpression": { - "argumentTypes": null, - "id": 245, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "1747:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1737:14:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_storage", - "typeString": "struct Stamper.Stamp storage ref" - } - }, - "id": 247, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stamper", - "nodeType": "MemberAccess", - "referencedDeclaration": 114, - "src": "1737:22:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 248, - "name": "stampList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 120, - "src": "1761:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Stamp_$117_storage_$dyn_storage", - "typeString": "struct Stamper.Stamp storage ref[] storage ref" - } - }, - "id": 250, - "indexExpression": { - "argumentTypes": null, - "id": 249, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "1771:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1761:14:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_storage", - "typeString": "struct Stamper.Stamp storage ref" - } - }, - "id": 251, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "blockNo", - "nodeType": "MemberAccess", - "referencedDeclaration": 116, - "src": "1761:22:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 252, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1713:72:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_uint256_$", - "typeString": "tuple(bytes32,address,uint256)" - } - }, - "functionReturnParameters": 239, - "id": 253, - "nodeType": "Return", - "src": "1705:80:2" - } - ] - }, - "documentation": null, - "id": 255, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStamplistPos", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 232, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 231, - "name": "pos", - "nodeType": "VariableDeclaration", - "scope": 255, - "src": "1627:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 230, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1627:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1625:15:2" - }, - "returnParameters": { - "id": 239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 234, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 255, - "src": "1663:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 233, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1663:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 236, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 255, - "src": "1672:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1672:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 238, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 255, - "src": "1681:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1681:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1661:29:2" - }, - "scope": 364, - "src": "1601:191:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 267, - "nodeType": "Block", - "src": "1935:50:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 262, - "name": "hashObjects", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "1952:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(bytes32 => uint256[] storage ref)" - } - }, - "id": 264, - "indexExpression": { - "argumentTypes": null, - "id": 263, - "name": "object", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "1964:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1952:19:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 265, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1952:26:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 261, - "id": 266, - "nodeType": "Return", - "src": "1945:33:2" - } - ] - }, - "documentation": null, - "id": 268, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getObjectCount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 258, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 257, - "name": "object", - "nodeType": "VariableDeclaration", - "scope": 268, - "src": "1884:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 256, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1884:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1882:18:2" - }, - "returnParameters": { - "id": 261, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 260, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 268, - "src": "1922:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 259, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1922:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1921:9:2" - }, - "scope": 364, - "src": "1859:126:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 283, - "nodeType": "Block", - "src": "2161:48:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 277, - "name": "hashObjects", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "2178:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(bytes32 => uint256[] storage ref)" - } - }, - "id": 279, - "indexExpression": { - "argumentTypes": null, - "id": 278, - "name": "object", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 270, - "src": "2190:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2178:19:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 281, - "indexExpression": { - "argumentTypes": null, - "id": 280, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 272, - "src": "2198:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2178:24:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 276, - "id": 282, - "nodeType": "Return", - "src": "2171:31:2" - } - ] - }, - "documentation": null, - "id": 284, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getObjectPos", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 273, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 270, - "name": "object", - "nodeType": "VariableDeclaration", - "scope": 284, - "src": "2097:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 269, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2097:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 272, - "name": "pos", - "nodeType": "VariableDeclaration", - "scope": 284, - "src": "2113:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 271, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2113:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2095:31:2" - }, - "returnParameters": { - "id": 276, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 275, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 284, - "src": "2148:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 274, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2148:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2147:9:2" - }, - "scope": 364, - "src": "2074:135:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 333, - "nodeType": "Block", - "src": "2403:300:2", - "statements": [ - { - "assignments": [ - 294 - ], - "declarations": [ - { - "constant": false, - "id": 294, - "name": "length", - "nodeType": "VariableDeclaration", - "scope": 333, - "src": "2413:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 293, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2413:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 299, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 295, - "name": "hashObjects", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "2427:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(bytes32 => uint256[] storage ref)" - } - }, - "id": 297, - "indexExpression": { - "argumentTypes": null, - "id": 296, - "name": "object", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 286, - "src": "2439:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2427:19:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 298, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2427:26:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2413:40:2" - }, - { - "body": { - "id": 329, - "nodeType": "Block", - "src": "2497:181:2", - "statements": [ - { - "assignments": [ - 311 - ], - "declarations": [ - { - "constant": false, - "id": 311, - "name": "current", - "nodeType": "VariableDeclaration", - "scope": 329, - "src": "2511:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_memory_ptr", - "typeString": "struct Stamper.Stamp" - }, - "typeName": { - "contractScope": null, - "id": 310, - "name": "Stamp", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 117, - "src": "2511:5:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_storage_ptr", - "typeString": "struct Stamper.Stamp" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 319, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 312, - "name": "stampList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 120, - "src": "2534:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Stamp_$117_storage_$dyn_storage", - "typeString": "struct Stamper.Stamp storage ref[] storage ref" - } - }, - "id": 318, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 313, - "name": "hashObjects", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 125, - "src": "2544:11:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(bytes32 => uint256[] storage ref)" - } - }, - "id": 315, - "indexExpression": { - "argumentTypes": null, - "id": 314, - "name": "object", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 286, - "src": "2556:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2544:19:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 317, - "indexExpression": { - "argumentTypes": null, - "id": 316, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 301, - "src": "2564:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2544:22:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2534:33:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_storage", - "typeString": "struct Stamper.Stamp storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2511:56:2" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 320, - "name": "current", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 311, - "src": "2585:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_memory_ptr", - "typeString": "struct Stamper.Stamp memory" - } - }, - "id": 321, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "stamper", - "nodeType": "MemberAccess", - "referencedDeclaration": 114, - "src": "2585:15:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 322, - "name": "stamper", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 288, - "src": "2604:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2585:26:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 328, - "nodeType": "IfStatement", - "src": "2581:87:2", - "trueBody": { - "id": 327, - "nodeType": "Block", - "src": "2613:55:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 324, - "name": "current", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 311, - "src": "2638:7:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Stamp_$117_memory_ptr", - "typeString": "struct Stamper.Stamp memory" - } - }, - "id": 325, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "blockNo", - "nodeType": "MemberAccess", - "referencedDeclaration": 116, - "src": "2638:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 292, - "id": 326, - "nodeType": "Return", - "src": "2631:22:2" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 304, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 301, - "src": "2480:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 305, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 294, - "src": "2484:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2480:10:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 330, - "initializationExpression": { - "assignments": [ - 301 - ], - "declarations": [ - { - "constant": false, - "id": 301, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 330, - "src": "2468:6:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 300, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2468:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 303, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2477:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2468:10:2" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2492:3:2", - "subExpression": { - "argumentTypes": null, - "id": 307, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 301, - "src": "2492:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 309, - "nodeType": "ExpressionStatement", - "src": "2492:3:2" - }, - "nodeType": "ForStatement", - "src": "2463:215:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2695:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 292, - "id": 332, - "nodeType": "Return", - "src": "2688:8:2" - } - ] - }, - "documentation": null, - "id": 334, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBlockNo", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 286, - "name": "object", - "nodeType": "VariableDeclaration", - "scope": 334, - "src": "2335:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 285, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2335:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 288, - "name": "stamper", - "nodeType": "VariableDeclaration", - "scope": 334, - "src": "2351:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 287, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2351:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2333:35:2" - }, - "returnParameters": { - "id": 292, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 291, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 334, - "src": "2390:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 290, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2390:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2389:9:2" - }, - "scope": 364, - "src": "2314:389:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 346, - "nodeType": "Block", - "src": "2850:52:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 341, - "name": "hashStampers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "2867:12:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 343, - "indexExpression": { - "argumentTypes": null, - "id": 342, - "name": "stamper", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 336, - "src": "2880:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2867:21:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2867:28:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 340, - "id": 345, - "nodeType": "Return", - "src": "2860:35:2" - } - ] - }, - "documentation": null, - "id": 347, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStamperCount", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 337, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 336, - "name": "stamper", - "nodeType": "VariableDeclaration", - "scope": 347, - "src": "2798:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 335, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2798:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2796:19:2" - }, - "returnParameters": { - "id": 340, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 339, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 347, - "src": "2837:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2837:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2836:9:2" - }, - "scope": 364, - "src": "2772:130:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 362, - "nodeType": "Block", - "src": "3082:50:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 356, - "name": "hashStampers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "3099:12:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 358, - "indexExpression": { - "argumentTypes": null, - "id": 357, - "name": "stamper", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 349, - "src": "3112:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3099:21:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 360, - "indexExpression": { - "argumentTypes": null, - "id": 359, - "name": "pos", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 351, - "src": "3121:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3099:26:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 355, - "id": 361, - "nodeType": "Return", - "src": "3092:33:2" - } - ] - }, - "documentation": null, - "id": 363, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStamperPos", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 352, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 349, - "name": "stamper", - "nodeType": "VariableDeclaration", - "scope": 363, - "src": "3017:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 348, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3017:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 351, - "name": "pos", - "nodeType": "VariableDeclaration", - "scope": 363, - "src": "3034:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 350, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3034:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3015:32:2" - }, - "returnParameters": { - "id": 355, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 354, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 363, - "src": "3069:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 353, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3069:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3068:9:2" - }, - "scope": 364, - "src": "2993:139:2", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 365, - "src": "113:3021:2" - } - ], - "src": "88:3047:2" - }, - "compiler": { - "name": "solc", - "version": "0.5.2+commit.1df8f40c.Emscripten.clang" - }, - "networks": { - "5775": { - "events": {}, - "links": {}, - "address": "0xbe8EC59b709B4cA36DB12168CE84e6121872F26e", - "transactionHash": "0x52bafb93bbd415e36e20b3f7c5162975811ed1256d0b4185c103c81256286cb9" - }, - "5777": { - "events": {}, - "links": {}, - "address": "0x622ea7A156FB1eC71d41ACE589375202331049d3", - "transactionHash": "0x6507aaead7a94dcb95a799a80c548f807d3930435436d25d1e76c8fd7fb11335" - } - }, - "schemaVersion": "3.0.8", - "updatedAt": "2019-05-07T21:28:13.649Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file -- GitLab