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