diff --git a/client/contracts/BadRecipient.json b/client/contracts/BadRecipient.json index fb27734..772ff2b 100644 --- a/client/contracts/BadRecipient.json +++ b/client/contracts/BadRecipient.json @@ -7,25 +7,25 @@ "type": "fallback" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"fallback\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Mocks/BadRecipient.sol\":\"BadRecipient\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Mocks/BadRecipient.sol\":{\"keccak256\":\"0x0329be02a9fec6e4fbd93d8c98887acd5d46bb09af18298232fc2fe72838ca03\",\"urls\":[\"bzz-raw://c4670e578c58b2326efebcba1a2dd2ee0bf6d70c26f84cdaa3e81f67bd0e360d\",\"dweb:/ipfs/QmbVoxKmmrWzjdnLfJkxhWe6UyjrpCFYjMxRP6uRCfGi7r\"]}},\"version\":1}", - "bytecode": "0x6080604052348015600f57600080fd5b50609c80601d6000396000f3fe6080604052348015600f57600080fd5b5060405162461bcd60e51b815260040180806020018281038252602181526020018060476021913960400191505060405180910390fdfe7468697320636f6e747261637420646f6573206e6f742061636365707420455448a265627a7a723158206626eee46135a11b00680288c5ee8c30dfbb35f740cb59e3c43a3c6e983a8cb764736f6c63430005110032", - "deployedBytecode": "0x6080604052348015600f57600080fd5b5060405162461bcd60e51b815260040180806020018281038252602181526020018060476021913960400191505060405180910390fdfe7468697320636f6e747261637420646f6573206e6f742061636365707420455448a265627a7a723158206626eee46135a11b00680288c5ee8c30dfbb35f740cb59e3c43a3c6e983a8cb764736f6c63430005110032", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"fallback\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/Mocks/BadRecipient.sol\":\"BadRecipient\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/Mocks/BadRecipient.sol\":{\"keccak256\":\"0x0329be02a9fec6e4fbd93d8c98887acd5d46bb09af18298232fc2fe72838ca03\",\"urls\":[\"bzz-raw://c4670e578c58b2326efebcba1a2dd2ee0bf6d70c26f84cdaa3e81f67bd0e360d\",\"dweb:/ipfs/QmbVoxKmmrWzjdnLfJkxhWe6UyjrpCFYjMxRP6uRCfGi7r\"]}},\"version\":1}", + "bytecode": "0x6080604052348015600f57600080fd5b50609c80601d6000396000f3fe6080604052348015600f57600080fd5b5060405162461bcd60e51b815260040180806020018281038252602181526020018060476021913960400191505060405180910390fdfe7468697320636f6e747261637420646f6573206e6f742061636365707420455448a265627a7a7231582032df8468882a84a1577428256b3075571818622e500ee7132ec9e216f517c73064736f6c63430005110032", + "deployedBytecode": "0x6080604052348015600f57600080fd5b5060405162461bcd60e51b815260040180806020018281038252602181526020018060476021913960400191505060405180910390fdfe7468697320636f6e747261637420646f6573206e6f742061636365707420455448a265627a7a7231582032df8468882a84a1577428256b3075571818622e500ee7132ec9e216f517c73064736f6c63430005110032", "sourceMap": "25:110:4:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25:110:4;;;;;;;", "deployedSourceMap": "25:110:4:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;77:51:4;;-1:-1:-1;;;77:51:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "source": "pragma solidity ^0.5.0;\n\ncontract BadRecipient {\n function() external {\n require(false, \"this contract does not accept ETH\");\n }\n}\n", - "sourcePath": "/Users/brianli/dotfiles/tornado-core/contracts/Mocks/BadRecipient.sol", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/Mocks/BadRecipient.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Mocks/BadRecipient.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Mocks/BadRecipient.sol", "exportedSymbols": { "BadRecipient": [ - 763 + 754 ] }, - "id": 764, + "id": 755, "nodeType": "SourceUnit", "nodes": [ { - "id": 753, + "id": 744, "literals": [ "solidity", "^", @@ -41,16 +41,16 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 763, + "id": 754, "linearizedBaseContracts": [ - 763 + 754 ], "name": "BadRecipient", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 761, + "id": 752, "nodeType": "Block", "src": "71:62:4", "statements": [ @@ -61,7 +61,7 @@ { "argumentTypes": null, "hexValue": "66616c7365", - "id": 757, + "id": 748, "isConstant": false, "isLValue": false, "isPure": true, @@ -79,7 +79,7 @@ { "argumentTypes": null, "hexValue": "7468697320636f6e747261637420646f6573206e6f742061636365707420455448", - "id": 758, + "id": 749, "isConstant": false, "isLValue": false, "isPure": true, @@ -106,21 +106,21 @@ "typeString": "literal_string \"this contract does not accept ETH\"" } ], - "id": 756, + "id": 747, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "77:7:4", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 759, + "id": 750, "isConstant": false, "isLValue": false, "isPure": false, @@ -134,39 +134,39 @@ "typeString": "tuple()" } }, - "id": 760, + "id": 751, "nodeType": "ExpressionStatement", "src": "77:51:4" } ] }, "documentation": null, - "id": 762, + "id": 753, "implemented": true, "kind": "fallback", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 754, + "id": 745, "nodeType": "ParameterList", "parameters": [], "src": "59:2:4" }, "returnParameters": { - "id": 755, + "id": 746, "nodeType": "ParameterList", "parameters": [], "src": "71:0:4" }, - "scope": 763, + "scope": 754, "src": "51:82:4", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 764, + "scope": 755, "src": "25:110:4" } ], @@ -174,10 +174,10 @@ }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Mocks/BadRecipient.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Mocks/BadRecipient.sol", "exportedSymbols": { "BadRecipient": [ - 763 + 754 ] } }, @@ -191,7 +191,7 @@ ".0" ] }, - "id": 753, + "id": 744, "name": "PragmaDirective", "src": "0:23:4" }, @@ -207,10 +207,10 @@ "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ - 763 + 754 ], "name": "BadRecipient", - "scope": 764 + "scope": 755 }, "children": [ { @@ -223,7 +223,7 @@ null ], "name": "", - "scope": 763, + "scope": 754, "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -236,7 +236,7 @@ ] }, "children": [], - "id": 754, + "id": 745, "name": "ParameterList", "src": "59:2:4" }, @@ -247,7 +247,7 @@ ] }, "children": [], - "id": 755, + "id": 746, "name": "ParameterList", "src": "71:0:4" }, @@ -283,14 +283,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 756, + "id": 747, "name": "Identifier", "src": "77:7:4" }, @@ -307,7 +307,7 @@ "type": "bool", "value": "false" }, - "id": 757, + "id": 748, "name": "Literal", "src": "85:5:4" }, @@ -324,37 +324,37 @@ "type": "literal_string \"this contract does not accept ETH\"", "value": "this contract does not accept ETH" }, - "id": 758, + "id": 749, "name": "Literal", "src": "92:35:4" } ], - "id": 759, + "id": 750, "name": "FunctionCall", "src": "77:51:4" } ], - "id": 760, + "id": 751, "name": "ExpressionStatement", "src": "77:51:4" } ], - "id": 761, + "id": 752, "name": "Block", "src": "71:62:4" } ], - "id": 762, + "id": 753, "name": "FunctionDefinition", "src": "51:82:4" } ], - "id": 763, + "id": 754, "name": "ContractDefinition", "src": "25:110:4" } ], - "id": 764, + "id": 755, "name": "SourceUnit", "src": "0:136:4" }, @@ -364,7 +364,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-03-14T02:18:33.084Z", + "updatedAt": "2021-04-04T20:21:29.863Z", "devdoc": { "methods": {} }, diff --git a/client/contracts/CELOTornado.-1.json b/client/contracts/CELOTornado.-1.json index 198d036..1d5e534 100644 --- a/client/contracts/CELOTornado.-1.json +++ b/client/contracts/CELOTornado.-1.json @@ -574,15 +574,15 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"contract IFeeManager\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_denomination\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_merkleTreeHeight\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commitment\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"leafIndex\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifierHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"FIELD_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ROOT_HISTORY_SIZE\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ZERO_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOperator\",\"type\":\"address\"}],\"name\":\"changeOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"commitments\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentRootIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"denomination\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_commitment\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeManager\",\"outputs\":[{\"internalType\":\"contract IFeeManager\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"filledSubtrees\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_right\",\"type\":\"bytes32\"}],\"name\":\"hashLeftRight\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"isKnownRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"}],\"name\":\"isSpent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_nullifierHashes\",\"type\":\"bytes32[]\"}],\"name\":\"isSpentArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"spent\",\"type\":\"bool[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"levels\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nullifierHashes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"protocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roots\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newVerifier\",\"type\":\"address\"}],\"name\":\"updateVerifier\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"verifier\",\"outputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"},{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_refund\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"zeros\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"changeOperator(address)\":{\"details\":\"operator can change his address \"},\"deposit(bytes32)\":{\"details\":\"Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\",\"params\":{\"_commitment\":\"the note commitment, which is PedersenHash(nullifier + secret)\"}},\"getLastRoot()\":{\"details\":\"Returns the last root\"},\"hashLeftRight(bytes32,bytes32)\":{\"details\":\"Hash 2 tree leaves, returns MiMC(_left, _right)\"},\"isKnownRoot(bytes32)\":{\"details\":\"Whether the root is present in the root history\"},\"isSpent(bytes32)\":{\"details\":\"whether a note is already spent \"},\"isSpentArray(bytes32[])\":{\"details\":\"whether an array of notes is already spent \"},\"updateVerifier(address)\":{\"details\":\"allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held. After that operator rights are supposed to be transferred to zero address\"},\"withdraw(bytes,bytes32,bytes32,address,address,uint256,uint256)\":{\"details\":\"Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs `input` array consists of: - merkle root of all deposits in the contract - hash of unique deposit nullifier to prevent double spends - the recipient of funds - optional fee that goes to the transaction sender (usually a relay)\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":\"ERC20Tornado\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":{\"keccak256\":\"0x5c57c88351063f1864166162f6f32be5aebae197a18abaef8d08d67b36440a51\",\"urls\":[\"bzz-raw://6da2d6faa828b1cad43428366d273e4aa61fc176d6541fb641028985497caa0f\",\"dweb:/ipfs/QmULz388t88hr999vUk5PidTTJwbEWGUyb3d6QGnDA6qoV\"]},\"/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol\":{\"keccak256\":\"0xe7db8acb3efcecf95c7364f447ed1764c571dbf5090fd4641fe4668a965332eb\",\"urls\":[\"bzz-raw://45e790c247c38ed8ae473e3165c1148ea10a753cf6e9f9c8742394019be2aef6\",\"dweb:/ipfs/QmaGfk1ndvqur2NvCY3TWoKuorfBVShXeykKei18GDY582\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}", - "bytecode": "0x6080604052600380546001600160401b03191690553480156200002157600080fd5b5060405162001e5838038062001e58833981810160405260c08110156200004757600080fd5b508051602082015160408301516060840151608085015160a090950151939492939192909185858585858163ffffffff8116620000b65760405162461bcd60e51b815260040180806020018281038252602781526020018062001dcf6027913960400191505060405180910390fd5b60208163ffffffff1610620000fd5760405162461bcd60e51b815260040180806020018281038252602281526020018062001e166022913960400191505060405180910390fd5b6000805463ffffffff191663ffffffff83161781556002805460018181019092557f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60008051602062001d8e833981519152909101819055815480830183559282905260008051602062001e388339815191529092018290555b60005463ffffffff9081169082161015620001eb57620001a182806001600160e01b03620002ba16565b60028054600181810190925560008051602062001d8e8339815191520182905580548082018255600082905260008051602062001e38833981519152018290559092500162000177565b506200020181806001600160e01b03620002ba16565b60046000015550506068805460ff1916600117905582620002545760405162461bcd60e51b815260040180806020018281038252602581526020018062001d696025913960400191505060405180910390fd5b606c80546001600160a01b03199081166001600160a01b0397881617909155606d8054821695871695909517909455606e8054851691861691909117905550606955606f805490911691831691909117905560c8840460705550620004a7945050505050565b600060008051602062001df6833981519152831062000320576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602062001df683398151915282106200036f5760405162461bcd60e51b815260040180806020018281038252602181526020018062001dae6021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015620003ca57600080fd5b505af4158015620003df573d6000803e3d6000fd5b505050506040513d6040811015620003f657600080fd5b508051602090910151909250905060008051602062001df6833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b1580156200047057600080fd5b505af415801562000485573d6000803e3d6000fd5b505050506040513d60408110156200049c57600080fd5b505195945050505050565b6118b280620004b76000396000f3fe6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a72315820c90af910ddfda5b33dab20c369a888b349922f695f9eee0e2eb3e0273adc895364736f6c6343000511003264656e6f6d696e6174696f6e2073686f756c642062652067726561746572207468616e2030405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5f72696768742073686f756c6420626520696e7369646520746865206669656c645f747265654c6576656c732073686f756c642062652067726561746572207468616e207a65726f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000015f747265654c6576656c732073686f756c64206265206c657373207468616e203332b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6", - "deployedBytecode": "0x6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a72315820c90af910ddfda5b33dab20c369a888b349922f695f9eee0e2eb3e0273adc895364736f6c63430005110032", - "sourceMap": "805:2570:0:-;;;1430:34:1;;;-1:-1:-1;;;;;;1468:27:1;;;897:334:0;5:2:-1;;;;30:1;27;20:12;5:2;897:334:0;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;897:334:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1646:15:1;;;1638:67;;;;-1:-1:-1;;;1638:67:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:2;1719:11;:16;;;1711:63;;;;-1:-1:-1;;;1711:63:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:6;:20;;-1:-1:-1;;1780:20:1;;;;;;;1854:5;27:10:-1;;-1:-1;23:18;;;45:23;;;1088:77:1;-1:-1:-1;;;;;;;;;;;1854:23:1;;;;;;27:10:-1;;23:18;;;45:23;;1883:32:1;;;;-1:-1:-1;;;;;;;;;;;1883:32:1;;;;;;1922:175;1945:6;;;;;;1941:10;;;;1922:175;;;1980:39;1994:11;;-1:-1:-1;;;;;1980:13:1;:39;:::i;:::-;2027:5;27:10:-1;;39:1;23:18;;;45:23;;;-1:-1;;;;;;;;;;;2027:23:1;;;;27:10:-1;;23:18;;;45:23;;-1:-1;2058:32:1;;;-1:-1:-1;;;;;;;;;;;2058:32:1;;;;1966:53;;-1:-1:-1;1953:3:1;1922:175;;;-1:-1:-1;2114:39:1;2128:11;;-1:-1:-1;;;;;2114:13:1;:39;:::i;:::-;2103:5;2109:1;2103:8;:50;-1:-1:-1;;1421:11:3;:18;;-1:-1:-1;;1421:18:3;1435:4;1421:18;;;1645:17:2;1637:67;;;;-1:-1:-1;;;1637:67:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1710:8;:20;;-1:-1:-1;;;;;;1710:20:2;;;-1:-1:-1;;;;;1710:20:2;;;;;;;1736:10;:24;;;;;;;;;;;;;;1766:8;:20;;;;;;;;;;;;;-1:-1:-1;1792:12:2;:28;1157:5:0;:14;;;;;;;;;;;;;;1223:3;1207:13;:19;1193:11;:33;-1:-1:-1;805:2570:0;;-1:-1:-1;;;;;805:2570:0;2230:445:1;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:1;;2320:72;;;;;-1:-1:-1;;;2320:72:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:1;;2398:74;;;;-1:-1:-1;;;2398:74:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:1;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:1;;;;;;;;;-1:-1:-1;2538:23:1;-1:-1:-1;;;;;;;;;;;;2589:6:1;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:1;;2230:445;-1:-1:-1;;;;;2230:445:1:o;805:2570:0:-;;;;;;;", - "deployedSourceMap": "805:2570:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4814:102:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4814:102:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4814:102:2;-1:-1:-1;;;;;4814:102:2;;:::i;:::-;;412:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;412:47:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;412:47:2;;:::i;:::-;;;;;;;;;;;;;;;;;;2893:801;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2893:801:2;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2893:801:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2893:801:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2893:801:2;;-1:-1:-1;2893:801:2;-1:-1:-1;2893:801:2;;;;;;;;-1:-1:-1;;;;;2893:801:2;;;;;;;;;;;;;;;;;;;;;;;;:::i;601:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;601:25:2;;;:::i;:::-;;;;-1:-1:-1;;;;;601:25:2;;;;;;;;;;;;;;2230:445:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2230:445:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2230:445:1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;933:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:114:1;;;:::i;1209:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1209:20:1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;819:23:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;819:23:2;;;:::i;3553:342:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3553:342:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3553:342:1;;:::i;554:43:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;554:43:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;554:43:2;;:::i;381:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;381:27:2;;;:::i;1430:34:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1430:34:1;;;:::i;4651:113:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4651:113:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4651:113:2;-1:-1:-1;;;;;4651:113:2;;:::i;4128:293::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4128:293:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4128:293:2;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4128:293:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4128:293:2;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;4128:293:2;;-1:-1:-1;4128:293:2;-1:-1:-1;4128:293:2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4128:293:2;;;;;;;;;;;;;;;;;866:26:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;866:26:0;;;:::i;2073:324:2:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2073:324:2;;:::i;3941:93:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3941:93:1;;;:::i;1549:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1549:39:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1549:39:1;;:::i;1499:46::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1499:46:1;;;:::i;630:29:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;630:29:2;;;:::i;3951:116::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3951:116:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3951:116:2;;:::i;1404:22:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1404:22:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1404:22:1;;:::i;1051:114::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1051:114:1;;;:::i;1369:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1369:31:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1369:31:1;;:::i;842:20:0:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;842:20:0;;;:::i;1468:27:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1468:27:1;;;:::i;4814:102:2:-;896:8;;-1:-1:-1;;;;;896:8:2;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4888:8;:23;;-1:-1:-1;;;;;;4888:23:2;-1:-1:-1;;;;;4888:23:2;;;;;;;;;;4814:102::o;412:47::-;;;;;;;;;;;;;;;:::o;2893:801::-;1934:11:3;;;;1926:55;;;;;-1:-1:-1;;;1926:55:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:3;;;3110:12:2;;3102:20;;;3094:59;;;;;-1:-1:-1;;;3094:59:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;3168:31;;;;:15;:31;;;;;;;;3167:32;3159:76;;;;;-1:-1:-1;;;3159:76:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;3249:18;3261:5;3249:11;:18::i;:::-;3241:59;;;;;-1:-1:-1;;;3241:59:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;3347:8;;:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3418:19:2;;;3347:126;;;;3439:17;;;3347:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3347:126:2;;:8;;;;;:20;;3368:6;;;;3347:126;;;;;;;;;;;;;;;;:8;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3347:126: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;;3347:126:2;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3347:126:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3347:126:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3347:126:2;3339:161;;;;;-1:-1:-1;;;3339:161:2;;;;;;;;;;;;-1:-1:-1;;;3339:161:2;;;;;;;;;;;;;;;3507:31;;;;:15;:31;;;;;;;;;:38;;-1:-1:-1;;3507:38:2;3541:4;3507:38;;;3605:10;;:18;;-1:-1:-1;;;3605:18:2;;;;3551:73;;3568:10;;3580:8;;3590:4;;3596:7;;-1:-1:-1;;;;;3605:10:2;;;;:16;;:18;;;;;;;;;;;:10;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;3605:18:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3605:18:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3605:18:2;3551:16;:73::i;:::-;3635:54;;;-1:-1:-1;;;;;3635:54:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2230:11:3;:18;;-1:-1:-1;;2230:18:3;2244:4;2230:18;;;-1:-1:-1;;;;;;2893:801:2:o;601:25::-;;;-1:-1:-1;;;;;601:25:2;;:::o;2230:445:1:-;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:1;;2320:72;;;;;-1:-1:-1;;;2320:72:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:1;;2398:74;;;;-1:-1:-1;;;2398:74:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:1;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:1;;;;;;;;;-1:-1:-1;2538:23:1;-1:-1:-1;;;;;;;;;;;;2589:6:1;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:1;;2230:445;-1:-1:-1;;;;;2230:445:1:o;933:114::-;-1:-1:-1;;;;;;;;;;;933:114:1;:::o;1209:20::-;;;;;;:::o;819:23:2:-;;;-1:-1:-1;;;;;819:23:2;;:::o;3553:342:1:-;3609:4;3625:10;3621:43;;-1:-1:-1;3652:5:1;3645:12;;3621:43;3680:16;;;;3702:171;3726:5;3732:1;3726:8;;;;;;;;;;;3717:5;:17;3713:53;;;3753:4;3746:11;;;;;3713:53;3777:6;;;3773:52;;-1:-1:-1;1542:3:1;3773:52;3855:16;;-1:-1:-1;;3832:3:1;;;;3855:16;3850:21;;;3855:16;;3850:21;;3702:171;;3885:5;3878:12;;;3553:342;;;;:::o;554:43:2:-;;;;;;;;;;;;;;;:::o;381:27::-;;;;:::o;1430:34:1:-;;;;;;:::o;4651:113:2:-;896:8;;-1:-1:-1;;;;;896:8:2;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4725:8;:34;;-1:-1:-1;;;;;;4725:34:2;-1:-1:-1;;;;;4725:34:2;;;;;;;;;;4651:113::o;4128:293::-;4244:35;;;;;;;;;;;;;;;;4209:19;;4255:16;4244:35;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;4244:35:2;-1:-1:-1;4236:43:2;-1:-1:-1;4289:6:2;4285:132;4301:27;;;4285:132;;;4347:28;4355:16;;4372:1;4355:19;;;;;;;;;;;;;4347:7;:28::i;:::-;4343:68;;;4398:4;4387:5;4393:1;4387:8;;;;;;;;:15;;;:8;;;;;;;;;;;:15;4343:68;4330:3;;4285:132;;;;4128:293;;;;:::o;866:26:0:-;;;;:::o;2073:324:2:-;1934:11:3;;;;1926:55;;;;;-1:-1:-1;;;1926:55:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:3;;;2070:5;2156:24:2;;;:11;:24;;;;;;2056:19:3;2156:24:2;2155:25;2147:71;;;;-1:-1:-1;;;2147:71:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2225:20;2248;2256:11;2248:7;:20::i;:::-;2274:24;;;;:11;:24;;;;;:31;;-1:-1:-1;;2274:31:2;2301:4;2274:31;;;2225:43;-1:-1:-1;2311:17:2;:15;:17::i;:::-;2340:52;;;;;;;;2376:15;2340:52;;;;;;2348:11;;2340:52;;;;;;;;-1:-1:-1;;2230:11:3;:18;;-1:-1:-1;;2230:18:3;2244:4;2230:18;;;2073:324:2:o;3941:93:1:-;4012:16;;3984:7;;4006:5;;4012:16;;4006:23;;;;;;;;;3999:30;;3941:93;:::o;1549:39::-;;;;;;;;;;;;;-1:-1:-1;1549:39:1;:::o;1499:46::-;1542:3;1499:46;:::o;630:29:2:-;;;-1:-1:-1;;;;;630:29:2;;:::o;3951:116::-;4012:4;4031:31;;;:15;:31;;;;;;;;;3951:116::o;1404:22:1:-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1404:22:1;:::o;1051:114::-;1088:77;1051:114;:::o;1369:31::-;;;;;;;;;;842:20:0;;;-1:-1:-1;;;;;842:20:0;;:::o;1468:27:1:-;;;-1:-1:-1;;;1468:27:1;;;;;:::o;1430:801:0:-;1601:7;1588:9;:20;1580:81;;;;-1:-1:-1;;;1580:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1681:20:0;;;;;;1707:226;;1726:73;1745:10;1787:11;;1772:12;1757;;:27;:41;1726:18;:73::i;:::-;1807:39;1826:6;1834:11;;1807:18;:39::i;:::-;1707:226;;;1867:59;1886:10;1913:12;1898;;:27;1867:18;:59::i;:::-;1943:16;;1939:79;;1969:42;1988:8;1998:12;1969:18;:42::i;:::-;2028:11;;2024:203;;2068:34;;2050:12;;-1:-1:-1;;;;;2068:15:0;;;2090:7;;2050:12;2068:34;2050:12;2068:34;2090:7;2068:15;:34;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2049:53:0;;;2115:7;2110:111;;2186:26;;-1:-1:-1;;;;;2186:17:0;;;:26;;;;;2204:7;;2186:26;;;;2204:7;2186:17;:26;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2186:26:0;2110:111;2024:203;;1430:801;;;;;;:::o;2679:802:1:-;2770:9;;2728:12;2820:6;;2728:12;;2770:9;-1:-1:-1;;;2770:9:1;;;;;;2820:6;;2816:1;2809:17;2793:33;;;;2785:93;;;;-1:-1:-1;;;2785:93:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2884:9;:14;;;-1:-1:-1;;;2884:14:1;;;;;2897:1;2884:14;;;;;-1:-1:-1;;2884:14:1;;;;;;2931:5;-1:-1:-1;;;2980:355:1;3003:6;;;;;;2999:10;;;;2980:355;;;3028:16;;;3024:225;;3068:16;3061:23;;3102:5;3108:1;3102:8;;;;;;;;;;;;;;;;;;3094:16;;3141;3121:14;3136:1;3121:17;;;;;;;;;;;;;;;;;;;:36;3024:225;;;3189:14;3204:1;3189:17;;;;;;;;;;;;;;;;;;3182:24;;3224:16;3216:24;;3024:225;3276:26;3290:4;3296:5;3276:13;:26::i;:::-;3257:45;-1:-1:-1;3327:1:1;3311:17;;;;;-1:-1:-1;3011:3:1;;2980:355;;;-1:-1:-1;3361:16:1;;1542:3;;3360:42;3361:16;;;;:20;3360:42;3341:16;:61;;-1:-1:-1;;3341:61:1;3360:42;;;;3341:61;;;;;;;;;;;;3434:16;;3408:5;;3414:16;3408:23;;;;;;;;:42;-1:-1:-1;;3463:9:1;;-1:-1:-1;;;3463:9:1;;;;-1:-1:-1;;3463:13:1;;2679:802;-1:-1:-1;;;;2679:802:1:o;1235:191:0:-;1285:9;:14;1277:75;;;;-1:-1:-1;;;1277:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1358:63;1381:10;1401:4;1408:12;;1358:22;:63::i;:::-;1235:191::o;2829:544::-;2938:5;;2949:63;;;-1:-1:-1;;;;;2949:63:0;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2949:63:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2938:75:0;;;;2903:12;;2917:17;;2938:5;;;2949:63;2938:75;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2938:75:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2902:111:0;;;;3027:7;3019:37;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;;;;3156:11;;:15;3152:217;;3189:4;:11;3204:2;3189:17;3181:72;;;;-1:-1:-1;;;3181:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3282:4;3271:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3271:24:0;;-1:-1:-1;3271:24:0;3303:59;;;;-1:-1:-1;;;3303:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2829:544;;;;:::o;2235:590::-;2363:5;;2374:74;;;-1:-1:-1;;;;;2374:74:0;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2374:74:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2363:86:0;;;;2328:12;;2342:17;;2363:5;;;2374:74;2363:86;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2363:86:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2327:122:0;;;;2463:7;2455:45;;;;;-1:-1:-1;;;2455:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2600:11;;:15;2596:225;;2633:4;:11;2648:2;2633:17;2625:72;;;;-1:-1:-1;;;2625:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2726:4;2715:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2715:24:0;;-1:-1:-1;2715:24:0;2747:67;;;;-1:-1:-1;;;2747:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2235:590;;;;;:::o", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"contract IFeeManager\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_denomination\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_merkleTreeHeight\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commitment\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"leafIndex\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifierHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"FIELD_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ROOT_HISTORY_SIZE\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ZERO_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOperator\",\"type\":\"address\"}],\"name\":\"changeOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"commitments\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentRootIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"denomination\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_commitment\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeManager\",\"outputs\":[{\"internalType\":\"contract IFeeManager\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"filledSubtrees\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_right\",\"type\":\"bytes32\"}],\"name\":\"hashLeftRight\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"isKnownRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"}],\"name\":\"isSpent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_nullifierHashes\",\"type\":\"bytes32[]\"}],\"name\":\"isSpentArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"spent\",\"type\":\"bool[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"levels\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nullifierHashes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"protocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roots\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newVerifier\",\"type\":\"address\"}],\"name\":\"updateVerifier\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"verifier\",\"outputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"},{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_refund\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"zeros\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"changeOperator(address)\":{\"details\":\"operator can change his address \"},\"deposit(bytes32)\":{\"details\":\"Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\",\"params\":{\"_commitment\":\"the note commitment, which is PedersenHash(nullifier + secret)\"}},\"getLastRoot()\":{\"details\":\"Returns the last root\"},\"hashLeftRight(bytes32,bytes32)\":{\"details\":\"Hash 2 tree leaves, returns MiMC(_left, _right)\"},\"isKnownRoot(bytes32)\":{\"details\":\"Whether the root is present in the root history\"},\"isSpent(bytes32)\":{\"details\":\"whether a note is already spent \"},\"isSpentArray(bytes32[])\":{\"details\":\"whether an array of notes is already spent \"},\"updateVerifier(address)\":{\"details\":\"allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held. After that operator rights are supposed to be transferred to zero address\"},\"withdraw(bytes,bytes32,bytes32,address,address,uint256,uint256)\":{\"details\":\"Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs `input` array consists of: - merkle root of all deposits in the contract - hash of unique deposit nullifier to prevent double spends - the recipient of funds - optional fee that goes to the transaction sender (usually a relay)\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":\"ERC20Tornado\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":{\"keccak256\":\"0x5c57c88351063f1864166162f6f32be5aebae197a18abaef8d08d67b36440a51\",\"urls\":[\"bzz-raw://6da2d6faa828b1cad43428366d273e4aa61fc176d6541fb641028985497caa0f\",\"dweb:/ipfs/QmULz388t88hr999vUk5PidTTJwbEWGUyb3d6QGnDA6qoV\"]},\"/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/home/home/dotfiles/tornado-core/contracts/Tornado.sol\":{\"keccak256\":\"0xe7db8acb3efcecf95c7364f447ed1764c571dbf5090fd4641fe4668a965332eb\",\"urls\":[\"bzz-raw://45e790c247c38ed8ae473e3165c1148ea10a753cf6e9f9c8742394019be2aef6\",\"dweb:/ipfs/QmaGfk1ndvqur2NvCY3TWoKuorfBVShXeykKei18GDY582\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}", + "bytecode": "0x6080604052600380546001600160401b03191690553480156200002157600080fd5b5060405162001e5838038062001e58833981810160405260c08110156200004757600080fd5b508051602082015160408301516060840151608085015160a090950151939492939192909185858585858163ffffffff8116620000b65760405162461bcd60e51b815260040180806020018281038252602781526020018062001dcf6027913960400191505060405180910390fd5b60208163ffffffff1610620000fd5760405162461bcd60e51b815260040180806020018281038252602281526020018062001e166022913960400191505060405180910390fd5b6000805463ffffffff191663ffffffff83161781556002805460018181019092557f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60008051602062001d8e833981519152909101819055815480830183559282905260008051602062001e388339815191529092018290555b60005463ffffffff9081169082161015620001eb57620001a182806001600160e01b03620002ba16565b60028054600181810190925560008051602062001d8e8339815191520182905580548082018255600082905260008051602062001e38833981519152018290559092500162000177565b506200020181806001600160e01b03620002ba16565b60046000015550506068805460ff1916600117905582620002545760405162461bcd60e51b815260040180806020018281038252602581526020018062001d696025913960400191505060405180910390fd5b606c80546001600160a01b03199081166001600160a01b0397881617909155606d8054821695871695909517909455606e8054851691861691909117905550606955606f805490911691831691909117905560c8840460705550620004a7945050505050565b600060008051602062001df6833981519152831062000320576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602062001df683398151915282106200036f5760405162461bcd60e51b815260040180806020018281038252602181526020018062001dae6021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015620003ca57600080fd5b505af4158015620003df573d6000803e3d6000fd5b505050506040513d6040811015620003f657600080fd5b508051602090910151909250905060008051602062001df6833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b1580156200047057600080fd5b505af415801562000485573d6000803e3d6000fd5b505050506040513d60408110156200049c57600080fd5b505195945050505050565b6118b280620004b76000396000f3fe6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a723158204b6ccc5df50175d5e6c8b1e3301b60dade15d700fbff15348226df90b372e82464736f6c6343000511003264656e6f6d696e6174696f6e2073686f756c642062652067726561746572207468616e2030405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5f72696768742073686f756c6420626520696e7369646520746865206669656c645f747265654c6576656c732073686f756c642062652067726561746572207468616e207a65726f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000015f747265654c6576656c732073686f756c64206265206c657373207468616e203332b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6", + "deployedBytecode": "0x6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a723158204b6ccc5df50175d5e6c8b1e3301b60dade15d700fbff15348226df90b372e82464736f6c63430005110032", + "sourceMap": "805:2570:0:-;;;1430:34:2;;;-1:-1:-1;;;;;;1468:27:2;;;897:334:0;5:2:-1;;;;30:1;27;20:12;5:2;897:334:0;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;897:334:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1646:15:2;;;1638:67;;;;-1:-1:-1;;;1638:67:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:2;1719:11;:16;;;1711:63;;;;-1:-1:-1;;;1711:63:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:6;:20;;-1:-1:-1;;1780:20:2;;;;;;;1854:5;27:10:-1;;-1:-1;23:18;;;45:23;;;1088:77:2;-1:-1:-1;;;;;;;;;;;1854:23:2;;;;;;27:10:-1;;23:18;;;45:23;;1883:32:2;;;;-1:-1:-1;;;;;;;;;;;1883:32:2;;;;;;1922:175;1945:6;;;;;;1941:10;;;;1922:175;;;1980:39;1994:11;;-1:-1:-1;;;;;1980:13:2;:39;:::i;:::-;2027:5;27:10:-1;;39:1;23:18;;;45:23;;;-1:-1;;;;;;;;;;;2027:23:2;;;;27:10:-1;;23:18;;;45:23;;-1:-1;2058:32:2;;;-1:-1:-1;;;;;;;;;;;2058:32:2;;;;1966:53;;-1:-1:-1;1953:3:2;1922:175;;;-1:-1:-1;2114:39:2;2128:11;;-1:-1:-1;;;;;2114:13:2;:39;:::i;:::-;2103:5;2109:1;2103:8;:50;-1:-1:-1;;1421:11:18;:18;;-1:-1:-1;;1421:18:18;1435:4;1421:18;;;1645:17:8;1637:67;;;;-1:-1:-1;;;1637:67:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1710:8;:20;;-1:-1:-1;;;;;;1710:20:8;;;-1:-1:-1;;;;;1710:20:8;;;;;;;1736:10;:24;;;;;;;;;;;;;;1766:8;:20;;;;;;;;;;;;;-1:-1:-1;1792:12:8;:28;1157:5:0;:14;;;;;;;;;;;;;;1223:3;1207:13;:19;1193:11;:33;-1:-1:-1;805:2570:0;;-1:-1:-1;;;;;805:2570:0;2230:445:2;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:2;;2320:72;;;;;-1:-1:-1;;;2320:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:2;;2398:74;;;;-1:-1:-1;;;2398:74:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:2;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:2;;;;;;;;;-1:-1:-1;2538:23:2;-1:-1:-1;;;;;;;;;;;;2589:6:2;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:2;;2230:445;-1:-1:-1;;;;;2230:445:2:o;805:2570:0:-;;;;;;;", + "deployedSourceMap": "805:2570:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4814:102:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4814:102:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4814:102:8;-1:-1:-1;;;;;4814:102:8;;:::i;:::-;;412:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;412:47:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;412:47:8;;:::i;:::-;;;;;;;;;;;;;;;;;;2893:801;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2893:801:8;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2893:801:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2893:801:8;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2893:801:8;;-1:-1:-1;2893:801:8;-1:-1:-1;2893:801:8;;;;;;;;-1:-1:-1;;;;;2893:801:8;;;;;;;;;;;;;;;;;;;;;;;;:::i;601:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;601:25:8;;;:::i;:::-;;;;-1:-1:-1;;;;;601:25:8;;;;;;;;;;;;;;2230:445:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2230:445:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2230:445:2;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;933:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:114:2;;;:::i;1209:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1209:20:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;819:23:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;819:23:8;;;:::i;3553:342:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3553:342:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3553:342:2;;:::i;554:43:8:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;554:43:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;554:43:8;;:::i;381:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;381:27:8;;;:::i;1430:34:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1430:34:2;;;:::i;4651:113:8:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4651:113:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4651:113:8;-1:-1:-1;;;;;4651:113:8;;:::i;4128:293::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4128:293:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4128:293:8;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4128:293:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4128:293:8;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;4128:293:8;;-1:-1:-1;4128:293:8;-1:-1:-1;4128:293:8;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4128:293:8;;;;;;;;;;;;;;;;;866:26:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;866:26:0;;;:::i;2073:324:8:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2073:324:8;;:::i;3941:93:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3941:93:2;;;:::i;1549:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1549:39:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1549:39:2;;:::i;1499:46::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1499:46:2;;;:::i;630:29:8:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;630:29:8;;;:::i;3951:116::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3951:116:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3951:116:8;;:::i;1404:22:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1404:22:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1404:22:2;;:::i;1051:114::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1051:114:2;;;:::i;1369:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1369:31:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1369:31:2;;:::i;842:20:0:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;842:20:0;;;:::i;1468:27:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1468:27:2;;;:::i;4814:102:8:-;896:8;;-1:-1:-1;;;;;896:8:8;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4888:8;:23;;-1:-1:-1;;;;;;4888:23:8;-1:-1:-1;;;;;4888:23:8;;;;;;;;;;4814:102::o;412:47::-;;;;;;;;;;;;;;;:::o;2893:801::-;1934:11:18;;;;1926:55;;;;;-1:-1:-1;;;1926:55:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:18;;;3110:12:8;;3102:20;;;3094:59;;;;;-1:-1:-1;;;3094:59:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;3168:31;;;;:15;:31;;;;;;;;3167:32;3159:76;;;;;-1:-1:-1;;;3159:76:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;3249:18;3261:5;3249:11;:18::i;:::-;3241:59;;;;;-1:-1:-1;;;3241:59:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;3347:8;;:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3418:19:8;;;3347:126;;;;3439:17;;;3347:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3347:126:8;;:8;;;;;:20;;3368:6;;;;3347:126;;;;;;;;;;;;;;;;:8;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3347:126:8;;;;;;;;;;;;;;;;;;;;;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;;3347:126:8;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3347:126:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3347:126:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3347:126:8;3339:161;;;;;-1:-1:-1;;;3339:161:8;;;;;;;;;;;;-1:-1:-1;;;3339:161:8;;;;;;;;;;;;;;;3507:31;;;;:15;:31;;;;;;;;;:38;;-1:-1:-1;;3507:38:8;3541:4;3507:38;;;3605:10;;:18;;-1:-1:-1;;;3605:18:8;;;;3551:73;;3568:10;;3580:8;;3590:4;;3596:7;;-1:-1:-1;;;;;3605:10:8;;;;:16;;:18;;;;;;;;;;;:10;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;3605:18:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3605:18:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3605:18:8;3551:16;:73::i;:::-;3635:54;;;-1:-1:-1;;;;;3635:54:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2230:11:18;:18;;-1:-1:-1;;2230:18:18;2244:4;2230:18;;;-1:-1:-1;;;;;;2893:801:8:o;601:25::-;;;-1:-1:-1;;;;;601:25:8;;:::o;2230:445:2:-;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:2;;2320:72;;;;;-1:-1:-1;;;2320:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:2;;2398:74;;;;-1:-1:-1;;;2398:74:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:2;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:2;;;;;;;;;-1:-1:-1;2538:23:2;-1:-1:-1;;;;;;;;;;;;2589:6:2;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:2;;2230:445;-1:-1:-1;;;;;2230:445:2:o;933:114::-;-1:-1:-1;;;;;;;;;;;933:114:2;:::o;1209:20::-;;;;;;:::o;819:23:8:-;;;-1:-1:-1;;;;;819:23:8;;:::o;3553:342:2:-;3609:4;3625:10;3621:43;;-1:-1:-1;3652:5:2;3645:12;;3621:43;3680:16;;;;3702:171;3726:5;3732:1;3726:8;;;;;;;;;;;3717:5;:17;3713:53;;;3753:4;3746:11;;;;;3713:53;3777:6;;;3773:52;;-1:-1:-1;1542:3:2;3773:52;3855:16;;-1:-1:-1;;3832:3:2;;;;3855:16;3850:21;;;3855:16;;3850:21;;3702:171;;3885:5;3878:12;;;3553:342;;;;:::o;554:43:8:-;;;;;;;;;;;;;;;:::o;381:27::-;;;;:::o;1430:34:2:-;;;;;;:::o;4651:113:8:-;896:8;;-1:-1:-1;;;;;896:8:8;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4725:8;:34;;-1:-1:-1;;;;;;4725:34:8;-1:-1:-1;;;;;4725:34:8;;;;;;;;;;4651:113::o;4128:293::-;4244:35;;;;;;;;;;;;;;;;4209:19;;4255:16;4244:35;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;4244:35:8;-1:-1:-1;4236:43:8;-1:-1:-1;4289:6:8;4285:132;4301:27;;;4285:132;;;4347:28;4355:16;;4372:1;4355:19;;;;;;;;;;;;;4347:7;:28::i;:::-;4343:68;;;4398:4;4387:5;4393:1;4387:8;;;;;;;;:15;;;:8;;;;;;;;;;;:15;4343:68;4330:3;;4285:132;;;;4128:293;;;;:::o;866:26:0:-;;;;:::o;2073:324:8:-;1934:11:18;;;;1926:55;;;;;-1:-1:-1;;;1926:55:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:18;;;2070:5;2156:24:8;;;:11;:24;;;;;;2056:19:18;2156:24:8;2155:25;2147:71;;;;-1:-1:-1;;;2147:71:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2225:20;2248;2256:11;2248:7;:20::i;:::-;2274:24;;;;:11;:24;;;;;:31;;-1:-1:-1;;2274:31:8;2301:4;2274:31;;;2225:43;-1:-1:-1;2311:17:8;:15;:17::i;:::-;2340:52;;;;;;;;2376:15;2340:52;;;;;;2348:11;;2340:52;;;;;;;;-1:-1:-1;;2230:11:18;:18;;-1:-1:-1;;2230:18:18;2244:4;2230:18;;;2073:324:8:o;3941:93:2:-;4012:16;;3984:7;;4006:5;;4012:16;;4006:23;;;;;;;;;3999:30;;3941:93;:::o;1549:39::-;;;;;;;;;;;;;-1:-1:-1;1549:39:2;:::o;1499:46::-;1542:3;1499:46;:::o;630:29:8:-;;;-1:-1:-1;;;;;630:29:8;;:::o;3951:116::-;4012:4;4031:31;;;:15;:31;;;;;;;;;3951:116::o;1404:22:2:-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1404:22:2;:::o;1051:114::-;1088:77;1051:114;:::o;1369:31::-;;;;;;;;;;842:20:0;;;-1:-1:-1;;;;;842:20:0;;:::o;1468:27:2:-;;;-1:-1:-1;;;1468:27:2;;;;;:::o;1430:801:0:-;1601:7;1588:9;:20;1580:81;;;;-1:-1:-1;;;1580:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1681:20:0;;;;;;1707:226;;1726:73;1745:10;1787:11;;1772:12;1757;;:27;:41;1726:18;:73::i;:::-;1807:39;1826:6;1834:11;;1807:18;:39::i;:::-;1707:226;;;1867:59;1886:10;1913:12;1898;;:27;1867:18;:59::i;:::-;1943:16;;1939:79;;1969:42;1988:8;1998:12;1969:18;:42::i;:::-;2028:11;;2024:203;;2068:34;;2050:12;;-1:-1:-1;;;;;2068:15:0;;;2090:7;;2050:12;2068:34;2050:12;2068:34;2090:7;2068:15;:34;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2049:53:0;;;2115:7;2110:111;;2186:26;;-1:-1:-1;;;;;2186:17:0;;;:26;;;;;2204:7;;2186:26;;;;2204:7;2186:17;:26;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2186:26:0;2110:111;2024:203;;1430:801;;;;;;:::o;2679:802:2:-;2770:9;;2728:12;2820:6;;2728:12;;2770:9;-1:-1:-1;;;2770:9:2;;;;;;2820:6;;2816:1;2809:17;2793:33;;;;2785:93;;;;-1:-1:-1;;;2785:93:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2884:9;:14;;;-1:-1:-1;;;2884:14:2;;;;;2897:1;2884:14;;;;;-1:-1:-1;;2884:14:2;;;;;;2931:5;-1:-1:-1;;;2980:355:2;3003:6;;;;;;2999:10;;;;2980:355;;;3028:16;;;3024:225;;3068:16;3061:23;;3102:5;3108:1;3102:8;;;;;;;;;;;;;;;;;;3094:16;;3141;3121:14;3136:1;3121:17;;;;;;;;;;;;;;;;;;;:36;3024:225;;;3189:14;3204:1;3189:17;;;;;;;;;;;;;;;;;;3182:24;;3224:16;3216:24;;3024:225;3276:26;3290:4;3296:5;3276:13;:26::i;:::-;3257:45;-1:-1:-1;3327:1:2;3311:17;;;;;-1:-1:-1;3011:3:2;;2980:355;;;-1:-1:-1;3361:16:2;;1542:3;;3360:42;3361:16;;;;:20;3360:42;3341:16;:61;;-1:-1:-1;;3341:61:2;3360:42;;;;3341:61;;;;;;;;;;;;3434:16;;3408:5;;3414:16;3408:23;;;;;;;;:42;-1:-1:-1;;3463:9:2;;-1:-1:-1;;;3463:9:2;;;;-1:-1:-1;;3463:13:2;;2679:802;-1:-1:-1;;;;2679:802:2:o;1235:191:0:-;1285:9;:14;1277:75;;;;-1:-1:-1;;;1277:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1358:63;1381:10;1401:4;1408:12;;1358:22;:63::i;:::-;1235:191::o;2829:544::-;2938:5;;2949:63;;;-1:-1:-1;;;;;2949:63:0;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2949:63:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2938:75:0;;;;2903:12;;2917:17;;2938:5;;;2949:63;2938:75;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2938:75:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2902:111:0;;;;3027:7;3019:37;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;;;;3156:11;;:15;3152:217;;3189:4;:11;3204:2;3189:17;3181:72;;;;-1:-1:-1;;;3181:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3282:4;3271:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3271:24:0;;-1:-1:-1;3271:24:0;3303:59;;;;-1:-1:-1;;;3303:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2829:544;;;;:::o;2235:590::-;2363:5;;2374:74;;;-1:-1:-1;;;;;2374:74:0;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2374:74:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2363:86:0;;;;2328:12;;2342:17;;2363:5;;;2374:74;2363:86;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2363:86:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2327:122:0;;;;2463:7;2455:45;;;;;-1:-1:-1;;;2455:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2600:11;;:15;2596:225;;2633:4;:11;2648:2;2633:17;2625:72;;;;-1:-1:-1;;;2625:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2726:4;2715:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2715:24:0;;-1:-1:-1;2715:24:0;2747:67;;;;-1:-1:-1;;;2747:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2235:590;;;;;:::o", "source": "// https://tornado.cash\n/*\n* d888888P dP a88888b. dP\n* 88 88 d8' `88 88\n* 88 .d8888b. 88d888b. 88d888b. .d8888b. .d888b88 .d8888b. 88 .d8888b. .d8888b. 88d888b.\n* 88 88' `88 88' `88 88' `88 88' `88 88' `88 88' `88 88 88' `88 Y8ooooo. 88' `88\n* 88 88. .88 88 88 88 88. .88 88. .88 88. .88 dP Y8. .88 88. .88 88 88 88\n* dP `88888P' dP dP dP `88888P8 `88888P8 `88888P' 88 Y88888P' `88888P8 `88888P' dP dP\n* ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\n*/\n\npragma solidity 0.5.17;\n\nimport \"./Tornado.sol\";\n\ncontract ERC20Tornado is Tornado {\n address public token;\n uint256 public protocolFee;\n\n constructor(\n IVerifier _verifier,\n IFeeManager _feeManager,\n uint256 _denomination,\n uint32 _merkleTreeHeight,\n address _operator,\n address _token\n ) Tornado(_verifier, _feeManager, _denomination, _merkleTreeHeight, _operator) public {\n token = _token;\n // 0.5% fee\n protocolFee = _denomination / 200;\n }\n\n function _processDeposit() internal {\n require(msg.value == 0, \"ETH value is supposed to be 0 for ERC20 instance\");\n _safeErc20TransferFrom(msg.sender, address(this), denomination);\n }\n\n function _processWithdraw(address payable _recipient, address payable _relayer, uint256 _relayer_fee, uint256 _refund, address _feeTo) internal {\n require(msg.value == _refund, \"Incorrect refund amount received by the contract\");\n\n bool feeOn = _feeTo != address(0);\n if (feeOn) {\n _safeErc20Transfer(_recipient, denomination - _relayer_fee - protocolFee);\n _safeErc20Transfer(_feeTo, protocolFee);\n } else {\n _safeErc20Transfer(_recipient, denomination - _relayer_fee);\n }\n\n if (_relayer_fee > 0) {\n _safeErc20Transfer(_relayer, _relayer_fee);\n }\n\n if (_refund > 0) {\n (bool success, ) = _recipient.call.value(_refund)(\"\");\n if (!success) {\n // let's return _refund back to the relayer\n _relayer.transfer(_refund);\n }\n }\n }\n\n function _safeErc20TransferFrom(address _from, address _to, uint256 _amount) internal {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd /* transferFrom */, _from, _to, _amount));\n require(success, \"not enough allowed tokens\");\n\n // if contract returns some data lets make sure that is `true` according to standard\n if (data.length > 0) {\n require(data.length == 32, \"data length should be either 0 or 32 bytes\");\n success = abi.decode(data, (bool));\n require(success, \"not enough allowed tokens. Token returns false.\");\n }\n }\n\n function _safeErc20Transfer(address _to, uint256 _amount) internal {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb /* transfer */, _to, _amount));\n require(success, \"not enough tokens\");\n\n // if contract returns some data lets make sure that is `true` according to standard\n if (data.length > 0) {\n require(data.length == 32, \"data length should be either 0 or 32 bytes\");\n success = abi.decode(data, (bool));\n require(success, \"not enough tokens. Token returns false.\");\n }\n }\n}\n", - "sourcePath": "/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol", "exportedSymbols": { "ERC20Tornado": [ 266 @@ -602,12 +602,12 @@ "src": "755:23:0" }, { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "file": "./Tornado.sol", "id": 2, "nodeType": "ImportDirective", "scope": 267, - "sourceUnit": 971, + "sourceUnit": 1205, "src": "780:23:0", "symbolAliases": [], "unitAlias": "" @@ -621,10 +621,10 @@ "id": 3, "name": "Tornado", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 970, + "referencedDeclaration": 1204, "src": "830:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Tornado_$970", + "typeIdentifier": "t_contract$_Tornado_$1204", "typeString": "contract Tornado" } }, @@ -634,9 +634,9 @@ } ], "contractDependencies": [ - 632, - 970, - 1000 + 685, + 1204, + 3255 ], "contractKind": "contract", "documentation": null, @@ -644,9 +644,9 @@ "id": 266, "linearizedBaseContracts": [ 266, - 970, - 1000, - 632 + 1204, + 3255, + 685 ], "name": "ERC20Tornado", "nodeType": "ContractDefinition", @@ -857,7 +857,7 @@ "referencedDeclaration": 10, "src": "1075:9:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$648", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -870,7 +870,7 @@ "referencedDeclaration": 12, "src": "1086:11:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$654", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -921,10 +921,10 @@ "name": "Tornado", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, + "referencedDeclaration": 1204, "src": "1067:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Tornado_$970_$", + "typeIdentifier": "t_type$_t_contract$_Tornado_$1204_$", "typeString": "type(contract Tornado)" } }, @@ -948,7 +948,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$648", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" }, "typeName": { @@ -956,10 +956,10 @@ "id": 9, "name": "IVerifier", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 648, + "referencedDeclaration": 882, "src": "914:9:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$648", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -976,7 +976,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$654", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" }, "typeName": { @@ -984,10 +984,10 @@ "id": 11, "name": "IFeeManager", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 654, + "referencedDeclaration": 888, "src": "939:11:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$654", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -1144,7 +1144,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "src": "1285:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1225,10 +1225,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "1277:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1265,7 +1265,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "src": "1381:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1295,7 +1295,7 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1041, + "referencedDeclaration": 3296, "src": "1401:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20Tornado_$266", @@ -1343,7 +1343,7 @@ "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "src": "1408:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1419,7 +1419,7 @@ "scope": 266, "src": "1235:191:0", "stateMutability": "nonpayable", - "superFunction": 785, + "superFunction": 1019, "visibility": "internal" }, { @@ -1451,7 +1451,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "src": "1588:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1527,10 +1527,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "1580:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1732,7 +1732,7 @@ "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "src": "1898:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1856,7 +1856,7 @@ "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "src": "1757:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2647,7 +2647,7 @@ "scope": 266, "src": "1430:801:0", "stateMutability": "nonpayable", - "superFunction": 886, + "superFunction": 1120, "visibility": "internal" }, { @@ -2805,7 +2805,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "src": "2374:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -2943,10 +2943,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "2455:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3151,10 +3151,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "2625:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3268,7 +3268,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "src": "2715:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -3364,10 +3364,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "2747:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3641,7 +3641,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "src": "2949:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -3779,10 +3779,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "3019:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3987,10 +3987,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "3181:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -4104,7 +4104,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "src": "3271:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -4200,10 +4200,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "3303:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -4321,7 +4321,7 @@ }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol", "exportedSymbols": { "ERC20Tornado": [ 266 @@ -4343,8 +4343,8 @@ }, { "attributes": { - "SourceUnit": 971, - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "SourceUnit": 1205, + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "file": "./Tornado.sol", "scope": 267, "symbolAliases": [ @@ -4359,18 +4359,18 @@ { "attributes": { "contractDependencies": [ - 632, - 970, - 1000 + 685, + 1204, + 3255 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ 266, - 970, - 1000, - 632 + 1204, + 3255, + 685 ], "name": "ERC20Tornado", "scope": 267 @@ -4385,7 +4385,7 @@ "attributes": { "contractScope": null, "name": "Tornado", - "referencedDeclaration": 970, + "referencedDeclaration": 1204, "type": "contract Tornado" }, "id": 3, @@ -4481,7 +4481,7 @@ "attributes": { "contractScope": null, "name": "IVerifier", - "referencedDeclaration": 648, + "referencedDeclaration": 882, "type": "contract IVerifier" }, "id": 9, @@ -4509,7 +4509,7 @@ "attributes": { "contractScope": null, "name": "IFeeManager", - "referencedDeclaration": 654, + "referencedDeclaration": 888, "type": "contract IFeeManager" }, "id": 11, @@ -4651,7 +4651,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 970, + "referencedDeclaration": 1204, "type": "type(contract Tornado)", "value": "Tornado" }, @@ -4897,7 +4897,7 @@ "name": "_processDeposit", "scope": 266, "stateMutability": "nonpayable", - "superFunction": 785, + "superFunction": 1019, "visibility": "internal" }, "children": [ @@ -4955,10 +4955,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -4999,7 +4999,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, @@ -5123,7 +5123,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, @@ -5176,7 +5176,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1041, + "referencedDeclaration": 3296, "type": "contract ERC20Tornado", "value": "this" }, @@ -5195,7 +5195,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, @@ -5235,7 +5235,7 @@ "name": "_processWithdraw", "scope": 266, "stateMutability": "nonpayable", - "superFunction": 886, + "superFunction": 1120, "visibility": "internal" }, "children": [ @@ -5422,10 +5422,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -5466,7 +5466,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, @@ -5761,7 +5761,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, @@ -5977,7 +5977,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, @@ -6818,7 +6818,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -6935,10 +6935,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7092,10 +7092,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7267,7 +7267,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -7369,10 +7369,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7687,7 +7687,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -7790,10 +7790,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7947,10 +7947,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -8122,7 +8122,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -8224,10 +8224,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -8314,14 +8314,22 @@ "42220": { "events": {}, "links": { - "Hasher": "0x5666A6E07d7b991489b1D0f53d37B664B312a1fE" + "Hasher": "0xeE4628179283Be3f5096b94bc528e443cFAf7c2f" }, - "address": "0xbf390dA0296F14ACda3C9A0C59000eB1fac1E62c", - "transactionHash": "0x8b2b84db9d39ef76251783794f02f6c5d09cbf70f4f89d350913f8081ec69c9a" + "address": "0x0849cD407eE9A37ae7471cD5a0D7dbb6CD27EDAC", + "transactionHash": "0xae71cb54884723f7f96fde9e37032b0e2ec09b8c7c64f19adaa895f840951fd9" + }, + "44787": { + "events": {}, + "links": { + "Hasher": "0x415A7775E7B2DC547e071d752CF404316498a43A" + }, + "address": "0xa330bbD9462a22E32710AD035A344fBa6D04271b", + "transactionHash": "0x452a55fbf4d357f52e736669d83344cedd14963cb8828de848dc9e5989eefe75" } }, "schemaVersion": "3.3.4", - "updatedAt": "2021-04-04T05:03:09.368Z", + "updatedAt": "2021-04-04T21:01:46.095Z", "networkType": "ethereum", "devdoc": { "methods": { @@ -8360,4 +8368,4 @@ "userdoc": { "methods": {} } -} +} \ No newline at end of file diff --git a/client/contracts/CELOTornado.0.json b/client/contracts/CELOTornado.0.json index dabb954..ba7fff7 100644 --- a/client/contracts/CELOTornado.0.json +++ b/client/contracts/CELOTornado.0.json @@ -574,15 +574,15 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"contract IFeeManager\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_denomination\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_merkleTreeHeight\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commitment\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"leafIndex\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifierHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"FIELD_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ROOT_HISTORY_SIZE\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ZERO_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOperator\",\"type\":\"address\"}],\"name\":\"changeOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"commitments\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentRootIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"denomination\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_commitment\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeManager\",\"outputs\":[{\"internalType\":\"contract IFeeManager\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"filledSubtrees\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_right\",\"type\":\"bytes32\"}],\"name\":\"hashLeftRight\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"isKnownRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"}],\"name\":\"isSpent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_nullifierHashes\",\"type\":\"bytes32[]\"}],\"name\":\"isSpentArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"spent\",\"type\":\"bool[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"levels\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nullifierHashes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"protocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roots\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newVerifier\",\"type\":\"address\"}],\"name\":\"updateVerifier\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"verifier\",\"outputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"},{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_refund\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"zeros\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"changeOperator(address)\":{\"details\":\"operator can change his address \"},\"deposit(bytes32)\":{\"details\":\"Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\",\"params\":{\"_commitment\":\"the note commitment, which is PedersenHash(nullifier + secret)\"}},\"getLastRoot()\":{\"details\":\"Returns the last root\"},\"hashLeftRight(bytes32,bytes32)\":{\"details\":\"Hash 2 tree leaves, returns MiMC(_left, _right)\"},\"isKnownRoot(bytes32)\":{\"details\":\"Whether the root is present in the root history\"},\"isSpent(bytes32)\":{\"details\":\"whether a note is already spent \"},\"isSpentArray(bytes32[])\":{\"details\":\"whether an array of notes is already spent \"},\"updateVerifier(address)\":{\"details\":\"allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held. After that operator rights are supposed to be transferred to zero address\"},\"withdraw(bytes,bytes32,bytes32,address,address,uint256,uint256)\":{\"details\":\"Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs `input` array consists of: - merkle root of all deposits in the contract - hash of unique deposit nullifier to prevent double spends - the recipient of funds - optional fee that goes to the transaction sender (usually a relay)\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":\"ERC20Tornado\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":{\"keccak256\":\"0x5c57c88351063f1864166162f6f32be5aebae197a18abaef8d08d67b36440a51\",\"urls\":[\"bzz-raw://6da2d6faa828b1cad43428366d273e4aa61fc176d6541fb641028985497caa0f\",\"dweb:/ipfs/QmULz388t88hr999vUk5PidTTJwbEWGUyb3d6QGnDA6qoV\"]},\"/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol\":{\"keccak256\":\"0xe7db8acb3efcecf95c7364f447ed1764c571dbf5090fd4641fe4668a965332eb\",\"urls\":[\"bzz-raw://45e790c247c38ed8ae473e3165c1148ea10a753cf6e9f9c8742394019be2aef6\",\"dweb:/ipfs/QmaGfk1ndvqur2NvCY3TWoKuorfBVShXeykKei18GDY582\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}", - "bytecode": "0x6080604052600380546001600160401b03191690553480156200002157600080fd5b5060405162001e5838038062001e58833981810160405260c08110156200004757600080fd5b508051602082015160408301516060840151608085015160a090950151939492939192909185858585858163ffffffff8116620000b65760405162461bcd60e51b815260040180806020018281038252602781526020018062001dcf6027913960400191505060405180910390fd5b60208163ffffffff1610620000fd5760405162461bcd60e51b815260040180806020018281038252602281526020018062001e166022913960400191505060405180910390fd5b6000805463ffffffff191663ffffffff83161781556002805460018181019092557f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60008051602062001d8e833981519152909101819055815480830183559282905260008051602062001e388339815191529092018290555b60005463ffffffff9081169082161015620001eb57620001a182806001600160e01b03620002ba16565b60028054600181810190925560008051602062001d8e8339815191520182905580548082018255600082905260008051602062001e38833981519152018290559092500162000177565b506200020181806001600160e01b03620002ba16565b60046000015550506068805460ff1916600117905582620002545760405162461bcd60e51b815260040180806020018281038252602581526020018062001d696025913960400191505060405180910390fd5b606c80546001600160a01b03199081166001600160a01b0397881617909155606d8054821695871695909517909455606e8054851691861691909117905550606955606f805490911691831691909117905560c8840460705550620004a7945050505050565b600060008051602062001df6833981519152831062000320576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602062001df683398151915282106200036f5760405162461bcd60e51b815260040180806020018281038252602181526020018062001dae6021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015620003ca57600080fd5b505af4158015620003df573d6000803e3d6000fd5b505050506040513d6040811015620003f657600080fd5b508051602090910151909250905060008051602062001df6833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b1580156200047057600080fd5b505af415801562000485573d6000803e3d6000fd5b505050506040513d60408110156200049c57600080fd5b505195945050505050565b6118b280620004b76000396000f3fe6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a72315820c90af910ddfda5b33dab20c369a888b349922f695f9eee0e2eb3e0273adc895364736f6c6343000511003264656e6f6d696e6174696f6e2073686f756c642062652067726561746572207468616e2030405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5f72696768742073686f756c6420626520696e7369646520746865206669656c645f747265654c6576656c732073686f756c642062652067726561746572207468616e207a65726f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000015f747265654c6576656c732073686f756c64206265206c657373207468616e203332b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6", - "deployedBytecode": "0x6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a72315820c90af910ddfda5b33dab20c369a888b349922f695f9eee0e2eb3e0273adc895364736f6c63430005110032", - "sourceMap": "805:2570:0:-;;;1430:34:1;;;-1:-1:-1;;;;;;1468:27:1;;;897:334:0;5:2:-1;;;;30:1;27;20:12;5:2;897:334:0;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;897:334:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1646:15:1;;;1638:67;;;;-1:-1:-1;;;1638:67:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:2;1719:11;:16;;;1711:63;;;;-1:-1:-1;;;1711:63:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:6;:20;;-1:-1:-1;;1780:20:1;;;;;;;1854:5;27:10:-1;;-1:-1;23:18;;;45:23;;;1088:77:1;-1:-1:-1;;;;;;;;;;;1854:23:1;;;;;;27:10:-1;;23:18;;;45:23;;1883:32:1;;;;-1:-1:-1;;;;;;;;;;;1883:32:1;;;;;;1922:175;1945:6;;;;;;1941:10;;;;1922:175;;;1980:39;1994:11;;-1:-1:-1;;;;;1980:13:1;:39;:::i;:::-;2027:5;27:10:-1;;39:1;23:18;;;45:23;;;-1:-1;;;;;;;;;;;2027:23:1;;;;27:10:-1;;23:18;;;45:23;;-1:-1;2058:32:1;;;-1:-1:-1;;;;;;;;;;;2058:32:1;;;;1966:53;;-1:-1:-1;1953:3:1;1922:175;;;-1:-1:-1;2114:39:1;2128:11;;-1:-1:-1;;;;;2114:13:1;:39;:::i;:::-;2103:5;2109:1;2103:8;:50;-1:-1:-1;;1421:11:3;:18;;-1:-1:-1;;1421:18:3;1435:4;1421:18;;;1645:17:2;1637:67;;;;-1:-1:-1;;;1637:67:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1710:8;:20;;-1:-1:-1;;;;;;1710:20:2;;;-1:-1:-1;;;;;1710:20:2;;;;;;;1736:10;:24;;;;;;;;;;;;;;1766:8;:20;;;;;;;;;;;;;-1:-1:-1;1792:12:2;:28;1157:5:0;:14;;;;;;;;;;;;;;1223:3;1207:13;:19;1193:11;:33;-1:-1:-1;805:2570:0;;-1:-1:-1;;;;;805:2570:0;2230:445:1;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:1;;2320:72;;;;;-1:-1:-1;;;2320:72:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:1;;2398:74;;;;-1:-1:-1;;;2398:74:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:1;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:1;;;;;;;;;-1:-1:-1;2538:23:1;-1:-1:-1;;;;;;;;;;;;2589:6:1;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:1;;2230:445;-1:-1:-1;;;;;2230:445:1:o;805:2570:0:-;;;;;;;", - "deployedSourceMap": "805:2570:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4814:102:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4814:102:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4814:102:2;-1:-1:-1;;;;;4814:102:2;;:::i;:::-;;412:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;412:47:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;412:47:2;;:::i;:::-;;;;;;;;;;;;;;;;;;2893:801;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2893:801:2;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2893:801:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2893:801:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2893:801:2;;-1:-1:-1;2893:801:2;-1:-1:-1;2893:801:2;;;;;;;;-1:-1:-1;;;;;2893:801:2;;;;;;;;;;;;;;;;;;;;;;;;:::i;601:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;601:25:2;;;:::i;:::-;;;;-1:-1:-1;;;;;601:25:2;;;;;;;;;;;;;;2230:445:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2230:445:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2230:445:1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;933:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:114:1;;;:::i;1209:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1209:20:1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;819:23:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;819:23:2;;;:::i;3553:342:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3553:342:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3553:342:1;;:::i;554:43:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;554:43:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;554:43:2;;:::i;381:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;381:27:2;;;:::i;1430:34:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1430:34:1;;;:::i;4651:113:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4651:113:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4651:113:2;-1:-1:-1;;;;;4651:113:2;;:::i;4128:293::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4128:293:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4128:293:2;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4128:293:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4128:293:2;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;4128:293:2;;-1:-1:-1;4128:293:2;-1:-1:-1;4128:293:2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4128:293:2;;;;;;;;;;;;;;;;;866:26:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;866:26:0;;;:::i;2073:324:2:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2073:324:2;;:::i;3941:93:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3941:93:1;;;:::i;1549:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1549:39:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1549:39:1;;:::i;1499:46::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1499:46:1;;;:::i;630:29:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;630:29:2;;;:::i;3951:116::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3951:116:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3951:116:2;;:::i;1404:22:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1404:22:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1404:22:1;;:::i;1051:114::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1051:114:1;;;:::i;1369:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1369:31:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1369:31:1;;:::i;842:20:0:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;842:20:0;;;:::i;1468:27:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1468:27:1;;;:::i;4814:102:2:-;896:8;;-1:-1:-1;;;;;896:8:2;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4888:8;:23;;-1:-1:-1;;;;;;4888:23:2;-1:-1:-1;;;;;4888:23:2;;;;;;;;;;4814:102::o;412:47::-;;;;;;;;;;;;;;;:::o;2893:801::-;1934:11:3;;;;1926:55;;;;;-1:-1:-1;;;1926:55:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:3;;;3110:12:2;;3102:20;;;3094:59;;;;;-1:-1:-1;;;3094:59:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;3168:31;;;;:15;:31;;;;;;;;3167:32;3159:76;;;;;-1:-1:-1;;;3159:76:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;3249:18;3261:5;3249:11;:18::i;:::-;3241:59;;;;;-1:-1:-1;;;3241:59:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;3347:8;;:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3418:19:2;;;3347:126;;;;3439:17;;;3347:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3347:126:2;;:8;;;;;:20;;3368:6;;;;3347:126;;;;;;;;;;;;;;;;:8;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3347:126: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;;3347:126:2;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3347:126:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3347:126:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3347:126:2;3339:161;;;;;-1:-1:-1;;;3339:161:2;;;;;;;;;;;;-1:-1:-1;;;3339:161:2;;;;;;;;;;;;;;;3507:31;;;;:15;:31;;;;;;;;;:38;;-1:-1:-1;;3507:38:2;3541:4;3507:38;;;3605:10;;:18;;-1:-1:-1;;;3605:18:2;;;;3551:73;;3568:10;;3580:8;;3590:4;;3596:7;;-1:-1:-1;;;;;3605:10:2;;;;:16;;:18;;;;;;;;;;;:10;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;3605:18:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3605:18:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3605:18:2;3551:16;:73::i;:::-;3635:54;;;-1:-1:-1;;;;;3635:54:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2230:11:3;:18;;-1:-1:-1;;2230:18:3;2244:4;2230:18;;;-1:-1:-1;;;;;;2893:801:2:o;601:25::-;;;-1:-1:-1;;;;;601:25:2;;:::o;2230:445:1:-;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:1;;2320:72;;;;;-1:-1:-1;;;2320:72:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:1;;2398:74;;;;-1:-1:-1;;;2398:74:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:1;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:1;;;;;;;;;-1:-1:-1;2538:23:1;-1:-1:-1;;;;;;;;;;;;2589:6:1;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:1;;2230:445;-1:-1:-1;;;;;2230:445:1:o;933:114::-;-1:-1:-1;;;;;;;;;;;933:114:1;:::o;1209:20::-;;;;;;:::o;819:23:2:-;;;-1:-1:-1;;;;;819:23:2;;:::o;3553:342:1:-;3609:4;3625:10;3621:43;;-1:-1:-1;3652:5:1;3645:12;;3621:43;3680:16;;;;3702:171;3726:5;3732:1;3726:8;;;;;;;;;;;3717:5;:17;3713:53;;;3753:4;3746:11;;;;;3713:53;3777:6;;;3773:52;;-1:-1:-1;1542:3:1;3773:52;3855:16;;-1:-1:-1;;3832:3:1;;;;3855:16;3850:21;;;3855:16;;3850:21;;3702:171;;3885:5;3878:12;;;3553:342;;;;:::o;554:43:2:-;;;;;;;;;;;;;;;:::o;381:27::-;;;;:::o;1430:34:1:-;;;;;;:::o;4651:113:2:-;896:8;;-1:-1:-1;;;;;896:8:2;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4725:8;:34;;-1:-1:-1;;;;;;4725:34:2;-1:-1:-1;;;;;4725:34:2;;;;;;;;;;4651:113::o;4128:293::-;4244:35;;;;;;;;;;;;;;;;4209:19;;4255:16;4244:35;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;4244:35:2;-1:-1:-1;4236:43:2;-1:-1:-1;4289:6:2;4285:132;4301:27;;;4285:132;;;4347:28;4355:16;;4372:1;4355:19;;;;;;;;;;;;;4347:7;:28::i;:::-;4343:68;;;4398:4;4387:5;4393:1;4387:8;;;;;;;;:15;;;:8;;;;;;;;;;;:15;4343:68;4330:3;;4285:132;;;;4128:293;;;;:::o;866:26:0:-;;;;:::o;2073:324:2:-;1934:11:3;;;;1926:55;;;;;-1:-1:-1;;;1926:55:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:3;;;2070:5;2156:24:2;;;:11;:24;;;;;;2056:19:3;2156:24:2;2155:25;2147:71;;;;-1:-1:-1;;;2147:71:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2225:20;2248;2256:11;2248:7;:20::i;:::-;2274:24;;;;:11;:24;;;;;:31;;-1:-1:-1;;2274:31:2;2301:4;2274:31;;;2225:43;-1:-1:-1;2311:17:2;:15;:17::i;:::-;2340:52;;;;;;;;2376:15;2340:52;;;;;;2348:11;;2340:52;;;;;;;;-1:-1:-1;;2230:11:3;:18;;-1:-1:-1;;2230:18:3;2244:4;2230:18;;;2073:324:2:o;3941:93:1:-;4012:16;;3984:7;;4006:5;;4012:16;;4006:23;;;;;;;;;3999:30;;3941:93;:::o;1549:39::-;;;;;;;;;;;;;-1:-1:-1;1549:39:1;:::o;1499:46::-;1542:3;1499:46;:::o;630:29:2:-;;;-1:-1:-1;;;;;630:29:2;;:::o;3951:116::-;4012:4;4031:31;;;:15;:31;;;;;;;;;3951:116::o;1404:22:1:-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1404:22:1;:::o;1051:114::-;1088:77;1051:114;:::o;1369:31::-;;;;;;;;;;842:20:0;;;-1:-1:-1;;;;;842:20:0;;:::o;1468:27:1:-;;;-1:-1:-1;;;1468:27:1;;;;;:::o;1430:801:0:-;1601:7;1588:9;:20;1580:81;;;;-1:-1:-1;;;1580:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1681:20:0;;;;;;1707:226;;1726:73;1745:10;1787:11;;1772:12;1757;;:27;:41;1726:18;:73::i;:::-;1807:39;1826:6;1834:11;;1807:18;:39::i;:::-;1707:226;;;1867:59;1886:10;1913:12;1898;;:27;1867:18;:59::i;:::-;1943:16;;1939:79;;1969:42;1988:8;1998:12;1969:18;:42::i;:::-;2028:11;;2024:203;;2068:34;;2050:12;;-1:-1:-1;;;;;2068:15:0;;;2090:7;;2050:12;2068:34;2050:12;2068:34;2090:7;2068:15;:34;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2049:53:0;;;2115:7;2110:111;;2186:26;;-1:-1:-1;;;;;2186:17:0;;;:26;;;;;2204:7;;2186:26;;;;2204:7;2186:17;:26;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2186:26:0;2110:111;2024:203;;1430:801;;;;;;:::o;2679:802:1:-;2770:9;;2728:12;2820:6;;2728:12;;2770:9;-1:-1:-1;;;2770:9:1;;;;;;2820:6;;2816:1;2809:17;2793:33;;;;2785:93;;;;-1:-1:-1;;;2785:93:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2884:9;:14;;;-1:-1:-1;;;2884:14:1;;;;;2897:1;2884:14;;;;;-1:-1:-1;;2884:14:1;;;;;;2931:5;-1:-1:-1;;;2980:355:1;3003:6;;;;;;2999:10;;;;2980:355;;;3028:16;;;3024:225;;3068:16;3061:23;;3102:5;3108:1;3102:8;;;;;;;;;;;;;;;;;;3094:16;;3141;3121:14;3136:1;3121:17;;;;;;;;;;;;;;;;;;;:36;3024:225;;;3189:14;3204:1;3189:17;;;;;;;;;;;;;;;;;;3182:24;;3224:16;3216:24;;3024:225;3276:26;3290:4;3296:5;3276:13;:26::i;:::-;3257:45;-1:-1:-1;3327:1:1;3311:17;;;;;-1:-1:-1;3011:3:1;;2980:355;;;-1:-1:-1;3361:16:1;;1542:3;;3360:42;3361:16;;;;:20;3360:42;3341:16;:61;;-1:-1:-1;;3341:61:1;3360:42;;;;3341:61;;;;;;;;;;;;3434:16;;3408:5;;3414:16;3408:23;;;;;;;;:42;-1:-1:-1;;3463:9:1;;-1:-1:-1;;;3463:9:1;;;;-1:-1:-1;;3463:13:1;;2679:802;-1:-1:-1;;;;2679:802:1:o;1235:191:0:-;1285:9;:14;1277:75;;;;-1:-1:-1;;;1277:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1358:63;1381:10;1401:4;1408:12;;1358:22;:63::i;:::-;1235:191::o;2829:544::-;2938:5;;2949:63;;;-1:-1:-1;;;;;2949:63:0;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2949:63:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2938:75:0;;;;2903:12;;2917:17;;2938:5;;;2949:63;2938:75;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2938:75:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2902:111:0;;;;3027:7;3019:37;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;;;;3156:11;;:15;3152:217;;3189:4;:11;3204:2;3189:17;3181:72;;;;-1:-1:-1;;;3181:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3282:4;3271:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3271:24:0;;-1:-1:-1;3271:24:0;3303:59;;;;-1:-1:-1;;;3303:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2829:544;;;;:::o;2235:590::-;2363:5;;2374:74;;;-1:-1:-1;;;;;2374:74:0;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2374:74:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2363:86:0;;;;2328:12;;2342:17;;2363:5;;;2374:74;2363:86;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2363:86:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2327:122:0;;;;2463:7;2455:45;;;;;-1:-1:-1;;;2455:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2600:11;;:15;2596:225;;2633:4;:11;2648:2;2633:17;2625:72;;;;-1:-1:-1;;;2625:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2726:4;2715:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2715:24:0;;-1:-1:-1;2715:24:0;2747:67;;;;-1:-1:-1;;;2747:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2235:590;;;;;:::o", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"contract IFeeManager\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_denomination\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_merkleTreeHeight\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commitment\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"leafIndex\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifierHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"FIELD_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ROOT_HISTORY_SIZE\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ZERO_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOperator\",\"type\":\"address\"}],\"name\":\"changeOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"commitments\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentRootIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"denomination\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_commitment\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeManager\",\"outputs\":[{\"internalType\":\"contract IFeeManager\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"filledSubtrees\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_right\",\"type\":\"bytes32\"}],\"name\":\"hashLeftRight\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"isKnownRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"}],\"name\":\"isSpent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_nullifierHashes\",\"type\":\"bytes32[]\"}],\"name\":\"isSpentArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"spent\",\"type\":\"bool[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"levels\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nullifierHashes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"protocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roots\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newVerifier\",\"type\":\"address\"}],\"name\":\"updateVerifier\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"verifier\",\"outputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"},{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_refund\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"zeros\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"changeOperator(address)\":{\"details\":\"operator can change his address \"},\"deposit(bytes32)\":{\"details\":\"Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\",\"params\":{\"_commitment\":\"the note commitment, which is PedersenHash(nullifier + secret)\"}},\"getLastRoot()\":{\"details\":\"Returns the last root\"},\"hashLeftRight(bytes32,bytes32)\":{\"details\":\"Hash 2 tree leaves, returns MiMC(_left, _right)\"},\"isKnownRoot(bytes32)\":{\"details\":\"Whether the root is present in the root history\"},\"isSpent(bytes32)\":{\"details\":\"whether a note is already spent \"},\"isSpentArray(bytes32[])\":{\"details\":\"whether an array of notes is already spent \"},\"updateVerifier(address)\":{\"details\":\"allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held. After that operator rights are supposed to be transferred to zero address\"},\"withdraw(bytes,bytes32,bytes32,address,address,uint256,uint256)\":{\"details\":\"Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs `input` array consists of: - merkle root of all deposits in the contract - hash of unique deposit nullifier to prevent double spends - the recipient of funds - optional fee that goes to the transaction sender (usually a relay)\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":\"ERC20Tornado\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":{\"keccak256\":\"0x5c57c88351063f1864166162f6f32be5aebae197a18abaef8d08d67b36440a51\",\"urls\":[\"bzz-raw://6da2d6faa828b1cad43428366d273e4aa61fc176d6541fb641028985497caa0f\",\"dweb:/ipfs/QmULz388t88hr999vUk5PidTTJwbEWGUyb3d6QGnDA6qoV\"]},\"/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/home/home/dotfiles/tornado-core/contracts/Tornado.sol\":{\"keccak256\":\"0xe7db8acb3efcecf95c7364f447ed1764c571dbf5090fd4641fe4668a965332eb\",\"urls\":[\"bzz-raw://45e790c247c38ed8ae473e3165c1148ea10a753cf6e9f9c8742394019be2aef6\",\"dweb:/ipfs/QmaGfk1ndvqur2NvCY3TWoKuorfBVShXeykKei18GDY582\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}", + "bytecode": "0x6080604052600380546001600160401b03191690553480156200002157600080fd5b5060405162001e5838038062001e58833981810160405260c08110156200004757600080fd5b508051602082015160408301516060840151608085015160a090950151939492939192909185858585858163ffffffff8116620000b65760405162461bcd60e51b815260040180806020018281038252602781526020018062001dcf6027913960400191505060405180910390fd5b60208163ffffffff1610620000fd5760405162461bcd60e51b815260040180806020018281038252602281526020018062001e166022913960400191505060405180910390fd5b6000805463ffffffff191663ffffffff83161781556002805460018181019092557f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60008051602062001d8e833981519152909101819055815480830183559282905260008051602062001e388339815191529092018290555b60005463ffffffff9081169082161015620001eb57620001a182806001600160e01b03620002ba16565b60028054600181810190925560008051602062001d8e8339815191520182905580548082018255600082905260008051602062001e38833981519152018290559092500162000177565b506200020181806001600160e01b03620002ba16565b60046000015550506068805460ff1916600117905582620002545760405162461bcd60e51b815260040180806020018281038252602581526020018062001d696025913960400191505060405180910390fd5b606c80546001600160a01b03199081166001600160a01b0397881617909155606d8054821695871695909517909455606e8054851691861691909117905550606955606f805490911691831691909117905560c8840460705550620004a7945050505050565b600060008051602062001df6833981519152831062000320576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602062001df683398151915282106200036f5760405162461bcd60e51b815260040180806020018281038252602181526020018062001dae6021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015620003ca57600080fd5b505af4158015620003df573d6000803e3d6000fd5b505050506040513d6040811015620003f657600080fd5b508051602090910151909250905060008051602062001df6833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b1580156200047057600080fd5b505af415801562000485573d6000803e3d6000fd5b505050506040513d60408110156200049c57600080fd5b505195945050505050565b6118b280620004b76000396000f3fe6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a723158204b6ccc5df50175d5e6c8b1e3301b60dade15d700fbff15348226df90b372e82464736f6c6343000511003264656e6f6d696e6174696f6e2073686f756c642062652067726561746572207468616e2030405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5f72696768742073686f756c6420626520696e7369646520746865206669656c645f747265654c6576656c732073686f756c642062652067726561746572207468616e207a65726f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000015f747265654c6576656c732073686f756c64206265206c657373207468616e203332b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6", + "deployedBytecode": "0x6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a723158204b6ccc5df50175d5e6c8b1e3301b60dade15d700fbff15348226df90b372e82464736f6c63430005110032", + "sourceMap": "805:2570:0:-;;;1430:34:2;;;-1:-1:-1;;;;;;1468:27:2;;;897:334:0;5:2:-1;;;;30:1;27;20:12;5:2;897:334:0;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;897:334:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1646:15:2;;;1638:67;;;;-1:-1:-1;;;1638:67:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:2;1719:11;:16;;;1711:63;;;;-1:-1:-1;;;1711:63:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:6;:20;;-1:-1:-1;;1780:20:2;;;;;;;1854:5;27:10:-1;;-1:-1;23:18;;;45:23;;;1088:77:2;-1:-1:-1;;;;;;;;;;;1854:23:2;;;;;;27:10:-1;;23:18;;;45:23;;1883:32:2;;;;-1:-1:-1;;;;;;;;;;;1883:32:2;;;;;;1922:175;1945:6;;;;;;1941:10;;;;1922:175;;;1980:39;1994:11;;-1:-1:-1;;;;;1980:13:2;:39;:::i;:::-;2027:5;27:10:-1;;39:1;23:18;;;45:23;;;-1:-1;;;;;;;;;;;2027:23:2;;;;27:10:-1;;23:18;;;45:23;;-1:-1;2058:32:2;;;-1:-1:-1;;;;;;;;;;;2058:32:2;;;;1966:53;;-1:-1:-1;1953:3:2;1922:175;;;-1:-1:-1;2114:39:2;2128:11;;-1:-1:-1;;;;;2114:13:2;:39;:::i;:::-;2103:5;2109:1;2103:8;:50;-1:-1:-1;;1421:11:18;:18;;-1:-1:-1;;1421:18:18;1435:4;1421:18;;;1645:17:8;1637:67;;;;-1:-1:-1;;;1637:67:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1710:8;:20;;-1:-1:-1;;;;;;1710:20:8;;;-1:-1:-1;;;;;1710:20:8;;;;;;;1736:10;:24;;;;;;;;;;;;;;1766:8;:20;;;;;;;;;;;;;-1:-1:-1;1792:12:8;:28;1157:5:0;:14;;;;;;;;;;;;;;1223:3;1207:13;:19;1193:11;:33;-1:-1:-1;805:2570:0;;-1:-1:-1;;;;;805:2570:0;2230:445:2;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:2;;2320:72;;;;;-1:-1:-1;;;2320:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:2;;2398:74;;;;-1:-1:-1;;;2398:74:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:2;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:2;;;;;;;;;-1:-1:-1;2538:23:2;-1:-1:-1;;;;;;;;;;;;2589:6:2;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:2;;2230:445;-1:-1:-1;;;;;2230:445:2:o;805:2570:0:-;;;;;;;", + "deployedSourceMap": "805:2570:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4814:102:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4814:102:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4814:102:8;-1:-1:-1;;;;;4814:102:8;;:::i;:::-;;412:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;412:47:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;412:47:8;;:::i;:::-;;;;;;;;;;;;;;;;;;2893:801;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2893:801:8;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2893:801:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2893:801:8;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2893:801:8;;-1:-1:-1;2893:801:8;-1:-1:-1;2893:801:8;;;;;;;;-1:-1:-1;;;;;2893:801:8;;;;;;;;;;;;;;;;;;;;;;;;:::i;601:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;601:25:8;;;:::i;:::-;;;;-1:-1:-1;;;;;601:25:8;;;;;;;;;;;;;;2230:445:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2230:445:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2230:445:2;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;933:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:114:2;;;:::i;1209:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1209:20:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;819:23:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;819:23:8;;;:::i;3553:342:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3553:342:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3553:342:2;;:::i;554:43:8:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;554:43:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;554:43:8;;:::i;381:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;381:27:8;;;:::i;1430:34:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1430:34:2;;;:::i;4651:113:8:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4651:113:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4651:113:8;-1:-1:-1;;;;;4651:113:8;;:::i;4128:293::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4128:293:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4128:293:8;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4128:293:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4128:293:8;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;4128:293:8;;-1:-1:-1;4128:293:8;-1:-1:-1;4128:293:8;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4128:293:8;;;;;;;;;;;;;;;;;866:26:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;866:26:0;;;:::i;2073:324:8:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2073:324:8;;:::i;3941:93:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3941:93:2;;;:::i;1549:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1549:39:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1549:39:2;;:::i;1499:46::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1499:46:2;;;:::i;630:29:8:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;630:29:8;;;:::i;3951:116::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3951:116:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3951:116:8;;:::i;1404:22:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1404:22:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1404:22:2;;:::i;1051:114::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1051:114:2;;;:::i;1369:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1369:31:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1369:31:2;;:::i;842:20:0:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;842:20:0;;;:::i;1468:27:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1468:27:2;;;:::i;4814:102:8:-;896:8;;-1:-1:-1;;;;;896:8:8;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4888:8;:23;;-1:-1:-1;;;;;;4888:23:8;-1:-1:-1;;;;;4888:23:8;;;;;;;;;;4814:102::o;412:47::-;;;;;;;;;;;;;;;:::o;2893:801::-;1934:11:18;;;;1926:55;;;;;-1:-1:-1;;;1926:55:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:18;;;3110:12:8;;3102:20;;;3094:59;;;;;-1:-1:-1;;;3094:59:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;3168:31;;;;:15;:31;;;;;;;;3167:32;3159:76;;;;;-1:-1:-1;;;3159:76:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;3249:18;3261:5;3249:11;:18::i;:::-;3241:59;;;;;-1:-1:-1;;;3241:59:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;3347:8;;:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3418:19:8;;;3347:126;;;;3439:17;;;3347:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3347:126:8;;:8;;;;;:20;;3368:6;;;;3347:126;;;;;;;;;;;;;;;;:8;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3347:126:8;;;;;;;;;;;;;;;;;;;;;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;;3347:126:8;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3347:126:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3347:126:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3347:126:8;3339:161;;;;;-1:-1:-1;;;3339:161:8;;;;;;;;;;;;-1:-1:-1;;;3339:161:8;;;;;;;;;;;;;;;3507:31;;;;:15;:31;;;;;;;;;:38;;-1:-1:-1;;3507:38:8;3541:4;3507:38;;;3605:10;;:18;;-1:-1:-1;;;3605:18:8;;;;3551:73;;3568:10;;3580:8;;3590:4;;3596:7;;-1:-1:-1;;;;;3605:10:8;;;;:16;;:18;;;;;;;;;;;:10;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;3605:18:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3605:18:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3605:18:8;3551:16;:73::i;:::-;3635:54;;;-1:-1:-1;;;;;3635:54:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2230:11:18;:18;;-1:-1:-1;;2230:18:18;2244:4;2230:18;;;-1:-1:-1;;;;;;2893:801:8:o;601:25::-;;;-1:-1:-1;;;;;601:25:8;;:::o;2230:445:2:-;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:2;;2320:72;;;;;-1:-1:-1;;;2320:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:2;;2398:74;;;;-1:-1:-1;;;2398:74:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:2;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:2;;;;;;;;;-1:-1:-1;2538:23:2;-1:-1:-1;;;;;;;;;;;;2589:6:2;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:2;;2230:445;-1:-1:-1;;;;;2230:445:2:o;933:114::-;-1:-1:-1;;;;;;;;;;;933:114:2;:::o;1209:20::-;;;;;;:::o;819:23:8:-;;;-1:-1:-1;;;;;819:23:8;;:::o;3553:342:2:-;3609:4;3625:10;3621:43;;-1:-1:-1;3652:5:2;3645:12;;3621:43;3680:16;;;;3702:171;3726:5;3732:1;3726:8;;;;;;;;;;;3717:5;:17;3713:53;;;3753:4;3746:11;;;;;3713:53;3777:6;;;3773:52;;-1:-1:-1;1542:3:2;3773:52;3855:16;;-1:-1:-1;;3832:3:2;;;;3855:16;3850:21;;;3855:16;;3850:21;;3702:171;;3885:5;3878:12;;;3553:342;;;;:::o;554:43:8:-;;;;;;;;;;;;;;;:::o;381:27::-;;;;:::o;1430:34:2:-;;;;;;:::o;4651:113:8:-;896:8;;-1:-1:-1;;;;;896:8:8;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4725:8;:34;;-1:-1:-1;;;;;;4725:34:8;-1:-1:-1;;;;;4725:34:8;;;;;;;;;;4651:113::o;4128:293::-;4244:35;;;;;;;;;;;;;;;;4209:19;;4255:16;4244:35;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;4244:35:8;-1:-1:-1;4236:43:8;-1:-1:-1;4289:6:8;4285:132;4301:27;;;4285:132;;;4347:28;4355:16;;4372:1;4355:19;;;;;;;;;;;;;4347:7;:28::i;:::-;4343:68;;;4398:4;4387:5;4393:1;4387:8;;;;;;;;:15;;;:8;;;;;;;;;;;:15;4343:68;4330:3;;4285:132;;;;4128:293;;;;:::o;866:26:0:-;;;;:::o;2073:324:8:-;1934:11:18;;;;1926:55;;;;;-1:-1:-1;;;1926:55:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:18;;;2070:5;2156:24:8;;;:11;:24;;;;;;2056:19:18;2156:24:8;2155:25;2147:71;;;;-1:-1:-1;;;2147:71:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2225:20;2248;2256:11;2248:7;:20::i;:::-;2274:24;;;;:11;:24;;;;;:31;;-1:-1:-1;;2274:31:8;2301:4;2274:31;;;2225:43;-1:-1:-1;2311:17:8;:15;:17::i;:::-;2340:52;;;;;;;;2376:15;2340:52;;;;;;2348:11;;2340:52;;;;;;;;-1:-1:-1;;2230:11:18;:18;;-1:-1:-1;;2230:18:18;2244:4;2230:18;;;2073:324:8:o;3941:93:2:-;4012:16;;3984:7;;4006:5;;4012:16;;4006:23;;;;;;;;;3999:30;;3941:93;:::o;1549:39::-;;;;;;;;;;;;;-1:-1:-1;1549:39:2;:::o;1499:46::-;1542:3;1499:46;:::o;630:29:8:-;;;-1:-1:-1;;;;;630:29:8;;:::o;3951:116::-;4012:4;4031:31;;;:15;:31;;;;;;;;;3951:116::o;1404:22:2:-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1404:22:2;:::o;1051:114::-;1088:77;1051:114;:::o;1369:31::-;;;;;;;;;;842:20:0;;;-1:-1:-1;;;;;842:20:0;;:::o;1468:27:2:-;;;-1:-1:-1;;;1468:27:2;;;;;:::o;1430:801:0:-;1601:7;1588:9;:20;1580:81;;;;-1:-1:-1;;;1580:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1681:20:0;;;;;;1707:226;;1726:73;1745:10;1787:11;;1772:12;1757;;:27;:41;1726:18;:73::i;:::-;1807:39;1826:6;1834:11;;1807:18;:39::i;:::-;1707:226;;;1867:59;1886:10;1913:12;1898;;:27;1867:18;:59::i;:::-;1943:16;;1939:79;;1969:42;1988:8;1998:12;1969:18;:42::i;:::-;2028:11;;2024:203;;2068:34;;2050:12;;-1:-1:-1;;;;;2068:15:0;;;2090:7;;2050:12;2068:34;2050:12;2068:34;2090:7;2068:15;:34;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2049:53:0;;;2115:7;2110:111;;2186:26;;-1:-1:-1;;;;;2186:17:0;;;:26;;;;;2204:7;;2186:26;;;;2204:7;2186:17;:26;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2186:26:0;2110:111;2024:203;;1430:801;;;;;;:::o;2679:802:2:-;2770:9;;2728:12;2820:6;;2728:12;;2770:9;-1:-1:-1;;;2770:9:2;;;;;;2820:6;;2816:1;2809:17;2793:33;;;;2785:93;;;;-1:-1:-1;;;2785:93:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2884:9;:14;;;-1:-1:-1;;;2884:14:2;;;;;2897:1;2884:14;;;;;-1:-1:-1;;2884:14:2;;;;;;2931:5;-1:-1:-1;;;2980:355:2;3003:6;;;;;;2999:10;;;;2980:355;;;3028:16;;;3024:225;;3068:16;3061:23;;3102:5;3108:1;3102:8;;;;;;;;;;;;;;;;;;3094:16;;3141;3121:14;3136:1;3121:17;;;;;;;;;;;;;;;;;;;:36;3024:225;;;3189:14;3204:1;3189:17;;;;;;;;;;;;;;;;;;3182:24;;3224:16;3216:24;;3024:225;3276:26;3290:4;3296:5;3276:13;:26::i;:::-;3257:45;-1:-1:-1;3327:1:2;3311:17;;;;;-1:-1:-1;3011:3:2;;2980:355;;;-1:-1:-1;3361:16:2;;1542:3;;3360:42;3361:16;;;;:20;3360:42;3341:16;:61;;-1:-1:-1;;3341:61:2;3360:42;;;;3341:61;;;;;;;;;;;;3434:16;;3408:5;;3414:16;3408:23;;;;;;;;:42;-1:-1:-1;;3463:9:2;;-1:-1:-1;;;3463:9:2;;;;-1:-1:-1;;3463:13:2;;2679:802;-1:-1:-1;;;;2679:802:2:o;1235:191:0:-;1285:9;:14;1277:75;;;;-1:-1:-1;;;1277:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1358:63;1381:10;1401:4;1408:12;;1358:22;:63::i;:::-;1235:191::o;2829:544::-;2938:5;;2949:63;;;-1:-1:-1;;;;;2949:63:0;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2949:63:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2938:75:0;;;;2903:12;;2917:17;;2938:5;;;2949:63;2938:75;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2938:75:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2902:111:0;;;;3027:7;3019:37;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;;;;3156:11;;:15;3152:217;;3189:4;:11;3204:2;3189:17;3181:72;;;;-1:-1:-1;;;3181:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3282:4;3271:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3271:24:0;;-1:-1:-1;3271:24:0;3303:59;;;;-1:-1:-1;;;3303:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2829:544;;;;:::o;2235:590::-;2363:5;;2374:74;;;-1:-1:-1;;;;;2374:74:0;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2374:74:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2363:86:0;;;;2328:12;;2342:17;;2363:5;;;2374:74;2363:86;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2363:86:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2327:122:0;;;;2463:7;2455:45;;;;;-1:-1:-1;;;2455:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2600:11;;:15;2596:225;;2633:4;:11;2648:2;2633:17;2625:72;;;;-1:-1:-1;;;2625:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2726:4;2715:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2715:24:0;;-1:-1:-1;2715:24:0;2747:67;;;;-1:-1:-1;;;2747:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2235:590;;;;;:::o", "source": "// https://tornado.cash\n/*\n* d888888P dP a88888b. dP\n* 88 88 d8' `88 88\n* 88 .d8888b. 88d888b. 88d888b. .d8888b. .d888b88 .d8888b. 88 .d8888b. .d8888b. 88d888b.\n* 88 88' `88 88' `88 88' `88 88' `88 88' `88 88' `88 88 88' `88 Y8ooooo. 88' `88\n* 88 88. .88 88 88 88 88. .88 88. .88 88. .88 dP Y8. .88 88. .88 88 88 88\n* dP `88888P' dP dP dP `88888P8 `88888P8 `88888P' 88 Y88888P' `88888P8 `88888P' dP dP\n* ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\n*/\n\npragma solidity 0.5.17;\n\nimport \"./Tornado.sol\";\n\ncontract ERC20Tornado is Tornado {\n address public token;\n uint256 public protocolFee;\n\n constructor(\n IVerifier _verifier,\n IFeeManager _feeManager,\n uint256 _denomination,\n uint32 _merkleTreeHeight,\n address _operator,\n address _token\n ) Tornado(_verifier, _feeManager, _denomination, _merkleTreeHeight, _operator) public {\n token = _token;\n // 0.5% fee\n protocolFee = _denomination / 200;\n }\n\n function _processDeposit() internal {\n require(msg.value == 0, \"ETH value is supposed to be 0 for ERC20 instance\");\n _safeErc20TransferFrom(msg.sender, address(this), denomination);\n }\n\n function _processWithdraw(address payable _recipient, address payable _relayer, uint256 _relayer_fee, uint256 _refund, address _feeTo) internal {\n require(msg.value == _refund, \"Incorrect refund amount received by the contract\");\n\n bool feeOn = _feeTo != address(0);\n if (feeOn) {\n _safeErc20Transfer(_recipient, denomination - _relayer_fee - protocolFee);\n _safeErc20Transfer(_feeTo, protocolFee);\n } else {\n _safeErc20Transfer(_recipient, denomination - _relayer_fee);\n }\n\n if (_relayer_fee > 0) {\n _safeErc20Transfer(_relayer, _relayer_fee);\n }\n\n if (_refund > 0) {\n (bool success, ) = _recipient.call.value(_refund)(\"\");\n if (!success) {\n // let's return _refund back to the relayer\n _relayer.transfer(_refund);\n }\n }\n }\n\n function _safeErc20TransferFrom(address _from, address _to, uint256 _amount) internal {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd /* transferFrom */, _from, _to, _amount));\n require(success, \"not enough allowed tokens\");\n\n // if contract returns some data lets make sure that is `true` according to standard\n if (data.length > 0) {\n require(data.length == 32, \"data length should be either 0 or 32 bytes\");\n success = abi.decode(data, (bool));\n require(success, \"not enough allowed tokens. Token returns false.\");\n }\n }\n\n function _safeErc20Transfer(address _to, uint256 _amount) internal {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb /* transfer */, _to, _amount));\n require(success, \"not enough tokens\");\n\n // if contract returns some data lets make sure that is `true` according to standard\n if (data.length > 0) {\n require(data.length == 32, \"data length should be either 0 or 32 bytes\");\n success = abi.decode(data, (bool));\n require(success, \"not enough tokens. Token returns false.\");\n }\n }\n}\n", - "sourcePath": "/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol", "exportedSymbols": { "ERC20Tornado": [ 266 @@ -602,12 +602,12 @@ "src": "755:23:0" }, { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "file": "./Tornado.sol", "id": 2, "nodeType": "ImportDirective", "scope": 267, - "sourceUnit": 971, + "sourceUnit": 1205, "src": "780:23:0", "symbolAliases": [], "unitAlias": "" @@ -621,10 +621,10 @@ "id": 3, "name": "Tornado", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 970, + "referencedDeclaration": 1204, "src": "830:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Tornado_$970", + "typeIdentifier": "t_contract$_Tornado_$1204", "typeString": "contract Tornado" } }, @@ -634,9 +634,9 @@ } ], "contractDependencies": [ - 632, - 970, - 1000 + 685, + 1204, + 3255 ], "contractKind": "contract", "documentation": null, @@ -644,9 +644,9 @@ "id": 266, "linearizedBaseContracts": [ 266, - 970, - 1000, - 632 + 1204, + 3255, + 685 ], "name": "ERC20Tornado", "nodeType": "ContractDefinition", @@ -857,7 +857,7 @@ "referencedDeclaration": 10, "src": "1075:9:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$648", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -870,7 +870,7 @@ "referencedDeclaration": 12, "src": "1086:11:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$654", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -921,10 +921,10 @@ "name": "Tornado", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, + "referencedDeclaration": 1204, "src": "1067:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Tornado_$970_$", + "typeIdentifier": "t_type$_t_contract$_Tornado_$1204_$", "typeString": "type(contract Tornado)" } }, @@ -948,7 +948,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$648", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" }, "typeName": { @@ -956,10 +956,10 @@ "id": 9, "name": "IVerifier", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 648, + "referencedDeclaration": 882, "src": "914:9:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$648", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -976,7 +976,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$654", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" }, "typeName": { @@ -984,10 +984,10 @@ "id": 11, "name": "IFeeManager", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 654, + "referencedDeclaration": 888, "src": "939:11:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$654", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -1144,7 +1144,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "src": "1285:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1225,10 +1225,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "1277:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1265,7 +1265,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "src": "1381:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1295,7 +1295,7 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1041, + "referencedDeclaration": 3296, "src": "1401:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20Tornado_$266", @@ -1343,7 +1343,7 @@ "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "src": "1408:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1419,7 +1419,7 @@ "scope": 266, "src": "1235:191:0", "stateMutability": "nonpayable", - "superFunction": 785, + "superFunction": 1019, "visibility": "internal" }, { @@ -1451,7 +1451,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "src": "1588:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1527,10 +1527,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "1580:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1732,7 +1732,7 @@ "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "src": "1898:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1856,7 +1856,7 @@ "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "src": "1757:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2647,7 +2647,7 @@ "scope": 266, "src": "1430:801:0", "stateMutability": "nonpayable", - "superFunction": 886, + "superFunction": 1120, "visibility": "internal" }, { @@ -2805,7 +2805,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "src": "2374:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -2943,10 +2943,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "2455:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3151,10 +3151,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "2625:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3268,7 +3268,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "src": "2715:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -3364,10 +3364,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "2747:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3641,7 +3641,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "src": "2949:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -3779,10 +3779,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "3019:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3987,10 +3987,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "3181:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -4104,7 +4104,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "src": "3271:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -4200,10 +4200,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "3303:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -4321,7 +4321,7 @@ }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol", "exportedSymbols": { "ERC20Tornado": [ 266 @@ -4343,8 +4343,8 @@ }, { "attributes": { - "SourceUnit": 971, - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "SourceUnit": 1205, + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "file": "./Tornado.sol", "scope": 267, "symbolAliases": [ @@ -4359,18 +4359,18 @@ { "attributes": { "contractDependencies": [ - 632, - 970, - 1000 + 685, + 1204, + 3255 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ 266, - 970, - 1000, - 632 + 1204, + 3255, + 685 ], "name": "ERC20Tornado", "scope": 267 @@ -4385,7 +4385,7 @@ "attributes": { "contractScope": null, "name": "Tornado", - "referencedDeclaration": 970, + "referencedDeclaration": 1204, "type": "contract Tornado" }, "id": 3, @@ -4481,7 +4481,7 @@ "attributes": { "contractScope": null, "name": "IVerifier", - "referencedDeclaration": 648, + "referencedDeclaration": 882, "type": "contract IVerifier" }, "id": 9, @@ -4509,7 +4509,7 @@ "attributes": { "contractScope": null, "name": "IFeeManager", - "referencedDeclaration": 654, + "referencedDeclaration": 888, "type": "contract IFeeManager" }, "id": 11, @@ -4651,7 +4651,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 970, + "referencedDeclaration": 1204, "type": "type(contract Tornado)", "value": "Tornado" }, @@ -4897,7 +4897,7 @@ "name": "_processDeposit", "scope": 266, "stateMutability": "nonpayable", - "superFunction": 785, + "superFunction": 1019, "visibility": "internal" }, "children": [ @@ -4955,10 +4955,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -4999,7 +4999,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, @@ -5123,7 +5123,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, @@ -5176,7 +5176,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1041, + "referencedDeclaration": 3296, "type": "contract ERC20Tornado", "value": "this" }, @@ -5195,7 +5195,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, @@ -5235,7 +5235,7 @@ "name": "_processWithdraw", "scope": 266, "stateMutability": "nonpayable", - "superFunction": 886, + "superFunction": 1120, "visibility": "internal" }, "children": [ @@ -5422,10 +5422,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -5466,7 +5466,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, @@ -5761,7 +5761,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, @@ -5977,7 +5977,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, @@ -6818,7 +6818,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -6935,10 +6935,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7092,10 +7092,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7267,7 +7267,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -7369,10 +7369,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7687,7 +7687,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -7790,10 +7790,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7947,10 +7947,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -8122,7 +8122,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -8224,10 +8224,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -8314,14 +8314,22 @@ "42220": { "events": {}, "links": { - "Hasher": "0x5666A6E07d7b991489b1D0f53d37B664B312a1fE" + "Hasher": "0xeE4628179283Be3f5096b94bc528e443cFAf7c2f" }, - "address": "0xD39697c01279DfaCad50b27D03EDAEc6Bca03097", - "transactionHash": "0x10232b5c9b26f0f8fee8927b01d45c90bf79b16bc2a8ff59ce20144ea5895556" + "address": "0x96029dC60d14D6f9b676d34d921D783b04e47125", + "transactionHash": "0x328edc9c88c33512a2dd46527c3e1e77b07bce27756e1d691366f887ebf095ad" + }, + "44787": { + "events": {}, + "links": { + "Hasher": "0x415A7775E7B2DC547e071d752CF404316498a43A" + }, + "address": "0x5B2404F7631A96c49a4a30293c5aF4b7b5Cc6b6F", + "transactionHash": "0xd98bf483b1520e3bbdfbe11c50a02062e03edf9de5c4498b11010c281ee0be7b" } }, "schemaVersion": "3.3.4", - "updatedAt": "2021-04-02T22:55:05.713Z", + "updatedAt": "2021-04-04T21:05:42.627Z", "networkType": "ethereum", "devdoc": { "methods": { diff --git a/client/contracts/CELOTornado.1.json b/client/contracts/CELOTornado.1.json index 7f02a75..56ba667 100644 --- a/client/contracts/CELOTornado.1.json +++ b/client/contracts/CELOTornado.1.json @@ -574,15 +574,15 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"contract IFeeManager\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_denomination\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_merkleTreeHeight\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commitment\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"leafIndex\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifierHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"FIELD_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ROOT_HISTORY_SIZE\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ZERO_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOperator\",\"type\":\"address\"}],\"name\":\"changeOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"commitments\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentRootIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"denomination\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_commitment\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeManager\",\"outputs\":[{\"internalType\":\"contract IFeeManager\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"filledSubtrees\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_right\",\"type\":\"bytes32\"}],\"name\":\"hashLeftRight\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"isKnownRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"}],\"name\":\"isSpent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_nullifierHashes\",\"type\":\"bytes32[]\"}],\"name\":\"isSpentArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"spent\",\"type\":\"bool[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"levels\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nullifierHashes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"protocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roots\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newVerifier\",\"type\":\"address\"}],\"name\":\"updateVerifier\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"verifier\",\"outputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"},{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_refund\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"zeros\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"changeOperator(address)\":{\"details\":\"operator can change his address \"},\"deposit(bytes32)\":{\"details\":\"Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\",\"params\":{\"_commitment\":\"the note commitment, which is PedersenHash(nullifier + secret)\"}},\"getLastRoot()\":{\"details\":\"Returns the last root\"},\"hashLeftRight(bytes32,bytes32)\":{\"details\":\"Hash 2 tree leaves, returns MiMC(_left, _right)\"},\"isKnownRoot(bytes32)\":{\"details\":\"Whether the root is present in the root history\"},\"isSpent(bytes32)\":{\"details\":\"whether a note is already spent \"},\"isSpentArray(bytes32[])\":{\"details\":\"whether an array of notes is already spent \"},\"updateVerifier(address)\":{\"details\":\"allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held. After that operator rights are supposed to be transferred to zero address\"},\"withdraw(bytes,bytes32,bytes32,address,address,uint256,uint256)\":{\"details\":\"Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs `input` array consists of: - merkle root of all deposits in the contract - hash of unique deposit nullifier to prevent double spends - the recipient of funds - optional fee that goes to the transaction sender (usually a relay)\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":\"ERC20Tornado\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":{\"keccak256\":\"0x5c57c88351063f1864166162f6f32be5aebae197a18abaef8d08d67b36440a51\",\"urls\":[\"bzz-raw://6da2d6faa828b1cad43428366d273e4aa61fc176d6541fb641028985497caa0f\",\"dweb:/ipfs/QmULz388t88hr999vUk5PidTTJwbEWGUyb3d6QGnDA6qoV\"]},\"/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol\":{\"keccak256\":\"0xe7db8acb3efcecf95c7364f447ed1764c571dbf5090fd4641fe4668a965332eb\",\"urls\":[\"bzz-raw://45e790c247c38ed8ae473e3165c1148ea10a753cf6e9f9c8742394019be2aef6\",\"dweb:/ipfs/QmaGfk1ndvqur2NvCY3TWoKuorfBVShXeykKei18GDY582\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}", - "bytecode": "0x6080604052600380546001600160401b03191690553480156200002157600080fd5b5060405162001e5838038062001e58833981810160405260c08110156200004757600080fd5b508051602082015160408301516060840151608085015160a090950151939492939192909185858585858163ffffffff8116620000b65760405162461bcd60e51b815260040180806020018281038252602781526020018062001dcf6027913960400191505060405180910390fd5b60208163ffffffff1610620000fd5760405162461bcd60e51b815260040180806020018281038252602281526020018062001e166022913960400191505060405180910390fd5b6000805463ffffffff191663ffffffff83161781556002805460018181019092557f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60008051602062001d8e833981519152909101819055815480830183559282905260008051602062001e388339815191529092018290555b60005463ffffffff9081169082161015620001eb57620001a182806001600160e01b03620002ba16565b60028054600181810190925560008051602062001d8e8339815191520182905580548082018255600082905260008051602062001e38833981519152018290559092500162000177565b506200020181806001600160e01b03620002ba16565b60046000015550506068805460ff1916600117905582620002545760405162461bcd60e51b815260040180806020018281038252602581526020018062001d696025913960400191505060405180910390fd5b606c80546001600160a01b03199081166001600160a01b0397881617909155606d8054821695871695909517909455606e8054851691861691909117905550606955606f805490911691831691909117905560c8840460705550620004a7945050505050565b600060008051602062001df6833981519152831062000320576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602062001df683398151915282106200036f5760405162461bcd60e51b815260040180806020018281038252602181526020018062001dae6021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015620003ca57600080fd5b505af4158015620003df573d6000803e3d6000fd5b505050506040513d6040811015620003f657600080fd5b508051602090910151909250905060008051602062001df6833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b1580156200047057600080fd5b505af415801562000485573d6000803e3d6000fd5b505050506040513d60408110156200049c57600080fd5b505195945050505050565b6118b280620004b76000396000f3fe6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a72315820c90af910ddfda5b33dab20c369a888b349922f695f9eee0e2eb3e0273adc895364736f6c6343000511003264656e6f6d696e6174696f6e2073686f756c642062652067726561746572207468616e2030405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5f72696768742073686f756c6420626520696e7369646520746865206669656c645f747265654c6576656c732073686f756c642062652067726561746572207468616e207a65726f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000015f747265654c6576656c732073686f756c64206265206c657373207468616e203332b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6", - "deployedBytecode": "0x6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a72315820c90af910ddfda5b33dab20c369a888b349922f695f9eee0e2eb3e0273adc895364736f6c63430005110032", - "sourceMap": "805:2570:0:-;;;1430:34:1;;;-1:-1:-1;;;;;;1468:27:1;;;897:334:0;5:2:-1;;;;30:1;27;20:12;5:2;897:334:0;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;897:334:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1646:15:1;;;1638:67;;;;-1:-1:-1;;;1638:67:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:2;1719:11;:16;;;1711:63;;;;-1:-1:-1;;;1711:63:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:6;:20;;-1:-1:-1;;1780:20:1;;;;;;;1854:5;27:10:-1;;-1:-1;23:18;;;45:23;;;1088:77:1;-1:-1:-1;;;;;;;;;;;1854:23:1;;;;;;27:10:-1;;23:18;;;45:23;;1883:32:1;;;;-1:-1:-1;;;;;;;;;;;1883:32:1;;;;;;1922:175;1945:6;;;;;;1941:10;;;;1922:175;;;1980:39;1994:11;;-1:-1:-1;;;;;1980:13:1;:39;:::i;:::-;2027:5;27:10:-1;;39:1;23:18;;;45:23;;;-1:-1;;;;;;;;;;;2027:23:1;;;;27:10:-1;;23:18;;;45:23;;-1:-1;2058:32:1;;;-1:-1:-1;;;;;;;;;;;2058:32:1;;;;1966:53;;-1:-1:-1;1953:3:1;1922:175;;;-1:-1:-1;2114:39:1;2128:11;;-1:-1:-1;;;;;2114:13:1;:39;:::i;:::-;2103:5;2109:1;2103:8;:50;-1:-1:-1;;1421:11:3;:18;;-1:-1:-1;;1421:18:3;1435:4;1421:18;;;1645:17:2;1637:67;;;;-1:-1:-1;;;1637:67:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1710:8;:20;;-1:-1:-1;;;;;;1710:20:2;;;-1:-1:-1;;;;;1710:20:2;;;;;;;1736:10;:24;;;;;;;;;;;;;;1766:8;:20;;;;;;;;;;;;;-1:-1:-1;1792:12:2;:28;1157:5:0;:14;;;;;;;;;;;;;;1223:3;1207:13;:19;1193:11;:33;-1:-1:-1;805:2570:0;;-1:-1:-1;;;;;805:2570:0;2230:445:1;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:1;;2320:72;;;;;-1:-1:-1;;;2320:72:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:1;;2398:74;;;;-1:-1:-1;;;2398:74:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:1;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:1;;;;;;;;;-1:-1:-1;2538:23:1;-1:-1:-1;;;;;;;;;;;;2589:6:1;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:1;;2230:445;-1:-1:-1;;;;;2230:445:1:o;805:2570:0:-;;;;;;;", - "deployedSourceMap": "805:2570:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4814:102:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4814:102:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4814:102:2;-1:-1:-1;;;;;4814:102:2;;:::i;:::-;;412:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;412:47:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;412:47:2;;:::i;:::-;;;;;;;;;;;;;;;;;;2893:801;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2893:801:2;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2893:801:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2893:801:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2893:801:2;;-1:-1:-1;2893:801:2;-1:-1:-1;2893:801:2;;;;;;;;-1:-1:-1;;;;;2893:801:2;;;;;;;;;;;;;;;;;;;;;;;;:::i;601:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;601:25:2;;;:::i;:::-;;;;-1:-1:-1;;;;;601:25:2;;;;;;;;;;;;;;2230:445:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2230:445:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2230:445:1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;933:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:114:1;;;:::i;1209:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1209:20:1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;819:23:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;819:23:2;;;:::i;3553:342:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3553:342:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3553:342:1;;:::i;554:43:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;554:43:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;554:43:2;;:::i;381:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;381:27:2;;;:::i;1430:34:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1430:34:1;;;:::i;4651:113:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4651:113:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4651:113:2;-1:-1:-1;;;;;4651:113:2;;:::i;4128:293::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4128:293:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4128:293:2;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4128:293:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4128:293:2;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;4128:293:2;;-1:-1:-1;4128:293:2;-1:-1:-1;4128:293:2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4128:293:2;;;;;;;;;;;;;;;;;866:26:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;866:26:0;;;:::i;2073:324:2:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2073:324:2;;:::i;3941:93:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3941:93:1;;;:::i;1549:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1549:39:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1549:39:1;;:::i;1499:46::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1499:46:1;;;:::i;630:29:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;630:29:2;;;:::i;3951:116::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3951:116:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3951:116:2;;:::i;1404:22:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1404:22:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1404:22:1;;:::i;1051:114::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1051:114:1;;;:::i;1369:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1369:31:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1369:31:1;;:::i;842:20:0:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;842:20:0;;;:::i;1468:27:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1468:27:1;;;:::i;4814:102:2:-;896:8;;-1:-1:-1;;;;;896:8:2;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4888:8;:23;;-1:-1:-1;;;;;;4888:23:2;-1:-1:-1;;;;;4888:23:2;;;;;;;;;;4814:102::o;412:47::-;;;;;;;;;;;;;;;:::o;2893:801::-;1934:11:3;;;;1926:55;;;;;-1:-1:-1;;;1926:55:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:3;;;3110:12:2;;3102:20;;;3094:59;;;;;-1:-1:-1;;;3094:59:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;3168:31;;;;:15;:31;;;;;;;;3167:32;3159:76;;;;;-1:-1:-1;;;3159:76:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;3249:18;3261:5;3249:11;:18::i;:::-;3241:59;;;;;-1:-1:-1;;;3241:59:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;3347:8;;:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3418:19:2;;;3347:126;;;;3439:17;;;3347:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3347:126:2;;:8;;;;;:20;;3368:6;;;;3347:126;;;;;;;;;;;;;;;;:8;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3347:126: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;;3347:126:2;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3347:126:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3347:126:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3347:126:2;3339:161;;;;;-1:-1:-1;;;3339:161:2;;;;;;;;;;;;-1:-1:-1;;;3339:161:2;;;;;;;;;;;;;;;3507:31;;;;:15;:31;;;;;;;;;:38;;-1:-1:-1;;3507:38:2;3541:4;3507:38;;;3605:10;;:18;;-1:-1:-1;;;3605:18:2;;;;3551:73;;3568:10;;3580:8;;3590:4;;3596:7;;-1:-1:-1;;;;;3605:10:2;;;;:16;;:18;;;;;;;;;;;:10;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;3605:18:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3605:18:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3605:18:2;3551:16;:73::i;:::-;3635:54;;;-1:-1:-1;;;;;3635:54:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2230:11:3;:18;;-1:-1:-1;;2230:18:3;2244:4;2230:18;;;-1:-1:-1;;;;;;2893:801:2:o;601:25::-;;;-1:-1:-1;;;;;601:25:2;;:::o;2230:445:1:-;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:1;;2320:72;;;;;-1:-1:-1;;;2320:72:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:1;;2398:74;;;;-1:-1:-1;;;2398:74:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:1;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:1;;;;;;;;;-1:-1:-1;2538:23:1;-1:-1:-1;;;;;;;;;;;;2589:6:1;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:1;;2230:445;-1:-1:-1;;;;;2230:445:1:o;933:114::-;-1:-1:-1;;;;;;;;;;;933:114:1;:::o;1209:20::-;;;;;;:::o;819:23:2:-;;;-1:-1:-1;;;;;819:23:2;;:::o;3553:342:1:-;3609:4;3625:10;3621:43;;-1:-1:-1;3652:5:1;3645:12;;3621:43;3680:16;;;;3702:171;3726:5;3732:1;3726:8;;;;;;;;;;;3717:5;:17;3713:53;;;3753:4;3746:11;;;;;3713:53;3777:6;;;3773:52;;-1:-1:-1;1542:3:1;3773:52;3855:16;;-1:-1:-1;;3832:3:1;;;;3855:16;3850:21;;;3855:16;;3850:21;;3702:171;;3885:5;3878:12;;;3553:342;;;;:::o;554:43:2:-;;;;;;;;;;;;;;;:::o;381:27::-;;;;:::o;1430:34:1:-;;;;;;:::o;4651:113:2:-;896:8;;-1:-1:-1;;;;;896:8:2;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4725:8;:34;;-1:-1:-1;;;;;;4725:34:2;-1:-1:-1;;;;;4725:34:2;;;;;;;;;;4651:113::o;4128:293::-;4244:35;;;;;;;;;;;;;;;;4209:19;;4255:16;4244:35;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;4244:35:2;-1:-1:-1;4236:43:2;-1:-1:-1;4289:6:2;4285:132;4301:27;;;4285:132;;;4347:28;4355:16;;4372:1;4355:19;;;;;;;;;;;;;4347:7;:28::i;:::-;4343:68;;;4398:4;4387:5;4393:1;4387:8;;;;;;;;:15;;;:8;;;;;;;;;;;:15;4343:68;4330:3;;4285:132;;;;4128:293;;;;:::o;866:26:0:-;;;;:::o;2073:324:2:-;1934:11:3;;;;1926:55;;;;;-1:-1:-1;;;1926:55:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:3;;;2070:5;2156:24:2;;;:11;:24;;;;;;2056:19:3;2156:24:2;2155:25;2147:71;;;;-1:-1:-1;;;2147:71:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2225:20;2248;2256:11;2248:7;:20::i;:::-;2274:24;;;;:11;:24;;;;;:31;;-1:-1:-1;;2274:31:2;2301:4;2274:31;;;2225:43;-1:-1:-1;2311:17:2;:15;:17::i;:::-;2340:52;;;;;;;;2376:15;2340:52;;;;;;2348:11;;2340:52;;;;;;;;-1:-1:-1;;2230:11:3;:18;;-1:-1:-1;;2230:18:3;2244:4;2230:18;;;2073:324:2:o;3941:93:1:-;4012:16;;3984:7;;4006:5;;4012:16;;4006:23;;;;;;;;;3999:30;;3941:93;:::o;1549:39::-;;;;;;;;;;;;;-1:-1:-1;1549:39:1;:::o;1499:46::-;1542:3;1499:46;:::o;630:29:2:-;;;-1:-1:-1;;;;;630:29:2;;:::o;3951:116::-;4012:4;4031:31;;;:15;:31;;;;;;;;;3951:116::o;1404:22:1:-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1404:22:1;:::o;1051:114::-;1088:77;1051:114;:::o;1369:31::-;;;;;;;;;;842:20:0;;;-1:-1:-1;;;;;842:20:0;;:::o;1468:27:1:-;;;-1:-1:-1;;;1468:27:1;;;;;:::o;1430:801:0:-;1601:7;1588:9;:20;1580:81;;;;-1:-1:-1;;;1580:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1681:20:0;;;;;;1707:226;;1726:73;1745:10;1787:11;;1772:12;1757;;:27;:41;1726:18;:73::i;:::-;1807:39;1826:6;1834:11;;1807:18;:39::i;:::-;1707:226;;;1867:59;1886:10;1913:12;1898;;:27;1867:18;:59::i;:::-;1943:16;;1939:79;;1969:42;1988:8;1998:12;1969:18;:42::i;:::-;2028:11;;2024:203;;2068:34;;2050:12;;-1:-1:-1;;;;;2068:15:0;;;2090:7;;2050:12;2068:34;2050:12;2068:34;2090:7;2068:15;:34;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2049:53:0;;;2115:7;2110:111;;2186:26;;-1:-1:-1;;;;;2186:17:0;;;:26;;;;;2204:7;;2186:26;;;;2204:7;2186:17;:26;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2186:26:0;2110:111;2024:203;;1430:801;;;;;;:::o;2679:802:1:-;2770:9;;2728:12;2820:6;;2728:12;;2770:9;-1:-1:-1;;;2770:9:1;;;;;;2820:6;;2816:1;2809:17;2793:33;;;;2785:93;;;;-1:-1:-1;;;2785:93:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2884:9;:14;;;-1:-1:-1;;;2884:14:1;;;;;2897:1;2884:14;;;;;-1:-1:-1;;2884:14:1;;;;;;2931:5;-1:-1:-1;;;2980:355:1;3003:6;;;;;;2999:10;;;;2980:355;;;3028:16;;;3024:225;;3068:16;3061:23;;3102:5;3108:1;3102:8;;;;;;;;;;;;;;;;;;3094:16;;3141;3121:14;3136:1;3121:17;;;;;;;;;;;;;;;;;;;:36;3024:225;;;3189:14;3204:1;3189:17;;;;;;;;;;;;;;;;;;3182:24;;3224:16;3216:24;;3024:225;3276:26;3290:4;3296:5;3276:13;:26::i;:::-;3257:45;-1:-1:-1;3327:1:1;3311:17;;;;;-1:-1:-1;3011:3:1;;2980:355;;;-1:-1:-1;3361:16:1;;1542:3;;3360:42;3361:16;;;;:20;3360:42;3341:16;:61;;-1:-1:-1;;3341:61:1;3360:42;;;;3341:61;;;;;;;;;;;;3434:16;;3408:5;;3414:16;3408:23;;;;;;;;:42;-1:-1:-1;;3463:9:1;;-1:-1:-1;;;3463:9:1;;;;-1:-1:-1;;3463:13:1;;2679:802;-1:-1:-1;;;;2679:802:1:o;1235:191:0:-;1285:9;:14;1277:75;;;;-1:-1:-1;;;1277:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1358:63;1381:10;1401:4;1408:12;;1358:22;:63::i;:::-;1235:191::o;2829:544::-;2938:5;;2949:63;;;-1:-1:-1;;;;;2949:63:0;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2949:63:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2938:75:0;;;;2903:12;;2917:17;;2938:5;;;2949:63;2938:75;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2938:75:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2902:111:0;;;;3027:7;3019:37;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;;;;3156:11;;:15;3152:217;;3189:4;:11;3204:2;3189:17;3181:72;;;;-1:-1:-1;;;3181:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3282:4;3271:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3271:24:0;;-1:-1:-1;3271:24:0;3303:59;;;;-1:-1:-1;;;3303:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2829:544;;;;:::o;2235:590::-;2363:5;;2374:74;;;-1:-1:-1;;;;;2374:74:0;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2374:74:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2363:86:0;;;;2328:12;;2342:17;;2363:5;;;2374:74;2363:86;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2363:86:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2327:122:0;;;;2463:7;2455:45;;;;;-1:-1:-1;;;2455:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2600:11;;:15;2596:225;;2633:4;:11;2648:2;2633:17;2625:72;;;;-1:-1:-1;;;2625:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2726:4;2715:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2715:24:0;;-1:-1:-1;2715:24:0;2747:67;;;;-1:-1:-1;;;2747:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2235:590;;;;;:::o", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"contract IFeeManager\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_denomination\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_merkleTreeHeight\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commitment\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"leafIndex\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifierHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"FIELD_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ROOT_HISTORY_SIZE\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ZERO_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOperator\",\"type\":\"address\"}],\"name\":\"changeOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"commitments\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentRootIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"denomination\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_commitment\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeManager\",\"outputs\":[{\"internalType\":\"contract IFeeManager\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"filledSubtrees\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_right\",\"type\":\"bytes32\"}],\"name\":\"hashLeftRight\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"isKnownRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"}],\"name\":\"isSpent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_nullifierHashes\",\"type\":\"bytes32[]\"}],\"name\":\"isSpentArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"spent\",\"type\":\"bool[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"levels\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nullifierHashes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"protocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roots\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newVerifier\",\"type\":\"address\"}],\"name\":\"updateVerifier\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"verifier\",\"outputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"},{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_refund\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"zeros\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"changeOperator(address)\":{\"details\":\"operator can change his address \"},\"deposit(bytes32)\":{\"details\":\"Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\",\"params\":{\"_commitment\":\"the note commitment, which is PedersenHash(nullifier + secret)\"}},\"getLastRoot()\":{\"details\":\"Returns the last root\"},\"hashLeftRight(bytes32,bytes32)\":{\"details\":\"Hash 2 tree leaves, returns MiMC(_left, _right)\"},\"isKnownRoot(bytes32)\":{\"details\":\"Whether the root is present in the root history\"},\"isSpent(bytes32)\":{\"details\":\"whether a note is already spent \"},\"isSpentArray(bytes32[])\":{\"details\":\"whether an array of notes is already spent \"},\"updateVerifier(address)\":{\"details\":\"allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held. After that operator rights are supposed to be transferred to zero address\"},\"withdraw(bytes,bytes32,bytes32,address,address,uint256,uint256)\":{\"details\":\"Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs `input` array consists of: - merkle root of all deposits in the contract - hash of unique deposit nullifier to prevent double spends - the recipient of funds - optional fee that goes to the transaction sender (usually a relay)\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":\"ERC20Tornado\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":{\"keccak256\":\"0x5c57c88351063f1864166162f6f32be5aebae197a18abaef8d08d67b36440a51\",\"urls\":[\"bzz-raw://6da2d6faa828b1cad43428366d273e4aa61fc176d6541fb641028985497caa0f\",\"dweb:/ipfs/QmULz388t88hr999vUk5PidTTJwbEWGUyb3d6QGnDA6qoV\"]},\"/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/home/home/dotfiles/tornado-core/contracts/Tornado.sol\":{\"keccak256\":\"0xe7db8acb3efcecf95c7364f447ed1764c571dbf5090fd4641fe4668a965332eb\",\"urls\":[\"bzz-raw://45e790c247c38ed8ae473e3165c1148ea10a753cf6e9f9c8742394019be2aef6\",\"dweb:/ipfs/QmaGfk1ndvqur2NvCY3TWoKuorfBVShXeykKei18GDY582\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}", + "bytecode": "0x6080604052600380546001600160401b03191690553480156200002157600080fd5b5060405162001e5838038062001e58833981810160405260c08110156200004757600080fd5b508051602082015160408301516060840151608085015160a090950151939492939192909185858585858163ffffffff8116620000b65760405162461bcd60e51b815260040180806020018281038252602781526020018062001dcf6027913960400191505060405180910390fd5b60208163ffffffff1610620000fd5760405162461bcd60e51b815260040180806020018281038252602281526020018062001e166022913960400191505060405180910390fd5b6000805463ffffffff191663ffffffff83161781556002805460018181019092557f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60008051602062001d8e833981519152909101819055815480830183559282905260008051602062001e388339815191529092018290555b60005463ffffffff9081169082161015620001eb57620001a182806001600160e01b03620002ba16565b60028054600181810190925560008051602062001d8e8339815191520182905580548082018255600082905260008051602062001e38833981519152018290559092500162000177565b506200020181806001600160e01b03620002ba16565b60046000015550506068805460ff1916600117905582620002545760405162461bcd60e51b815260040180806020018281038252602581526020018062001d696025913960400191505060405180910390fd5b606c80546001600160a01b03199081166001600160a01b0397881617909155606d8054821695871695909517909455606e8054851691861691909117905550606955606f805490911691831691909117905560c8840460705550620004a7945050505050565b600060008051602062001df6833981519152831062000320576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602062001df683398151915282106200036f5760405162461bcd60e51b815260040180806020018281038252602181526020018062001dae6021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015620003ca57600080fd5b505af4158015620003df573d6000803e3d6000fd5b505050506040513d6040811015620003f657600080fd5b508051602090910151909250905060008051602062001df6833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b1580156200047057600080fd5b505af415801562000485573d6000803e3d6000fd5b505050506040513d60408110156200049c57600080fd5b505195945050505050565b6118b280620004b76000396000f3fe6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a723158204b6ccc5df50175d5e6c8b1e3301b60dade15d700fbff15348226df90b372e82464736f6c6343000511003264656e6f6d696e6174696f6e2073686f756c642062652067726561746572207468616e2030405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5f72696768742073686f756c6420626520696e7369646520746865206669656c645f747265654c6576656c732073686f756c642062652067726561746572207468616e207a65726f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000015f747265654c6576656c732073686f756c64206265206c657373207468616e203332b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6", + "deployedBytecode": "0x6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a723158204b6ccc5df50175d5e6c8b1e3301b60dade15d700fbff15348226df90b372e82464736f6c63430005110032", + "sourceMap": "805:2570:0:-;;;1430:34:2;;;-1:-1:-1;;;;;;1468:27:2;;;897:334:0;5:2:-1;;;;30:1;27;20:12;5:2;897:334:0;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;897:334:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1646:15:2;;;1638:67;;;;-1:-1:-1;;;1638:67:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:2;1719:11;:16;;;1711:63;;;;-1:-1:-1;;;1711:63:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:6;:20;;-1:-1:-1;;1780:20:2;;;;;;;1854:5;27:10:-1;;-1:-1;23:18;;;45:23;;;1088:77:2;-1:-1:-1;;;;;;;;;;;1854:23:2;;;;;;27:10:-1;;23:18;;;45:23;;1883:32:2;;;;-1:-1:-1;;;;;;;;;;;1883:32:2;;;;;;1922:175;1945:6;;;;;;1941:10;;;;1922:175;;;1980:39;1994:11;;-1:-1:-1;;;;;1980:13:2;:39;:::i;:::-;2027:5;27:10:-1;;39:1;23:18;;;45:23;;;-1:-1;;;;;;;;;;;2027:23:2;;;;27:10:-1;;23:18;;;45:23;;-1:-1;2058:32:2;;;-1:-1:-1;;;;;;;;;;;2058:32:2;;;;1966:53;;-1:-1:-1;1953:3:2;1922:175;;;-1:-1:-1;2114:39:2;2128:11;;-1:-1:-1;;;;;2114:13:2;:39;:::i;:::-;2103:5;2109:1;2103:8;:50;-1:-1:-1;;1421:11:18;:18;;-1:-1:-1;;1421:18:18;1435:4;1421:18;;;1645:17:8;1637:67;;;;-1:-1:-1;;;1637:67:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1710:8;:20;;-1:-1:-1;;;;;;1710:20:8;;;-1:-1:-1;;;;;1710:20:8;;;;;;;1736:10;:24;;;;;;;;;;;;;;1766:8;:20;;;;;;;;;;;;;-1:-1:-1;1792:12:8;:28;1157:5:0;:14;;;;;;;;;;;;;;1223:3;1207:13;:19;1193:11;:33;-1:-1:-1;805:2570:0;;-1:-1:-1;;;;;805:2570:0;2230:445:2;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:2;;2320:72;;;;;-1:-1:-1;;;2320:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:2;;2398:74;;;;-1:-1:-1;;;2398:74:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:2;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:2;;;;;;;;;-1:-1:-1;2538:23:2;-1:-1:-1;;;;;;;;;;;;2589:6:2;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:2;;2230:445;-1:-1:-1;;;;;2230:445:2:o;805:2570:0:-;;;;;;;", + "deployedSourceMap": "805:2570:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4814:102:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4814:102:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4814:102:8;-1:-1:-1;;;;;4814:102:8;;:::i;:::-;;412:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;412:47:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;412:47:8;;:::i;:::-;;;;;;;;;;;;;;;;;;2893:801;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2893:801:8;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2893:801:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2893:801:8;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2893:801:8;;-1:-1:-1;2893:801:8;-1:-1:-1;2893:801:8;;;;;;;;-1:-1:-1;;;;;2893:801:8;;;;;;;;;;;;;;;;;;;;;;;;:::i;601:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;601:25:8;;;:::i;:::-;;;;-1:-1:-1;;;;;601:25:8;;;;;;;;;;;;;;2230:445:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2230:445:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2230:445:2;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;933:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:114:2;;;:::i;1209:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1209:20:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;819:23:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;819:23:8;;;:::i;3553:342:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3553:342:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3553:342:2;;:::i;554:43:8:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;554:43:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;554:43:8;;:::i;381:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;381:27:8;;;:::i;1430:34:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1430:34:2;;;:::i;4651:113:8:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4651:113:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4651:113:8;-1:-1:-1;;;;;4651:113:8;;:::i;4128:293::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4128:293:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4128:293:8;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4128:293:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4128:293:8;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;4128:293:8;;-1:-1:-1;4128:293:8;-1:-1:-1;4128:293:8;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4128:293:8;;;;;;;;;;;;;;;;;866:26:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;866:26:0;;;:::i;2073:324:8:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2073:324:8;;:::i;3941:93:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3941:93:2;;;:::i;1549:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1549:39:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1549:39:2;;:::i;1499:46::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1499:46:2;;;:::i;630:29:8:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;630:29:8;;;:::i;3951:116::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3951:116:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3951:116:8;;:::i;1404:22:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1404:22:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1404:22:2;;:::i;1051:114::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1051:114:2;;;:::i;1369:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1369:31:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1369:31:2;;:::i;842:20:0:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;842:20:0;;;:::i;1468:27:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1468:27:2;;;:::i;4814:102:8:-;896:8;;-1:-1:-1;;;;;896:8:8;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4888:8;:23;;-1:-1:-1;;;;;;4888:23:8;-1:-1:-1;;;;;4888:23:8;;;;;;;;;;4814:102::o;412:47::-;;;;;;;;;;;;;;;:::o;2893:801::-;1934:11:18;;;;1926:55;;;;;-1:-1:-1;;;1926:55:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:18;;;3110:12:8;;3102:20;;;3094:59;;;;;-1:-1:-1;;;3094:59:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;3168:31;;;;:15;:31;;;;;;;;3167:32;3159:76;;;;;-1:-1:-1;;;3159:76:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;3249:18;3261:5;3249:11;:18::i;:::-;3241:59;;;;;-1:-1:-1;;;3241:59:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;3347:8;;:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3418:19:8;;;3347:126;;;;3439:17;;;3347:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3347:126:8;;:8;;;;;:20;;3368:6;;;;3347:126;;;;;;;;;;;;;;;;:8;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3347:126:8;;;;;;;;;;;;;;;;;;;;;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;;3347:126:8;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3347:126:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3347:126:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3347:126:8;3339:161;;;;;-1:-1:-1;;;3339:161:8;;;;;;;;;;;;-1:-1:-1;;;3339:161:8;;;;;;;;;;;;;;;3507:31;;;;:15;:31;;;;;;;;;:38;;-1:-1:-1;;3507:38:8;3541:4;3507:38;;;3605:10;;:18;;-1:-1:-1;;;3605:18:8;;;;3551:73;;3568:10;;3580:8;;3590:4;;3596:7;;-1:-1:-1;;;;;3605:10:8;;;;:16;;:18;;;;;;;;;;;:10;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;3605:18:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3605:18:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3605:18:8;3551:16;:73::i;:::-;3635:54;;;-1:-1:-1;;;;;3635:54:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2230:11:18;:18;;-1:-1:-1;;2230:18:18;2244:4;2230:18;;;-1:-1:-1;;;;;;2893:801:8:o;601:25::-;;;-1:-1:-1;;;;;601:25:8;;:::o;2230:445:2:-;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:2;;2320:72;;;;;-1:-1:-1;;;2320:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:2;;2398:74;;;;-1:-1:-1;;;2398:74:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:2;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:2;;;;;;;;;-1:-1:-1;2538:23:2;-1:-1:-1;;;;;;;;;;;;2589:6:2;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:2;;2230:445;-1:-1:-1;;;;;2230:445:2:o;933:114::-;-1:-1:-1;;;;;;;;;;;933:114:2;:::o;1209:20::-;;;;;;:::o;819:23:8:-;;;-1:-1:-1;;;;;819:23:8;;:::o;3553:342:2:-;3609:4;3625:10;3621:43;;-1:-1:-1;3652:5:2;3645:12;;3621:43;3680:16;;;;3702:171;3726:5;3732:1;3726:8;;;;;;;;;;;3717:5;:17;3713:53;;;3753:4;3746:11;;;;;3713:53;3777:6;;;3773:52;;-1:-1:-1;1542:3:2;3773:52;3855:16;;-1:-1:-1;;3832:3:2;;;;3855:16;3850:21;;;3855:16;;3850:21;;3702:171;;3885:5;3878:12;;;3553:342;;;;:::o;554:43:8:-;;;;;;;;;;;;;;;:::o;381:27::-;;;;:::o;1430:34:2:-;;;;;;:::o;4651:113:8:-;896:8;;-1:-1:-1;;;;;896:8:8;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4725:8;:34;;-1:-1:-1;;;;;;4725:34:8;-1:-1:-1;;;;;4725:34:8;;;;;;;;;;4651:113::o;4128:293::-;4244:35;;;;;;;;;;;;;;;;4209:19;;4255:16;4244:35;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;4244:35:8;-1:-1:-1;4236:43:8;-1:-1:-1;4289:6:8;4285:132;4301:27;;;4285:132;;;4347:28;4355:16;;4372:1;4355:19;;;;;;;;;;;;;4347:7;:28::i;:::-;4343:68;;;4398:4;4387:5;4393:1;4387:8;;;;;;;;:15;;;:8;;;;;;;;;;;:15;4343:68;4330:3;;4285:132;;;;4128:293;;;;:::o;866:26:0:-;;;;:::o;2073:324:8:-;1934:11:18;;;;1926:55;;;;;-1:-1:-1;;;1926:55:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:18;;;2070:5;2156:24:8;;;:11;:24;;;;;;2056:19:18;2156:24:8;2155:25;2147:71;;;;-1:-1:-1;;;2147:71:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2225:20;2248;2256:11;2248:7;:20::i;:::-;2274:24;;;;:11;:24;;;;;:31;;-1:-1:-1;;2274:31:8;2301:4;2274:31;;;2225:43;-1:-1:-1;2311:17:8;:15;:17::i;:::-;2340:52;;;;;;;;2376:15;2340:52;;;;;;2348:11;;2340:52;;;;;;;;-1:-1:-1;;2230:11:18;:18;;-1:-1:-1;;2230:18:18;2244:4;2230:18;;;2073:324:8:o;3941:93:2:-;4012:16;;3984:7;;4006:5;;4012:16;;4006:23;;;;;;;;;3999:30;;3941:93;:::o;1549:39::-;;;;;;;;;;;;;-1:-1:-1;1549:39:2;:::o;1499:46::-;1542:3;1499:46;:::o;630:29:8:-;;;-1:-1:-1;;;;;630:29:8;;:::o;3951:116::-;4012:4;4031:31;;;:15;:31;;;;;;;;;3951:116::o;1404:22:2:-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1404:22:2;:::o;1051:114::-;1088:77;1051:114;:::o;1369:31::-;;;;;;;;;;842:20:0;;;-1:-1:-1;;;;;842:20:0;;:::o;1468:27:2:-;;;-1:-1:-1;;;1468:27:2;;;;;:::o;1430:801:0:-;1601:7;1588:9;:20;1580:81;;;;-1:-1:-1;;;1580:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1681:20:0;;;;;;1707:226;;1726:73;1745:10;1787:11;;1772:12;1757;;:27;:41;1726:18;:73::i;:::-;1807:39;1826:6;1834:11;;1807:18;:39::i;:::-;1707:226;;;1867:59;1886:10;1913:12;1898;;:27;1867:18;:59::i;:::-;1943:16;;1939:79;;1969:42;1988:8;1998:12;1969:18;:42::i;:::-;2028:11;;2024:203;;2068:34;;2050:12;;-1:-1:-1;;;;;2068:15:0;;;2090:7;;2050:12;2068:34;2050:12;2068:34;2090:7;2068:15;:34;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2049:53:0;;;2115:7;2110:111;;2186:26;;-1:-1:-1;;;;;2186:17:0;;;:26;;;;;2204:7;;2186:26;;;;2204:7;2186:17;:26;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2186:26:0;2110:111;2024:203;;1430:801;;;;;;:::o;2679:802:2:-;2770:9;;2728:12;2820:6;;2728:12;;2770:9;-1:-1:-1;;;2770:9:2;;;;;;2820:6;;2816:1;2809:17;2793:33;;;;2785:93;;;;-1:-1:-1;;;2785:93:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2884:9;:14;;;-1:-1:-1;;;2884:14:2;;;;;2897:1;2884:14;;;;;-1:-1:-1;;2884:14:2;;;;;;2931:5;-1:-1:-1;;;2980:355:2;3003:6;;;;;;2999:10;;;;2980:355;;;3028:16;;;3024:225;;3068:16;3061:23;;3102:5;3108:1;3102:8;;;;;;;;;;;;;;;;;;3094:16;;3141;3121:14;3136:1;3121:17;;;;;;;;;;;;;;;;;;;:36;3024:225;;;3189:14;3204:1;3189:17;;;;;;;;;;;;;;;;;;3182:24;;3224:16;3216:24;;3024:225;3276:26;3290:4;3296:5;3276:13;:26::i;:::-;3257:45;-1:-1:-1;3327:1:2;3311:17;;;;;-1:-1:-1;3011:3:2;;2980:355;;;-1:-1:-1;3361:16:2;;1542:3;;3360:42;3361:16;;;;:20;3360:42;3341:16;:61;;-1:-1:-1;;3341:61:2;3360:42;;;;3341:61;;;;;;;;;;;;3434:16;;3408:5;;3414:16;3408:23;;;;;;;;:42;-1:-1:-1;;3463:9:2;;-1:-1:-1;;;3463:9:2;;;;-1:-1:-1;;3463:13:2;;2679:802;-1:-1:-1;;;;2679:802:2:o;1235:191:0:-;1285:9;:14;1277:75;;;;-1:-1:-1;;;1277:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1358:63;1381:10;1401:4;1408:12;;1358:22;:63::i;:::-;1235:191::o;2829:544::-;2938:5;;2949:63;;;-1:-1:-1;;;;;2949:63:0;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2949:63:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2938:75:0;;;;2903:12;;2917:17;;2938:5;;;2949:63;2938:75;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2938:75:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2902:111:0;;;;3027:7;3019:37;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;;;;3156:11;;:15;3152:217;;3189:4;:11;3204:2;3189:17;3181:72;;;;-1:-1:-1;;;3181:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3282:4;3271:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3271:24:0;;-1:-1:-1;3271:24:0;3303:59;;;;-1:-1:-1;;;3303:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2829:544;;;;:::o;2235:590::-;2363:5;;2374:74;;;-1:-1:-1;;;;;2374:74:0;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2374:74:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2363:86:0;;;;2328:12;;2342:17;;2363:5;;;2374:74;2363:86;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2363:86:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2327:122:0;;;;2463:7;2455:45;;;;;-1:-1:-1;;;2455:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2600:11;;:15;2596:225;;2633:4;:11;2648:2;2633:17;2625:72;;;;-1:-1:-1;;;2625:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2726:4;2715:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2715:24:0;;-1:-1:-1;2715:24:0;2747:67;;;;-1:-1:-1;;;2747:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2235:590;;;;;:::o", "source": "// https://tornado.cash\n/*\n* d888888P dP a88888b. dP\n* 88 88 d8' `88 88\n* 88 .d8888b. 88d888b. 88d888b. .d8888b. .d888b88 .d8888b. 88 .d8888b. .d8888b. 88d888b.\n* 88 88' `88 88' `88 88' `88 88' `88 88' `88 88' `88 88 88' `88 Y8ooooo. 88' `88\n* 88 88. .88 88 88 88 88. .88 88. .88 88. .88 dP Y8. .88 88. .88 88 88 88\n* dP `88888P' dP dP dP `88888P8 `88888P8 `88888P' 88 Y88888P' `88888P8 `88888P' dP dP\n* ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\n*/\n\npragma solidity 0.5.17;\n\nimport \"./Tornado.sol\";\n\ncontract ERC20Tornado is Tornado {\n address public token;\n uint256 public protocolFee;\n\n constructor(\n IVerifier _verifier,\n IFeeManager _feeManager,\n uint256 _denomination,\n uint32 _merkleTreeHeight,\n address _operator,\n address _token\n ) Tornado(_verifier, _feeManager, _denomination, _merkleTreeHeight, _operator) public {\n token = _token;\n // 0.5% fee\n protocolFee = _denomination / 200;\n }\n\n function _processDeposit() internal {\n require(msg.value == 0, \"ETH value is supposed to be 0 for ERC20 instance\");\n _safeErc20TransferFrom(msg.sender, address(this), denomination);\n }\n\n function _processWithdraw(address payable _recipient, address payable _relayer, uint256 _relayer_fee, uint256 _refund, address _feeTo) internal {\n require(msg.value == _refund, \"Incorrect refund amount received by the contract\");\n\n bool feeOn = _feeTo != address(0);\n if (feeOn) {\n _safeErc20Transfer(_recipient, denomination - _relayer_fee - protocolFee);\n _safeErc20Transfer(_feeTo, protocolFee);\n } else {\n _safeErc20Transfer(_recipient, denomination - _relayer_fee);\n }\n\n if (_relayer_fee > 0) {\n _safeErc20Transfer(_relayer, _relayer_fee);\n }\n\n if (_refund > 0) {\n (bool success, ) = _recipient.call.value(_refund)(\"\");\n if (!success) {\n // let's return _refund back to the relayer\n _relayer.transfer(_refund);\n }\n }\n }\n\n function _safeErc20TransferFrom(address _from, address _to, uint256 _amount) internal {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd /* transferFrom */, _from, _to, _amount));\n require(success, \"not enough allowed tokens\");\n\n // if contract returns some data lets make sure that is `true` according to standard\n if (data.length > 0) {\n require(data.length == 32, \"data length should be either 0 or 32 bytes\");\n success = abi.decode(data, (bool));\n require(success, \"not enough allowed tokens. Token returns false.\");\n }\n }\n\n function _safeErc20Transfer(address _to, uint256 _amount) internal {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb /* transfer */, _to, _amount));\n require(success, \"not enough tokens\");\n\n // if contract returns some data lets make sure that is `true` according to standard\n if (data.length > 0) {\n require(data.length == 32, \"data length should be either 0 or 32 bytes\");\n success = abi.decode(data, (bool));\n require(success, \"not enough tokens. Token returns false.\");\n }\n }\n}\n", - "sourcePath": "/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol", "exportedSymbols": { "ERC20Tornado": [ 266 @@ -602,12 +602,12 @@ "src": "755:23:0" }, { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "file": "./Tornado.sol", "id": 2, "nodeType": "ImportDirective", "scope": 267, - "sourceUnit": 971, + "sourceUnit": 1205, "src": "780:23:0", "symbolAliases": [], "unitAlias": "" @@ -621,10 +621,10 @@ "id": 3, "name": "Tornado", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 970, + "referencedDeclaration": 1204, "src": "830:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Tornado_$970", + "typeIdentifier": "t_contract$_Tornado_$1204", "typeString": "contract Tornado" } }, @@ -634,9 +634,9 @@ } ], "contractDependencies": [ - 632, - 970, - 1000 + 685, + 1204, + 3255 ], "contractKind": "contract", "documentation": null, @@ -644,9 +644,9 @@ "id": 266, "linearizedBaseContracts": [ 266, - 970, - 1000, - 632 + 1204, + 3255, + 685 ], "name": "ERC20Tornado", "nodeType": "ContractDefinition", @@ -857,7 +857,7 @@ "referencedDeclaration": 10, "src": "1075:9:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$648", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -870,7 +870,7 @@ "referencedDeclaration": 12, "src": "1086:11:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$654", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -921,10 +921,10 @@ "name": "Tornado", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, + "referencedDeclaration": 1204, "src": "1067:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Tornado_$970_$", + "typeIdentifier": "t_type$_t_contract$_Tornado_$1204_$", "typeString": "type(contract Tornado)" } }, @@ -948,7 +948,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$648", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" }, "typeName": { @@ -956,10 +956,10 @@ "id": 9, "name": "IVerifier", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 648, + "referencedDeclaration": 882, "src": "914:9:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$648", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -976,7 +976,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$654", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" }, "typeName": { @@ -984,10 +984,10 @@ "id": 11, "name": "IFeeManager", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 654, + "referencedDeclaration": 888, "src": "939:11:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$654", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -1144,7 +1144,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "src": "1285:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1225,10 +1225,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "1277:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1265,7 +1265,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "src": "1381:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1295,7 +1295,7 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1041, + "referencedDeclaration": 3296, "src": "1401:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20Tornado_$266", @@ -1343,7 +1343,7 @@ "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "src": "1408:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1419,7 +1419,7 @@ "scope": 266, "src": "1235:191:0", "stateMutability": "nonpayable", - "superFunction": 785, + "superFunction": 1019, "visibility": "internal" }, { @@ -1451,7 +1451,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "src": "1588:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1527,10 +1527,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "1580:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1732,7 +1732,7 @@ "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "src": "1898:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1856,7 +1856,7 @@ "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "src": "1757:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2647,7 +2647,7 @@ "scope": 266, "src": "1430:801:0", "stateMutability": "nonpayable", - "superFunction": 886, + "superFunction": 1120, "visibility": "internal" }, { @@ -2805,7 +2805,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "src": "2374:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -2943,10 +2943,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "2455:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3151,10 +3151,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "2625:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3268,7 +3268,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "src": "2715:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -3364,10 +3364,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "2747:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3641,7 +3641,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "src": "2949:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -3779,10 +3779,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "3019:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3987,10 +3987,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "3181:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -4104,7 +4104,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "src": "3271:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -4200,10 +4200,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "3303:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -4321,7 +4321,7 @@ }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol", "exportedSymbols": { "ERC20Tornado": [ 266 @@ -4343,8 +4343,8 @@ }, { "attributes": { - "SourceUnit": 971, - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "SourceUnit": 1205, + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "file": "./Tornado.sol", "scope": 267, "symbolAliases": [ @@ -4359,18 +4359,18 @@ { "attributes": { "contractDependencies": [ - 632, - 970, - 1000 + 685, + 1204, + 3255 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ 266, - 970, - 1000, - 632 + 1204, + 3255, + 685 ], "name": "ERC20Tornado", "scope": 267 @@ -4385,7 +4385,7 @@ "attributes": { "contractScope": null, "name": "Tornado", - "referencedDeclaration": 970, + "referencedDeclaration": 1204, "type": "contract Tornado" }, "id": 3, @@ -4481,7 +4481,7 @@ "attributes": { "contractScope": null, "name": "IVerifier", - "referencedDeclaration": 648, + "referencedDeclaration": 882, "type": "contract IVerifier" }, "id": 9, @@ -4509,7 +4509,7 @@ "attributes": { "contractScope": null, "name": "IFeeManager", - "referencedDeclaration": 654, + "referencedDeclaration": 888, "type": "contract IFeeManager" }, "id": 11, @@ -4651,7 +4651,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 970, + "referencedDeclaration": 1204, "type": "type(contract Tornado)", "value": "Tornado" }, @@ -4897,7 +4897,7 @@ "name": "_processDeposit", "scope": 266, "stateMutability": "nonpayable", - "superFunction": 785, + "superFunction": 1019, "visibility": "internal" }, "children": [ @@ -4955,10 +4955,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -4999,7 +4999,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, @@ -5123,7 +5123,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, @@ -5176,7 +5176,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1041, + "referencedDeclaration": 3296, "type": "contract ERC20Tornado", "value": "this" }, @@ -5195,7 +5195,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, @@ -5235,7 +5235,7 @@ "name": "_processWithdraw", "scope": 266, "stateMutability": "nonpayable", - "superFunction": 886, + "superFunction": 1120, "visibility": "internal" }, "children": [ @@ -5422,10 +5422,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -5466,7 +5466,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, @@ -5761,7 +5761,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, @@ -5977,7 +5977,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, @@ -6818,7 +6818,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -6935,10 +6935,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7092,10 +7092,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7267,7 +7267,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -7369,10 +7369,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7687,7 +7687,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -7790,10 +7790,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7947,10 +7947,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -8122,7 +8122,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -8224,10 +8224,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -8314,14 +8314,22 @@ "42220": { "events": {}, "links": { - "Hasher": "0x5666A6E07d7b991489b1D0f53d37B664B312a1fE" + "Hasher": "0xeE4628179283Be3f5096b94bc528e443cFAf7c2f" }, - "address": "0xAB0931522889cD50b3519b24a2d74c825b1A3adC", - "transactionHash": "0x708b8ad77da6ce6a7ce2d205c83cc7e4e4aa0dcac9bf6911ee71740263a913cf" + "address": "0x31cCFf7Afd9c215Df7dE0023944F55E3D5F2dB86", + "transactionHash": "0xd550e12cd9016daece848ca052569bfa0b530f0f1fb8538c40cda1138794e748" + }, + "44787": { + "events": {}, + "links": { + "Hasher": "0x415A7775E7B2DC547e071d752CF404316498a43A" + }, + "address": "0x116aAf4692De00911B2D25d9F78BBe102f72c749", + "transactionHash": "0x7c578db8b1fcaede049a551fd485e0dec83cca4551d9219061311417cd9f3d0f" } }, "schemaVersion": "3.3.4", - "updatedAt": "2021-04-02T22:54:11.029Z", + "updatedAt": "2021-04-04T21:10:50.103Z", "networkType": "ethereum", "devdoc": { "methods": { diff --git a/client/contracts/CELOTornado.2.json b/client/contracts/CELOTornado.2.json index bd4fb3c..c999e22 100644 --- a/client/contracts/CELOTornado.2.json +++ b/client/contracts/CELOTornado.2.json @@ -574,15 +574,15 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"contract IFeeManager\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_denomination\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_merkleTreeHeight\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commitment\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"leafIndex\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifierHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"FIELD_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ROOT_HISTORY_SIZE\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ZERO_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOperator\",\"type\":\"address\"}],\"name\":\"changeOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"commitments\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentRootIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"denomination\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_commitment\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeManager\",\"outputs\":[{\"internalType\":\"contract IFeeManager\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"filledSubtrees\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_right\",\"type\":\"bytes32\"}],\"name\":\"hashLeftRight\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"isKnownRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"}],\"name\":\"isSpent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_nullifierHashes\",\"type\":\"bytes32[]\"}],\"name\":\"isSpentArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"spent\",\"type\":\"bool[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"levels\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nullifierHashes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"protocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roots\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newVerifier\",\"type\":\"address\"}],\"name\":\"updateVerifier\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"verifier\",\"outputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"},{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_refund\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"zeros\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"changeOperator(address)\":{\"details\":\"operator can change his address \"},\"deposit(bytes32)\":{\"details\":\"Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\",\"params\":{\"_commitment\":\"the note commitment, which is PedersenHash(nullifier + secret)\"}},\"getLastRoot()\":{\"details\":\"Returns the last root\"},\"hashLeftRight(bytes32,bytes32)\":{\"details\":\"Hash 2 tree leaves, returns MiMC(_left, _right)\"},\"isKnownRoot(bytes32)\":{\"details\":\"Whether the root is present in the root history\"},\"isSpent(bytes32)\":{\"details\":\"whether a note is already spent \"},\"isSpentArray(bytes32[])\":{\"details\":\"whether an array of notes is already spent \"},\"updateVerifier(address)\":{\"details\":\"allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held. After that operator rights are supposed to be transferred to zero address\"},\"withdraw(bytes,bytes32,bytes32,address,address,uint256,uint256)\":{\"details\":\"Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs `input` array consists of: - merkle root of all deposits in the contract - hash of unique deposit nullifier to prevent double spends - the recipient of funds - optional fee that goes to the transaction sender (usually a relay)\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":\"ERC20Tornado\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":{\"keccak256\":\"0x5c57c88351063f1864166162f6f32be5aebae197a18abaef8d08d67b36440a51\",\"urls\":[\"bzz-raw://6da2d6faa828b1cad43428366d273e4aa61fc176d6541fb641028985497caa0f\",\"dweb:/ipfs/QmULz388t88hr999vUk5PidTTJwbEWGUyb3d6QGnDA6qoV\"]},\"/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol\":{\"keccak256\":\"0xe7db8acb3efcecf95c7364f447ed1764c571dbf5090fd4641fe4668a965332eb\",\"urls\":[\"bzz-raw://45e790c247c38ed8ae473e3165c1148ea10a753cf6e9f9c8742394019be2aef6\",\"dweb:/ipfs/QmaGfk1ndvqur2NvCY3TWoKuorfBVShXeykKei18GDY582\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}", - "bytecode": "0x6080604052600380546001600160401b03191690553480156200002157600080fd5b5060405162001e5838038062001e58833981810160405260c08110156200004757600080fd5b508051602082015160408301516060840151608085015160a090950151939492939192909185858585858163ffffffff8116620000b65760405162461bcd60e51b815260040180806020018281038252602781526020018062001dcf6027913960400191505060405180910390fd5b60208163ffffffff1610620000fd5760405162461bcd60e51b815260040180806020018281038252602281526020018062001e166022913960400191505060405180910390fd5b6000805463ffffffff191663ffffffff83161781556002805460018181019092557f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60008051602062001d8e833981519152909101819055815480830183559282905260008051602062001e388339815191529092018290555b60005463ffffffff9081169082161015620001eb57620001a182806001600160e01b03620002ba16565b60028054600181810190925560008051602062001d8e8339815191520182905580548082018255600082905260008051602062001e38833981519152018290559092500162000177565b506200020181806001600160e01b03620002ba16565b60046000015550506068805460ff1916600117905582620002545760405162461bcd60e51b815260040180806020018281038252602581526020018062001d696025913960400191505060405180910390fd5b606c80546001600160a01b03199081166001600160a01b0397881617909155606d8054821695871695909517909455606e8054851691861691909117905550606955606f805490911691831691909117905560c8840460705550620004a7945050505050565b600060008051602062001df6833981519152831062000320576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602062001df683398151915282106200036f5760405162461bcd60e51b815260040180806020018281038252602181526020018062001dae6021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015620003ca57600080fd5b505af4158015620003df573d6000803e3d6000fd5b505050506040513d6040811015620003f657600080fd5b508051602090910151909250905060008051602062001df6833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b1580156200047057600080fd5b505af415801562000485573d6000803e3d6000fd5b505050506040513d60408110156200049c57600080fd5b505195945050505050565b6118b280620004b76000396000f3fe6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a72315820c90af910ddfda5b33dab20c369a888b349922f695f9eee0e2eb3e0273adc895364736f6c6343000511003264656e6f6d696e6174696f6e2073686f756c642062652067726561746572207468616e2030405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5f72696768742073686f756c6420626520696e7369646520746865206669656c645f747265654c6576656c732073686f756c642062652067726561746572207468616e207a65726f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000015f747265654c6576656c732073686f756c64206265206c657373207468616e203332b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6", - "deployedBytecode": "0x6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a72315820c90af910ddfda5b33dab20c369a888b349922f695f9eee0e2eb3e0273adc895364736f6c63430005110032", - "sourceMap": "805:2570:0:-;;;1430:34:2;;;-1:-1:-1;;;;;;1468:27:2;;;897:334:0;5:2:-1;;;;30:1;27;20:12;5:2;897:334:0;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;897:334:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1646:15:2;;;1638:67;;;;-1:-1:-1;;;1638:67:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:2;1719:11;:16;;;1711:63;;;;-1:-1:-1;;;1711:63:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:6;:20;;-1:-1:-1;;1780:20:2;;;;;;;1854:5;27:10:-1;;-1:-1;23:18;;;45:23;;;1088:77:2;-1:-1:-1;;;;;;;;;;;1854:23:2;;;;;;27:10:-1;;23:18;;;45:23;;1883:32:2;;;;-1:-1:-1;;;;;;;;;;;1883:32:2;;;;;;1922:175;1945:6;;;;;;1941:10;;;;1922:175;;;1980:39;1994:11;;-1:-1:-1;;;;;1980:13:2;:39;:::i;:::-;2027:5;27:10:-1;;39:1;23:18;;;45:23;;;-1:-1;;;;;;;;;;;2027:23:2;;;;27:10:-1;;23:18;;;45:23;;-1:-1;2058:32:2;;;-1:-1:-1;;;;;;;;;;;2058:32:2;;;;1966:53;;-1:-1:-1;1953:3:2;1922:175;;;-1:-1:-1;2114:39:2;2128:11;;-1:-1:-1;;;;;2114:13:2;:39;:::i;:::-;2103:5;2109:1;2103:8;:50;-1:-1:-1;;1421:11:4;:18;;-1:-1:-1;;1421:18:4;1435:4;1421:18;;;1645:17:3;1637:67;;;;-1:-1:-1;;;1637:67:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1710:8;:20;;-1:-1:-1;;;;;;1710:20:3;;;-1:-1:-1;;;;;1710:20:3;;;;;;;1736:10;:24;;;;;;;;;;;;;;1766:8;:20;;;;;;;;;;;;;-1:-1:-1;1792:12:3;:28;1157:5:0;:14;;;;;;;;;;;;;;1223:3;1207:13;:19;1193:11;:33;-1:-1:-1;805:2570:0;;-1:-1:-1;;;;;805:2570:0;2230:445:2;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:2;;2320:72;;;;;-1:-1:-1;;;2320:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:2;;2398:74;;;;-1:-1:-1;;;2398:74:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:2;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:2;;;;;;;;;-1:-1:-1;2538:23:2;-1:-1:-1;;;;;;;;;;;;2589:6:2;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:2;;2230:445;-1:-1:-1;;;;;2230:445:2:o;805:2570:0:-;;;;;;;", - "deployedSourceMap": "805:2570:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4814:102:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4814:102:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4814:102:3;-1:-1:-1;;;;;4814:102:3;;:::i;:::-;;412:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;412:47:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;412:47:3;;:::i;:::-;;;;;;;;;;;;;;;;;;2893:801;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2893:801:3;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2893:801:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2893:801:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2893:801:3;;-1:-1:-1;2893:801:3;-1:-1:-1;2893:801:3;;;;;;;;-1:-1:-1;;;;;2893:801:3;;;;;;;;;;;;;;;;;;;;;;;;:::i;601:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;601:25:3;;;:::i;:::-;;;;-1:-1:-1;;;;;601:25:3;;;;;;;;;;;;;;2230:445:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2230:445:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2230:445:2;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;933:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:114:2;;;:::i;1209:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1209:20:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;819:23:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;819:23:3;;;:::i;3553:342:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3553:342:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3553:342:2;;:::i;554:43:3:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;554:43:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;554:43:3;;:::i;381:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;381:27:3;;;:::i;1430:34:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1430:34:2;;;:::i;4651:113:3:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4651:113:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4651:113:3;-1:-1:-1;;;;;4651:113:3;;:::i;4128:293::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4128:293:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4128:293:3;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4128:293:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4128:293:3;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;4128:293:3;;-1:-1:-1;4128:293:3;-1:-1:-1;4128:293:3;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4128:293:3;;;;;;;;;;;;;;;;;866:26:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;866:26:0;;;:::i;2073:324:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2073:324:3;;:::i;3941:93:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3941:93:2;;;:::i;1549:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1549:39:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1549:39:2;;:::i;1499:46::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1499:46:2;;;:::i;630:29:3:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;630:29:3;;;:::i;3951:116::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3951:116:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3951:116:3;;:::i;1404:22:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1404:22:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1404:22:2;;:::i;1051:114::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1051:114:2;;;:::i;1369:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1369:31:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1369:31:2;;:::i;842:20:0:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;842:20:0;;;:::i;1468:27:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1468:27:2;;;:::i;4814:102:3:-;896:8;;-1:-1:-1;;;;;896:8:3;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4888:8;:23;;-1:-1:-1;;;;;;4888:23:3;-1:-1:-1;;;;;4888:23:3;;;;;;;;;;4814:102::o;412:47::-;;;;;;;;;;;;;;;:::o;2893:801::-;1934:11:4;;;;1926:55;;;;;-1:-1:-1;;;1926:55:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:4;;;3110:12:3;;3102:20;;;3094:59;;;;;-1:-1:-1;;;3094:59:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;3168:31;;;;:15;:31;;;;;;;;3167:32;3159:76;;;;;-1:-1:-1;;;3159:76:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;3249:18;3261:5;3249:11;:18::i;:::-;3241:59;;;;;-1:-1:-1;;;3241:59:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;3347:8;;:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3418:19:3;;;3347:126;;;;3439:17;;;3347:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3347:126:3;;:8;;;;;:20;;3368:6;;;;3347:126;;;;;;;;;;;;;;;;:8;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3347:126:3;;;;;;;;;;;;;;;;;;;;;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;;3347:126:3;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3347:126:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3347:126:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3347:126:3;3339:161;;;;;-1:-1:-1;;;3339:161:3;;;;;;;;;;;;-1:-1:-1;;;3339:161:3;;;;;;;;;;;;;;;3507:31;;;;:15;:31;;;;;;;;;:38;;-1:-1:-1;;3507:38:3;3541:4;3507:38;;;3605:10;;:18;;-1:-1:-1;;;3605:18:3;;;;3551:73;;3568:10;;3580:8;;3590:4;;3596:7;;-1:-1:-1;;;;;3605:10:3;;;;:16;;:18;;;;;;;;;;;:10;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;3605:18:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3605:18:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3605:18:3;3551:16;:73::i;:::-;3635:54;;;-1:-1:-1;;;;;3635:54:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2230:11:4;:18;;-1:-1:-1;;2230:18:4;2244:4;2230:18;;;-1:-1:-1;;;;;;2893:801:3:o;601:25::-;;;-1:-1:-1;;;;;601:25:3;;:::o;2230:445:2:-;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:2;;2320:72;;;;;-1:-1:-1;;;2320:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:2;;2398:74;;;;-1:-1:-1;;;2398:74:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:2;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:2;;;;;;;;;-1:-1:-1;2538:23:2;-1:-1:-1;;;;;;;;;;;;2589:6:2;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:2;;2230:445;-1:-1:-1;;;;;2230:445:2:o;933:114::-;-1:-1:-1;;;;;;;;;;;933:114:2;:::o;1209:20::-;;;;;;:::o;819:23:3:-;;;-1:-1:-1;;;;;819:23:3;;:::o;3553:342:2:-;3609:4;3625:10;3621:43;;-1:-1:-1;3652:5:2;3645:12;;3621:43;3680:16;;;;3702:171;3726:5;3732:1;3726:8;;;;;;;;;;;3717:5;:17;3713:53;;;3753:4;3746:11;;;;;3713:53;3777:6;;;3773:52;;-1:-1:-1;1542:3:2;3773:52;3855:16;;-1:-1:-1;;3832:3:2;;;;3855:16;3850:21;;;3855:16;;3850:21;;3702:171;;3885:5;3878:12;;;3553:342;;;;:::o;554:43:3:-;;;;;;;;;;;;;;;:::o;381:27::-;;;;:::o;1430:34:2:-;;;;;;:::o;4651:113:3:-;896:8;;-1:-1:-1;;;;;896:8:3;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4725:8;:34;;-1:-1:-1;;;;;;4725:34:3;-1:-1:-1;;;;;4725:34:3;;;;;;;;;;4651:113::o;4128:293::-;4244:35;;;;;;;;;;;;;;;;4209:19;;4255:16;4244:35;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;4244:35:3;-1:-1:-1;4236:43:3;-1:-1:-1;4289:6:3;4285:132;4301:27;;;4285:132;;;4347:28;4355:16;;4372:1;4355:19;;;;;;;;;;;;;4347:7;:28::i;:::-;4343:68;;;4398:4;4387:5;4393:1;4387:8;;;;;;;;:15;;;:8;;;;;;;;;;;:15;4343:68;4330:3;;4285:132;;;;4128:293;;;;:::o;866:26:0:-;;;;:::o;2073:324:3:-;1934:11:4;;;;1926:55;;;;;-1:-1:-1;;;1926:55:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:4;;;2070:5;2156:24:3;;;:11;:24;;;;;;2056:19:4;2156:24:3;2155:25;2147:71;;;;-1:-1:-1;;;2147:71:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2225:20;2248;2256:11;2248:7;:20::i;:::-;2274:24;;;;:11;:24;;;;;:31;;-1:-1:-1;;2274:31:3;2301:4;2274:31;;;2225:43;-1:-1:-1;2311:17:3;:15;:17::i;:::-;2340:52;;;;;;;;2376:15;2340:52;;;;;;2348:11;;2340:52;;;;;;;;-1:-1:-1;;2230:11:4;:18;;-1:-1:-1;;2230:18:4;2244:4;2230:18;;;2073:324:3:o;3941:93:2:-;4012:16;;3984:7;;4006:5;;4012:16;;4006:23;;;;;;;;;3999:30;;3941:93;:::o;1549:39::-;;;;;;;;;;;;;-1:-1:-1;1549:39:2;:::o;1499:46::-;1542:3;1499:46;:::o;630:29:3:-;;;-1:-1:-1;;;;;630:29:3;;:::o;3951:116::-;4012:4;4031:31;;;:15;:31;;;;;;;;;3951:116::o;1404:22:2:-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1404:22:2;:::o;1051:114::-;1088:77;1051:114;:::o;1369:31::-;;;;;;;;;;842:20:0;;;-1:-1:-1;;;;;842:20:0;;:::o;1468:27:2:-;;;-1:-1:-1;;;1468:27:2;;;;;:::o;1430:801:0:-;1601:7;1588:9;:20;1580:81;;;;-1:-1:-1;;;1580:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1681:20:0;;;;;;1707:226;;1726:73;1745:10;1787:11;;1772:12;1757;;:27;:41;1726:18;:73::i;:::-;1807:39;1826:6;1834:11;;1807:18;:39::i;:::-;1707:226;;;1867:59;1886:10;1913:12;1898;;:27;1867:18;:59::i;:::-;1943:16;;1939:79;;1969:42;1988:8;1998:12;1969:18;:42::i;:::-;2028:11;;2024:203;;2068:34;;2050:12;;-1:-1:-1;;;;;2068:15:0;;;2090:7;;2050:12;2068:34;2050:12;2068:34;2090:7;2068:15;:34;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2049:53:0;;;2115:7;2110:111;;2186:26;;-1:-1:-1;;;;;2186:17:0;;;:26;;;;;2204:7;;2186:26;;;;2204:7;2186:17;:26;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2186:26:0;2110:111;2024:203;;1430:801;;;;;;:::o;2679:802:2:-;2770:9;;2728:12;2820:6;;2728:12;;2770:9;-1:-1:-1;;;2770:9:2;;;;;;2820:6;;2816:1;2809:17;2793:33;;;;2785:93;;;;-1:-1:-1;;;2785:93:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2884:9;:14;;;-1:-1:-1;;;2884:14:2;;;;;2897:1;2884:14;;;;;-1:-1:-1;;2884:14:2;;;;;;2931:5;-1:-1:-1;;;2980:355:2;3003:6;;;;;;2999:10;;;;2980:355;;;3028:16;;;3024:225;;3068:16;3061:23;;3102:5;3108:1;3102:8;;;;;;;;;;;;;;;;;;3094:16;;3141;3121:14;3136:1;3121:17;;;;;;;;;;;;;;;;;;;:36;3024:225;;;3189:14;3204:1;3189:17;;;;;;;;;;;;;;;;;;3182:24;;3224:16;3216:24;;3024:225;3276:26;3290:4;3296:5;3276:13;:26::i;:::-;3257:45;-1:-1:-1;3327:1:2;3311:17;;;;;-1:-1:-1;3011:3:2;;2980:355;;;-1:-1:-1;3361:16:2;;1542:3;;3360:42;3361:16;;;;:20;3360:42;3341:16;:61;;-1:-1:-1;;3341:61:2;3360:42;;;;3341:61;;;;;;;;;;;;3434:16;;3408:5;;3414:16;3408:23;;;;;;;;:42;-1:-1:-1;;3463:9:2;;-1:-1:-1;;;3463:9:2;;;;-1:-1:-1;;3463:13:2;;2679:802;-1:-1:-1;;;;2679:802:2:o;1235:191:0:-;1285:9;:14;1277:75;;;;-1:-1:-1;;;1277:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1358:63;1381:10;1401:4;1408:12;;1358:22;:63::i;:::-;1235:191::o;2829:544::-;2938:5;;2949:63;;;-1:-1:-1;;;;;2949:63:0;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2949:63:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2938:75:0;;;;2903:12;;2917:17;;2938:5;;;2949:63;2938:75;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2938:75:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2902:111:0;;;;3027:7;3019:37;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;;;;3156:11;;:15;3152:217;;3189:4;:11;3204:2;3189:17;3181:72;;;;-1:-1:-1;;;3181:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3282:4;3271:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3271:24:0;;-1:-1:-1;3271:24:0;3303:59;;;;-1:-1:-1;;;3303:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2829:544;;;;:::o;2235:590::-;2363:5;;2374:74;;;-1:-1:-1;;;;;2374:74:0;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2374:74:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2363:86:0;;;;2328:12;;2342:17;;2363:5;;;2374:74;2363:86;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2363:86:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2327:122:0;;;;2463:7;2455:45;;;;;-1:-1:-1;;;2455:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2600:11;;:15;2596:225;;2633:4;:11;2648:2;2633:17;2625:72;;;;-1:-1:-1;;;2625:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2726:4;2715:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2715:24:0;;-1:-1:-1;2715:24:0;2747:67;;;;-1:-1:-1;;;2747:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2235:590;;;;;:::o", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"contract IFeeManager\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_denomination\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_merkleTreeHeight\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commitment\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"leafIndex\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifierHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"FIELD_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ROOT_HISTORY_SIZE\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ZERO_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOperator\",\"type\":\"address\"}],\"name\":\"changeOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"commitments\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentRootIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"denomination\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_commitment\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeManager\",\"outputs\":[{\"internalType\":\"contract IFeeManager\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"filledSubtrees\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_right\",\"type\":\"bytes32\"}],\"name\":\"hashLeftRight\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"isKnownRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"}],\"name\":\"isSpent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_nullifierHashes\",\"type\":\"bytes32[]\"}],\"name\":\"isSpentArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"spent\",\"type\":\"bool[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"levels\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nullifierHashes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"protocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roots\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newVerifier\",\"type\":\"address\"}],\"name\":\"updateVerifier\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"verifier\",\"outputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"},{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_refund\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"zeros\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"changeOperator(address)\":{\"details\":\"operator can change his address \"},\"deposit(bytes32)\":{\"details\":\"Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\",\"params\":{\"_commitment\":\"the note commitment, which is PedersenHash(nullifier + secret)\"}},\"getLastRoot()\":{\"details\":\"Returns the last root\"},\"hashLeftRight(bytes32,bytes32)\":{\"details\":\"Hash 2 tree leaves, returns MiMC(_left, _right)\"},\"isKnownRoot(bytes32)\":{\"details\":\"Whether the root is present in the root history\"},\"isSpent(bytes32)\":{\"details\":\"whether a note is already spent \"},\"isSpentArray(bytes32[])\":{\"details\":\"whether an array of notes is already spent \"},\"updateVerifier(address)\":{\"details\":\"allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held. After that operator rights are supposed to be transferred to zero address\"},\"withdraw(bytes,bytes32,bytes32,address,address,uint256,uint256)\":{\"details\":\"Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs `input` array consists of: - merkle root of all deposits in the contract - hash of unique deposit nullifier to prevent double spends - the recipient of funds - optional fee that goes to the transaction sender (usually a relay)\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":\"ERC20Tornado\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":{\"keccak256\":\"0x5c57c88351063f1864166162f6f32be5aebae197a18abaef8d08d67b36440a51\",\"urls\":[\"bzz-raw://6da2d6faa828b1cad43428366d273e4aa61fc176d6541fb641028985497caa0f\",\"dweb:/ipfs/QmULz388t88hr999vUk5PidTTJwbEWGUyb3d6QGnDA6qoV\"]},\"/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/home/home/dotfiles/tornado-core/contracts/Tornado.sol\":{\"keccak256\":\"0xe7db8acb3efcecf95c7364f447ed1764c571dbf5090fd4641fe4668a965332eb\",\"urls\":[\"bzz-raw://45e790c247c38ed8ae473e3165c1148ea10a753cf6e9f9c8742394019be2aef6\",\"dweb:/ipfs/QmaGfk1ndvqur2NvCY3TWoKuorfBVShXeykKei18GDY582\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}", + "bytecode": "0x6080604052600380546001600160401b03191690553480156200002157600080fd5b5060405162001e5838038062001e58833981810160405260c08110156200004757600080fd5b508051602082015160408301516060840151608085015160a090950151939492939192909185858585858163ffffffff8116620000b65760405162461bcd60e51b815260040180806020018281038252602781526020018062001dcf6027913960400191505060405180910390fd5b60208163ffffffff1610620000fd5760405162461bcd60e51b815260040180806020018281038252602281526020018062001e166022913960400191505060405180910390fd5b6000805463ffffffff191663ffffffff83161781556002805460018181019092557f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60008051602062001d8e833981519152909101819055815480830183559282905260008051602062001e388339815191529092018290555b60005463ffffffff9081169082161015620001eb57620001a182806001600160e01b03620002ba16565b60028054600181810190925560008051602062001d8e8339815191520182905580548082018255600082905260008051602062001e38833981519152018290559092500162000177565b506200020181806001600160e01b03620002ba16565b60046000015550506068805460ff1916600117905582620002545760405162461bcd60e51b815260040180806020018281038252602581526020018062001d696025913960400191505060405180910390fd5b606c80546001600160a01b03199081166001600160a01b0397881617909155606d8054821695871695909517909455606e8054851691861691909117905550606955606f805490911691831691909117905560c8840460705550620004a7945050505050565b600060008051602062001df6833981519152831062000320576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602062001df683398151915282106200036f5760405162461bcd60e51b815260040180806020018281038252602181526020018062001dae6021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015620003ca57600080fd5b505af4158015620003df573d6000803e3d6000fd5b505050506040513d6040811015620003f657600080fd5b508051602090910151909250905060008051602062001df6833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b1580156200047057600080fd5b505af415801562000485573d6000803e3d6000fd5b505050506040513d60408110156200049c57600080fd5b505195945050505050565b6118b280620004b76000396000f3fe6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a723158204b6ccc5df50175d5e6c8b1e3301b60dade15d700fbff15348226df90b372e82464736f6c6343000511003264656e6f6d696e6174696f6e2073686f756c642062652067726561746572207468616e2030405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5f72696768742073686f756c6420626520696e7369646520746865206669656c645f747265654c6576656c732073686f756c642062652067726561746572207468616e207a65726f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000015f747265654c6576656c732073686f756c64206265206c657373207468616e203332b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6", + "deployedBytecode": "0x6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a723158204b6ccc5df50175d5e6c8b1e3301b60dade15d700fbff15348226df90b372e82464736f6c63430005110032", + "sourceMap": "805:2570:0:-;;;1430:34:2;;;-1:-1:-1;;;;;;1468:27:2;;;897:334:0;5:2:-1;;;;30:1;27;20:12;5:2;897:334:0;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;897:334:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1646:15:2;;;1638:67;;;;-1:-1:-1;;;1638:67:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:2;1719:11;:16;;;1711:63;;;;-1:-1:-1;;;1711:63:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:6;:20;;-1:-1:-1;;1780:20:2;;;;;;;1854:5;27:10:-1;;-1:-1;23:18;;;45:23;;;1088:77:2;-1:-1:-1;;;;;;;;;;;1854:23:2;;;;;;27:10:-1;;23:18;;;45:23;;1883:32:2;;;;-1:-1:-1;;;;;;;;;;;1883:32:2;;;;;;1922:175;1945:6;;;;;;1941:10;;;;1922:175;;;1980:39;1994:11;;-1:-1:-1;;;;;1980:13:2;:39;:::i;:::-;2027:5;27:10:-1;;39:1;23:18;;;45:23;;;-1:-1;;;;;;;;;;;2027:23:2;;;;27:10:-1;;23:18;;;45:23;;-1:-1;2058:32:2;;;-1:-1:-1;;;;;;;;;;;2058:32:2;;;;1966:53;;-1:-1:-1;1953:3:2;1922:175;;;-1:-1:-1;2114:39:2;2128:11;;-1:-1:-1;;;;;2114:13:2;:39;:::i;:::-;2103:5;2109:1;2103:8;:50;-1:-1:-1;;1421:11:18;:18;;-1:-1:-1;;1421:18:18;1435:4;1421:18;;;1645:17:8;1637:67;;;;-1:-1:-1;;;1637:67:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1710:8;:20;;-1:-1:-1;;;;;;1710:20:8;;;-1:-1:-1;;;;;1710:20:8;;;;;;;1736:10;:24;;;;;;;;;;;;;;1766:8;:20;;;;;;;;;;;;;-1:-1:-1;1792:12:8;:28;1157:5:0;:14;;;;;;;;;;;;;;1223:3;1207:13;:19;1193:11;:33;-1:-1:-1;805:2570:0;;-1:-1:-1;;;;;805:2570:0;2230:445:2;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:2;;2320:72;;;;;-1:-1:-1;;;2320:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:2;;2398:74;;;;-1:-1:-1;;;2398:74:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:2;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:2;;;;;;;;;-1:-1:-1;2538:23:2;-1:-1:-1;;;;;;;;;;;;2589:6:2;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:2;;2230:445;-1:-1:-1;;;;;2230:445:2:o;805:2570:0:-;;;;;;;", + "deployedSourceMap": "805:2570:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4814:102:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4814:102:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4814:102:8;-1:-1:-1;;;;;4814:102:8;;:::i;:::-;;412:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;412:47:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;412:47:8;;:::i;:::-;;;;;;;;;;;;;;;;;;2893:801;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2893:801:8;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2893:801:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2893:801:8;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2893:801:8;;-1:-1:-1;2893:801:8;-1:-1:-1;2893:801:8;;;;;;;;-1:-1:-1;;;;;2893:801:8;;;;;;;;;;;;;;;;;;;;;;;;:::i;601:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;601:25:8;;;:::i;:::-;;;;-1:-1:-1;;;;;601:25:8;;;;;;;;;;;;;;2230:445:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2230:445:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2230:445:2;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;933:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:114:2;;;:::i;1209:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1209:20:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;819:23:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;819:23:8;;;:::i;3553:342:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3553:342:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3553:342:2;;:::i;554:43:8:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;554:43:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;554:43:8;;:::i;381:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;381:27:8;;;:::i;1430:34:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1430:34:2;;;:::i;4651:113:8:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4651:113:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4651:113:8;-1:-1:-1;;;;;4651:113:8;;:::i;4128:293::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4128:293:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4128:293:8;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4128:293:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4128:293:8;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;4128:293:8;;-1:-1:-1;4128:293:8;-1:-1:-1;4128:293:8;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4128:293:8;;;;;;;;;;;;;;;;;866:26:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;866:26:0;;;:::i;2073:324:8:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2073:324:8;;:::i;3941:93:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3941:93:2;;;:::i;1549:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1549:39:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1549:39:2;;:::i;1499:46::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1499:46:2;;;:::i;630:29:8:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;630:29:8;;;:::i;3951:116::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3951:116:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3951:116:8;;:::i;1404:22:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1404:22:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1404:22:2;;:::i;1051:114::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1051:114:2;;;:::i;1369:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1369:31:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1369:31:2;;:::i;842:20:0:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;842:20:0;;;:::i;1468:27:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1468:27:2;;;:::i;4814:102:8:-;896:8;;-1:-1:-1;;;;;896:8:8;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4888:8;:23;;-1:-1:-1;;;;;;4888:23:8;-1:-1:-1;;;;;4888:23:8;;;;;;;;;;4814:102::o;412:47::-;;;;;;;;;;;;;;;:::o;2893:801::-;1934:11:18;;;;1926:55;;;;;-1:-1:-1;;;1926:55:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:18;;;3110:12:8;;3102:20;;;3094:59;;;;;-1:-1:-1;;;3094:59:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;3168:31;;;;:15;:31;;;;;;;;3167:32;3159:76;;;;;-1:-1:-1;;;3159:76:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;3249:18;3261:5;3249:11;:18::i;:::-;3241:59;;;;;-1:-1:-1;;;3241:59:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;3347:8;;:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3418:19:8;;;3347:126;;;;3439:17;;;3347:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3347:126:8;;:8;;;;;:20;;3368:6;;;;3347:126;;;;;;;;;;;;;;;;:8;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3347:126:8;;;;;;;;;;;;;;;;;;;;;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;;3347:126:8;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3347:126:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3347:126:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3347:126:8;3339:161;;;;;-1:-1:-1;;;3339:161:8;;;;;;;;;;;;-1:-1:-1;;;3339:161:8;;;;;;;;;;;;;;;3507:31;;;;:15;:31;;;;;;;;;:38;;-1:-1:-1;;3507:38:8;3541:4;3507:38;;;3605:10;;:18;;-1:-1:-1;;;3605:18:8;;;;3551:73;;3568:10;;3580:8;;3590:4;;3596:7;;-1:-1:-1;;;;;3605:10:8;;;;:16;;:18;;;;;;;;;;;:10;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;3605:18:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3605:18:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3605:18:8;3551:16;:73::i;:::-;3635:54;;;-1:-1:-1;;;;;3635:54:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2230:11:18;:18;;-1:-1:-1;;2230:18:18;2244:4;2230:18;;;-1:-1:-1;;;;;;2893:801:8:o;601:25::-;;;-1:-1:-1;;;;;601:25:8;;:::o;2230:445:2:-;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:2;;2320:72;;;;;-1:-1:-1;;;2320:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:2;;2398:74;;;;-1:-1:-1;;;2398:74:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:2;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:2;;;;;;;;;-1:-1:-1;2538:23:2;-1:-1:-1;;;;;;;;;;;;2589:6:2;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:2;;2230:445;-1:-1:-1;;;;;2230:445:2:o;933:114::-;-1:-1:-1;;;;;;;;;;;933:114:2;:::o;1209:20::-;;;;;;:::o;819:23:8:-;;;-1:-1:-1;;;;;819:23:8;;:::o;3553:342:2:-;3609:4;3625:10;3621:43;;-1:-1:-1;3652:5:2;3645:12;;3621:43;3680:16;;;;3702:171;3726:5;3732:1;3726:8;;;;;;;;;;;3717:5;:17;3713:53;;;3753:4;3746:11;;;;;3713:53;3777:6;;;3773:52;;-1:-1:-1;1542:3:2;3773:52;3855:16;;-1:-1:-1;;3832:3:2;;;;3855:16;3850:21;;;3855:16;;3850:21;;3702:171;;3885:5;3878:12;;;3553:342;;;;:::o;554:43:8:-;;;;;;;;;;;;;;;:::o;381:27::-;;;;:::o;1430:34:2:-;;;;;;:::o;4651:113:8:-;896:8;;-1:-1:-1;;;;;896:8:8;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4725:8;:34;;-1:-1:-1;;;;;;4725:34:8;-1:-1:-1;;;;;4725:34:8;;;;;;;;;;4651:113::o;4128:293::-;4244:35;;;;;;;;;;;;;;;;4209:19;;4255:16;4244:35;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;4244:35:8;-1:-1:-1;4236:43:8;-1:-1:-1;4289:6:8;4285:132;4301:27;;;4285:132;;;4347:28;4355:16;;4372:1;4355:19;;;;;;;;;;;;;4347:7;:28::i;:::-;4343:68;;;4398:4;4387:5;4393:1;4387:8;;;;;;;;:15;;;:8;;;;;;;;;;;:15;4343:68;4330:3;;4285:132;;;;4128:293;;;;:::o;866:26:0:-;;;;:::o;2073:324:8:-;1934:11:18;;;;1926:55;;;;;-1:-1:-1;;;1926:55:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:18;;;2070:5;2156:24:8;;;:11;:24;;;;;;2056:19:18;2156:24:8;2155:25;2147:71;;;;-1:-1:-1;;;2147:71:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2225:20;2248;2256:11;2248:7;:20::i;:::-;2274:24;;;;:11;:24;;;;;:31;;-1:-1:-1;;2274:31:8;2301:4;2274:31;;;2225:43;-1:-1:-1;2311:17:8;:15;:17::i;:::-;2340:52;;;;;;;;2376:15;2340:52;;;;;;2348:11;;2340:52;;;;;;;;-1:-1:-1;;2230:11:18;:18;;-1:-1:-1;;2230:18:18;2244:4;2230:18;;;2073:324:8:o;3941:93:2:-;4012:16;;3984:7;;4006:5;;4012:16;;4006:23;;;;;;;;;3999:30;;3941:93;:::o;1549:39::-;;;;;;;;;;;;;-1:-1:-1;1549:39:2;:::o;1499:46::-;1542:3;1499:46;:::o;630:29:8:-;;;-1:-1:-1;;;;;630:29:8;;:::o;3951:116::-;4012:4;4031:31;;;:15;:31;;;;;;;;;3951:116::o;1404:22:2:-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1404:22:2;:::o;1051:114::-;1088:77;1051:114;:::o;1369:31::-;;;;;;;;;;842:20:0;;;-1:-1:-1;;;;;842:20:0;;:::o;1468:27:2:-;;;-1:-1:-1;;;1468:27:2;;;;;:::o;1430:801:0:-;1601:7;1588:9;:20;1580:81;;;;-1:-1:-1;;;1580:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1681:20:0;;;;;;1707:226;;1726:73;1745:10;1787:11;;1772:12;1757;;:27;:41;1726:18;:73::i;:::-;1807:39;1826:6;1834:11;;1807:18;:39::i;:::-;1707:226;;;1867:59;1886:10;1913:12;1898;;:27;1867:18;:59::i;:::-;1943:16;;1939:79;;1969:42;1988:8;1998:12;1969:18;:42::i;:::-;2028:11;;2024:203;;2068:34;;2050:12;;-1:-1:-1;;;;;2068:15:0;;;2090:7;;2050:12;2068:34;2050:12;2068:34;2090:7;2068:15;:34;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2049:53:0;;;2115:7;2110:111;;2186:26;;-1:-1:-1;;;;;2186:17:0;;;:26;;;;;2204:7;;2186:26;;;;2204:7;2186:17;:26;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2186:26:0;2110:111;2024:203;;1430:801;;;;;;:::o;2679:802:2:-;2770:9;;2728:12;2820:6;;2728:12;;2770:9;-1:-1:-1;;;2770:9:2;;;;;;2820:6;;2816:1;2809:17;2793:33;;;;2785:93;;;;-1:-1:-1;;;2785:93:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2884:9;:14;;;-1:-1:-1;;;2884:14:2;;;;;2897:1;2884:14;;;;;-1:-1:-1;;2884:14:2;;;;;;2931:5;-1:-1:-1;;;2980:355:2;3003:6;;;;;;2999:10;;;;2980:355;;;3028:16;;;3024:225;;3068:16;3061:23;;3102:5;3108:1;3102:8;;;;;;;;;;;;;;;;;;3094:16;;3141;3121:14;3136:1;3121:17;;;;;;;;;;;;;;;;;;;:36;3024:225;;;3189:14;3204:1;3189:17;;;;;;;;;;;;;;;;;;3182:24;;3224:16;3216:24;;3024:225;3276:26;3290:4;3296:5;3276:13;:26::i;:::-;3257:45;-1:-1:-1;3327:1:2;3311:17;;;;;-1:-1:-1;3011:3:2;;2980:355;;;-1:-1:-1;3361:16:2;;1542:3;;3360:42;3361:16;;;;:20;3360:42;3341:16;:61;;-1:-1:-1;;3341:61:2;3360:42;;;;3341:61;;;;;;;;;;;;3434:16;;3408:5;;3414:16;3408:23;;;;;;;;:42;-1:-1:-1;;3463:9:2;;-1:-1:-1;;;3463:9:2;;;;-1:-1:-1;;3463:13:2;;2679:802;-1:-1:-1;;;;2679:802:2:o;1235:191:0:-;1285:9;:14;1277:75;;;;-1:-1:-1;;;1277:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1358:63;1381:10;1401:4;1408:12;;1358:22;:63::i;:::-;1235:191::o;2829:544::-;2938:5;;2949:63;;;-1:-1:-1;;;;;2949:63:0;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2949:63:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2938:75:0;;;;2903:12;;2917:17;;2938:5;;;2949:63;2938:75;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2938:75:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2902:111:0;;;;3027:7;3019:37;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;;;;3156:11;;:15;3152:217;;3189:4;:11;3204:2;3189:17;3181:72;;;;-1:-1:-1;;;3181:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3282:4;3271:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3271:24:0;;-1:-1:-1;3271:24:0;3303:59;;;;-1:-1:-1;;;3303:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2829:544;;;;:::o;2235:590::-;2363:5;;2374:74;;;-1:-1:-1;;;;;2374:74:0;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2374:74:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2363:86:0;;;;2328:12;;2342:17;;2363:5;;;2374:74;2363:86;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2363:86:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2327:122:0;;;;2463:7;2455:45;;;;;-1:-1:-1;;;2455:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2600:11;;:15;2596:225;;2633:4;:11;2648:2;2633:17;2625:72;;;;-1:-1:-1;;;2625:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2726:4;2715:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2715:24:0;;-1:-1:-1;2715:24:0;2747:67;;;;-1:-1:-1;;;2747:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2235:590;;;;;:::o", "source": "// https://tornado.cash\n/*\n* d888888P dP a88888b. dP\n* 88 88 d8' `88 88\n* 88 .d8888b. 88d888b. 88d888b. .d8888b. .d888b88 .d8888b. 88 .d8888b. .d8888b. 88d888b.\n* 88 88' `88 88' `88 88' `88 88' `88 88' `88 88' `88 88 88' `88 Y8ooooo. 88' `88\n* 88 88. .88 88 88 88 88. .88 88. .88 88. .88 dP Y8. .88 88. .88 88 88 88\n* dP `88888P' dP dP dP `88888P8 `88888P8 `88888P' 88 Y88888P' `88888P8 `88888P' dP dP\n* ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\n*/\n\npragma solidity 0.5.17;\n\nimport \"./Tornado.sol\";\n\ncontract ERC20Tornado is Tornado {\n address public token;\n uint256 public protocolFee;\n\n constructor(\n IVerifier _verifier,\n IFeeManager _feeManager,\n uint256 _denomination,\n uint32 _merkleTreeHeight,\n address _operator,\n address _token\n ) Tornado(_verifier, _feeManager, _denomination, _merkleTreeHeight, _operator) public {\n token = _token;\n // 0.5% fee\n protocolFee = _denomination / 200;\n }\n\n function _processDeposit() internal {\n require(msg.value == 0, \"ETH value is supposed to be 0 for ERC20 instance\");\n _safeErc20TransferFrom(msg.sender, address(this), denomination);\n }\n\n function _processWithdraw(address payable _recipient, address payable _relayer, uint256 _relayer_fee, uint256 _refund, address _feeTo) internal {\n require(msg.value == _refund, \"Incorrect refund amount received by the contract\");\n\n bool feeOn = _feeTo != address(0);\n if (feeOn) {\n _safeErc20Transfer(_recipient, denomination - _relayer_fee - protocolFee);\n _safeErc20Transfer(_feeTo, protocolFee);\n } else {\n _safeErc20Transfer(_recipient, denomination - _relayer_fee);\n }\n\n if (_relayer_fee > 0) {\n _safeErc20Transfer(_relayer, _relayer_fee);\n }\n\n if (_refund > 0) {\n (bool success, ) = _recipient.call.value(_refund)(\"\");\n if (!success) {\n // let's return _refund back to the relayer\n _relayer.transfer(_refund);\n }\n }\n }\n\n function _safeErc20TransferFrom(address _from, address _to, uint256 _amount) internal {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd /* transferFrom */, _from, _to, _amount));\n require(success, \"not enough allowed tokens\");\n\n // if contract returns some data lets make sure that is `true` according to standard\n if (data.length > 0) {\n require(data.length == 32, \"data length should be either 0 or 32 bytes\");\n success = abi.decode(data, (bool));\n require(success, \"not enough allowed tokens. Token returns false.\");\n }\n }\n\n function _safeErc20Transfer(address _to, uint256 _amount) internal {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb /* transfer */, _to, _amount));\n require(success, \"not enough tokens\");\n\n // if contract returns some data lets make sure that is `true` according to standard\n if (data.length > 0) {\n require(data.length == 32, \"data length should be either 0 or 32 bytes\");\n success = abi.decode(data, (bool));\n require(success, \"not enough tokens. Token returns false.\");\n }\n }\n}\n", - "sourcePath": "/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol", "exportedSymbols": { "ERC20Tornado": [ 266 @@ -602,12 +602,12 @@ "src": "755:23:0" }, { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "file": "./Tornado.sol", "id": 2, "nodeType": "ImportDirective", "scope": 267, - "sourceUnit": 1024, + "sourceUnit": 1205, "src": "780:23:0", "symbolAliases": [], "unitAlias": "" @@ -621,10 +621,10 @@ "id": 3, "name": "Tornado", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1023, + "referencedDeclaration": 1204, "src": "830:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Tornado_$1023", + "typeIdentifier": "t_contract$_Tornado_$1204", "typeString": "contract Tornado" } }, @@ -635,8 +635,8 @@ ], "contractDependencies": [ 685, - 1023, - 1053 + 1204, + 3255 ], "contractKind": "contract", "documentation": null, @@ -644,8 +644,8 @@ "id": 266, "linearizedBaseContracts": [ 266, - 1023, - 1053, + 1204, + 3255, 685 ], "name": "ERC20Tornado", @@ -857,7 +857,7 @@ "referencedDeclaration": 10, "src": "1075:9:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -870,7 +870,7 @@ "referencedDeclaration": 12, "src": "1086:11:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -921,10 +921,10 @@ "name": "Tornado", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1023, + "referencedDeclaration": 1204, "src": "1067:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Tornado_$1023_$", + "typeIdentifier": "t_type$_t_contract$_Tornado_$1204_$", "typeString": "type(contract Tornado)" } }, @@ -948,7 +948,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" }, "typeName": { @@ -956,10 +956,10 @@ "id": 9, "name": "IVerifier", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 701, + "referencedDeclaration": 882, "src": "914:9:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -976,7 +976,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" }, "typeName": { @@ -984,10 +984,10 @@ "id": 11, "name": "IFeeManager", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 707, + "referencedDeclaration": 888, "src": "939:11:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -1144,7 +1144,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, + "referencedDeclaration": 3270, "src": "1285:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1225,10 +1225,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "src": "1277:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1265,7 +1265,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, + "referencedDeclaration": 3270, "src": "1381:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1295,7 +1295,7 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1094, + "referencedDeclaration": 3296, "src": "1401:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20Tornado_$266", @@ -1343,7 +1343,7 @@ "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, + "referencedDeclaration": 894, "src": "1408:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1419,7 +1419,7 @@ "scope": 266, "src": "1235:191:0", "stateMutability": "nonpayable", - "superFunction": 838, + "superFunction": 1019, "visibility": "internal" }, { @@ -1451,7 +1451,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, + "referencedDeclaration": 3270, "src": "1588:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1527,10 +1527,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "src": "1580:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1732,7 +1732,7 @@ "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, + "referencedDeclaration": 894, "src": "1898:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1856,7 +1856,7 @@ "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, + "referencedDeclaration": 894, "src": "1757:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2647,7 +2647,7 @@ "scope": 266, "src": "1430:801:0", "stateMutability": "nonpayable", - "superFunction": 939, + "superFunction": 1120, "visibility": "internal" }, { @@ -2805,7 +2805,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, + "referencedDeclaration": 3257, "src": "2374:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -2943,10 +2943,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "src": "2455:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3151,10 +3151,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "src": "2625:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3268,7 +3268,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, + "referencedDeclaration": 3257, "src": "2715:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -3364,10 +3364,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "src": "2747:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3641,7 +3641,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, + "referencedDeclaration": 3257, "src": "2949:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -3779,10 +3779,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "src": "3019:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3987,10 +3987,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "src": "3181:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -4104,7 +4104,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1055, + "referencedDeclaration": 3257, "src": "3271:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -4200,10 +4200,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "src": "3303:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -4321,7 +4321,7 @@ }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol", "exportedSymbols": { "ERC20Tornado": [ 266 @@ -4343,8 +4343,8 @@ }, { "attributes": { - "SourceUnit": 1024, - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "SourceUnit": 1205, + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "file": "./Tornado.sol", "scope": 267, "symbolAliases": [ @@ -4360,16 +4360,16 @@ "attributes": { "contractDependencies": [ 685, - 1023, - 1053 + 1204, + 3255 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ 266, - 1023, - 1053, + 1204, + 3255, 685 ], "name": "ERC20Tornado", @@ -4385,7 +4385,7 @@ "attributes": { "contractScope": null, "name": "Tornado", - "referencedDeclaration": 1023, + "referencedDeclaration": 1204, "type": "contract Tornado" }, "id": 3, @@ -4481,7 +4481,7 @@ "attributes": { "contractScope": null, "name": "IVerifier", - "referencedDeclaration": 701, + "referencedDeclaration": 882, "type": "contract IVerifier" }, "id": 9, @@ -4509,7 +4509,7 @@ "attributes": { "contractScope": null, "name": "IFeeManager", - "referencedDeclaration": 707, + "referencedDeclaration": 888, "type": "contract IFeeManager" }, "id": 11, @@ -4651,7 +4651,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1023, + "referencedDeclaration": 1204, "type": "type(contract Tornado)", "value": "Tornado" }, @@ -4897,7 +4897,7 @@ "name": "_processDeposit", "scope": 266, "stateMutability": "nonpayable", - "superFunction": 838, + "superFunction": 1019, "visibility": "internal" }, "children": [ @@ -4955,10 +4955,10 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -4999,7 +4999,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1068, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, @@ -5123,7 +5123,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1068, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, @@ -5176,7 +5176,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1094, + "referencedDeclaration": 3296, "type": "contract ERC20Tornado", "value": "this" }, @@ -5195,7 +5195,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 713, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, @@ -5235,7 +5235,7 @@ "name": "_processWithdraw", "scope": 266, "stateMutability": "nonpayable", - "superFunction": 939, + "superFunction": 1120, "visibility": "internal" }, "children": [ @@ -5422,10 +5422,10 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -5466,7 +5466,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1068, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, @@ -5761,7 +5761,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 713, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, @@ -5977,7 +5977,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 713, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, @@ -6818,7 +6818,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1055, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -6935,10 +6935,10 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7092,10 +7092,10 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7267,7 +7267,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1055, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -7369,10 +7369,10 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7687,7 +7687,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1055, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -7790,10 +7790,10 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7947,10 +7947,10 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -8122,7 +8122,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1055, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -8224,10 +8224,10 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -8314,14 +8314,22 @@ "42220": { "events": {}, "links": { - "Hasher": "0x5666A6E07d7b991489b1D0f53d37B664B312a1fE" + "Hasher": "0xeE4628179283Be3f5096b94bc528e443cFAf7c2f" }, - "address": "0xB6b10B5f276AF5c0eE5dC46e4083c3DE3bF017c7", - "transactionHash": "0x16171dd7781eb5dcdd099b447591ee863059ed6c034770e4bf2377201a1b9d94" + "address": "0xB0A0cD2a1d0F0A16AB59514B3468633A9c1470D0", + "transactionHash": "0x1a001d930d258a3411cf71605df09896657ef111efaf0715625d63f68f6cc68e" + }, + "44787": { + "events": {}, + "links": { + "Hasher": "0x415A7775E7B2DC547e071d752CF404316498a43A" + }, + "address": "0x2E4F3DbD2920f98C41c14b2c8C51515d0c1003a5", + "transactionHash": "0x3c8ba96a28590498b7ee5b6b90262e060146b5f5241271467bd491baf4005387" } }, "schemaVersion": "3.3.4", - "updatedAt": "2021-04-02T22:52:25.952Z", + "updatedAt": "2021-04-04T21:13:13.382Z", "networkType": "ethereum", "devdoc": { "methods": { diff --git a/client/contracts/Context.json b/client/contracts/Context.json index e0b1bf0..64f8a9d 100644 --- a/client/contracts/Context.json +++ b/client/contracts/Context.json @@ -19,14 +19,14 @@ "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", "exportedSymbols": { "Context": [ - 2280 + 2290 ] }, - "id": 2281, + "id": 2291, "nodeType": "SourceUnit", "nodes": [ { - "id": 2255, + "id": 2265, "literals": [ "solidity", "^", @@ -42,40 +42,40 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 2280, + "id": 2290, "linearizedBaseContracts": [ - 2280 + 2290 ], "name": "Context", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 2258, + "id": 2268, "nodeType": "Block", "src": "726:3:10", "statements": [] }, "documentation": null, - "id": 2259, + "id": 2269, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 2256, + "id": 2266, "nodeType": "ParameterList", "parameters": [], "src": "714:2:10" }, "returnParameters": { - "id": 2257, + "id": 2267, "nodeType": "ParameterList", "parameters": [], "src": "726:0:10" }, - "scope": 2280, + "scope": 2290, "src": "702:27:10", "stateMutability": "nonpayable", "superFunction": null, @@ -83,7 +83,7 @@ }, { "body": { - "id": 2267, + "id": 2277, "nodeType": "Block", "src": "850:34:10", "statements": [ @@ -92,18 +92,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2264, + "id": 2274, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3260, + "referencedDeclaration": 3270, "src": "867:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2265, + "id": 2275, "isConstant": false, "isLValue": false, "isPure": false, @@ -117,36 +117,36 @@ "typeString": "address payable" } }, - "functionReturnParameters": 2263, - "id": 2266, + "functionReturnParameters": 2273, + "id": 2276, "nodeType": "Return", "src": "860:17:10" } ] }, "documentation": null, - "id": 2268, + "id": 2278, "implemented": true, "kind": "function", "modifiers": [], "name": "_msgSender", "nodeType": "FunctionDefinition", "parameters": { - "id": 2260, + "id": 2270, "nodeType": "ParameterList", "parameters": [], "src": "807:2:10" }, "returnParameters": { - "id": 2263, + "id": 2273, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2262, + "id": 2272, "name": "", "nodeType": "VariableDeclaration", - "scope": 2268, + "scope": 2278, "src": "833:15:10", "stateVariable": false, "storageLocation": "default", @@ -155,7 +155,7 @@ "typeString": "address payable" }, "typeName": { - "id": 2261, + "id": 2271, "name": "address", "nodeType": "ElementaryTypeName", "src": "833:15:10", @@ -171,7 +171,7 @@ ], "src": "832:17:10" }, - "scope": 2280, + "scope": 2290, "src": "788:96:10", "stateMutability": "view", "superFunction": null, @@ -179,25 +179,25 @@ }, { "body": { - "id": 2278, + "id": 2288, "nodeType": "Block", "src": "947:165:10", "statements": [ { "expression": { "argumentTypes": null, - "id": 2273, + "id": 2283, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3292, + "referencedDeclaration": 3304, "src": "957:4:10", "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$2280", + "typeIdentifier": "t_contract$_Context_$2290", "typeString": "contract Context" } }, - "id": 2274, + "id": 2284, "nodeType": "ExpressionStatement", "src": "957:4:10" }, @@ -206,18 +206,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2275, + "id": 2285, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3260, + "referencedDeclaration": 3270, "src": "1097:3:10", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2276, + "id": 2286, "isConstant": false, "isLValue": false, "isPure": false, @@ -231,36 +231,36 @@ "typeString": "bytes calldata" } }, - "functionReturnParameters": 2272, - "id": 2277, + "functionReturnParameters": 2282, + "id": 2287, "nodeType": "Return", "src": "1090:15:10" } ] }, "documentation": null, - "id": 2279, + "id": 2289, "implemented": true, "kind": "function", "modifiers": [], "name": "_msgData", "nodeType": "FunctionDefinition", "parameters": { - "id": 2269, + "id": 2279, "nodeType": "ParameterList", "parameters": [], "src": "907:2:10" }, "returnParameters": { - "id": 2272, + "id": 2282, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2271, + "id": 2281, "name": "", "nodeType": "VariableDeclaration", - "scope": 2279, + "scope": 2289, "src": "933:12:10", "stateVariable": false, "storageLocation": "memory", @@ -269,7 +269,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2270, + "id": 2280, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "933:5:10", @@ -284,14 +284,14 @@ ], "src": "932:14:10" }, - "scope": 2280, + "scope": 2290, "src": "890:222:10", "stateMutability": "view", "superFunction": null, "visibility": "internal" } ], - "scope": 2281, + "scope": 2291, "src": "525:589:10" } ], @@ -302,7 +302,7 @@ "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", "exportedSymbols": { "Context": [ - 2280 + 2290 ] } }, @@ -316,7 +316,7 @@ ".0" ] }, - "id": 2255, + "id": 2265, "name": "PragmaDirective", "src": "0:23:10" }, @@ -332,10 +332,10 @@ "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ - 2280 + 2290 ], "name": "Context", - "scope": 2281 + "scope": 2291 }, "children": [ { @@ -348,7 +348,7 @@ null ], "name": "", - "scope": 2280, + "scope": 2290, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -361,7 +361,7 @@ ] }, "children": [], - "id": 2256, + "id": 2266, "name": "ParameterList", "src": "714:2:10" }, @@ -372,7 +372,7 @@ ] }, "children": [], - "id": 2257, + "id": 2267, "name": "ParameterList", "src": "726:0:10" }, @@ -383,12 +383,12 @@ ] }, "children": [], - "id": 2258, + "id": 2268, "name": "Block", "src": "726:3:10" } ], - "id": 2259, + "id": 2269, "name": "FunctionDefinition", "src": "702:27:10" }, @@ -402,7 +402,7 @@ null ], "name": "_msgSender", - "scope": 2280, + "scope": 2290, "stateMutability": "view", "superFunction": null, "visibility": "internal" @@ -415,7 +415,7 @@ ] }, "children": [], - "id": 2260, + "id": 2270, "name": "ParameterList", "src": "807:2:10" }, @@ -425,7 +425,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2268, + "scope": 2278, "stateVariable": false, "storageLocation": "default", "type": "address payable", @@ -439,17 +439,17 @@ "stateMutability": "payable", "type": "address payable" }, - "id": 2261, + "id": 2271, "name": "ElementaryTypeName", "src": "833:15:10" } ], - "id": 2262, + "id": 2272, "name": "VariableDeclaration", "src": "833:15:10" } ], - "id": 2263, + "id": 2273, "name": "ParameterList", "src": "832:17:10" }, @@ -457,7 +457,7 @@ "children": [ { "attributes": { - "functionReturnParameters": 2263 + "functionReturnParameters": 2273 }, "children": [ { @@ -478,31 +478,31 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3260, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, - "id": 2264, + "id": 2274, "name": "Identifier", "src": "867:3:10" } ], - "id": 2265, + "id": 2275, "name": "MemberAccess", "src": "867:10:10" } ], - "id": 2266, + "id": 2276, "name": "Return", "src": "860:17:10" } ], - "id": 2267, + "id": 2277, "name": "Block", "src": "850:34:10" } ], - "id": 2268, + "id": 2278, "name": "FunctionDefinition", "src": "788:96:10" }, @@ -516,7 +516,7 @@ null ], "name": "_msgData", - "scope": 2280, + "scope": 2290, "stateMutability": "view", "superFunction": null, "visibility": "internal" @@ -529,7 +529,7 @@ ] }, "children": [], - "id": 2269, + "id": 2279, "name": "ParameterList", "src": "907:2:10" }, @@ -539,7 +539,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2279, + "scope": 2289, "stateVariable": false, "storageLocation": "memory", "type": "bytes", @@ -552,17 +552,17 @@ "name": "bytes", "type": "bytes" }, - "id": 2270, + "id": 2280, "name": "ElementaryTypeName", "src": "933:5:10" } ], - "id": 2271, + "id": 2281, "name": "VariableDeclaration", "src": "933:12:10" } ], - "id": 2272, + "id": 2282, "name": "ParameterList", "src": "932:14:10" }, @@ -576,22 +576,22 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3292, + "referencedDeclaration": 3304, "type": "contract Context", "value": "this" }, - "id": 2273, + "id": 2283, "name": "Identifier", "src": "957:4:10" } ], - "id": 2274, + "id": 2284, "name": "ExpressionStatement", "src": "957:4:10" }, { "attributes": { - "functionReturnParameters": 2272 + "functionReturnParameters": 2282 }, "children": [ { @@ -612,41 +612,41 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3260, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, - "id": 2275, + "id": 2285, "name": "Identifier", "src": "1097:3:10" } ], - "id": 2276, + "id": 2286, "name": "MemberAccess", "src": "1097:8:10" } ], - "id": 2277, + "id": 2287, "name": "Return", "src": "1090:15:10" } ], - "id": 2278, + "id": 2288, "name": "Block", "src": "947:165:10" } ], - "id": 2279, + "id": 2289, "name": "FunctionDefinition", "src": "890:222:10" } ], - "id": 2280, + "id": 2290, "name": "ContractDefinition", "src": "525:589:10" } ], - "id": 2281, + "id": 2291, "name": "SourceUnit", "src": "0:1115:10" }, @@ -656,7 +656,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-03-14T02:18:33.142Z", + "updatedAt": "2021-04-04T20:21:29.907Z", "devdoc": { "methods": {} }, diff --git a/client/contracts/ERC20.json b/client/contracts/ERC20.json index 1a8e2d2..1ba93fc 100644 --- a/client/contracts/ERC20.json +++ b/client/contracts/ERC20.json @@ -260,14 +260,14 @@ "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", "exportedSymbols": { "ERC20": [ - 3060 + 3070 ] }, - "id": 3061, + "id": 3071, "nodeType": "SourceUnit", "nodes": [ { - "id": 2657, + "id": 2667, "literals": [ "solidity", "^", @@ -280,10 +280,10 @@ { "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", "file": "../../GSN/Context.sol", - "id": 2658, + "id": 2668, "nodeType": "ImportDirective", - "scope": 3061, - "sourceUnit": 2281, + "scope": 3071, + "sourceUnit": 2291, "src": "25:31:14", "symbolAliases": [], "unitAlias": "" @@ -291,10 +291,10 @@ { "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "id": 2659, + "id": 2669, "nodeType": "ImportDirective", - "scope": 3061, - "sourceUnit": 3216, + "scope": 3071, + "sourceUnit": 3226, "src": "57:22:14", "symbolAliases": [], "unitAlias": "" @@ -302,10 +302,10 @@ { "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "id": 2660, + "id": 2670, "nodeType": "ImportDirective", - "scope": 3061, - "sourceUnit": 2656, + "scope": 3071, + "sourceUnit": 2666, "src": "80:33:14", "symbolAliases": [], "unitAlias": "" @@ -316,17 +316,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2661, + "id": 2671, "name": "Context", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2280, + "referencedDeclaration": 2290, "src": "1286:7:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$2280", + "typeIdentifier": "t_contract$_Context_$2290", "typeString": "contract Context" } }, - "id": 2662, + "id": 2672, "nodeType": "InheritanceSpecifier", "src": "1286:7:14" }, @@ -334,55 +334,55 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2663, + "id": 2673, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3215, + "referencedDeclaration": 3225, "src": "1295:6:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$3215", + "typeIdentifier": "t_contract$_IERC20_$3225", "typeString": "contract IERC20" } }, - "id": 2664, + "id": 2674, "nodeType": "InheritanceSpecifier", "src": "1295:6:14" } ], "contractDependencies": [ - 2280, - 3215 + 2290, + 3225 ], "contractKind": "contract", "documentation": "@dev Implementation of the {IERC20} interface.\n * This implementation is agnostic to the way tokens are created. This means\nthat a supply mechanism has to be added in a derived contract using {_mint}.\nFor a generic mechanism see {ERC20Mintable}.\n * TIP: For a detailed writeup see our guide\nhttps://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\nto implement supply mechanisms].\n * We have followed general OpenZeppelin guidelines: functions revert instead\nof returning `false` on failure. This behavior is nonetheless conventional\nand does not conflict with the expectations of ERC20 applications.\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\nThis allows applications to reconstruct the allowance for all accounts just\nby listening to said events. Other implementations of the EIP may not emit\nthese events, as it isn't required by the specification.\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\nfunctions have been added to mitigate the well-known issues around setting\nallowances. See {IERC20-approve}.", "fullyImplemented": true, - "id": 3060, + "id": 3070, "linearizedBaseContracts": [ - 3060, - 3215, - 2280 + 3070, + 3225, + 2290 ], "name": "ERC20", "nodeType": "ContractDefinition", "nodes": [ { - "id": 2667, + "id": 2677, "libraryName": { "contractScope": null, - "id": 2665, + "id": 2675, "name": "SafeMath", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2655, + "referencedDeclaration": 2665, "src": "1314:8:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$2655", + "typeIdentifier": "t_contract$_SafeMath_$2665", "typeString": "library SafeMath" } }, "nodeType": "UsingForDirective", "src": "1308:27:14", "typeName": { - "id": 2666, + "id": 2676, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1327:7:14", @@ -394,10 +394,10 @@ }, { "constant": false, - "id": 2671, + "id": 2681, "name": "_balances", "nodeType": "VariableDeclaration", - "scope": 3060, + "scope": 3070, "src": "1341:46:14", "stateVariable": true, "storageLocation": "default", @@ -406,9 +406,9 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 2670, + "id": 2680, "keyType": { - "id": 2668, + "id": 2678, "name": "address", "nodeType": "ElementaryTypeName", "src": "1350:7:14", @@ -424,7 +424,7 @@ "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 2669, + "id": 2679, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1361:7:14", @@ -439,10 +439,10 @@ }, { "constant": false, - "id": 2677, + "id": 2687, "name": "_allowances", "nodeType": "VariableDeclaration", - "scope": 3060, + "scope": 3070, "src": "1394:69:14", "stateVariable": true, "storageLocation": "default", @@ -451,9 +451,9 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 2676, + "id": 2686, "keyType": { - "id": 2672, + "id": 2682, "name": "address", "nodeType": "ElementaryTypeName", "src": "1403:7:14", @@ -469,9 +469,9 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "valueType": { - "id": 2675, + "id": 2685, "keyType": { - "id": 2673, + "id": 2683, "name": "address", "nodeType": "ElementaryTypeName", "src": "1423:7:14", @@ -487,7 +487,7 @@ "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 2674, + "id": 2684, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1434:7:14", @@ -503,10 +503,10 @@ }, { "constant": false, - "id": 2679, + "id": 2689, "name": "_totalSupply", "nodeType": "VariableDeclaration", - "scope": 3060, + "scope": 3070, "src": "1470:28:14", "stateVariable": true, "storageLocation": "default", @@ -515,7 +515,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2678, + "id": 2688, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1470:7:14", @@ -529,54 +529,54 @@ }, { "body": { - "id": 2686, + "id": 2696, "nodeType": "Block", "src": "1612:36:14", "statements": [ { "expression": { "argumentTypes": null, - "id": 2684, + "id": 2694, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2679, + "referencedDeclaration": 2689, "src": "1629:12:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 2683, - "id": 2685, + "functionReturnParameters": 2693, + "id": 2695, "nodeType": "Return", "src": "1622:19:14" } ] }, "documentation": "@dev See {IERC20-totalSupply}.", - "id": 2687, + "id": 2697, "implemented": true, "kind": "function", "modifiers": [], "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 2680, + "id": 2690, "nodeType": "ParameterList", "parameters": [], "src": "1579:2:14" }, "returnParameters": { - "id": 2683, + "id": 2693, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2682, + "id": 2692, "name": "", "nodeType": "VariableDeclaration", - "scope": 2687, + "scope": 2697, "src": "1603:7:14", "stateVariable": false, "storageLocation": "default", @@ -585,7 +585,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2681, + "id": 2691, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1603:7:14", @@ -600,15 +600,15 @@ ], "src": "1602:9:14" }, - "scope": 3060, + "scope": 3070, "src": "1559:89:14", "stateMutability": "view", - "superFunction": 3153, + "superFunction": 3163, "visibility": "public" }, { "body": { - "id": 2698, + "id": 2708, "nodeType": "Block", "src": "1772:42:14", "statements": [ @@ -617,25 +617,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2694, + "id": 2704, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "src": "1789:9:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2696, + "id": 2706, "indexExpression": { "argumentTypes": null, - "id": 2695, + "id": 2705, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2689, + "referencedDeclaration": 2699, "src": "1799:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -653,30 +653,30 @@ "typeString": "uint256" } }, - "functionReturnParameters": 2693, - "id": 2697, + "functionReturnParameters": 2703, + "id": 2707, "nodeType": "Return", "src": "1782:25:14" } ] }, "documentation": "@dev See {IERC20-balanceOf}.", - "id": 2699, + "id": 2709, "implemented": true, "kind": "function", "modifiers": [], "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 2690, + "id": 2700, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2689, + "id": 2699, "name": "account", "nodeType": "VariableDeclaration", - "scope": 2699, + "scope": 2709, "src": "1725:15:14", "stateVariable": false, "storageLocation": "default", @@ -685,7 +685,7 @@ "typeString": "address" }, "typeName": { - "id": 2688, + "id": 2698, "name": "address", "nodeType": "ElementaryTypeName", "src": "1725:7:14", @@ -702,15 +702,15 @@ "src": "1724:17:14" }, "returnParameters": { - "id": 2693, + "id": 2703, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2692, + "id": 2702, "name": "", "nodeType": "VariableDeclaration", - "scope": 2699, + "scope": 2709, "src": "1763:7:14", "stateVariable": false, "storageLocation": "default", @@ -719,7 +719,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2691, + "id": 2701, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1763:7:14", @@ -734,15 +734,15 @@ ], "src": "1762:9:14" }, - "scope": 3060, + "scope": 3070, "src": "1706:108:14", "stateMutability": "view", - "superFunction": 3160, + "superFunction": 3170, "visibility": "public" }, { "body": { - "id": 2717, + "id": 2727, "nodeType": "Block", "src": "2092:80:14", "statements": [ @@ -755,18 +755,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2709, + "id": 2719, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "src": "2112:10:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 2710, + "id": 2720, "isConstant": false, "isLValue": false, "isPure": false, @@ -782,11 +782,11 @@ }, { "argumentTypes": null, - "id": 2711, + "id": 2721, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2701, + "referencedDeclaration": 2711, "src": "2126:9:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -795,11 +795,11 @@ }, { "argumentTypes": null, - "id": 2712, + "id": 2722, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2703, + "referencedDeclaration": 2713, "src": "2137:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -822,18 +822,18 @@ "typeString": "uint256" } ], - "id": 2708, + "id": 2718, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2901, + "referencedDeclaration": 2911, "src": "2102:9:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2713, + "id": 2723, "isConstant": false, "isLValue": false, "isPure": false, @@ -847,7 +847,7 @@ "typeString": "tuple()" } }, - "id": 2714, + "id": 2724, "nodeType": "ExpressionStatement", "src": "2102:42:14" }, @@ -855,7 +855,7 @@ "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 2715, + "id": 2725, "isConstant": false, "isLValue": false, "isPure": true, @@ -870,30 +870,30 @@ }, "value": "true" }, - "functionReturnParameters": 2707, - "id": 2716, + "functionReturnParameters": 2717, + "id": 2726, "nodeType": "Return", "src": "2154:11:14" } ] }, "documentation": "@dev See {IERC20-transfer}.\n * Requirements:\n * - `recipient` cannot be the zero address.\n- the caller must have a balance of at least `amount`.", - "id": 2718, + "id": 2728, "implemented": true, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 2704, + "id": 2714, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2701, + "id": 2711, "name": "recipient", "nodeType": "VariableDeclaration", - "scope": 2718, + "scope": 2728, "src": "2035:17:14", "stateVariable": false, "storageLocation": "default", @@ -902,7 +902,7 @@ "typeString": "address" }, "typeName": { - "id": 2700, + "id": 2710, "name": "address", "nodeType": "ElementaryTypeName", "src": "2035:7:14", @@ -917,10 +917,10 @@ }, { "constant": false, - "id": 2703, + "id": 2713, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 2718, + "scope": 2728, "src": "2054:14:14", "stateVariable": false, "storageLocation": "default", @@ -929,7 +929,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2702, + "id": 2712, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2054:7:14", @@ -945,15 +945,15 @@ "src": "2034:35:14" }, "returnParameters": { - "id": 2707, + "id": 2717, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2706, + "id": 2716, "name": "", "nodeType": "VariableDeclaration", - "scope": 2718, + "scope": 2728, "src": "2086:4:14", "stateVariable": false, "storageLocation": "default", @@ -962,7 +962,7 @@ "typeString": "bool" }, "typeName": { - "id": 2705, + "id": 2715, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2086:4:14", @@ -977,15 +977,15 @@ ], "src": "2085:6:14" }, - "scope": 3060, + "scope": 3070, "src": "2017:155:14", "stateMutability": "nonpayable", - "superFunction": 3169, + "superFunction": 3179, "visibility": "public" }, { "body": { - "id": 2733, + "id": 2743, "nodeType": "Block", "src": "2311:51:14", "statements": [ @@ -996,25 +996,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2727, + "id": 2737, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2677, + "referencedDeclaration": 2687, "src": "2328:11:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 2729, + "id": 2739, "indexExpression": { "argumentTypes": null, - "id": 2728, + "id": 2738, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2720, + "referencedDeclaration": 2730, "src": "2340:5:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1032,14 +1032,14 @@ "typeString": "mapping(address => uint256)" } }, - "id": 2731, + "id": 2741, "indexExpression": { "argumentTypes": null, - "id": 2730, + "id": 2740, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2722, + "referencedDeclaration": 2732, "src": "2347:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1057,30 +1057,30 @@ "typeString": "uint256" } }, - "functionReturnParameters": 2726, - "id": 2732, + "functionReturnParameters": 2736, + "id": 2742, "nodeType": "Return", "src": "2321:34:14" } ] }, "documentation": "@dev See {IERC20-allowance}.", - "id": 2734, + "id": 2744, "implemented": true, "kind": "function", "modifiers": [], "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 2723, + "id": 2733, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2720, + "id": 2730, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 2734, + "scope": 2744, "src": "2249:13:14", "stateVariable": false, "storageLocation": "default", @@ -1089,7 +1089,7 @@ "typeString": "address" }, "typeName": { - "id": 2719, + "id": 2729, "name": "address", "nodeType": "ElementaryTypeName", "src": "2249:7:14", @@ -1104,10 +1104,10 @@ }, { "constant": false, - "id": 2722, + "id": 2732, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 2734, + "scope": 2744, "src": "2264:15:14", "stateVariable": false, "storageLocation": "default", @@ -1116,7 +1116,7 @@ "typeString": "address" }, "typeName": { - "id": 2721, + "id": 2731, "name": "address", "nodeType": "ElementaryTypeName", "src": "2264:7:14", @@ -1133,15 +1133,15 @@ "src": "2248:32:14" }, "returnParameters": { - "id": 2726, + "id": 2736, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2725, + "id": 2735, "name": "", "nodeType": "VariableDeclaration", - "scope": 2734, + "scope": 2744, "src": "2302:7:14", "stateVariable": false, "storageLocation": "default", @@ -1150,7 +1150,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2724, + "id": 2734, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2302:7:14", @@ -1165,15 +1165,15 @@ ], "src": "2301:9:14" }, - "scope": 3060, + "scope": 3070, "src": "2230:132:14", "stateMutability": "view", - "superFunction": 3178, + "superFunction": 3188, "visibility": "public" }, { "body": { - "id": 2752, + "id": 2762, "nodeType": "Block", "src": "2572:77:14", "statements": [ @@ -1186,18 +1186,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2744, + "id": 2754, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "src": "2591:10:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 2745, + "id": 2755, "isConstant": false, "isLValue": false, "isPure": false, @@ -1213,11 +1213,11 @@ }, { "argumentTypes": null, - "id": 2746, + "id": 2756, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2736, + "referencedDeclaration": 2746, "src": "2605:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1226,11 +1226,11 @@ }, { "argumentTypes": null, - "id": 2747, + "id": 2757, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2738, + "referencedDeclaration": 2748, "src": "2614:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1253,18 +1253,18 @@ "typeString": "uint256" } ], - "id": 2743, + "id": 2753, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3030, + "referencedDeclaration": 3040, "src": "2582:8:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2748, + "id": 2758, "isConstant": false, "isLValue": false, "isPure": false, @@ -1278,7 +1278,7 @@ "typeString": "tuple()" } }, - "id": 2749, + "id": 2759, "nodeType": "ExpressionStatement", "src": "2582:39:14" }, @@ -1286,7 +1286,7 @@ "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 2750, + "id": 2760, "isConstant": false, "isLValue": false, "isPure": true, @@ -1301,30 +1301,30 @@ }, "value": "true" }, - "functionReturnParameters": 2742, - "id": 2751, + "functionReturnParameters": 2752, + "id": 2761, "nodeType": "Return", "src": "2631:11:14" } ] }, "documentation": "@dev See {IERC20-approve}.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 2753, + "id": 2763, "implemented": true, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 2739, + "id": 2749, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2736, + "id": 2746, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 2753, + "scope": 2763, "src": "2517:15:14", "stateVariable": false, "storageLocation": "default", @@ -1333,7 +1333,7 @@ "typeString": "address" }, "typeName": { - "id": 2735, + "id": 2745, "name": "address", "nodeType": "ElementaryTypeName", "src": "2517:7:14", @@ -1348,10 +1348,10 @@ }, { "constant": false, - "id": 2738, + "id": 2748, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 2753, + "scope": 2763, "src": "2534:14:14", "stateVariable": false, "storageLocation": "default", @@ -1360,7 +1360,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2737, + "id": 2747, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2534:7:14", @@ -1376,15 +1376,15 @@ "src": "2516:33:14" }, "returnParameters": { - "id": 2742, + "id": 2752, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2741, + "id": 2751, "name": "", "nodeType": "VariableDeclaration", - "scope": 2753, + "scope": 2763, "src": "2566:4:14", "stateVariable": false, "storageLocation": "default", @@ -1393,7 +1393,7 @@ "typeString": "bool" }, "typeName": { - "id": 2740, + "id": 2750, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2566:4:14", @@ -1408,15 +1408,15 @@ ], "src": "2565:6:14" }, - "scope": 3060, + "scope": 3070, "src": "2500:149:14", "stateMutability": "nonpayable", - "superFunction": 3187, + "superFunction": 3197, "visibility": "public" }, { "body": { - "id": 2788, + "id": 2798, "nodeType": "Block", "src": "3202:205:14", "statements": [ @@ -1426,11 +1426,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2765, + "id": 2775, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2755, + "referencedDeclaration": 2765, "src": "3222:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1439,11 +1439,11 @@ }, { "argumentTypes": null, - "id": 2766, + "id": 2776, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2757, + "referencedDeclaration": 2767, "src": "3230:9:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1452,11 +1452,11 @@ }, { "argumentTypes": null, - "id": 2767, + "id": 2777, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2759, + "referencedDeclaration": 2769, "src": "3241:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1479,18 +1479,18 @@ "typeString": "uint256" } ], - "id": 2764, + "id": 2774, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2901, + "referencedDeclaration": 2911, "src": "3212:9:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2768, + "id": 2778, "isConstant": false, "isLValue": false, "isPure": false, @@ -1504,7 +1504,7 @@ "typeString": "tuple()" } }, - "id": 2769, + "id": 2779, "nodeType": "ExpressionStatement", "src": "3212:36:14" }, @@ -1514,11 +1514,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2771, + "id": 2781, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2755, + "referencedDeclaration": 2765, "src": "3267:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1530,18 +1530,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2772, + "id": 2782, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "src": "3275:10:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 2773, + "id": 2783, "isConstant": false, "isLValue": false, "isPure": false, @@ -1560,11 +1560,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2781, + "id": 2791, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2759, + "referencedDeclaration": 2769, "src": "3327:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1574,7 +1574,7 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 2782, + "id": 2792, "isConstant": false, "isLValue": false, "isPure": true, @@ -1607,25 +1607,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2774, + "id": 2784, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2677, + "referencedDeclaration": 2687, "src": "3289:11:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 2776, + "id": 2786, "indexExpression": { "argumentTypes": null, - "id": 2775, + "id": 2785, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2755, + "referencedDeclaration": 2765, "src": "3301:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1643,24 +1643,24 @@ "typeString": "mapping(address => uint256)" } }, - "id": 2779, + "id": 2789, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 2777, + "id": 2787, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "src": "3309:10:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 2778, + "id": 2788, "isConstant": false, "isLValue": false, "isPure": false, @@ -1685,21 +1685,21 @@ "typeString": "uint256" } }, - "id": 2780, + "id": 2790, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 2538, + "referencedDeclaration": 2548, "src": "3289:37:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 2783, + "id": 2793, "isConstant": false, "isLValue": false, "isPure": false, @@ -1729,18 +1729,18 @@ "typeString": "uint256" } ], - "id": 2770, + "id": 2780, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3030, + "referencedDeclaration": 3040, "src": "3258:8:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2784, + "id": 2794, "isConstant": false, "isLValue": false, "isPure": false, @@ -1754,7 +1754,7 @@ "typeString": "tuple()" } }, - "id": 2785, + "id": 2795, "nodeType": "ExpressionStatement", "src": "3258:121:14" }, @@ -1762,7 +1762,7 @@ "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 2786, + "id": 2796, "isConstant": false, "isLValue": false, "isPure": true, @@ -1777,30 +1777,30 @@ }, "value": "true" }, - "functionReturnParameters": 2763, - "id": 2787, + "functionReturnParameters": 2773, + "id": 2797, "nodeType": "Return", "src": "3389:11:14" } ] }, "documentation": "@dev See {IERC20-transferFrom}.\n * Emits an {Approval} event indicating the updated allowance. This is not\nrequired by the EIP. See the note at the beginning of {ERC20};\n * Requirements:\n- `sender` and `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.\n- the caller must have allowance for `sender`'s tokens of at least\n`amount`.", - "id": 2789, + "id": 2799, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 2760, + "id": 2770, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2755, + "id": 2765, "name": "sender", "nodeType": "VariableDeclaration", - "scope": 2789, + "scope": 2799, "src": "3129:14:14", "stateVariable": false, "storageLocation": "default", @@ -1809,7 +1809,7 @@ "typeString": "address" }, "typeName": { - "id": 2754, + "id": 2764, "name": "address", "nodeType": "ElementaryTypeName", "src": "3129:7:14", @@ -1824,10 +1824,10 @@ }, { "constant": false, - "id": 2757, + "id": 2767, "name": "recipient", "nodeType": "VariableDeclaration", - "scope": 2789, + "scope": 2799, "src": "3145:17:14", "stateVariable": false, "storageLocation": "default", @@ -1836,7 +1836,7 @@ "typeString": "address" }, "typeName": { - "id": 2756, + "id": 2766, "name": "address", "nodeType": "ElementaryTypeName", "src": "3145:7:14", @@ -1851,10 +1851,10 @@ }, { "constant": false, - "id": 2759, + "id": 2769, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 2789, + "scope": 2799, "src": "3164:14:14", "stateVariable": false, "storageLocation": "default", @@ -1863,7 +1863,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2758, + "id": 2768, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3164:7:14", @@ -1879,15 +1879,15 @@ "src": "3128:51:14" }, "returnParameters": { - "id": 2763, + "id": 2773, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2762, + "id": 2772, "name": "", "nodeType": "VariableDeclaration", - "scope": 2789, + "scope": 2799, "src": "3196:4:14", "stateVariable": false, "storageLocation": "default", @@ -1896,7 +1896,7 @@ "typeString": "bool" }, "typeName": { - "id": 2761, + "id": 2771, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3196:4:14", @@ -1911,15 +1911,15 @@ ], "src": "3195:6:14" }, - "scope": 3060, + "scope": 3070, "src": "3107:300:14", "stateMutability": "nonpayable", - "superFunction": 3198, + "superFunction": 3208, "visibility": "public" }, { "body": { - "id": 2815, + "id": 2825, "nodeType": "Block", "src": "3888:121:14", "statements": [ @@ -1932,18 +1932,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2799, + "id": 2809, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "src": "3907:10:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 2800, + "id": 2810, "isConstant": false, "isLValue": false, "isPure": false, @@ -1959,11 +1959,11 @@ }, { "argumentTypes": null, - "id": 2801, + "id": 2811, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2791, + "referencedDeclaration": 2801, "src": "3921:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1975,11 +1975,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2809, + "id": 2819, "name": "addedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2793, + "referencedDeclaration": 2803, "src": "3969:10:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2000,35 +2000,35 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2802, + "id": 2812, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2677, + "referencedDeclaration": 2687, "src": "3930:11:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 2805, + "id": 2815, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 2803, + "id": 2813, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "src": "3942:10:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 2804, + "id": 2814, "isConstant": false, "isLValue": false, "isPure": false, @@ -2053,14 +2053,14 @@ "typeString": "mapping(address => uint256)" } }, - "id": 2807, + "id": 2817, "indexExpression": { "argumentTypes": null, - "id": 2806, + "id": 2816, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2791, + "referencedDeclaration": 2801, "src": "3956:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2078,21 +2078,21 @@ "typeString": "uint256" } }, - "id": 2808, + "id": 2818, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 2495, + "referencedDeclaration": 2505, "src": "3930:38:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2810, + "id": 2820, "isConstant": false, "isLValue": false, "isPure": false, @@ -2122,18 +2122,18 @@ "typeString": "uint256" } ], - "id": 2798, + "id": 2808, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3030, + "referencedDeclaration": 3040, "src": "3898:8:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2811, + "id": 2821, "isConstant": false, "isLValue": false, "isPure": false, @@ -2147,7 +2147,7 @@ "typeString": "tuple()" } }, - "id": 2812, + "id": 2822, "nodeType": "ExpressionStatement", "src": "3898:83:14" }, @@ -2155,7 +2155,7 @@ "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 2813, + "id": 2823, "isConstant": false, "isLValue": false, "isPure": true, @@ -2170,30 +2170,30 @@ }, "value": "true" }, - "functionReturnParameters": 2797, - "id": 2814, + "functionReturnParameters": 2807, + "id": 2824, "nodeType": "Return", "src": "3991:11:14" } ] }, "documentation": "@dev Atomically increases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 2816, + "id": 2826, "implemented": true, "kind": "function", "modifiers": [], "name": "increaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 2794, + "id": 2804, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2791, + "id": 2801, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 2816, + "scope": 2826, "src": "3829:15:14", "stateVariable": false, "storageLocation": "default", @@ -2202,7 +2202,7 @@ "typeString": "address" }, "typeName": { - "id": 2790, + "id": 2800, "name": "address", "nodeType": "ElementaryTypeName", "src": "3829:7:14", @@ -2217,10 +2217,10 @@ }, { "constant": false, - "id": 2793, + "id": 2803, "name": "addedValue", "nodeType": "VariableDeclaration", - "scope": 2816, + "scope": 2826, "src": "3846:18:14", "stateVariable": false, "storageLocation": "default", @@ -2229,7 +2229,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2792, + "id": 2802, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3846:7:14", @@ -2245,15 +2245,15 @@ "src": "3828:37:14" }, "returnParameters": { - "id": 2797, + "id": 2807, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2796, + "id": 2806, "name": "", "nodeType": "VariableDeclaration", - "scope": 2816, + "scope": 2826, "src": "3882:4:14", "stateVariable": false, "storageLocation": "default", @@ -2262,7 +2262,7 @@ "typeString": "bool" }, "typeName": { - "id": 2795, + "id": 2805, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3882:4:14", @@ -2277,7 +2277,7 @@ ], "src": "3881:6:14" }, - "scope": 3060, + "scope": 3070, "src": "3802:207:14", "stateMutability": "nonpayable", "superFunction": null, @@ -2285,7 +2285,7 @@ }, { "body": { - "id": 2843, + "id": 2853, "nodeType": "Block", "src": "4587:167:14", "statements": [ @@ -2298,18 +2298,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2826, + "id": 2836, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "src": "4606:10:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 2827, + "id": 2837, "isConstant": false, "isLValue": false, "isPure": false, @@ -2325,11 +2325,11 @@ }, { "argumentTypes": null, - "id": 2828, + "id": 2838, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2818, + "referencedDeclaration": 2828, "src": "4620:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2341,11 +2341,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2836, + "id": 2846, "name": "subtractedValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2820, + "referencedDeclaration": 2830, "src": "4668:15:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2355,7 +2355,7 @@ { "argumentTypes": null, "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 2837, + "id": 2847, "isConstant": false, "isLValue": false, "isPure": true, @@ -2388,35 +2388,35 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2829, + "id": 2839, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2677, + "referencedDeclaration": 2687, "src": "4629:11:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 2832, + "id": 2842, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 2830, + "id": 2840, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "src": "4641:10:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 2831, + "id": 2841, "isConstant": false, "isLValue": false, "isPure": false, @@ -2441,14 +2441,14 @@ "typeString": "mapping(address => uint256)" } }, - "id": 2834, + "id": 2844, "indexExpression": { "argumentTypes": null, - "id": 2833, + "id": 2843, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2818, + "referencedDeclaration": 2828, "src": "4655:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2466,21 +2466,21 @@ "typeString": "uint256" } }, - "id": 2835, + "id": 2845, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 2538, + "referencedDeclaration": 2548, "src": "4629:38:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 2838, + "id": 2848, "isConstant": false, "isLValue": false, "isPure": false, @@ -2510,18 +2510,18 @@ "typeString": "uint256" } ], - "id": 2825, + "id": 2835, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3030, + "referencedDeclaration": 3040, "src": "4597:8:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2839, + "id": 2849, "isConstant": false, "isLValue": false, "isPure": false, @@ -2535,7 +2535,7 @@ "typeString": "tuple()" } }, - "id": 2840, + "id": 2850, "nodeType": "ExpressionStatement", "src": "4597:129:14" }, @@ -2543,7 +2543,7 @@ "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 2841, + "id": 2851, "isConstant": false, "isLValue": false, "isPure": true, @@ -2558,30 +2558,30 @@ }, "value": "true" }, - "functionReturnParameters": 2824, - "id": 2842, + "functionReturnParameters": 2834, + "id": 2852, "nodeType": "Return", "src": "4736:11:14" } ] }, "documentation": "@dev Atomically decreases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.\n- `spender` must have allowance for the caller of at least\n`subtractedValue`.", - "id": 2844, + "id": 2854, "implemented": true, "kind": "function", "modifiers": [], "name": "decreaseAllowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 2821, + "id": 2831, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2818, + "id": 2828, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 2844, + "scope": 2854, "src": "4523:15:14", "stateVariable": false, "storageLocation": "default", @@ -2590,7 +2590,7 @@ "typeString": "address" }, "typeName": { - "id": 2817, + "id": 2827, "name": "address", "nodeType": "ElementaryTypeName", "src": "4523:7:14", @@ -2605,10 +2605,10 @@ }, { "constant": false, - "id": 2820, + "id": 2830, "name": "subtractedValue", "nodeType": "VariableDeclaration", - "scope": 2844, + "scope": 2854, "src": "4540:23:14", "stateVariable": false, "storageLocation": "default", @@ -2617,7 +2617,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2819, + "id": 2829, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4540:7:14", @@ -2633,15 +2633,15 @@ "src": "4522:42:14" }, "returnParameters": { - "id": 2824, + "id": 2834, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2823, + "id": 2833, "name": "", "nodeType": "VariableDeclaration", - "scope": 2844, + "scope": 2854, "src": "4581:4:14", "stateVariable": false, "storageLocation": "default", @@ -2650,7 +2650,7 @@ "typeString": "bool" }, "typeName": { - "id": 2822, + "id": 2832, "name": "bool", "nodeType": "ElementaryTypeName", "src": "4581:4:14", @@ -2665,7 +2665,7 @@ ], "src": "4580:6:14" }, - "scope": 3060, + "scope": 3070, "src": "4496:258:14", "stateMutability": "nonpayable", "superFunction": null, @@ -2673,7 +2673,7 @@ }, { "body": { - "id": 2900, + "id": 2910, "nodeType": "Block", "src": "5307:385:14", "statements": [ @@ -2687,18 +2687,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2858, + "id": 2868, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2854, + "id": 2864, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2846, + "referencedDeclaration": 2856, "src": "5325:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2713,7 +2713,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2856, + "id": 2866, "isConstant": false, "isLValue": false, "isPure": true, @@ -2736,7 +2736,7 @@ "typeString": "int_const 0" } ], - "id": 2855, + "id": 2865, "isConstant": false, "isLValue": false, "isPure": true, @@ -2749,7 +2749,7 @@ }, "typeName": "address" }, - "id": 2857, + "id": 2867, "isConstant": false, "isLValue": false, "isPure": true, @@ -2772,7 +2772,7 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 2859, + "id": 2869, "isConstant": false, "isLValue": false, "isPure": true, @@ -2799,21 +2799,21 @@ "typeString": "literal_string \"ERC20: transfer from the zero address\"" } ], - "id": 2853, + "id": 2863, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "5317:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2860, + "id": 2870, "isConstant": false, "isLValue": false, "isPure": false, @@ -2827,7 +2827,7 @@ "typeString": "tuple()" } }, - "id": 2861, + "id": 2871, "nodeType": "ExpressionStatement", "src": "5317:70:14" }, @@ -2841,18 +2841,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2867, + "id": 2877, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2863, + "id": 2873, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2848, + "referencedDeclaration": 2858, "src": "5405:9:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2867,7 +2867,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2865, + "id": 2875, "isConstant": false, "isLValue": false, "isPure": true, @@ -2890,7 +2890,7 @@ "typeString": "int_const 0" } ], - "id": 2864, + "id": 2874, "isConstant": false, "isLValue": false, "isPure": true, @@ -2903,7 +2903,7 @@ }, "typeName": "address" }, - "id": 2866, + "id": 2876, "isConstant": false, "isLValue": false, "isPure": true, @@ -2926,7 +2926,7 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 2868, + "id": 2878, "isConstant": false, "isLValue": false, "isPure": true, @@ -2953,21 +2953,21 @@ "typeString": "literal_string \"ERC20: transfer to the zero address\"" } ], - "id": 2862, + "id": 2872, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "5397:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2869, + "id": 2879, "isConstant": false, "isLValue": false, "isPure": false, @@ -2981,14 +2981,14 @@ "typeString": "tuple()" } }, - "id": 2870, + "id": 2880, "nodeType": "ExpressionStatement", "src": "5397:71:14" }, { "expression": { "argumentTypes": null, - "id": 2881, + "id": 2891, "isConstant": false, "isLValue": false, "isPure": false, @@ -2997,25 +2997,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2871, + "id": 2881, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "src": "5479:9:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2873, + "id": 2883, "indexExpression": { "argumentTypes": null, - "id": 2872, + "id": 2882, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2846, + "referencedDeclaration": 2856, "src": "5489:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3040,11 +3040,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2878, + "id": 2888, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2850, + "referencedDeclaration": 2860, "src": "5521:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3054,7 +3054,7 @@ { "argumentTypes": null, "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 2879, + "id": 2889, "isConstant": false, "isLValue": false, "isPure": true, @@ -3085,25 +3085,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2874, + "id": 2884, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "src": "5499:9:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2876, + "id": 2886, "indexExpression": { "argumentTypes": null, - "id": 2875, + "id": 2885, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2846, + "referencedDeclaration": 2856, "src": "5509:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3121,21 +3121,21 @@ "typeString": "uint256" } }, - "id": 2877, + "id": 2887, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 2538, + "referencedDeclaration": 2548, "src": "5499:21:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 2880, + "id": 2890, "isConstant": false, "isLValue": false, "isPure": false, @@ -3155,14 +3155,14 @@ "typeString": "uint256" } }, - "id": 2882, + "id": 2892, "nodeType": "ExpressionStatement", "src": "5479:91:14" }, { "expression": { "argumentTypes": null, - "id": 2892, + "id": 2902, "isConstant": false, "isLValue": false, "isPure": false, @@ -3171,25 +3171,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2883, + "id": 2893, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "src": "5580:9:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2885, + "id": 2895, "indexExpression": { "argumentTypes": null, - "id": 2884, + "id": 2894, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2848, + "referencedDeclaration": 2858, "src": "5590:9:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3214,11 +3214,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2890, + "id": 2900, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2850, + "referencedDeclaration": 2860, "src": "5628:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3237,25 +3237,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2886, + "id": 2896, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "src": "5603:9:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2888, + "id": 2898, "indexExpression": { "argumentTypes": null, - "id": 2887, + "id": 2897, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2848, + "referencedDeclaration": 2858, "src": "5613:9:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3273,21 +3273,21 @@ "typeString": "uint256" } }, - "id": 2889, + "id": 2899, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 2495, + "referencedDeclaration": 2505, "src": "5603:24:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2891, + "id": 2901, "isConstant": false, "isLValue": false, "isPure": false, @@ -3307,7 +3307,7 @@ "typeString": "uint256" } }, - "id": 2893, + "id": 2903, "nodeType": "ExpressionStatement", "src": "5580:55:14" }, @@ -3317,11 +3317,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2895, + "id": 2905, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2846, + "referencedDeclaration": 2856, "src": "5659:6:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3330,11 +3330,11 @@ }, { "argumentTypes": null, - "id": 2896, + "id": 2906, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2848, + "referencedDeclaration": 2858, "src": "5667:9:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3343,11 +3343,11 @@ }, { "argumentTypes": null, - "id": 2897, + "id": 2907, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2850, + "referencedDeclaration": 2860, "src": "5678:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3370,18 +3370,18 @@ "typeString": "uint256" } ], - "id": 2894, + "id": 2904, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3206, + "referencedDeclaration": 3216, "src": "5650:8:14", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2898, + "id": 2908, "isConstant": false, "isLValue": false, "isPure": false, @@ -3395,29 +3395,29 @@ "typeString": "tuple()" } }, - "id": 2899, + "id": 2909, "nodeType": "EmitStatement", "src": "5645:40:14" } ] }, "documentation": "@dev Moves tokens `amount` from `sender` to `recipient`.\n * This is internal function is equivalent to {transfer}, and can be used to\ne.g. implement automatic token fees, slashing mechanisms, etc.\n * Emits a {Transfer} event.\n * Requirements:\n * - `sender` cannot be the zero address.\n- `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.", - "id": 2901, + "id": 2911, "implemented": true, "kind": "function", "modifiers": [], "name": "_transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 2851, + "id": 2861, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2846, + "id": 2856, "name": "sender", "nodeType": "VariableDeclaration", - "scope": 2901, + "scope": 2911, "src": "5247:14:14", "stateVariable": false, "storageLocation": "default", @@ -3426,7 +3426,7 @@ "typeString": "address" }, "typeName": { - "id": 2845, + "id": 2855, "name": "address", "nodeType": "ElementaryTypeName", "src": "5247:7:14", @@ -3441,10 +3441,10 @@ }, { "constant": false, - "id": 2848, + "id": 2858, "name": "recipient", "nodeType": "VariableDeclaration", - "scope": 2901, + "scope": 2911, "src": "5263:17:14", "stateVariable": false, "storageLocation": "default", @@ -3453,7 +3453,7 @@ "typeString": "address" }, "typeName": { - "id": 2847, + "id": 2857, "name": "address", "nodeType": "ElementaryTypeName", "src": "5263:7:14", @@ -3468,10 +3468,10 @@ }, { "constant": false, - "id": 2850, + "id": 2860, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 2901, + "scope": 2911, "src": "5282:14:14", "stateVariable": false, "storageLocation": "default", @@ -3480,7 +3480,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2849, + "id": 2859, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5282:7:14", @@ -3496,12 +3496,12 @@ "src": "5246:51:14" }, "returnParameters": { - "id": 2852, + "id": 2862, "nodeType": "ParameterList", "parameters": [], "src": "5307:0:14" }, - "scope": 3060, + "scope": 3070, "src": "5228:464:14", "stateMutability": "nonpayable", "superFunction": null, @@ -3509,7 +3509,7 @@ }, { "body": { - "id": 2943, + "id": 2953, "nodeType": "Block", "src": "6019:245:14", "statements": [ @@ -3523,18 +3523,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2913, + "id": 2923, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2909, + "id": 2919, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2903, + "referencedDeclaration": 2913, "src": "6037:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3549,7 +3549,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2911, + "id": 2921, "isConstant": false, "isLValue": false, "isPure": true, @@ -3572,7 +3572,7 @@ "typeString": "int_const 0" } ], - "id": 2910, + "id": 2920, "isConstant": false, "isLValue": false, "isPure": true, @@ -3585,7 +3585,7 @@ }, "typeName": "address" }, - "id": 2912, + "id": 2922, "isConstant": false, "isLValue": false, "isPure": true, @@ -3608,7 +3608,7 @@ { "argumentTypes": null, "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 2914, + "id": 2924, "isConstant": false, "isLValue": false, "isPure": true, @@ -3635,21 +3635,21 @@ "typeString": "literal_string \"ERC20: mint to the zero address\"" } ], - "id": 2908, + "id": 2918, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "6029:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2915, + "id": 2925, "isConstant": false, "isLValue": false, "isPure": false, @@ -3663,25 +3663,25 @@ "typeString": "tuple()" } }, - "id": 2916, + "id": 2926, "nodeType": "ExpressionStatement", "src": "6029:65:14" }, { "expression": { "argumentTypes": null, - "id": 2922, + "id": 2932, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2917, + "id": 2927, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2679, + "referencedDeclaration": 2689, "src": "6105:12:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3695,11 +3695,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2920, + "id": 2930, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2905, + "referencedDeclaration": 2915, "src": "6137:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3716,32 +3716,32 @@ ], "expression": { "argumentTypes": null, - "id": 2918, + "id": 2928, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2679, + "referencedDeclaration": 2689, "src": "6120:12:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2919, + "id": 2929, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 2495, + "referencedDeclaration": 2505, "src": "6120:16:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2921, + "id": 2931, "isConstant": false, "isLValue": false, "isPure": false, @@ -3761,14 +3761,14 @@ "typeString": "uint256" } }, - "id": 2923, + "id": 2933, "nodeType": "ExpressionStatement", "src": "6105:39:14" }, { "expression": { "argumentTypes": null, - "id": 2933, + "id": 2943, "isConstant": false, "isLValue": false, "isPure": false, @@ -3777,25 +3777,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2924, + "id": 2934, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "src": "6154:9:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2926, + "id": 2936, "indexExpression": { "argumentTypes": null, - "id": 2925, + "id": 2935, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2903, + "referencedDeclaration": 2913, "src": "6164:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3820,11 +3820,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2931, + "id": 2941, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2905, + "referencedDeclaration": 2915, "src": "6198:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -3843,25 +3843,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2927, + "id": 2937, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "src": "6175:9:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2929, + "id": 2939, "indexExpression": { "argumentTypes": null, - "id": 2928, + "id": 2938, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2903, + "referencedDeclaration": 2913, "src": "6185:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3879,21 +3879,21 @@ "typeString": "uint256" } }, - "id": 2930, + "id": 2940, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 2495, + "referencedDeclaration": 2505, "src": "6175:22:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2932, + "id": 2942, "isConstant": false, "isLValue": false, "isPure": false, @@ -3913,7 +3913,7 @@ "typeString": "uint256" } }, - "id": 2934, + "id": 2944, "nodeType": "ExpressionStatement", "src": "6154:51:14" }, @@ -3927,7 +3927,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2937, + "id": 2947, "isConstant": false, "isLValue": false, "isPure": true, @@ -3950,7 +3950,7 @@ "typeString": "int_const 0" } ], - "id": 2936, + "id": 2946, "isConstant": false, "isLValue": false, "isPure": true, @@ -3963,7 +3963,7 @@ }, "typeName": "address" }, - "id": 2938, + "id": 2948, "isConstant": false, "isLValue": false, "isPure": true, @@ -3979,11 +3979,11 @@ }, { "argumentTypes": null, - "id": 2939, + "id": 2949, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2903, + "referencedDeclaration": 2913, "src": "6241:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3992,11 +3992,11 @@ }, { "argumentTypes": null, - "id": 2940, + "id": 2950, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2905, + "referencedDeclaration": 2915, "src": "6250:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4019,18 +4019,18 @@ "typeString": "uint256" } ], - "id": 2935, + "id": 2945, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3206, + "referencedDeclaration": 3216, "src": "6220:8:14", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2941, + "id": 2951, "isConstant": false, "isLValue": false, "isPure": false, @@ -4044,29 +4044,29 @@ "typeString": "tuple()" } }, - "id": 2942, + "id": 2952, "nodeType": "EmitStatement", "src": "6215:42:14" } ] }, "documentation": "@dev Creates `amount` tokens and assigns them to `account`, increasing\nthe total supply.\n * Emits a {Transfer} event with `from` set to the zero address.\n * Requirements\n * - `to` cannot be the zero address.", - "id": 2944, + "id": 2954, "implemented": true, "kind": "function", "modifiers": [], "name": "_mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 2906, + "id": 2916, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2903, + "id": 2913, "name": "account", "nodeType": "VariableDeclaration", - "scope": 2944, + "scope": 2954, "src": "5977:15:14", "stateVariable": false, "storageLocation": "default", @@ -4075,7 +4075,7 @@ "typeString": "address" }, "typeName": { - "id": 2902, + "id": 2912, "name": "address", "nodeType": "ElementaryTypeName", "src": "5977:7:14", @@ -4090,10 +4090,10 @@ }, { "constant": false, - "id": 2905, + "id": 2915, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 2944, + "scope": 2954, "src": "5994:14:14", "stateVariable": false, "storageLocation": "default", @@ -4102,7 +4102,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2904, + "id": 2914, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5994:7:14", @@ -4118,12 +4118,12 @@ "src": "5976:33:14" }, "returnParameters": { - "id": 2907, + "id": 2917, "nodeType": "ParameterList", "parameters": [], "src": "6019:0:14" }, - "scope": 3060, + "scope": 3070, "src": "5962:302:14", "stateMutability": "nonpayable", "superFunction": null, @@ -4131,7 +4131,7 @@ }, { "body": { - "id": 2987, + "id": 2997, "nodeType": "Block", "src": "6640:285:14", "statements": [ @@ -4145,18 +4145,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2956, + "id": 2966, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2952, + "id": 2962, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2946, + "referencedDeclaration": 2956, "src": "6658:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4171,7 +4171,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2954, + "id": 2964, "isConstant": false, "isLValue": false, "isPure": true, @@ -4194,7 +4194,7 @@ "typeString": "int_const 0" } ], - "id": 2953, + "id": 2963, "isConstant": false, "isLValue": false, "isPure": true, @@ -4207,7 +4207,7 @@ }, "typeName": "address" }, - "id": 2955, + "id": 2965, "isConstant": false, "isLValue": false, "isPure": true, @@ -4230,7 +4230,7 @@ { "argumentTypes": null, "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 2957, + "id": 2967, "isConstant": false, "isLValue": false, "isPure": true, @@ -4257,21 +4257,21 @@ "typeString": "literal_string \"ERC20: burn from the zero address\"" } ], - "id": 2951, + "id": 2961, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "6650:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2958, + "id": 2968, "isConstant": false, "isLValue": false, "isPure": false, @@ -4285,14 +4285,14 @@ "typeString": "tuple()" } }, - "id": 2959, + "id": 2969, "nodeType": "ExpressionStatement", "src": "6650:67:14" }, { "expression": { "argumentTypes": null, - "id": 2970, + "id": 2980, "isConstant": false, "isLValue": false, "isPure": false, @@ -4301,25 +4301,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2960, + "id": 2970, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "src": "6728:9:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2962, + "id": 2972, "indexExpression": { "argumentTypes": null, - "id": 2961, + "id": 2971, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2946, + "referencedDeclaration": 2956, "src": "6738:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4344,11 +4344,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2967, + "id": 2977, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2948, + "referencedDeclaration": 2958, "src": "6772:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4358,7 +4358,7 @@ { "argumentTypes": null, "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 2968, + "id": 2978, "isConstant": false, "isLValue": false, "isPure": true, @@ -4389,25 +4389,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2963, + "id": 2973, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "src": "6749:9:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2965, + "id": 2975, "indexExpression": { "argumentTypes": null, - "id": 2964, + "id": 2974, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2946, + "referencedDeclaration": 2956, "src": "6759:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4425,21 +4425,21 @@ "typeString": "uint256" } }, - "id": 2966, + "id": 2976, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 2538, + "referencedDeclaration": 2548, "src": "6749:22:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 2969, + "id": 2979, "isConstant": false, "isLValue": false, "isPure": false, @@ -4459,25 +4459,25 @@ "typeString": "uint256" } }, - "id": 2971, + "id": 2981, "nodeType": "ExpressionStatement", "src": "6728:89:14" }, { "expression": { "argumentTypes": null, - "id": 2977, + "id": 2987, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 2972, + "id": 2982, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2679, + "referencedDeclaration": 2689, "src": "6827:12:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4491,11 +4491,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2975, + "id": 2985, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2948, + "referencedDeclaration": 2958, "src": "6859:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4512,32 +4512,32 @@ ], "expression": { "argumentTypes": null, - "id": 2973, + "id": 2983, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2679, + "referencedDeclaration": 2689, "src": "6842:12:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2974, + "id": 2984, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 2511, + "referencedDeclaration": 2521, "src": "6842:16:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 2976, + "id": 2986, "isConstant": false, "isLValue": false, "isPure": false, @@ -4557,7 +4557,7 @@ "typeString": "uint256" } }, - "id": 2978, + "id": 2988, "nodeType": "ExpressionStatement", "src": "6827:39:14" }, @@ -4567,11 +4567,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2980, + "id": 2990, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2946, + "referencedDeclaration": 2956, "src": "6890:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4584,7 +4584,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2982, + "id": 2992, "isConstant": false, "isLValue": false, "isPure": true, @@ -4607,7 +4607,7 @@ "typeString": "int_const 0" } ], - "id": 2981, + "id": 2991, "isConstant": false, "isLValue": false, "isPure": true, @@ -4620,7 +4620,7 @@ }, "typeName": "address" }, - "id": 2983, + "id": 2993, "isConstant": false, "isLValue": false, "isPure": true, @@ -4636,11 +4636,11 @@ }, { "argumentTypes": null, - "id": 2984, + "id": 2994, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2948, + "referencedDeclaration": 2958, "src": "6911:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -4663,18 +4663,18 @@ "typeString": "uint256" } ], - "id": 2979, + "id": 2989, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3206, + "referencedDeclaration": 3216, "src": "6881:8:14", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2985, + "id": 2995, "isConstant": false, "isLValue": false, "isPure": false, @@ -4688,29 +4688,29 @@ "typeString": "tuple()" } }, - "id": 2986, + "id": 2996, "nodeType": "EmitStatement", "src": "6876:42:14" } ] }, "documentation": "@dev Destroys `amount` tokens from `account`, reducing the\ntotal supply.\n * Emits a {Transfer} event with `to` set to the zero address.\n * Requirements\n * - `account` cannot be the zero address.\n- `account` must have at least `amount` tokens.", - "id": 2988, + "id": 2998, "implemented": true, "kind": "function", "modifiers": [], "name": "_burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 2949, + "id": 2959, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2946, + "id": 2956, "name": "account", "nodeType": "VariableDeclaration", - "scope": 2988, + "scope": 2998, "src": "6598:15:14", "stateVariable": false, "storageLocation": "default", @@ -4719,7 +4719,7 @@ "typeString": "address" }, "typeName": { - "id": 2945, + "id": 2955, "name": "address", "nodeType": "ElementaryTypeName", "src": "6598:7:14", @@ -4734,10 +4734,10 @@ }, { "constant": false, - "id": 2948, + "id": 2958, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 2988, + "scope": 2998, "src": "6615:14:14", "stateVariable": false, "storageLocation": "default", @@ -4746,7 +4746,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2947, + "id": 2957, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6615:7:14", @@ -4762,12 +4762,12 @@ "src": "6597:33:14" }, "returnParameters": { - "id": 2950, + "id": 2960, "nodeType": "ParameterList", "parameters": [], "src": "6640:0:14" }, - "scope": 3060, + "scope": 3070, "src": "6583:342:14", "stateMutability": "nonpayable", "superFunction": null, @@ -4775,7 +4775,7 @@ }, { "body": { - "id": 3029, + "id": 3039, "nodeType": "Block", "src": "7425:257:14", "statements": [ @@ -4789,18 +4789,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3002, + "id": 3012, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2998, + "id": 3008, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2990, + "referencedDeclaration": 3000, "src": "7443:5:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4815,7 +4815,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 3000, + "id": 3010, "isConstant": false, "isLValue": false, "isPure": true, @@ -4838,7 +4838,7 @@ "typeString": "int_const 0" } ], - "id": 2999, + "id": 3009, "isConstant": false, "isLValue": false, "isPure": true, @@ -4851,7 +4851,7 @@ }, "typeName": "address" }, - "id": 3001, + "id": 3011, "isConstant": false, "isLValue": false, "isPure": true, @@ -4874,7 +4874,7 @@ { "argumentTypes": null, "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 3003, + "id": 3013, "isConstant": false, "isLValue": false, "isPure": true, @@ -4901,21 +4901,21 @@ "typeString": "literal_string \"ERC20: approve from the zero address\"" } ], - "id": 2997, + "id": 3007, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "7435:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 3004, + "id": 3014, "isConstant": false, "isLValue": false, "isPure": false, @@ -4929,7 +4929,7 @@ "typeString": "tuple()" } }, - "id": 3005, + "id": 3015, "nodeType": "ExpressionStatement", "src": "7435:68:14" }, @@ -4943,18 +4943,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3011, + "id": 3021, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 3007, + "id": 3017, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2992, + "referencedDeclaration": 3002, "src": "7521:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4969,7 +4969,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 3009, + "id": 3019, "isConstant": false, "isLValue": false, "isPure": true, @@ -4992,7 +4992,7 @@ "typeString": "int_const 0" } ], - "id": 3008, + "id": 3018, "isConstant": false, "isLValue": false, "isPure": true, @@ -5005,7 +5005,7 @@ }, "typeName": "address" }, - "id": 3010, + "id": 3020, "isConstant": false, "isLValue": false, "isPure": true, @@ -5028,7 +5028,7 @@ { "argumentTypes": null, "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 3012, + "id": 3022, "isConstant": false, "isLValue": false, "isPure": true, @@ -5055,21 +5055,21 @@ "typeString": "literal_string \"ERC20: approve to the zero address\"" } ], - "id": 3006, + "id": 3016, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "7513:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 3013, + "id": 3023, "isConstant": false, "isLValue": false, "isPure": false, @@ -5083,14 +5083,14 @@ "typeString": "tuple()" } }, - "id": 3014, + "id": 3024, "nodeType": "ExpressionStatement", "src": "7513:68:14" }, { "expression": { "argumentTypes": null, - "id": 3021, + "id": 3031, "isConstant": false, "isLValue": false, "isPure": false, @@ -5101,25 +5101,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3015, + "id": 3025, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2677, + "referencedDeclaration": 2687, "src": "7592:11:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 3018, + "id": 3028, "indexExpression": { "argumentTypes": null, - "id": 3016, + "id": 3026, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2990, + "referencedDeclaration": 3000, "src": "7604:5:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5137,14 +5137,14 @@ "typeString": "mapping(address => uint256)" } }, - "id": 3019, + "id": 3029, "indexExpression": { "argumentTypes": null, - "id": 3017, + "id": 3027, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2992, + "referencedDeclaration": 3002, "src": "7611:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5166,11 +5166,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3020, + "id": 3030, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2994, + "referencedDeclaration": 3004, "src": "7622:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5183,7 +5183,7 @@ "typeString": "uint256" } }, - "id": 3022, + "id": 3032, "nodeType": "ExpressionStatement", "src": "7592:36:14" }, @@ -5193,11 +5193,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3024, + "id": 3034, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2990, + "referencedDeclaration": 3000, "src": "7652:5:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5206,11 +5206,11 @@ }, { "argumentTypes": null, - "id": 3025, + "id": 3035, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2992, + "referencedDeclaration": 3002, "src": "7659:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5219,11 +5219,11 @@ }, { "argumentTypes": null, - "id": 3026, + "id": 3036, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2994, + "referencedDeclaration": 3004, "src": "7668:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5246,18 +5246,18 @@ "typeString": "uint256" } ], - "id": 3023, + "id": 3033, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3214, + "referencedDeclaration": 3224, "src": "7643:8:14", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 3027, + "id": 3037, "isConstant": false, "isLValue": false, "isPure": false, @@ -5271,29 +5271,29 @@ "typeString": "tuple()" } }, - "id": 3028, + "id": 3038, "nodeType": "EmitStatement", "src": "7638:37:14" } ] }, "documentation": "@dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n * This is internal function is equivalent to `approve`, and can be used to\ne.g. set automatic allowances for certain subsystems, etc.\n * Emits an {Approval} event.\n * Requirements:\n * - `owner` cannot be the zero address.\n- `spender` cannot be the zero address.", - "id": 3030, + "id": 3040, "implemented": true, "kind": "function", "modifiers": [], "name": "_approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 2995, + "id": 3005, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2990, + "id": 3000, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 3030, + "scope": 3040, "src": "7368:13:14", "stateVariable": false, "storageLocation": "default", @@ -5302,7 +5302,7 @@ "typeString": "address" }, "typeName": { - "id": 2989, + "id": 2999, "name": "address", "nodeType": "ElementaryTypeName", "src": "7368:7:14", @@ -5317,10 +5317,10 @@ }, { "constant": false, - "id": 2992, + "id": 3002, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 3030, + "scope": 3040, "src": "7383:15:14", "stateVariable": false, "storageLocation": "default", @@ -5329,7 +5329,7 @@ "typeString": "address" }, "typeName": { - "id": 2991, + "id": 3001, "name": "address", "nodeType": "ElementaryTypeName", "src": "7383:7:14", @@ -5344,10 +5344,10 @@ }, { "constant": false, - "id": 2994, + "id": 3004, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 3030, + "scope": 3040, "src": "7400:14:14", "stateVariable": false, "storageLocation": "default", @@ -5356,7 +5356,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2993, + "id": 3003, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7400:7:14", @@ -5372,12 +5372,12 @@ "src": "7367:48:14" }, "returnParameters": { - "id": 2996, + "id": 3006, "nodeType": "ParameterList", "parameters": [], "src": "7425:0:14" }, - "scope": 3060, + "scope": 3070, "src": "7350:332:14", "stateMutability": "nonpayable", "superFunction": null, @@ -5385,7 +5385,7 @@ }, { "body": { - "id": 3058, + "id": 3068, "nodeType": "Block", "src": "7921:168:14", "statements": [ @@ -5395,11 +5395,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3038, + "id": 3048, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3032, + "referencedDeclaration": 3042, "src": "7937:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5408,11 +5408,11 @@ }, { "argumentTypes": null, - "id": 3039, + "id": 3049, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3034, + "referencedDeclaration": 3044, "src": "7946:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5431,18 +5431,18 @@ "typeString": "uint256" } ], - "id": 3037, + "id": 3047, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2988, + "referencedDeclaration": 2998, "src": "7931:5:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 3040, + "id": 3050, "isConstant": false, "isLValue": false, "isPure": false, @@ -5456,7 +5456,7 @@ "typeString": "tuple()" } }, - "id": 3041, + "id": 3051, "nodeType": "ExpressionStatement", "src": "7931:22:14" }, @@ -5466,11 +5466,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3043, + "id": 3053, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3032, + "referencedDeclaration": 3042, "src": "7972:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5482,18 +5482,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 3044, + "id": 3054, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "src": "7981:10:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 3045, + "id": 3055, "isConstant": false, "isLValue": false, "isPure": false, @@ -5512,11 +5512,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3053, + "id": 3063, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3034, + "referencedDeclaration": 3044, "src": "8034:6:14", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -5526,7 +5526,7 @@ { "argumentTypes": null, "hexValue": "45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 3054, + "id": 3064, "isConstant": false, "isLValue": false, "isPure": true, @@ -5559,25 +5559,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 3046, + "id": 3056, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2677, + "referencedDeclaration": 2687, "src": "7995:11:14", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 3048, + "id": 3058, "indexExpression": { "argumentTypes": null, - "id": 3047, + "id": 3057, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3032, + "referencedDeclaration": 3042, "src": "8007:7:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5595,24 +5595,24 @@ "typeString": "mapping(address => uint256)" } }, - "id": 3051, + "id": 3061, "indexExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 3049, + "id": 3059, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "src": "8016:10:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 3050, + "id": 3060, "isConstant": false, "isLValue": false, "isPure": false, @@ -5637,21 +5637,21 @@ "typeString": "uint256" } }, - "id": 3052, + "id": 3062, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sub", "nodeType": "MemberAccess", - "referencedDeclaration": 2538, + "referencedDeclaration": 2548, "src": "7995:38:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 3055, + "id": 3065, "isConstant": false, "isLValue": false, "isPure": false, @@ -5681,18 +5681,18 @@ "typeString": "uint256" } ], - "id": 3042, + "id": 3052, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3030, + "referencedDeclaration": 3040, "src": "7963:8:14", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 3056, + "id": 3066, "isConstant": false, "isLValue": false, "isPure": false, @@ -5706,29 +5706,29 @@ "typeString": "tuple()" } }, - "id": 3057, + "id": 3067, "nodeType": "ExpressionStatement", "src": "7963:119:14" } ] }, "documentation": "@dev Destroys `amount` tokens from `account`.`amount` is then deducted\nfrom the caller's allowance.\n * See {_burn} and {_approve}.", - "id": 3059, + "id": 3069, "implemented": true, "kind": "function", "modifiers": [], "name": "_burnFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 3035, + "id": 3045, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3032, + "id": 3042, "name": "account", "nodeType": "VariableDeclaration", - "scope": 3059, + "scope": 3069, "src": "7879:15:14", "stateVariable": false, "storageLocation": "default", @@ -5737,7 +5737,7 @@ "typeString": "address" }, "typeName": { - "id": 3031, + "id": 3041, "name": "address", "nodeType": "ElementaryTypeName", "src": "7879:7:14", @@ -5752,10 +5752,10 @@ }, { "constant": false, - "id": 3034, + "id": 3044, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 3059, + "scope": 3069, "src": "7896:14:14", "stateVariable": false, "storageLocation": "default", @@ -5764,7 +5764,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3033, + "id": 3043, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7896:7:14", @@ -5780,19 +5780,19 @@ "src": "7878:33:14" }, "returnParameters": { - "id": 3036, + "id": 3046, "nodeType": "ParameterList", "parameters": [], "src": "7921:0:14" }, - "scope": 3060, + "scope": 3070, "src": "7860:229:14", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 3061, + "scope": 3071, "src": "1268:6823:14" } ], @@ -5803,7 +5803,7 @@ "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", "exportedSymbols": { "ERC20": [ - 3060 + 3070 ] } }, @@ -5817,71 +5817,71 @@ ".0" ] }, - "id": 2657, + "id": 2667, "name": "PragmaDirective", "src": "0:23:14" }, { "attributes": { - "SourceUnit": 2281, + "SourceUnit": 2291, "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", "file": "../../GSN/Context.sol", - "scope": 3061, + "scope": 3071, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 2658, + "id": 2668, "name": "ImportDirective", "src": "25:31:14" }, { "attributes": { - "SourceUnit": 3216, + "SourceUnit": 3226, "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "scope": 3061, + "scope": 3071, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 2659, + "id": 2669, "name": "ImportDirective", "src": "57:22:14" }, { "attributes": { - "SourceUnit": 2656, + "SourceUnit": 2666, "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", "file": "../../math/SafeMath.sol", - "scope": 3061, + "scope": 3071, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 2660, + "id": 2670, "name": "ImportDirective", "src": "80:33:14" }, { "attributes": { "contractDependencies": [ - 2280, - 3215 + 2290, + 3225 ], "contractKind": "contract", "documentation": "@dev Implementation of the {IERC20} interface.\n * This implementation is agnostic to the way tokens are created. This means\nthat a supply mechanism has to be added in a derived contract using {_mint}.\nFor a generic mechanism see {ERC20Mintable}.\n * TIP: For a detailed writeup see our guide\nhttps://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\nto implement supply mechanisms].\n * We have followed general OpenZeppelin guidelines: functions revert instead\nof returning `false` on failure. This behavior is nonetheless conventional\nand does not conflict with the expectations of ERC20 applications.\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\nThis allows applications to reconstruct the allowance for all accounts just\nby listening to said events. Other implementations of the EIP may not emit\nthese events, as it isn't required by the specification.\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\nfunctions have been added to mitigate the well-known issues around setting\nallowances. See {IERC20-approve}.", "fullyImplemented": true, "linearizedBaseContracts": [ - 3060, - 3215, - 2280 + 3070, + 3225, + 2290 ], "name": "ERC20", - "scope": 3061 + "scope": 3071 }, "children": [ { @@ -5893,15 +5893,15 @@ "attributes": { "contractScope": null, "name": "Context", - "referencedDeclaration": 2280, + "referencedDeclaration": 2290, "type": "contract Context" }, - "id": 2661, + "id": 2671, "name": "UserDefinedTypeName", "src": "1286:7:14" } ], - "id": 2662, + "id": 2672, "name": "InheritanceSpecifier", "src": "1286:7:14" }, @@ -5914,15 +5914,15 @@ "attributes": { "contractScope": null, "name": "IERC20", - "referencedDeclaration": 3215, + "referencedDeclaration": 3225, "type": "contract IERC20" }, - "id": 2663, + "id": 2673, "name": "UserDefinedTypeName", "src": "1295:6:14" } ], - "id": 2664, + "id": 2674, "name": "InheritanceSpecifier", "src": "1295:6:14" }, @@ -5932,10 +5932,10 @@ "attributes": { "contractScope": null, "name": "SafeMath", - "referencedDeclaration": 2655, + "referencedDeclaration": 2665, "type": "library SafeMath" }, - "id": 2665, + "id": 2675, "name": "UserDefinedTypeName", "src": "1314:8:14" }, @@ -5944,12 +5944,12 @@ "name": "uint256", "type": "uint256" }, - "id": 2666, + "id": 2676, "name": "ElementaryTypeName", "src": "1327:7:14" } ], - "id": 2667, + "id": 2677, "name": "UsingForDirective", "src": "1308:27:14" }, @@ -5957,7 +5957,7 @@ "attributes": { "constant": false, "name": "_balances", - "scope": 3060, + "scope": 3070, "stateVariable": true, "storageLocation": "default", "type": "mapping(address => uint256)", @@ -5975,7 +5975,7 @@ "name": "address", "type": "address" }, - "id": 2668, + "id": 2678, "name": "ElementaryTypeName", "src": "1350:7:14" }, @@ -5984,17 +5984,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2669, + "id": 2679, "name": "ElementaryTypeName", "src": "1361:7:14" } ], - "id": 2670, + "id": 2680, "name": "Mapping", "src": "1341:28:14" } ], - "id": 2671, + "id": 2681, "name": "VariableDeclaration", "src": "1341:46:14" }, @@ -6002,7 +6002,7 @@ "attributes": { "constant": false, "name": "_allowances", - "scope": 3060, + "scope": 3070, "stateVariable": true, "storageLocation": "default", "type": "mapping(address => mapping(address => uint256))", @@ -6020,7 +6020,7 @@ "name": "address", "type": "address" }, - "id": 2672, + "id": 2682, "name": "ElementaryTypeName", "src": "1403:7:14" }, @@ -6034,7 +6034,7 @@ "name": "address", "type": "address" }, - "id": 2673, + "id": 2683, "name": "ElementaryTypeName", "src": "1423:7:14" }, @@ -6043,22 +6043,22 @@ "name": "uint256", "type": "uint256" }, - "id": 2674, + "id": 2684, "name": "ElementaryTypeName", "src": "1434:7:14" } ], - "id": 2675, + "id": 2685, "name": "Mapping", "src": "1414:28:14" } ], - "id": 2676, + "id": 2686, "name": "Mapping", "src": "1394:49:14" } ], - "id": 2677, + "id": 2687, "name": "VariableDeclaration", "src": "1394:69:14" }, @@ -6066,7 +6066,7 @@ "attributes": { "constant": false, "name": "_totalSupply", - "scope": 3060, + "scope": 3070, "stateVariable": true, "storageLocation": "default", "type": "uint256", @@ -6079,12 +6079,12 @@ "name": "uint256", "type": "uint256" }, - "id": 2678, + "id": 2688, "name": "ElementaryTypeName", "src": "1470:7:14" } ], - "id": 2679, + "id": 2689, "name": "VariableDeclaration", "src": "1470:28:14" }, @@ -6098,9 +6098,9 @@ null ], "name": "totalSupply", - "scope": 3060, + "scope": 3070, "stateMutability": "view", - "superFunction": 3153, + "superFunction": 3163, "visibility": "public" }, "children": [ @@ -6111,7 +6111,7 @@ ] }, "children": [], - "id": 2680, + "id": 2690, "name": "ParameterList", "src": "1579:2:14" }, @@ -6121,126 +6121,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2687, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint256", - "type": "uint256" - }, - "id": 2681, - "name": "ElementaryTypeName", - "src": "1603:7:14" - } - ], - "id": 2682, - "name": "VariableDeclaration", - "src": "1603:7:14" - } - ], - "id": 2683, - "name": "ParameterList", - "src": "1602:9:14" - }, - { - "children": [ - { - "attributes": { - "functionReturnParameters": 2683 - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 2679, - "type": "uint256", - "value": "_totalSupply" - }, - "id": 2684, - "name": "Identifier", - "src": "1629:12:14" - } - ], - "id": 2685, - "name": "Return", - "src": "1622:19:14" - } - ], - "id": 2686, - "name": "Block", - "src": "1612:36:14" - } - ], - "id": 2687, - "name": "FunctionDefinition", - "src": "1559:89:14" - }, - { - "attributes": { - "documentation": "@dev See {IERC20-balanceOf}.", - "implemented": true, - "isConstructor": false, - "kind": "function", - "modifiers": [ - null - ], - "name": "balanceOf", - "scope": 3060, - "stateMutability": "view", - "superFunction": 3160, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "account", - "scope": 2699, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "stateMutability": "nonpayable", - "type": "address" - }, - "id": 2688, - "name": "ElementaryTypeName", - "src": "1725:7:14" - } - ], - "id": 2689, - "name": "VariableDeclaration", - "src": "1725:15:14" - } - ], - "id": 2690, - "name": "ParameterList", - "src": "1724:17:14" - }, - { - "children": [ - { - "attributes": { - "constant": false, - "name": "", - "scope": 2699, + "scope": 2697, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -6255,23 +6136,142 @@ }, "id": 2691, "name": "ElementaryTypeName", - "src": "1763:7:14" + "src": "1603:7:14" } ], "id": 2692, "name": "VariableDeclaration", - "src": "1763:7:14" + "src": "1603:7:14" } ], "id": 2693, "name": "ParameterList", + "src": "1602:9:14" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 2693 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2689, + "type": "uint256", + "value": "_totalSupply" + }, + "id": 2694, + "name": "Identifier", + "src": "1629:12:14" + } + ], + "id": 2695, + "name": "Return", + "src": "1622:19:14" + } + ], + "id": 2696, + "name": "Block", + "src": "1612:36:14" + } + ], + "id": 2697, + "name": "FunctionDefinition", + "src": "1559:89:14" + }, + { + "attributes": { + "documentation": "@dev See {IERC20-balanceOf}.", + "implemented": true, + "isConstructor": false, + "kind": "function", + "modifiers": [ + null + ], + "name": "balanceOf", + "scope": 3070, + "stateMutability": "view", + "superFunction": 3170, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "account", + "scope": 2709, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 2698, + "name": "ElementaryTypeName", + "src": "1725:7:14" + } + ], + "id": 2699, + "name": "VariableDeclaration", + "src": "1725:15:14" + } + ], + "id": 2700, + "name": "ParameterList", + "src": "1724:17:14" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2709, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 2701, + "name": "ElementaryTypeName", + "src": "1763:7:14" + } + ], + "id": 2702, + "name": "VariableDeclaration", + "src": "1763:7:14" + } + ], + "id": 2703, + "name": "ParameterList", "src": "1762:9:14" }, { "children": [ { "attributes": { - "functionReturnParameters": 2693 + "functionReturnParameters": 2703 }, "children": [ { @@ -6290,11 +6290,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "type": "mapping(address => uint256)", "value": "_balances" }, - "id": 2694, + "id": 2704, "name": "Identifier", "src": "1789:9:14" }, @@ -6304,31 +6304,31 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2689, + "referencedDeclaration": 2699, "type": "address", "value": "account" }, - "id": 2695, + "id": 2705, "name": "Identifier", "src": "1799:7:14" } ], - "id": 2696, + "id": 2706, "name": "IndexAccess", "src": "1789:18:14" } ], - "id": 2697, + "id": 2707, "name": "Return", "src": "1782:25:14" } ], - "id": 2698, + "id": 2708, "name": "Block", "src": "1772:42:14" } ], - "id": 2699, + "id": 2709, "name": "FunctionDefinition", "src": "1706:108:14" }, @@ -6342,9 +6342,9 @@ null ], "name": "transfer", - "scope": 3060, + "scope": 3070, "stateMutability": "nonpayable", - "superFunction": 3169, + "superFunction": 3179, "visibility": "public" }, "children": [ @@ -6354,7 +6354,7 @@ "attributes": { "constant": false, "name": "recipient", - "scope": 2718, + "scope": 2728, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -6368,12 +6368,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2700, + "id": 2710, "name": "ElementaryTypeName", "src": "2035:7:14" } ], - "id": 2701, + "id": 2711, "name": "VariableDeclaration", "src": "2035:17:14" }, @@ -6381,7 +6381,7 @@ "attributes": { "constant": false, "name": "amount", - "scope": 2718, + "scope": 2728, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -6394,17 +6394,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2702, + "id": 2712, "name": "ElementaryTypeName", "src": "2054:7:14" } ], - "id": 2703, + "id": 2713, "name": "VariableDeclaration", "src": "2054:14:14" } ], - "id": 2704, + "id": 2714, "name": "ParameterList", "src": "2034:35:14" }, @@ -6414,7 +6414,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2718, + "scope": 2728, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -6427,17 +6427,17 @@ "name": "bool", "type": "bool" }, - "id": 2705, + "id": 2715, "name": "ElementaryTypeName", "src": "2086:4:14" } ], - "id": 2706, + "id": 2716, "name": "VariableDeclaration", "src": "2086:4:14" } ], - "id": 2707, + "id": 2717, "name": "ParameterList", "src": "2085:6:14" }, @@ -6479,11 +6479,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2901, + "referencedDeclaration": 2911, "type": "function (address,address,uint256)", "value": "_transfer" }, - "id": 2708, + "id": 2718, "name": "Identifier", "src": "2102:9:14" }, @@ -6513,16 +6513,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "type": "function () view returns (address payable)", "value": "_msgSender" }, - "id": 2709, + "id": 2719, "name": "Identifier", "src": "2112:10:14" } ], - "id": 2710, + "id": 2720, "name": "FunctionCall", "src": "2112:12:14" }, @@ -6532,11 +6532,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2701, + "referencedDeclaration": 2711, "type": "address", "value": "recipient" }, - "id": 2711, + "id": 2721, "name": "Identifier", "src": "2126:9:14" }, @@ -6546,27 +6546,27 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2703, + "referencedDeclaration": 2713, "type": "uint256", "value": "amount" }, - "id": 2712, + "id": 2722, "name": "Identifier", "src": "2137:6:14" } ], - "id": 2713, + "id": 2723, "name": "FunctionCall", "src": "2102:42:14" } ], - "id": 2714, + "id": 2724, "name": "ExpressionStatement", "src": "2102:42:14" }, { "attributes": { - "functionReturnParameters": 2707 + "functionReturnParameters": 2717 }, "children": [ { @@ -6582,22 +6582,22 @@ "type": "bool", "value": "true" }, - "id": 2715, + "id": 2725, "name": "Literal", "src": "2161:4:14" } ], - "id": 2716, + "id": 2726, "name": "Return", "src": "2154:11:14" } ], - "id": 2717, + "id": 2727, "name": "Block", "src": "2092:80:14" } ], - "id": 2718, + "id": 2728, "name": "FunctionDefinition", "src": "2017:155:14" }, @@ -6611,9 +6611,9 @@ null ], "name": "allowance", - "scope": 3060, + "scope": 3070, "stateMutability": "view", - "superFunction": 3178, + "superFunction": 3188, "visibility": "public" }, "children": [ @@ -6623,7 +6623,7 @@ "attributes": { "constant": false, "name": "owner", - "scope": 2734, + "scope": 2744, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -6637,12 +6637,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2719, + "id": 2729, "name": "ElementaryTypeName", "src": "2249:7:14" } ], - "id": 2720, + "id": 2730, "name": "VariableDeclaration", "src": "2249:13:14" }, @@ -6650,7 +6650,7 @@ "attributes": { "constant": false, "name": "spender", - "scope": 2734, + "scope": 2744, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -6664,17 +6664,17 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2721, + "id": 2731, "name": "ElementaryTypeName", "src": "2264:7:14" } ], - "id": 2722, + "id": 2732, "name": "VariableDeclaration", "src": "2264:15:14" } ], - "id": 2723, + "id": 2733, "name": "ParameterList", "src": "2248:32:14" }, @@ -6684,7 +6684,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2734, + "scope": 2744, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -6697,17 +6697,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2724, + "id": 2734, "name": "ElementaryTypeName", "src": "2302:7:14" } ], - "id": 2725, + "id": 2735, "name": "VariableDeclaration", "src": "2302:7:14" } ], - "id": 2726, + "id": 2736, "name": "ParameterList", "src": "2301:9:14" }, @@ -6715,7 +6715,7 @@ "children": [ { "attributes": { - "functionReturnParameters": 2726 + "functionReturnParameters": 2736 }, "children": [ { @@ -6744,11 +6744,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2677, + "referencedDeclaration": 2687, "type": "mapping(address => mapping(address => uint256))", "value": "_allowances" }, - "id": 2727, + "id": 2737, "name": "Identifier", "src": "2328:11:14" }, @@ -6758,16 +6758,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2720, + "referencedDeclaration": 2730, "type": "address", "value": "owner" }, - "id": 2728, + "id": 2738, "name": "Identifier", "src": "2340:5:14" } ], - "id": 2729, + "id": 2739, "name": "IndexAccess", "src": "2328:18:14" }, @@ -6777,31 +6777,31 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2722, + "referencedDeclaration": 2732, "type": "address", "value": "spender" }, - "id": 2730, + "id": 2740, "name": "Identifier", "src": "2347:7:14" } ], - "id": 2731, + "id": 2741, "name": "IndexAccess", "src": "2328:27:14" } ], - "id": 2732, + "id": 2742, "name": "Return", "src": "2321:34:14" } ], - "id": 2733, + "id": 2743, "name": "Block", "src": "2311:51:14" } ], - "id": 2734, + "id": 2744, "name": "FunctionDefinition", "src": "2230:132:14" }, @@ -6815,9 +6815,9 @@ null ], "name": "approve", - "scope": 3060, + "scope": 3070, "stateMutability": "nonpayable", - "superFunction": 3187, + "superFunction": 3197, "visibility": "public" }, "children": [ @@ -6827,7 +6827,7 @@ "attributes": { "constant": false, "name": "spender", - "scope": 2753, + "scope": 2763, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -6841,12 +6841,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2735, + "id": 2745, "name": "ElementaryTypeName", "src": "2517:7:14" } ], - "id": 2736, + "id": 2746, "name": "VariableDeclaration", "src": "2517:15:14" }, @@ -6854,7 +6854,7 @@ "attributes": { "constant": false, "name": "amount", - "scope": 2753, + "scope": 2763, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -6867,17 +6867,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2737, + "id": 2747, "name": "ElementaryTypeName", "src": "2534:7:14" } ], - "id": 2738, + "id": 2748, "name": "VariableDeclaration", "src": "2534:14:14" } ], - "id": 2739, + "id": 2749, "name": "ParameterList", "src": "2516:33:14" }, @@ -6887,7 +6887,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2753, + "scope": 2763, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -6900,17 +6900,17 @@ "name": "bool", "type": "bool" }, - "id": 2740, + "id": 2750, "name": "ElementaryTypeName", "src": "2566:4:14" } ], - "id": 2741, + "id": 2751, "name": "VariableDeclaration", "src": "2566:4:14" } ], - "id": 2742, + "id": 2752, "name": "ParameterList", "src": "2565:6:14" }, @@ -6952,11 +6952,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3030, + "referencedDeclaration": 3040, "type": "function (address,address,uint256)", "value": "_approve" }, - "id": 2743, + "id": 2753, "name": "Identifier", "src": "2582:8:14" }, @@ -6986,16 +6986,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "type": "function () view returns (address payable)", "value": "_msgSender" }, - "id": 2744, + "id": 2754, "name": "Identifier", "src": "2591:10:14" } ], - "id": 2745, + "id": 2755, "name": "FunctionCall", "src": "2591:12:14" }, @@ -7005,11 +7005,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2736, + "referencedDeclaration": 2746, "type": "address", "value": "spender" }, - "id": 2746, + "id": 2756, "name": "Identifier", "src": "2605:7:14" }, @@ -7019,27 +7019,27 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2738, + "referencedDeclaration": 2748, "type": "uint256", "value": "amount" }, - "id": 2747, + "id": 2757, "name": "Identifier", "src": "2614:6:14" } ], - "id": 2748, + "id": 2758, "name": "FunctionCall", "src": "2582:39:14" } ], - "id": 2749, + "id": 2759, "name": "ExpressionStatement", "src": "2582:39:14" }, { "attributes": { - "functionReturnParameters": 2742 + "functionReturnParameters": 2752 }, "children": [ { @@ -7055,22 +7055,22 @@ "type": "bool", "value": "true" }, - "id": 2750, + "id": 2760, "name": "Literal", "src": "2638:4:14" } ], - "id": 2751, + "id": 2761, "name": "Return", "src": "2631:11:14" } ], - "id": 2752, + "id": 2762, "name": "Block", "src": "2572:77:14" } ], - "id": 2753, + "id": 2763, "name": "FunctionDefinition", "src": "2500:149:14" }, @@ -7084,9 +7084,9 @@ null ], "name": "transferFrom", - "scope": 3060, + "scope": 3070, "stateMutability": "nonpayable", - "superFunction": 3198, + "superFunction": 3208, "visibility": "public" }, "children": [ @@ -7096,7 +7096,7 @@ "attributes": { "constant": false, "name": "sender", - "scope": 2789, + "scope": 2799, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -7110,12 +7110,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2754, + "id": 2764, "name": "ElementaryTypeName", "src": "3129:7:14" } ], - "id": 2755, + "id": 2765, "name": "VariableDeclaration", "src": "3129:14:14" }, @@ -7123,7 +7123,7 @@ "attributes": { "constant": false, "name": "recipient", - "scope": 2789, + "scope": 2799, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -7137,12 +7137,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2756, + "id": 2766, "name": "ElementaryTypeName", "src": "3145:7:14" } ], - "id": 2757, + "id": 2767, "name": "VariableDeclaration", "src": "3145:17:14" }, @@ -7150,7 +7150,7 @@ "attributes": { "constant": false, "name": "amount", - "scope": 2789, + "scope": 2799, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -7163,17 +7163,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2758, + "id": 2768, "name": "ElementaryTypeName", "src": "3164:7:14" } ], - "id": 2759, + "id": 2769, "name": "VariableDeclaration", "src": "3164:14:14" } ], - "id": 2760, + "id": 2770, "name": "ParameterList", "src": "3128:51:14" }, @@ -7183,7 +7183,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2789, + "scope": 2799, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -7196,17 +7196,17 @@ "name": "bool", "type": "bool" }, - "id": 2761, + "id": 2771, "name": "ElementaryTypeName", "src": "3196:4:14" } ], - "id": 2762, + "id": 2772, "name": "VariableDeclaration", "src": "3196:4:14" } ], - "id": 2763, + "id": 2773, "name": "ParameterList", "src": "3195:6:14" }, @@ -7248,11 +7248,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2901, + "referencedDeclaration": 2911, "type": "function (address,address,uint256)", "value": "_transfer" }, - "id": 2764, + "id": 2774, "name": "Identifier", "src": "3212:9:14" }, @@ -7262,11 +7262,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2755, + "referencedDeclaration": 2765, "type": "address", "value": "sender" }, - "id": 2765, + "id": 2775, "name": "Identifier", "src": "3222:6:14" }, @@ -7276,11 +7276,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2757, + "referencedDeclaration": 2767, "type": "address", "value": "recipient" }, - "id": 2766, + "id": 2776, "name": "Identifier", "src": "3230:9:14" }, @@ -7290,21 +7290,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2759, + "referencedDeclaration": 2769, "type": "uint256", "value": "amount" }, - "id": 2767, + "id": 2777, "name": "Identifier", "src": "3241:6:14" } ], - "id": 2768, + "id": 2778, "name": "FunctionCall", "src": "3212:36:14" } ], - "id": 2769, + "id": 2779, "name": "ExpressionStatement", "src": "3212:36:14" }, @@ -7344,11 +7344,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3030, + "referencedDeclaration": 3040, "type": "function (address,address,uint256)", "value": "_approve" }, - "id": 2770, + "id": 2780, "name": "Identifier", "src": "3258:8:14" }, @@ -7358,11 +7358,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2755, + "referencedDeclaration": 2765, "type": "address", "value": "sender" }, - "id": 2771, + "id": 2781, "name": "Identifier", "src": "3267:6:14" }, @@ -7392,16 +7392,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "type": "function () view returns (address payable)", "value": "_msgSender" }, - "id": 2772, + "id": 2782, "name": "Identifier", "src": "3275:10:14" } ], - "id": 2773, + "id": 2783, "name": "FunctionCall", "src": "3275:12:14" }, @@ -7437,7 +7437,7 @@ "isPure": false, "lValueRequested": false, "member_name": "sub", - "referencedDeclaration": 2538, + "referencedDeclaration": 2548, "type": "function (uint256,uint256,string memory) pure returns (uint256)" }, "children": [ @@ -7467,11 +7467,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2677, + "referencedDeclaration": 2687, "type": "mapping(address => mapping(address => uint256))", "value": "_allowances" }, - "id": 2774, + "id": 2784, "name": "Identifier", "src": "3289:11:14" }, @@ -7481,16 +7481,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2755, + "referencedDeclaration": 2765, "type": "address", "value": "sender" }, - "id": 2775, + "id": 2785, "name": "Identifier", "src": "3301:6:14" } ], - "id": 2776, + "id": 2786, "name": "IndexAccess", "src": "3289:19:14" }, @@ -7520,26 +7520,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "type": "function () view returns (address payable)", "value": "_msgSender" }, - "id": 2777, + "id": 2787, "name": "Identifier", "src": "3309:10:14" } ], - "id": 2778, + "id": 2788, "name": "FunctionCall", "src": "3309:12:14" } ], - "id": 2779, + "id": 2789, "name": "IndexAccess", "src": "3289:33:14" } ], - "id": 2780, + "id": 2790, "name": "MemberAccess", "src": "3289:37:14" }, @@ -7549,11 +7549,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2759, + "referencedDeclaration": 2769, "type": "uint256", "value": "amount" }, - "id": 2781, + "id": 2791, "name": "Identifier", "src": "3327:6:14" }, @@ -7570,28 +7570,28 @@ "type": "literal_string \"ERC20: transfer amount exceeds allowance\"", "value": "ERC20: transfer amount exceeds allowance" }, - "id": 2782, + "id": 2792, "name": "Literal", "src": "3335:42:14" } ], - "id": 2783, + "id": 2793, "name": "FunctionCall", "src": "3289:89:14" } ], - "id": 2784, + "id": 2794, "name": "FunctionCall", "src": "3258:121:14" } ], - "id": 2785, + "id": 2795, "name": "ExpressionStatement", "src": "3258:121:14" }, { "attributes": { - "functionReturnParameters": 2763 + "functionReturnParameters": 2773 }, "children": [ { @@ -7607,22 +7607,22 @@ "type": "bool", "value": "true" }, - "id": 2786, + "id": 2796, "name": "Literal", "src": "3396:4:14" } ], - "id": 2787, + "id": 2797, "name": "Return", "src": "3389:11:14" } ], - "id": 2788, + "id": 2798, "name": "Block", "src": "3202:205:14" } ], - "id": 2789, + "id": 2799, "name": "FunctionDefinition", "src": "3107:300:14" }, @@ -7636,7 +7636,7 @@ null ], "name": "increaseAllowance", - "scope": 3060, + "scope": 3070, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -7648,7 +7648,7 @@ "attributes": { "constant": false, "name": "spender", - "scope": 2816, + "scope": 2826, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -7662,12 +7662,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2790, + "id": 2800, "name": "ElementaryTypeName", "src": "3829:7:14" } ], - "id": 2791, + "id": 2801, "name": "VariableDeclaration", "src": "3829:15:14" }, @@ -7675,7 +7675,7 @@ "attributes": { "constant": false, "name": "addedValue", - "scope": 2816, + "scope": 2826, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -7688,17 +7688,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2792, + "id": 2802, "name": "ElementaryTypeName", "src": "3846:7:14" } ], - "id": 2793, + "id": 2803, "name": "VariableDeclaration", "src": "3846:18:14" } ], - "id": 2794, + "id": 2804, "name": "ParameterList", "src": "3828:37:14" }, @@ -7708,7 +7708,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2816, + "scope": 2826, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -7721,17 +7721,17 @@ "name": "bool", "type": "bool" }, - "id": 2795, + "id": 2805, "name": "ElementaryTypeName", "src": "3882:4:14" } ], - "id": 2796, + "id": 2806, "name": "VariableDeclaration", "src": "3882:4:14" } ], - "id": 2797, + "id": 2807, "name": "ParameterList", "src": "3881:6:14" }, @@ -7773,11 +7773,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3030, + "referencedDeclaration": 3040, "type": "function (address,address,uint256)", "value": "_approve" }, - "id": 2798, + "id": 2808, "name": "Identifier", "src": "3898:8:14" }, @@ -7807,16 +7807,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "type": "function () view returns (address payable)", "value": "_msgSender" }, - "id": 2799, + "id": 2809, "name": "Identifier", "src": "3907:10:14" } ], - "id": 2800, + "id": 2810, "name": "FunctionCall", "src": "3907:12:14" }, @@ -7826,11 +7826,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2791, + "referencedDeclaration": 2801, "type": "address", "value": "spender" }, - "id": 2801, + "id": 2811, "name": "Identifier", "src": "3921:7:14" }, @@ -7862,7 +7862,7 @@ "isPure": false, "lValueRequested": false, "member_name": "add", - "referencedDeclaration": 2495, + "referencedDeclaration": 2505, "type": "function (uint256,uint256) pure returns (uint256)" }, "children": [ @@ -7892,11 +7892,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2677, + "referencedDeclaration": 2687, "type": "mapping(address => mapping(address => uint256))", "value": "_allowances" }, - "id": 2802, + "id": 2812, "name": "Identifier", "src": "3930:11:14" }, @@ -7926,21 +7926,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "type": "function () view returns (address payable)", "value": "_msgSender" }, - "id": 2803, + "id": 2813, "name": "Identifier", "src": "3942:10:14" } ], - "id": 2804, + "id": 2814, "name": "FunctionCall", "src": "3942:12:14" } ], - "id": 2805, + "id": 2815, "name": "IndexAccess", "src": "3930:25:14" }, @@ -7950,21 +7950,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2791, + "referencedDeclaration": 2801, "type": "address", "value": "spender" }, - "id": 2806, + "id": 2816, "name": "Identifier", "src": "3956:7:14" } ], - "id": 2807, + "id": 2817, "name": "IndexAccess", "src": "3930:34:14" } ], - "id": 2808, + "id": 2818, "name": "MemberAccess", "src": "3930:38:14" }, @@ -7974,32 +7974,32 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2793, + "referencedDeclaration": 2803, "type": "uint256", "value": "addedValue" }, - "id": 2809, + "id": 2819, "name": "Identifier", "src": "3969:10:14" } ], - "id": 2810, + "id": 2820, "name": "FunctionCall", "src": "3930:50:14" } ], - "id": 2811, + "id": 2821, "name": "FunctionCall", "src": "3898:83:14" } ], - "id": 2812, + "id": 2822, "name": "ExpressionStatement", "src": "3898:83:14" }, { "attributes": { - "functionReturnParameters": 2797 + "functionReturnParameters": 2807 }, "children": [ { @@ -8015,22 +8015,22 @@ "type": "bool", "value": "true" }, - "id": 2813, + "id": 2823, "name": "Literal", "src": "3998:4:14" } ], - "id": 2814, + "id": 2824, "name": "Return", "src": "3991:11:14" } ], - "id": 2815, + "id": 2825, "name": "Block", "src": "3888:121:14" } ], - "id": 2816, + "id": 2826, "name": "FunctionDefinition", "src": "3802:207:14" }, @@ -8044,7 +8044,7 @@ null ], "name": "decreaseAllowance", - "scope": 3060, + "scope": 3070, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -8056,7 +8056,7 @@ "attributes": { "constant": false, "name": "spender", - "scope": 2844, + "scope": 2854, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -8070,12 +8070,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2817, + "id": 2827, "name": "ElementaryTypeName", "src": "4523:7:14" } ], - "id": 2818, + "id": 2828, "name": "VariableDeclaration", "src": "4523:15:14" }, @@ -8083,7 +8083,7 @@ "attributes": { "constant": false, "name": "subtractedValue", - "scope": 2844, + "scope": 2854, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -8096,17 +8096,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2819, + "id": 2829, "name": "ElementaryTypeName", "src": "4540:7:14" } ], - "id": 2820, + "id": 2830, "name": "VariableDeclaration", "src": "4540:23:14" } ], - "id": 2821, + "id": 2831, "name": "ParameterList", "src": "4522:42:14" }, @@ -8116,7 +8116,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2844, + "scope": 2854, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -8129,17 +8129,17 @@ "name": "bool", "type": "bool" }, - "id": 2822, + "id": 2832, "name": "ElementaryTypeName", "src": "4581:4:14" } ], - "id": 2823, + "id": 2833, "name": "VariableDeclaration", "src": "4581:4:14" } ], - "id": 2824, + "id": 2834, "name": "ParameterList", "src": "4580:6:14" }, @@ -8181,11 +8181,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3030, + "referencedDeclaration": 3040, "type": "function (address,address,uint256)", "value": "_approve" }, - "id": 2825, + "id": 2835, "name": "Identifier", "src": "4597:8:14" }, @@ -8215,16 +8215,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "type": "function () view returns (address payable)", "value": "_msgSender" }, - "id": 2826, + "id": 2836, "name": "Identifier", "src": "4606:10:14" } ], - "id": 2827, + "id": 2837, "name": "FunctionCall", "src": "4606:12:14" }, @@ -8234,11 +8234,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2818, + "referencedDeclaration": 2828, "type": "address", "value": "spender" }, - "id": 2828, + "id": 2838, "name": "Identifier", "src": "4620:7:14" }, @@ -8274,7 +8274,7 @@ "isPure": false, "lValueRequested": false, "member_name": "sub", - "referencedDeclaration": 2538, + "referencedDeclaration": 2548, "type": "function (uint256,uint256,string memory) pure returns (uint256)" }, "children": [ @@ -8304,11 +8304,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2677, + "referencedDeclaration": 2687, "type": "mapping(address => mapping(address => uint256))", "value": "_allowances" }, - "id": 2829, + "id": 2839, "name": "Identifier", "src": "4629:11:14" }, @@ -8338,21 +8338,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "type": "function () view returns (address payable)", "value": "_msgSender" }, - "id": 2830, + "id": 2840, "name": "Identifier", "src": "4641:10:14" } ], - "id": 2831, + "id": 2841, "name": "FunctionCall", "src": "4641:12:14" } ], - "id": 2832, + "id": 2842, "name": "IndexAccess", "src": "4629:25:14" }, @@ -8362,21 +8362,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2818, + "referencedDeclaration": 2828, "type": "address", "value": "spender" }, - "id": 2833, + "id": 2843, "name": "Identifier", "src": "4655:7:14" } ], - "id": 2834, + "id": 2844, "name": "IndexAccess", "src": "4629:34:14" } ], - "id": 2835, + "id": 2845, "name": "MemberAccess", "src": "4629:38:14" }, @@ -8386,11 +8386,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2820, + "referencedDeclaration": 2830, "type": "uint256", "value": "subtractedValue" }, - "id": 2836, + "id": 2846, "name": "Identifier", "src": "4668:15:14" }, @@ -8407,28 +8407,28 @@ "type": "literal_string \"ERC20: decreased allowance below zero\"", "value": "ERC20: decreased allowance below zero" }, - "id": 2837, + "id": 2847, "name": "Literal", "src": "4685:39:14" } ], - "id": 2838, + "id": 2848, "name": "FunctionCall", "src": "4629:96:14" } ], - "id": 2839, + "id": 2849, "name": "FunctionCall", "src": "4597:129:14" } ], - "id": 2840, + "id": 2850, "name": "ExpressionStatement", "src": "4597:129:14" }, { "attributes": { - "functionReturnParameters": 2824 + "functionReturnParameters": 2834 }, "children": [ { @@ -8444,22 +8444,22 @@ "type": "bool", "value": "true" }, - "id": 2841, + "id": 2851, "name": "Literal", "src": "4743:4:14" } ], - "id": 2842, + "id": 2852, "name": "Return", "src": "4736:11:14" } ], - "id": 2843, + "id": 2853, "name": "Block", "src": "4587:167:14" } ], - "id": 2844, + "id": 2854, "name": "FunctionDefinition", "src": "4496:258:14" }, @@ -8473,7 +8473,7 @@ null ], "name": "_transfer", - "scope": 3060, + "scope": 3070, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -8485,7 +8485,7 @@ "attributes": { "constant": false, "name": "sender", - "scope": 2901, + "scope": 2911, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -8499,12 +8499,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2845, + "id": 2855, "name": "ElementaryTypeName", "src": "5247:7:14" } ], - "id": 2846, + "id": 2856, "name": "VariableDeclaration", "src": "5247:14:14" }, @@ -8512,7 +8512,7 @@ "attributes": { "constant": false, "name": "recipient", - "scope": 2901, + "scope": 2911, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -8526,12 +8526,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2847, + "id": 2857, "name": "ElementaryTypeName", "src": "5263:7:14" } ], - "id": 2848, + "id": 2858, "name": "VariableDeclaration", "src": "5263:17:14" }, @@ -8539,7 +8539,7 @@ "attributes": { "constant": false, "name": "amount", - "scope": 2901, + "scope": 2911, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -8552,17 +8552,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2849, + "id": 2859, "name": "ElementaryTypeName", "src": "5282:7:14" } ], - "id": 2850, + "id": 2860, "name": "VariableDeclaration", "src": "5282:14:14" } ], - "id": 2851, + "id": 2861, "name": "ParameterList", "src": "5246:51:14" }, @@ -8573,7 +8573,7 @@ ] }, "children": [], - "id": 2852, + "id": 2862, "name": "ParameterList", "src": "5307:0:14" }, @@ -8609,14 +8609,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 2853, + "id": 2863, "name": "Identifier", "src": "5317:7:14" }, @@ -8641,11 +8641,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2846, + "referencedDeclaration": 2856, "type": "address", "value": "sender" }, - "id": 2854, + "id": 2864, "name": "Identifier", "src": "5325:6:14" }, @@ -8679,7 +8679,7 @@ "type": "type(address)", "value": "address" }, - "id": 2855, + "id": 2865, "name": "ElementaryTypeNameExpression", "src": "5335:7:14" }, @@ -8696,17 +8696,17 @@ "type": "int_const 0", "value": "0" }, - "id": 2856, + "id": 2866, "name": "Literal", "src": "5343:1:14" } ], - "id": 2857, + "id": 2867, "name": "FunctionCall", "src": "5335:10:14" } ], - "id": 2858, + "id": 2868, "name": "BinaryOperation", "src": "5325:20:14" }, @@ -8723,17 +8723,17 @@ "type": "literal_string \"ERC20: transfer from the zero address\"", "value": "ERC20: transfer from the zero address" }, - "id": 2859, + "id": 2869, "name": "Literal", "src": "5347:39:14" } ], - "id": 2860, + "id": 2870, "name": "FunctionCall", "src": "5317:70:14" } ], - "id": 2861, + "id": 2871, "name": "ExpressionStatement", "src": "5317:70:14" }, @@ -8767,14 +8767,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 2862, + "id": 2872, "name": "Identifier", "src": "5397:7:14" }, @@ -8799,11 +8799,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2848, + "referencedDeclaration": 2858, "type": "address", "value": "recipient" }, - "id": 2863, + "id": 2873, "name": "Identifier", "src": "5405:9:14" }, @@ -8837,7 +8837,7 @@ "type": "type(address)", "value": "address" }, - "id": 2864, + "id": 2874, "name": "ElementaryTypeNameExpression", "src": "5418:7:14" }, @@ -8854,17 +8854,17 @@ "type": "int_const 0", "value": "0" }, - "id": 2865, + "id": 2875, "name": "Literal", "src": "5426:1:14" } ], - "id": 2866, + "id": 2876, "name": "FunctionCall", "src": "5418:10:14" } ], - "id": 2867, + "id": 2877, "name": "BinaryOperation", "src": "5405:23:14" }, @@ -8881,17 +8881,17 @@ "type": "literal_string \"ERC20: transfer to the zero address\"", "value": "ERC20: transfer to the zero address" }, - "id": 2868, + "id": 2878, "name": "Literal", "src": "5430:37:14" } ], - "id": 2869, + "id": 2879, "name": "FunctionCall", "src": "5397:71:14" } ], - "id": 2870, + "id": 2880, "name": "ExpressionStatement", "src": "5397:71:14" }, @@ -8924,11 +8924,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "type": "mapping(address => uint256)", "value": "_balances" }, - "id": 2871, + "id": 2881, "name": "Identifier", "src": "5479:9:14" }, @@ -8938,16 +8938,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2846, + "referencedDeclaration": 2856, "type": "address", "value": "sender" }, - "id": 2872, + "id": 2882, "name": "Identifier", "src": "5489:6:14" } ], - "id": 2873, + "id": 2883, "name": "IndexAccess", "src": "5479:17:14" }, @@ -8983,7 +8983,7 @@ "isPure": false, "lValueRequested": false, "member_name": "sub", - "referencedDeclaration": 2538, + "referencedDeclaration": 2548, "type": "function (uint256,uint256,string memory) pure returns (uint256)" }, "children": [ @@ -9003,11 +9003,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "type": "mapping(address => uint256)", "value": "_balances" }, - "id": 2874, + "id": 2884, "name": "Identifier", "src": "5499:9:14" }, @@ -9017,21 +9017,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2846, + "referencedDeclaration": 2856, "type": "address", "value": "sender" }, - "id": 2875, + "id": 2885, "name": "Identifier", "src": "5509:6:14" } ], - "id": 2876, + "id": 2886, "name": "IndexAccess", "src": "5499:17:14" } ], - "id": 2877, + "id": 2887, "name": "MemberAccess", "src": "5499:21:14" }, @@ -9041,11 +9041,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2850, + "referencedDeclaration": 2860, "type": "uint256", "value": "amount" }, - "id": 2878, + "id": 2888, "name": "Identifier", "src": "5521:6:14" }, @@ -9062,22 +9062,22 @@ "type": "literal_string \"ERC20: transfer amount exceeds balance\"", "value": "ERC20: transfer amount exceeds balance" }, - "id": 2879, + "id": 2889, "name": "Literal", "src": "5529:40:14" } ], - "id": 2880, + "id": 2890, "name": "FunctionCall", "src": "5499:71:14" } ], - "id": 2881, + "id": 2891, "name": "Assignment", "src": "5479:91:14" } ], - "id": 2882, + "id": 2892, "name": "ExpressionStatement", "src": "5479:91:14" }, @@ -9110,11 +9110,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "type": "mapping(address => uint256)", "value": "_balances" }, - "id": 2883, + "id": 2893, "name": "Identifier", "src": "5580:9:14" }, @@ -9124,16 +9124,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2848, + "referencedDeclaration": 2858, "type": "address", "value": "recipient" }, - "id": 2884, + "id": 2894, "name": "Identifier", "src": "5590:9:14" } ], - "id": 2885, + "id": 2895, "name": "IndexAccess", "src": "5580:20:14" }, @@ -9165,7 +9165,7 @@ "isPure": false, "lValueRequested": false, "member_name": "add", - "referencedDeclaration": 2495, + "referencedDeclaration": 2505, "type": "function (uint256,uint256) pure returns (uint256)" }, "children": [ @@ -9185,11 +9185,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "type": "mapping(address => uint256)", "value": "_balances" }, - "id": 2886, + "id": 2896, "name": "Identifier", "src": "5603:9:14" }, @@ -9199,21 +9199,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2848, + "referencedDeclaration": 2858, "type": "address", "value": "recipient" }, - "id": 2887, + "id": 2897, "name": "Identifier", "src": "5613:9:14" } ], - "id": 2888, + "id": 2898, "name": "IndexAccess", "src": "5603:20:14" } ], - "id": 2889, + "id": 2899, "name": "MemberAccess", "src": "5603:24:14" }, @@ -9223,26 +9223,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2850, + "referencedDeclaration": 2860, "type": "uint256", "value": "amount" }, - "id": 2890, + "id": 2900, "name": "Identifier", "src": "5628:6:14" } ], - "id": 2891, + "id": 2901, "name": "FunctionCall", "src": "5603:32:14" } ], - "id": 2892, + "id": 2902, "name": "Assignment", "src": "5580:55:14" } ], - "id": 2893, + "id": 2903, "name": "ExpressionStatement", "src": "5580:55:14" }, @@ -9282,11 +9282,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3206, + "referencedDeclaration": 3216, "type": "function (address,address,uint256)", "value": "Transfer" }, - "id": 2894, + "id": 2904, "name": "Identifier", "src": "5650:8:14" }, @@ -9296,11 +9296,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2846, + "referencedDeclaration": 2856, "type": "address", "value": "sender" }, - "id": 2895, + "id": 2905, "name": "Identifier", "src": "5659:6:14" }, @@ -9310,11 +9310,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2848, + "referencedDeclaration": 2858, "type": "address", "value": "recipient" }, - "id": 2896, + "id": 2906, "name": "Identifier", "src": "5667:9:14" }, @@ -9324,31 +9324,31 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2850, + "referencedDeclaration": 2860, "type": "uint256", "value": "amount" }, - "id": 2897, + "id": 2907, "name": "Identifier", "src": "5678:6:14" } ], - "id": 2898, + "id": 2908, "name": "FunctionCall", "src": "5650:35:14" } ], - "id": 2899, + "id": 2909, "name": "EmitStatement", "src": "5645:40:14" } ], - "id": 2900, + "id": 2910, "name": "Block", "src": "5307:385:14" } ], - "id": 2901, + "id": 2911, "name": "FunctionDefinition", "src": "5228:464:14" }, @@ -9362,7 +9362,7 @@ null ], "name": "_mint", - "scope": 3060, + "scope": 3070, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -9374,7 +9374,7 @@ "attributes": { "constant": false, "name": "account", - "scope": 2944, + "scope": 2954, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -9388,12 +9388,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2902, + "id": 2912, "name": "ElementaryTypeName", "src": "5977:7:14" } ], - "id": 2903, + "id": 2913, "name": "VariableDeclaration", "src": "5977:15:14" }, @@ -9401,7 +9401,7 @@ "attributes": { "constant": false, "name": "amount", - "scope": 2944, + "scope": 2954, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -9414,17 +9414,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2904, + "id": 2914, "name": "ElementaryTypeName", "src": "5994:7:14" } ], - "id": 2905, + "id": 2915, "name": "VariableDeclaration", "src": "5994:14:14" } ], - "id": 2906, + "id": 2916, "name": "ParameterList", "src": "5976:33:14" }, @@ -9435,7 +9435,7 @@ ] }, "children": [], - "id": 2907, + "id": 2917, "name": "ParameterList", "src": "6019:0:14" }, @@ -9471,14 +9471,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 2908, + "id": 2918, "name": "Identifier", "src": "6029:7:14" }, @@ -9503,11 +9503,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2903, + "referencedDeclaration": 2913, "type": "address", "value": "account" }, - "id": 2909, + "id": 2919, "name": "Identifier", "src": "6037:7:14" }, @@ -9541,7 +9541,7 @@ "type": "type(address)", "value": "address" }, - "id": 2910, + "id": 2920, "name": "ElementaryTypeNameExpression", "src": "6048:7:14" }, @@ -9558,17 +9558,17 @@ "type": "int_const 0", "value": "0" }, - "id": 2911, + "id": 2921, "name": "Literal", "src": "6056:1:14" } ], - "id": 2912, + "id": 2922, "name": "FunctionCall", "src": "6048:10:14" } ], - "id": 2913, + "id": 2923, "name": "BinaryOperation", "src": "6037:21:14" }, @@ -9585,17 +9585,17 @@ "type": "literal_string \"ERC20: mint to the zero address\"", "value": "ERC20: mint to the zero address" }, - "id": 2914, + "id": 2924, "name": "Literal", "src": "6060:33:14" } ], - "id": 2915, + "id": 2925, "name": "FunctionCall", "src": "6029:65:14" } ], - "id": 2916, + "id": 2926, "name": "ExpressionStatement", "src": "6029:65:14" }, @@ -9618,11 +9618,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2679, + "referencedDeclaration": 2689, "type": "uint256", "value": "_totalSupply" }, - "id": 2917, + "id": 2927, "name": "Identifier", "src": "6105:12:14" }, @@ -9654,7 +9654,7 @@ "isPure": false, "lValueRequested": false, "member_name": "add", - "referencedDeclaration": 2495, + "referencedDeclaration": 2505, "type": "function (uint256,uint256) pure returns (uint256)" }, "children": [ @@ -9664,16 +9664,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2679, + "referencedDeclaration": 2689, "type": "uint256", "value": "_totalSupply" }, - "id": 2918, + "id": 2928, "name": "Identifier", "src": "6120:12:14" } ], - "id": 2919, + "id": 2929, "name": "MemberAccess", "src": "6120:16:14" }, @@ -9683,26 +9683,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2905, + "referencedDeclaration": 2915, "type": "uint256", "value": "amount" }, - "id": 2920, + "id": 2930, "name": "Identifier", "src": "6137:6:14" } ], - "id": 2921, + "id": 2931, "name": "FunctionCall", "src": "6120:24:14" } ], - "id": 2922, + "id": 2932, "name": "Assignment", "src": "6105:39:14" } ], - "id": 2923, + "id": 2933, "name": "ExpressionStatement", "src": "6105:39:14" }, @@ -9735,11 +9735,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "type": "mapping(address => uint256)", "value": "_balances" }, - "id": 2924, + "id": 2934, "name": "Identifier", "src": "6154:9:14" }, @@ -9749,16 +9749,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2903, + "referencedDeclaration": 2913, "type": "address", "value": "account" }, - "id": 2925, + "id": 2935, "name": "Identifier", "src": "6164:7:14" } ], - "id": 2926, + "id": 2936, "name": "IndexAccess", "src": "6154:18:14" }, @@ -9790,7 +9790,7 @@ "isPure": false, "lValueRequested": false, "member_name": "add", - "referencedDeclaration": 2495, + "referencedDeclaration": 2505, "type": "function (uint256,uint256) pure returns (uint256)" }, "children": [ @@ -9810,11 +9810,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "type": "mapping(address => uint256)", "value": "_balances" }, - "id": 2927, + "id": 2937, "name": "Identifier", "src": "6175:9:14" }, @@ -9824,21 +9824,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2903, + "referencedDeclaration": 2913, "type": "address", "value": "account" }, - "id": 2928, + "id": 2938, "name": "Identifier", "src": "6185:7:14" } ], - "id": 2929, + "id": 2939, "name": "IndexAccess", "src": "6175:18:14" } ], - "id": 2930, + "id": 2940, "name": "MemberAccess", "src": "6175:22:14" }, @@ -9848,26 +9848,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2905, + "referencedDeclaration": 2915, "type": "uint256", "value": "amount" }, - "id": 2931, + "id": 2941, "name": "Identifier", "src": "6198:6:14" } ], - "id": 2932, + "id": 2942, "name": "FunctionCall", "src": "6175:30:14" } ], - "id": 2933, + "id": 2943, "name": "Assignment", "src": "6154:51:14" } ], - "id": 2934, + "id": 2944, "name": "ExpressionStatement", "src": "6154:51:14" }, @@ -9907,11 +9907,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3206, + "referencedDeclaration": 3216, "type": "function (address,address,uint256)", "value": "Transfer" }, - "id": 2935, + "id": 2945, "name": "Identifier", "src": "6220:8:14" }, @@ -9945,7 +9945,7 @@ "type": "type(address)", "value": "address" }, - "id": 2936, + "id": 2946, "name": "ElementaryTypeNameExpression", "src": "6229:7:14" }, @@ -9962,12 +9962,12 @@ "type": "int_const 0", "value": "0" }, - "id": 2937, + "id": 2947, "name": "Literal", "src": "6237:1:14" } ], - "id": 2938, + "id": 2948, "name": "FunctionCall", "src": "6229:10:14" }, @@ -9977,11 +9977,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2903, + "referencedDeclaration": 2913, "type": "address", "value": "account" }, - "id": 2939, + "id": 2949, "name": "Identifier", "src": "6241:7:14" }, @@ -9991,31 +9991,31 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2905, + "referencedDeclaration": 2915, "type": "uint256", "value": "amount" }, - "id": 2940, + "id": 2950, "name": "Identifier", "src": "6250:6:14" } ], - "id": 2941, + "id": 2951, "name": "FunctionCall", "src": "6220:37:14" } ], - "id": 2942, + "id": 2952, "name": "EmitStatement", "src": "6215:42:14" } ], - "id": 2943, + "id": 2953, "name": "Block", "src": "6019:245:14" } ], - "id": 2944, + "id": 2954, "name": "FunctionDefinition", "src": "5962:302:14" }, @@ -10029,7 +10029,7 @@ null ], "name": "_burn", - "scope": 3060, + "scope": 3070, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -10041,7 +10041,7 @@ "attributes": { "constant": false, "name": "account", - "scope": 2988, + "scope": 2998, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -10055,12 +10055,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2945, + "id": 2955, "name": "ElementaryTypeName", "src": "6598:7:14" } ], - "id": 2946, + "id": 2956, "name": "VariableDeclaration", "src": "6598:15:14" }, @@ -10068,7 +10068,7 @@ "attributes": { "constant": false, "name": "amount", - "scope": 2988, + "scope": 2998, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -10081,17 +10081,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2947, + "id": 2957, "name": "ElementaryTypeName", "src": "6615:7:14" } ], - "id": 2948, + "id": 2958, "name": "VariableDeclaration", "src": "6615:14:14" } ], - "id": 2949, + "id": 2959, "name": "ParameterList", "src": "6597:33:14" }, @@ -10102,7 +10102,7 @@ ] }, "children": [], - "id": 2950, + "id": 2960, "name": "ParameterList", "src": "6640:0:14" }, @@ -10138,14 +10138,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 2951, + "id": 2961, "name": "Identifier", "src": "6650:7:14" }, @@ -10170,11 +10170,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2946, + "referencedDeclaration": 2956, "type": "address", "value": "account" }, - "id": 2952, + "id": 2962, "name": "Identifier", "src": "6658:7:14" }, @@ -10208,7 +10208,7 @@ "type": "type(address)", "value": "address" }, - "id": 2953, + "id": 2963, "name": "ElementaryTypeNameExpression", "src": "6669:7:14" }, @@ -10225,17 +10225,17 @@ "type": "int_const 0", "value": "0" }, - "id": 2954, + "id": 2964, "name": "Literal", "src": "6677:1:14" } ], - "id": 2955, + "id": 2965, "name": "FunctionCall", "src": "6669:10:14" } ], - "id": 2956, + "id": 2966, "name": "BinaryOperation", "src": "6658:21:14" }, @@ -10252,17 +10252,17 @@ "type": "literal_string \"ERC20: burn from the zero address\"", "value": "ERC20: burn from the zero address" }, - "id": 2957, + "id": 2967, "name": "Literal", "src": "6681:35:14" } ], - "id": 2958, + "id": 2968, "name": "FunctionCall", "src": "6650:67:14" } ], - "id": 2959, + "id": 2969, "name": "ExpressionStatement", "src": "6650:67:14" }, @@ -10295,11 +10295,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "type": "mapping(address => uint256)", "value": "_balances" }, - "id": 2960, + "id": 2970, "name": "Identifier", "src": "6728:9:14" }, @@ -10309,16 +10309,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2946, + "referencedDeclaration": 2956, "type": "address", "value": "account" }, - "id": 2961, + "id": 2971, "name": "Identifier", "src": "6738:7:14" } ], - "id": 2962, + "id": 2972, "name": "IndexAccess", "src": "6728:18:14" }, @@ -10354,7 +10354,7 @@ "isPure": false, "lValueRequested": false, "member_name": "sub", - "referencedDeclaration": 2538, + "referencedDeclaration": 2548, "type": "function (uint256,uint256,string memory) pure returns (uint256)" }, "children": [ @@ -10374,11 +10374,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2671, + "referencedDeclaration": 2681, "type": "mapping(address => uint256)", "value": "_balances" }, - "id": 2963, + "id": 2973, "name": "Identifier", "src": "6749:9:14" }, @@ -10388,21 +10388,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2946, + "referencedDeclaration": 2956, "type": "address", "value": "account" }, - "id": 2964, + "id": 2974, "name": "Identifier", "src": "6759:7:14" } ], - "id": 2965, + "id": 2975, "name": "IndexAccess", "src": "6749:18:14" } ], - "id": 2966, + "id": 2976, "name": "MemberAccess", "src": "6749:22:14" }, @@ -10412,11 +10412,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2948, + "referencedDeclaration": 2958, "type": "uint256", "value": "amount" }, - "id": 2967, + "id": 2977, "name": "Identifier", "src": "6772:6:14" }, @@ -10433,22 +10433,22 @@ "type": "literal_string \"ERC20: burn amount exceeds balance\"", "value": "ERC20: burn amount exceeds balance" }, - "id": 2968, + "id": 2978, "name": "Literal", "src": "6780:36:14" } ], - "id": 2969, + "id": 2979, "name": "FunctionCall", "src": "6749:68:14" } ], - "id": 2970, + "id": 2980, "name": "Assignment", "src": "6728:89:14" } ], - "id": 2971, + "id": 2981, "name": "ExpressionStatement", "src": "6728:89:14" }, @@ -10471,11 +10471,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2679, + "referencedDeclaration": 2689, "type": "uint256", "value": "_totalSupply" }, - "id": 2972, + "id": 2982, "name": "Identifier", "src": "6827:12:14" }, @@ -10507,7 +10507,7 @@ "isPure": false, "lValueRequested": false, "member_name": "sub", - "referencedDeclaration": 2511, + "referencedDeclaration": 2521, "type": "function (uint256,uint256) pure returns (uint256)" }, "children": [ @@ -10517,16 +10517,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2679, + "referencedDeclaration": 2689, "type": "uint256", "value": "_totalSupply" }, - "id": 2973, + "id": 2983, "name": "Identifier", "src": "6842:12:14" } ], - "id": 2974, + "id": 2984, "name": "MemberAccess", "src": "6842:16:14" }, @@ -10536,26 +10536,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2948, + "referencedDeclaration": 2958, "type": "uint256", "value": "amount" }, - "id": 2975, + "id": 2985, "name": "Identifier", "src": "6859:6:14" } ], - "id": 2976, + "id": 2986, "name": "FunctionCall", "src": "6842:24:14" } ], - "id": 2977, + "id": 2987, "name": "Assignment", "src": "6827:39:14" } ], - "id": 2978, + "id": 2988, "name": "ExpressionStatement", "src": "6827:39:14" }, @@ -10595,11 +10595,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3206, + "referencedDeclaration": 3216, "type": "function (address,address,uint256)", "value": "Transfer" }, - "id": 2979, + "id": 2989, "name": "Identifier", "src": "6881:8:14" }, @@ -10609,11 +10609,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2946, + "referencedDeclaration": 2956, "type": "address", "value": "account" }, - "id": 2980, + "id": 2990, "name": "Identifier", "src": "6890:7:14" }, @@ -10647,7 +10647,7 @@ "type": "type(address)", "value": "address" }, - "id": 2981, + "id": 2991, "name": "ElementaryTypeNameExpression", "src": "6899:7:14" }, @@ -10664,12 +10664,12 @@ "type": "int_const 0", "value": "0" }, - "id": 2982, + "id": 2992, "name": "Literal", "src": "6907:1:14" } ], - "id": 2983, + "id": 2993, "name": "FunctionCall", "src": "6899:10:14" }, @@ -10679,31 +10679,31 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2948, + "referencedDeclaration": 2958, "type": "uint256", "value": "amount" }, - "id": 2984, + "id": 2994, "name": "Identifier", "src": "6911:6:14" } ], - "id": 2985, + "id": 2995, "name": "FunctionCall", "src": "6881:37:14" } ], - "id": 2986, + "id": 2996, "name": "EmitStatement", "src": "6876:42:14" } ], - "id": 2987, + "id": 2997, "name": "Block", "src": "6640:285:14" } ], - "id": 2988, + "id": 2998, "name": "FunctionDefinition", "src": "6583:342:14" }, @@ -10717,7 +10717,7 @@ null ], "name": "_approve", - "scope": 3060, + "scope": 3070, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -10729,7 +10729,7 @@ "attributes": { "constant": false, "name": "owner", - "scope": 3030, + "scope": 3040, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -10743,12 +10743,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2989, + "id": 2999, "name": "ElementaryTypeName", "src": "7368:7:14" } ], - "id": 2990, + "id": 3000, "name": "VariableDeclaration", "src": "7368:13:14" }, @@ -10756,7 +10756,7 @@ "attributes": { "constant": false, "name": "spender", - "scope": 3030, + "scope": 3040, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -10770,12 +10770,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2991, + "id": 3001, "name": "ElementaryTypeName", "src": "7383:7:14" } ], - "id": 2992, + "id": 3002, "name": "VariableDeclaration", "src": "7383:15:14" }, @@ -10783,7 +10783,7 @@ "attributes": { "constant": false, "name": "amount", - "scope": 3030, + "scope": 3040, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -10796,17 +10796,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2993, + "id": 3003, "name": "ElementaryTypeName", "src": "7400:7:14" } ], - "id": 2994, + "id": 3004, "name": "VariableDeclaration", "src": "7400:14:14" } ], - "id": 2995, + "id": 3005, "name": "ParameterList", "src": "7367:48:14" }, @@ -10817,7 +10817,7 @@ ] }, "children": [], - "id": 2996, + "id": 3006, "name": "ParameterList", "src": "7425:0:14" }, @@ -10853,14 +10853,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 2997, + "id": 3007, "name": "Identifier", "src": "7435:7:14" }, @@ -10885,11 +10885,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2990, + "referencedDeclaration": 3000, "type": "address", "value": "owner" }, - "id": 2998, + "id": 3008, "name": "Identifier", "src": "7443:5:14" }, @@ -10923,7 +10923,7 @@ "type": "type(address)", "value": "address" }, - "id": 2999, + "id": 3009, "name": "ElementaryTypeNameExpression", "src": "7452:7:14" }, @@ -10940,17 +10940,17 @@ "type": "int_const 0", "value": "0" }, - "id": 3000, + "id": 3010, "name": "Literal", "src": "7460:1:14" } ], - "id": 3001, + "id": 3011, "name": "FunctionCall", "src": "7452:10:14" } ], - "id": 3002, + "id": 3012, "name": "BinaryOperation", "src": "7443:19:14" }, @@ -10967,17 +10967,17 @@ "type": "literal_string \"ERC20: approve from the zero address\"", "value": "ERC20: approve from the zero address" }, - "id": 3003, + "id": 3013, "name": "Literal", "src": "7464:38:14" } ], - "id": 3004, + "id": 3014, "name": "FunctionCall", "src": "7435:68:14" } ], - "id": 3005, + "id": 3015, "name": "ExpressionStatement", "src": "7435:68:14" }, @@ -11011,14 +11011,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 3006, + "id": 3016, "name": "Identifier", "src": "7513:7:14" }, @@ -11043,11 +11043,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2992, + "referencedDeclaration": 3002, "type": "address", "value": "spender" }, - "id": 3007, + "id": 3017, "name": "Identifier", "src": "7521:7:14" }, @@ -11081,7 +11081,7 @@ "type": "type(address)", "value": "address" }, - "id": 3008, + "id": 3018, "name": "ElementaryTypeNameExpression", "src": "7532:7:14" }, @@ -11098,17 +11098,17 @@ "type": "int_const 0", "value": "0" }, - "id": 3009, + "id": 3019, "name": "Literal", "src": "7540:1:14" } ], - "id": 3010, + "id": 3020, "name": "FunctionCall", "src": "7532:10:14" } ], - "id": 3011, + "id": 3021, "name": "BinaryOperation", "src": "7521:21:14" }, @@ -11125,17 +11125,17 @@ "type": "literal_string \"ERC20: approve to the zero address\"", "value": "ERC20: approve to the zero address" }, - "id": 3012, + "id": 3022, "name": "Literal", "src": "7544:36:14" } ], - "id": 3013, + "id": 3023, "name": "FunctionCall", "src": "7513:68:14" } ], - "id": 3014, + "id": 3024, "name": "ExpressionStatement", "src": "7513:68:14" }, @@ -11178,11 +11178,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2677, + "referencedDeclaration": 2687, "type": "mapping(address => mapping(address => uint256))", "value": "_allowances" }, - "id": 3015, + "id": 3025, "name": "Identifier", "src": "7592:11:14" }, @@ -11192,16 +11192,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2990, + "referencedDeclaration": 3000, "type": "address", "value": "owner" }, - "id": 3016, + "id": 3026, "name": "Identifier", "src": "7604:5:14" } ], - "id": 3018, + "id": 3028, "name": "IndexAccess", "src": "7592:18:14" }, @@ -11211,16 +11211,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2992, + "referencedDeclaration": 3002, "type": "address", "value": "spender" }, - "id": 3017, + "id": 3027, "name": "Identifier", "src": "7611:7:14" } ], - "id": 3019, + "id": 3029, "name": "IndexAccess", "src": "7592:27:14" }, @@ -11230,21 +11230,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2994, + "referencedDeclaration": 3004, "type": "uint256", "value": "amount" }, - "id": 3020, + "id": 3030, "name": "Identifier", "src": "7622:6:14" } ], - "id": 3021, + "id": 3031, "name": "Assignment", "src": "7592:36:14" } ], - "id": 3022, + "id": 3032, "name": "ExpressionStatement", "src": "7592:36:14" }, @@ -11284,11 +11284,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3214, + "referencedDeclaration": 3224, "type": "function (address,address,uint256)", "value": "Approval" }, - "id": 3023, + "id": 3033, "name": "Identifier", "src": "7643:8:14" }, @@ -11298,11 +11298,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2990, + "referencedDeclaration": 3000, "type": "address", "value": "owner" }, - "id": 3024, + "id": 3034, "name": "Identifier", "src": "7652:5:14" }, @@ -11312,11 +11312,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2992, + "referencedDeclaration": 3002, "type": "address", "value": "spender" }, - "id": 3025, + "id": 3035, "name": "Identifier", "src": "7659:7:14" }, @@ -11326,31 +11326,31 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2994, + "referencedDeclaration": 3004, "type": "uint256", "value": "amount" }, - "id": 3026, + "id": 3036, "name": "Identifier", "src": "7668:6:14" } ], - "id": 3027, + "id": 3037, "name": "FunctionCall", "src": "7643:32:14" } ], - "id": 3028, + "id": 3038, "name": "EmitStatement", "src": "7638:37:14" } ], - "id": 3029, + "id": 3039, "name": "Block", "src": "7425:257:14" } ], - "id": 3030, + "id": 3040, "name": "FunctionDefinition", "src": "7350:332:14" }, @@ -11364,7 +11364,7 @@ null ], "name": "_burnFrom", - "scope": 3060, + "scope": 3070, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -11376,7 +11376,7 @@ "attributes": { "constant": false, "name": "account", - "scope": 3059, + "scope": 3069, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -11390,12 +11390,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 3031, + "id": 3041, "name": "ElementaryTypeName", "src": "7879:7:14" } ], - "id": 3032, + "id": 3042, "name": "VariableDeclaration", "src": "7879:15:14" }, @@ -11403,7 +11403,7 @@ "attributes": { "constant": false, "name": "amount", - "scope": 3059, + "scope": 3069, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -11416,17 +11416,17 @@ "name": "uint256", "type": "uint256" }, - "id": 3033, + "id": 3043, "name": "ElementaryTypeName", "src": "7896:7:14" } ], - "id": 3034, + "id": 3044, "name": "VariableDeclaration", "src": "7896:14:14" } ], - "id": 3035, + "id": 3045, "name": "ParameterList", "src": "7878:33:14" }, @@ -11437,7 +11437,7 @@ ] }, "children": [], - "id": 3036, + "id": 3046, "name": "ParameterList", "src": "7921:0:14" }, @@ -11475,11 +11475,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2988, + "referencedDeclaration": 2998, "type": "function (address,uint256)", "value": "_burn" }, - "id": 3037, + "id": 3047, "name": "Identifier", "src": "7931:5:14" }, @@ -11489,11 +11489,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3032, + "referencedDeclaration": 3042, "type": "address", "value": "account" }, - "id": 3038, + "id": 3048, "name": "Identifier", "src": "7937:7:14" }, @@ -11503,21 +11503,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3034, + "referencedDeclaration": 3044, "type": "uint256", "value": "amount" }, - "id": 3039, + "id": 3049, "name": "Identifier", "src": "7946:6:14" } ], - "id": 3040, + "id": 3050, "name": "FunctionCall", "src": "7931:22:14" } ], - "id": 3041, + "id": 3051, "name": "ExpressionStatement", "src": "7931:22:14" }, @@ -11557,11 +11557,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3030, + "referencedDeclaration": 3040, "type": "function (address,address,uint256)", "value": "_approve" }, - "id": 3042, + "id": 3052, "name": "Identifier", "src": "7963:8:14" }, @@ -11571,11 +11571,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3032, + "referencedDeclaration": 3042, "type": "address", "value": "account" }, - "id": 3043, + "id": 3053, "name": "Identifier", "src": "7972:7:14" }, @@ -11605,16 +11605,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "type": "function () view returns (address payable)", "value": "_msgSender" }, - "id": 3044, + "id": 3054, "name": "Identifier", "src": "7981:10:14" } ], - "id": 3045, + "id": 3055, "name": "FunctionCall", "src": "7981:12:14" }, @@ -11650,7 +11650,7 @@ "isPure": false, "lValueRequested": false, "member_name": "sub", - "referencedDeclaration": 2538, + "referencedDeclaration": 2548, "type": "function (uint256,uint256,string memory) pure returns (uint256)" }, "children": [ @@ -11680,11 +11680,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2677, + "referencedDeclaration": 2687, "type": "mapping(address => mapping(address => uint256))", "value": "_allowances" }, - "id": 3046, + "id": 3056, "name": "Identifier", "src": "7995:11:14" }, @@ -11694,16 +11694,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3032, + "referencedDeclaration": 3042, "type": "address", "value": "account" }, - "id": 3047, + "id": 3057, "name": "Identifier", "src": "8007:7:14" } ], - "id": 3048, + "id": 3058, "name": "IndexAccess", "src": "7995:20:14" }, @@ -11733,26 +11733,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "type": "function () view returns (address payable)", "value": "_msgSender" }, - "id": 3049, + "id": 3059, "name": "Identifier", "src": "8016:10:14" } ], - "id": 3050, + "id": 3060, "name": "FunctionCall", "src": "8016:12:14" } ], - "id": 3051, + "id": 3061, "name": "IndexAccess", "src": "7995:34:14" } ], - "id": 3052, + "id": 3062, "name": "MemberAccess", "src": "7995:38:14" }, @@ -11762,11 +11762,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3034, + "referencedDeclaration": 3044, "type": "uint256", "value": "amount" }, - "id": 3053, + "id": 3063, "name": "Identifier", "src": "8034:6:14" }, @@ -11783,42 +11783,42 @@ "type": "literal_string \"ERC20: burn amount exceeds allowance\"", "value": "ERC20: burn amount exceeds allowance" }, - "id": 3054, + "id": 3064, "name": "Literal", "src": "8042:38:14" } ], - "id": 3055, + "id": 3065, "name": "FunctionCall", "src": "7995:86:14" } ], - "id": 3056, + "id": 3066, "name": "FunctionCall", "src": "7963:119:14" } ], - "id": 3057, + "id": 3067, "name": "ExpressionStatement", "src": "7963:119:14" } ], - "id": 3058, + "id": 3068, "name": "Block", "src": "7921:168:14" } ], - "id": 3059, + "id": 3069, "name": "FunctionDefinition", "src": "7860:229:14" } ], - "id": 3060, + "id": 3070, "name": "ContractDefinition", "src": "1268:6823:14" } ], - "id": 3061, + "id": 3071, "name": "SourceUnit", "src": "0:8092:14" }, @@ -11828,7 +11828,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-03-14T02:18:33.147Z", + "updatedAt": "2021-04-04T20:21:29.914Z", "devdoc": { "details": "Implementation of the {IERC20} interface. * This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20Mintable}. * TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. * We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. * Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.", "methods": { diff --git a/client/contracts/ERC20Basic.json b/client/contracts/ERC20Basic.json index 5a21136..c1595b0 100644 --- a/client/contracts/ERC20Basic.json +++ b/client/contracts/ERC20Basic.json @@ -98,28 +98,28 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"_totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol\":\"ERC20Basic\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol\":{\"keccak256\":\"0x635f010bb5c012b9ef4fa5036ef37fd314ba7935b90380b08eb8728801f1e247\",\"urls\":[\"bzz-raw://70c1cad94a0fb97b086eef4520fcfaf466fa94c88e42349baeecd54ba94711b2\",\"dweb:/ipfs/QmX1mtq92yFHGoBHXQHjZhwT7mhLy6CqRDxCaFAu6AaAF6\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"_totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol\":\"ERC20Basic\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol\":{\"keccak256\":\"0x635f010bb5c012b9ef4fa5036ef37fd314ba7935b90380b08eb8728801f1e247\",\"urls\":[\"bzz-raw://70c1cad94a0fb97b086eef4520fcfaf466fa94c88e42349baeecd54ba94711b2\",\"dweb:/ipfs/QmX1mtq92yFHGoBHXQHjZhwT7mhLy6CqRDxCaFAu6AaAF6\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", "source": "pragma solidity 0.5.17;\n\ncontract ERC20Basic {\n uint public _totalSupply;\n function totalSupply() public view returns (uint);\n function balanceOf(address who) public view returns (uint);\n function transfer(address to, uint value) public;\n event Transfer(address indexed from, address indexed to, uint value);\n}\n\n/**\n * @title ERC20 interface\n * @dev see https://github.com/ethereum/EIPs/issues/20\n */\ncontract IUSDT is ERC20Basic {\n function allowance(address owner, address spender) public view returns (uint);\n function transferFrom(address from, address to, uint value) public;\n function approve(address spender, uint value) public;\n event Approval(address indexed owner, address indexed spender, uint value);\n}\n", - "sourcePath": "/Users/brianli/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol", "exportedSymbols": { "ERC20Basic": [ - 814 + 805 ], "IUSDT": [ - 850 + 841 ] }, - "id": 851, + "id": 842, "nodeType": "SourceUnit", "nodes": [ { - "id": 784, + "id": 775, "literals": [ "solidity", "0.5", @@ -134,19 +134,19 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 814, + "id": 805, "linearizedBaseContracts": [ - 814 + 805 ], "name": "ERC20Basic", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 786, + "id": 777, "name": "_totalSupply", "nodeType": "VariableDeclaration", - "scope": 814, + "scope": 805, "src": "51:24:6", "stateVariable": true, "storageLocation": "default", @@ -155,7 +155,7 @@ "typeString": "uint256" }, "typeName": { - "id": 785, + "id": 776, "name": "uint", "nodeType": "ElementaryTypeName", "src": "51:4:6", @@ -170,28 +170,28 @@ { "body": null, "documentation": null, - "id": 791, + "id": 782, "implemented": false, "kind": "function", "modifiers": [], "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 787, + "id": 778, "nodeType": "ParameterList", "parameters": [], "src": "101:2:6" }, "returnParameters": { - "id": 790, + "id": 781, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 789, + "id": 780, "name": "", "nodeType": "VariableDeclaration", - "scope": 791, + "scope": 782, "src": "125:4:6", "stateVariable": false, "storageLocation": "default", @@ -200,7 +200,7 @@ "typeString": "uint256" }, "typeName": { - "id": 788, + "id": 779, "name": "uint", "nodeType": "ElementaryTypeName", "src": "125:4:6", @@ -215,7 +215,7 @@ ], "src": "124:6:6" }, - "scope": 814, + "scope": 805, "src": "81:50:6", "stateMutability": "view", "superFunction": null, @@ -224,22 +224,22 @@ { "body": null, "documentation": null, - "id": 798, + "id": 789, "implemented": false, "kind": "function", "modifiers": [], "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 794, + "id": 785, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 793, + "id": 784, "name": "who", "nodeType": "VariableDeclaration", - "scope": 798, + "scope": 789, "src": "155:11:6", "stateVariable": false, "storageLocation": "default", @@ -248,7 +248,7 @@ "typeString": "address" }, "typeName": { - "id": 792, + "id": 783, "name": "address", "nodeType": "ElementaryTypeName", "src": "155:7:6", @@ -265,15 +265,15 @@ "src": "154:13:6" }, "returnParameters": { - "id": 797, + "id": 788, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 796, + "id": 787, "name": "", "nodeType": "VariableDeclaration", - "scope": 798, + "scope": 789, "src": "189:4:6", "stateVariable": false, "storageLocation": "default", @@ -282,7 +282,7 @@ "typeString": "uint256" }, "typeName": { - "id": 795, + "id": 786, "name": "uint", "nodeType": "ElementaryTypeName", "src": "189:4:6", @@ -297,7 +297,7 @@ ], "src": "188:6:6" }, - "scope": 814, + "scope": 805, "src": "136:59:6", "stateMutability": "view", "superFunction": null, @@ -306,22 +306,22 @@ { "body": null, "documentation": null, - "id": 805, + "id": 796, "implemented": false, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 803, + "id": 794, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 800, + "id": 791, "name": "to", "nodeType": "VariableDeclaration", - "scope": 805, + "scope": 796, "src": "218:10:6", "stateVariable": false, "storageLocation": "default", @@ -330,7 +330,7 @@ "typeString": "address" }, "typeName": { - "id": 799, + "id": 790, "name": "address", "nodeType": "ElementaryTypeName", "src": "218:7:6", @@ -345,10 +345,10 @@ }, { "constant": false, - "id": 802, + "id": 793, "name": "value", "nodeType": "VariableDeclaration", - "scope": 805, + "scope": 796, "src": "230:10:6", "stateVariable": false, "storageLocation": "default", @@ -357,7 +357,7 @@ "typeString": "uint256" }, "typeName": { - "id": 801, + "id": 792, "name": "uint", "nodeType": "ElementaryTypeName", "src": "230:4:6", @@ -373,12 +373,12 @@ "src": "217:24:6" }, "returnParameters": { - "id": 804, + "id": 795, "nodeType": "ParameterList", "parameters": [], "src": "248:0:6" }, - "scope": 814, + "scope": 805, "src": "200:49:6", "stateMutability": "nonpayable", "superFunction": null, @@ -387,20 +387,20 @@ { "anonymous": false, "documentation": null, - "id": 813, + "id": 804, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 812, + "id": 803, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 807, + "id": 798, "indexed": true, "name": "from", "nodeType": "VariableDeclaration", - "scope": 813, + "scope": 804, "src": "269:20:6", "stateVariable": false, "storageLocation": "default", @@ -409,7 +409,7 @@ "typeString": "address" }, "typeName": { - "id": 806, + "id": 797, "name": "address", "nodeType": "ElementaryTypeName", "src": "269:7:6", @@ -424,11 +424,11 @@ }, { "constant": false, - "id": 809, + "id": 800, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 813, + "scope": 804, "src": "291:18:6", "stateVariable": false, "storageLocation": "default", @@ -437,7 +437,7 @@ "typeString": "address" }, "typeName": { - "id": 808, + "id": 799, "name": "address", "nodeType": "ElementaryTypeName", "src": "291:7:6", @@ -452,11 +452,11 @@ }, { "constant": false, - "id": 811, + "id": 802, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 813, + "scope": 804, "src": "311:10:6", "stateVariable": false, "storageLocation": "default", @@ -465,7 +465,7 @@ "typeString": "uint256" }, "typeName": { - "id": 810, + "id": 801, "name": "uint", "nodeType": "ElementaryTypeName", "src": "311:4:6", @@ -483,7 +483,7 @@ "src": "254:69:6" } ], - "scope": 851, + "scope": 842, "src": "25:300:6" }, { @@ -492,31 +492,31 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 815, + "id": 806, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 814, + "referencedDeclaration": 805, "src": "434:10:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$814", + "typeIdentifier": "t_contract$_ERC20Basic_$805", "typeString": "contract ERC20Basic" } }, - "id": 816, + "id": 807, "nodeType": "InheritanceSpecifier", "src": "434:10:6" } ], "contractDependencies": [ - 814 + 805 ], "contractKind": "contract", "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", "fullyImplemented": false, - "id": 850, + "id": 841, "linearizedBaseContracts": [ - 850, - 814 + 841, + 805 ], "name": "IUSDT", "nodeType": "ContractDefinition", @@ -524,22 +524,22 @@ { "body": null, "documentation": null, - "id": 825, + "id": 816, "implemented": false, "kind": "function", "modifiers": [], "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 821, + "id": 812, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 818, + "id": 809, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 825, + "scope": 816, "src": "470:13:6", "stateVariable": false, "storageLocation": "default", @@ -548,7 +548,7 @@ "typeString": "address" }, "typeName": { - "id": 817, + "id": 808, "name": "address", "nodeType": "ElementaryTypeName", "src": "470:7:6", @@ -563,10 +563,10 @@ }, { "constant": false, - "id": 820, + "id": 811, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 825, + "scope": 816, "src": "485:15:6", "stateVariable": false, "storageLocation": "default", @@ -575,7 +575,7 @@ "typeString": "address" }, "typeName": { - "id": 819, + "id": 810, "name": "address", "nodeType": "ElementaryTypeName", "src": "485:7:6", @@ -592,15 +592,15 @@ "src": "469:32:6" }, "returnParameters": { - "id": 824, + "id": 815, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 823, + "id": 814, "name": "", "nodeType": "VariableDeclaration", - "scope": 825, + "scope": 816, "src": "523:4:6", "stateVariable": false, "storageLocation": "default", @@ -609,7 +609,7 @@ "typeString": "uint256" }, "typeName": { - "id": 822, + "id": 813, "name": "uint", "nodeType": "ElementaryTypeName", "src": "523:4:6", @@ -624,7 +624,7 @@ ], "src": "522:6:6" }, - "scope": 850, + "scope": 841, "src": "451:78:6", "stateMutability": "view", "superFunction": null, @@ -633,22 +633,22 @@ { "body": null, "documentation": null, - "id": 834, + "id": 825, "implemented": false, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 832, + "id": 823, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 827, + "id": 818, "name": "from", "nodeType": "VariableDeclaration", - "scope": 834, + "scope": 825, "src": "556:12:6", "stateVariable": false, "storageLocation": "default", @@ -657,7 +657,7 @@ "typeString": "address" }, "typeName": { - "id": 826, + "id": 817, "name": "address", "nodeType": "ElementaryTypeName", "src": "556:7:6", @@ -672,10 +672,10 @@ }, { "constant": false, - "id": 829, + "id": 820, "name": "to", "nodeType": "VariableDeclaration", - "scope": 834, + "scope": 825, "src": "570:10:6", "stateVariable": false, "storageLocation": "default", @@ -684,7 +684,7 @@ "typeString": "address" }, "typeName": { - "id": 828, + "id": 819, "name": "address", "nodeType": "ElementaryTypeName", "src": "570:7:6", @@ -699,10 +699,10 @@ }, { "constant": false, - "id": 831, + "id": 822, "name": "value", "nodeType": "VariableDeclaration", - "scope": 834, + "scope": 825, "src": "582:10:6", "stateVariable": false, "storageLocation": "default", @@ -711,7 +711,7 @@ "typeString": "uint256" }, "typeName": { - "id": 830, + "id": 821, "name": "uint", "nodeType": "ElementaryTypeName", "src": "582:4:6", @@ -727,12 +727,12 @@ "src": "555:38:6" }, "returnParameters": { - "id": 833, + "id": 824, "nodeType": "ParameterList", "parameters": [], "src": "600:0:6" }, - "scope": 850, + "scope": 841, "src": "534:67:6", "stateMutability": "nonpayable", "superFunction": null, @@ -741,22 +741,22 @@ { "body": null, "documentation": null, - "id": 841, + "id": 832, "implemented": false, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 839, + "id": 830, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 836, + "id": 827, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 841, + "scope": 832, "src": "623:15:6", "stateVariable": false, "storageLocation": "default", @@ -765,7 +765,7 @@ "typeString": "address" }, "typeName": { - "id": 835, + "id": 826, "name": "address", "nodeType": "ElementaryTypeName", "src": "623:7:6", @@ -780,10 +780,10 @@ }, { "constant": false, - "id": 838, + "id": 829, "name": "value", "nodeType": "VariableDeclaration", - "scope": 841, + "scope": 832, "src": "640:10:6", "stateVariable": false, "storageLocation": "default", @@ -792,7 +792,7 @@ "typeString": "uint256" }, "typeName": { - "id": 837, + "id": 828, "name": "uint", "nodeType": "ElementaryTypeName", "src": "640:4:6", @@ -808,12 +808,12 @@ "src": "622:29:6" }, "returnParameters": { - "id": 840, + "id": 831, "nodeType": "ParameterList", "parameters": [], "src": "658:0:6" }, - "scope": 850, + "scope": 841, "src": "606:53:6", "stateMutability": "nonpayable", "superFunction": null, @@ -822,20 +822,20 @@ { "anonymous": false, "documentation": null, - "id": 849, + "id": 840, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 848, + "id": 839, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 843, + "id": 834, "indexed": true, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 849, + "scope": 840, "src": "679:21:6", "stateVariable": false, "storageLocation": "default", @@ -844,7 +844,7 @@ "typeString": "address" }, "typeName": { - "id": 842, + "id": 833, "name": "address", "nodeType": "ElementaryTypeName", "src": "679:7:6", @@ -859,11 +859,11 @@ }, { "constant": false, - "id": 845, + "id": 836, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 849, + "scope": 840, "src": "702:23:6", "stateVariable": false, "storageLocation": "default", @@ -872,7 +872,7 @@ "typeString": "address" }, "typeName": { - "id": 844, + "id": 835, "name": "address", "nodeType": "ElementaryTypeName", "src": "702:7:6", @@ -887,11 +887,11 @@ }, { "constant": false, - "id": 847, + "id": 838, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 849, + "scope": 840, "src": "727:10:6", "stateVariable": false, "storageLocation": "default", @@ -900,7 +900,7 @@ "typeString": "uint256" }, "typeName": { - "id": 846, + "id": 837, "name": "uint", "nodeType": "ElementaryTypeName", "src": "727:4:6", @@ -918,7 +918,7 @@ "src": "664:75:6" } ], - "scope": 851, + "scope": 842, "src": "416:325:6" } ], @@ -926,13 +926,13 @@ }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol", "exportedSymbols": { "ERC20Basic": [ - 814 + 805 ], "IUSDT": [ - 850 + 841 ] } }, @@ -945,7 +945,7 @@ ".17" ] }, - "id": 784, + "id": 775, "name": "PragmaDirective", "src": "0:23:6" }, @@ -961,17 +961,17 @@ "documentation": null, "fullyImplemented": false, "linearizedBaseContracts": [ - 814 + 805 ], "name": "ERC20Basic", - "scope": 851 + "scope": 842 }, "children": [ { "attributes": { "constant": false, "name": "_totalSupply", - "scope": 814, + "scope": 805, "stateVariable": true, "storageLocation": "default", "type": "uint256", @@ -984,12 +984,12 @@ "name": "uint", "type": "uint256" }, - "id": 785, + "id": 776, "name": "ElementaryTypeName", "src": "51:4:6" } ], - "id": 786, + "id": 777, "name": "VariableDeclaration", "src": "51:24:6" }, @@ -1004,7 +1004,7 @@ null ], "name": "totalSupply", - "scope": 814, + "scope": 805, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1017,7 +1017,7 @@ ] }, "children": [], - "id": 787, + "id": 778, "name": "ParameterList", "src": "101:2:6" }, @@ -1027,7 +1027,7 @@ "attributes": { "constant": false, "name": "", - "scope": 791, + "scope": 782, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1040,22 +1040,22 @@ "name": "uint", "type": "uint256" }, - "id": 788, + "id": 779, "name": "ElementaryTypeName", "src": "125:4:6" } ], - "id": 789, + "id": 780, "name": "VariableDeclaration", "src": "125:4:6" } ], - "id": 790, + "id": 781, "name": "ParameterList", "src": "124:6:6" } ], - "id": 791, + "id": 782, "name": "FunctionDefinition", "src": "81:50:6" }, @@ -1070,7 +1070,7 @@ null ], "name": "balanceOf", - "scope": 814, + "scope": 805, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1082,7 +1082,7 @@ "attributes": { "constant": false, "name": "who", - "scope": 798, + "scope": 789, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1096,17 +1096,17 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 792, + "id": 783, "name": "ElementaryTypeName", "src": "155:7:6" } ], - "id": 793, + "id": 784, "name": "VariableDeclaration", "src": "155:11:6" } ], - "id": 794, + "id": 785, "name": "ParameterList", "src": "154:13:6" }, @@ -1116,7 +1116,7 @@ "attributes": { "constant": false, "name": "", - "scope": 798, + "scope": 789, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1129,22 +1129,22 @@ "name": "uint", "type": "uint256" }, - "id": 795, + "id": 786, "name": "ElementaryTypeName", "src": "189:4:6" } ], - "id": 796, + "id": 787, "name": "VariableDeclaration", "src": "189:4:6" } ], - "id": 797, + "id": 788, "name": "ParameterList", "src": "188:6:6" } ], - "id": 798, + "id": 789, "name": "FunctionDefinition", "src": "136:59:6" }, @@ -1159,7 +1159,7 @@ null ], "name": "transfer", - "scope": 814, + "scope": 805, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -1171,7 +1171,7 @@ "attributes": { "constant": false, "name": "to", - "scope": 805, + "scope": 796, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1185,12 +1185,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 799, + "id": 790, "name": "ElementaryTypeName", "src": "218:7:6" } ], - "id": 800, + "id": 791, "name": "VariableDeclaration", "src": "218:10:6" }, @@ -1198,7 +1198,7 @@ "attributes": { "constant": false, "name": "value", - "scope": 805, + "scope": 796, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1211,17 +1211,17 @@ "name": "uint", "type": "uint256" }, - "id": 801, + "id": 792, "name": "ElementaryTypeName", "src": "230:4:6" } ], - "id": 802, + "id": 793, "name": "VariableDeclaration", "src": "230:10:6" } ], - "id": 803, + "id": 794, "name": "ParameterList", "src": "217:24:6" }, @@ -1232,12 +1232,12 @@ ] }, "children": [], - "id": 804, + "id": 795, "name": "ParameterList", "src": "248:0:6" } ], - "id": 805, + "id": 796, "name": "FunctionDefinition", "src": "200:49:6" }, @@ -1255,7 +1255,7 @@ "constant": false, "indexed": true, "name": "from", - "scope": 813, + "scope": 804, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1269,12 +1269,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 806, + "id": 797, "name": "ElementaryTypeName", "src": "269:7:6" } ], - "id": 807, + "id": 798, "name": "VariableDeclaration", "src": "269:20:6" }, @@ -1283,7 +1283,132 @@ "constant": false, "indexed": true, "name": "to", - "scope": 813, + "scope": 804, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 799, + "name": "ElementaryTypeName", + "src": "291:7:6" + } + ], + "id": 800, + "name": "VariableDeclaration", + "src": "291:18:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 804, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 801, + "name": "ElementaryTypeName", + "src": "311:4:6" + } + ], + "id": 802, + "name": "VariableDeclaration", + "src": "311:10:6" + } + ], + "id": 803, + "name": "ParameterList", + "src": "268:54:6" + } + ], + "id": 804, + "name": "EventDefinition", + "src": "254:69:6" + } + ], + "id": 805, + "name": "ContractDefinition", + "src": "25:300:6" + }, + { + "attributes": { + "contractDependencies": [ + 805 + ], + "contractKind": "contract", + "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 841, + 805 + ], + "name": "IUSDT", + "scope": 842 + }, + "children": [ + { + "attributes": { + "arguments": null + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ERC20Basic", + "referencedDeclaration": 805, + "type": "contract ERC20Basic" + }, + "id": 806, + "name": "UserDefinedTypeName", + "src": "434:10:6" + } + ], + "id": 807, + "name": "InheritanceSpecifier", + "src": "434:10:6" + }, + { + "attributes": { + "body": null, + "documentation": null, + "implemented": false, + "isConstructor": false, + "kind": "function", + "modifiers": [ + null + ], + "name": "allowance", + "scope": 841, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "owner", + "scope": 816, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1299,19 +1424,52 @@ }, "id": 808, "name": "ElementaryTypeName", - "src": "291:7:6" + "src": "470:7:6" } ], "id": 809, "name": "VariableDeclaration", - "src": "291:18:6" + "src": "470:13:6" }, { "attributes": { "constant": false, - "indexed": false, - "name": "value", - "scope": 813, + "name": "spender", + "scope": 816, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 810, + "name": "ElementaryTypeName", + "src": "485:7:6" + } + ], + "id": 811, + "name": "VariableDeclaration", + "src": "485:15:6" + } + ], + "id": 812, + "name": "ParameterList", + "src": "469:32:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 816, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1324,66 +1482,24 @@ "name": "uint", "type": "uint256" }, - "id": 810, + "id": 813, "name": "ElementaryTypeName", - "src": "311:4:6" + "src": "523:4:6" } ], - "id": 811, + "id": 814, "name": "VariableDeclaration", - "src": "311:10:6" + "src": "523:4:6" } ], - "id": 812, - "name": "ParameterList", - "src": "268:54:6" - } - ], - "id": 813, - "name": "EventDefinition", - "src": "254:69:6" - } - ], - "id": 814, - "name": "ContractDefinition", - "src": "25:300:6" - }, - { - "attributes": { - "contractDependencies": [ - 814 - ], - "contractKind": "contract", - "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", - "fullyImplemented": false, - "linearizedBaseContracts": [ - 850, - 814 - ], - "name": "IUSDT", - "scope": 851 - }, - "children": [ - { - "attributes": { - "arguments": null - }, - "children": [ - { - "attributes": { - "contractScope": null, - "name": "ERC20Basic", - "referencedDeclaration": 814, - "type": "contract ERC20Basic" - }, "id": 815, - "name": "UserDefinedTypeName", - "src": "434:10:6" + "name": "ParameterList", + "src": "522:6:6" } ], "id": 816, - "name": "InheritanceSpecifier", - "src": "434:10:6" + "name": "FunctionDefinition", + "src": "451:78:6" }, { "attributes": { @@ -1395,9 +1511,9 @@ "modifiers": [ null ], - "name": "allowance", - "scope": 850, - "stateMutability": "view", + "name": "transferFrom", + "scope": 841, + "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, @@ -1407,7 +1523,7 @@ { "attributes": { "constant": false, - "name": "owner", + "name": "from", "scope": 825, "stateVariable": false, "storageLocation": "default", @@ -1424,17 +1540,17 @@ }, "id": 817, "name": "ElementaryTypeName", - "src": "470:7:6" + "src": "556:7:6" } ], "id": 818, "name": "VariableDeclaration", - "src": "470:13:6" + "src": "556:12:6" }, { "attributes": { "constant": false, - "name": "spender", + "name": "to", "scope": 825, "stateVariable": false, "storageLocation": "default", @@ -1451,24 +1567,17 @@ }, "id": 819, "name": "ElementaryTypeName", - "src": "485:7:6" + "src": "570:7:6" } ], "id": 820, "name": "VariableDeclaration", - "src": "485:15:6" - } - ], - "id": 821, - "name": "ParameterList", - "src": "469:32:6" - }, - { - "children": [ + "src": "570:10:6" + }, { "attributes": { "constant": false, - "name": "", + "name": "value", "scope": 825, "stateVariable": false, "storageLocation": "default", @@ -1482,24 +1591,35 @@ "name": "uint", "type": "uint256" }, - "id": 822, + "id": 821, "name": "ElementaryTypeName", - "src": "523:4:6" + "src": "582:4:6" } ], - "id": 823, + "id": 822, "name": "VariableDeclaration", - "src": "523:4:6" + "src": "582:10:6" } ], + "id": 823, + "name": "ParameterList", + "src": "555:38:6" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], "id": 824, "name": "ParameterList", - "src": "522:6:6" + "src": "600:0:6" } ], "id": 825, "name": "FunctionDefinition", - "src": "451:78:6" + "src": "534:67:6" }, { "attributes": { @@ -1511,8 +1631,8 @@ "modifiers": [ null ], - "name": "transferFrom", - "scope": 850, + "name": "approve", + "scope": 841, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -1523,8 +1643,8 @@ { "attributes": { "constant": false, - "name": "from", - "scope": 834, + "name": "spender", + "scope": 832, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1540,130 +1660,10 @@ }, "id": 826, "name": "ElementaryTypeName", - "src": "556:7:6" - } - ], - "id": 827, - "name": "VariableDeclaration", - "src": "556:12:6" - }, - { - "attributes": { - "constant": false, - "name": "to", - "scope": 834, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "stateMutability": "nonpayable", - "type": "address" - }, - "id": 828, - "name": "ElementaryTypeName", - "src": "570:7:6" - } - ], - "id": 829, - "name": "VariableDeclaration", - "src": "570:10:6" - }, - { - "attributes": { - "constant": false, - "name": "value", - "scope": 834, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 830, - "name": "ElementaryTypeName", - "src": "582:4:6" - } - ], - "id": 831, - "name": "VariableDeclaration", - "src": "582:10:6" - } - ], - "id": 832, - "name": "ParameterList", - "src": "555:38:6" - }, - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 833, - "name": "ParameterList", - "src": "600:0:6" - } - ], - "id": 834, - "name": "FunctionDefinition", - "src": "534:67:6" - }, - { - "attributes": { - "body": null, - "documentation": null, - "implemented": false, - "isConstructor": false, - "kind": "function", - "modifiers": [ - null - ], - "name": "approve", - "scope": 850, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "spender", - "scope": 841, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "stateMutability": "nonpayable", - "type": "address" - }, - "id": 835, - "name": "ElementaryTypeName", "src": "623:7:6" } ], - "id": 836, + "id": 827, "name": "VariableDeclaration", "src": "623:15:6" }, @@ -1671,7 +1671,7 @@ "attributes": { "constant": false, "name": "value", - "scope": 841, + "scope": 832, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1684,17 +1684,17 @@ "name": "uint", "type": "uint256" }, - "id": 837, + "id": 828, "name": "ElementaryTypeName", "src": "640:4:6" } ], - "id": 838, + "id": 829, "name": "VariableDeclaration", "src": "640:10:6" } ], - "id": 839, + "id": 830, "name": "ParameterList", "src": "622:29:6" }, @@ -1705,12 +1705,12 @@ ] }, "children": [], - "id": 840, + "id": 831, "name": "ParameterList", "src": "658:0:6" } ], - "id": 841, + "id": 832, "name": "FunctionDefinition", "src": "606:53:6" }, @@ -1728,7 +1728,7 @@ "constant": false, "indexed": true, "name": "owner", - "scope": 849, + "scope": 840, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1742,12 +1742,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 842, + "id": 833, "name": "ElementaryTypeName", "src": "679:7:6" } ], - "id": 843, + "id": 834, "name": "VariableDeclaration", "src": "679:21:6" }, @@ -1756,7 +1756,7 @@ "constant": false, "indexed": true, "name": "spender", - "scope": 849, + "scope": 840, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1770,12 +1770,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 844, + "id": 835, "name": "ElementaryTypeName", "src": "702:7:6" } ], - "id": 845, + "id": 836, "name": "VariableDeclaration", "src": "702:23:6" }, @@ -1784,7 +1784,7 @@ "constant": false, "indexed": false, "name": "value", - "scope": 849, + "scope": 840, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1797,32 +1797,32 @@ "name": "uint", "type": "uint256" }, - "id": 846, + "id": 837, "name": "ElementaryTypeName", "src": "727:4:6" } ], - "id": 847, + "id": 838, "name": "VariableDeclaration", "src": "727:10:6" } ], - "id": 848, + "id": 839, "name": "ParameterList", "src": "678:60:6" } ], - "id": 849, + "id": 840, "name": "EventDefinition", "src": "664:75:6" } ], - "id": 850, + "id": 841, "name": "ContractDefinition", "src": "416:325:6" } ], - "id": 851, + "id": 842, "name": "SourceUnit", "src": "0:742:6" }, @@ -1832,7 +1832,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-03-14T02:18:33.085Z", + "updatedAt": "2021-04-04T20:21:29.865Z", "devdoc": { "methods": {} }, diff --git a/client/contracts/ERC20Detailed.json b/client/contracts/ERC20Detailed.json index d3a12ff..9cfe8f3 100644 --- a/client/contracts/ERC20Detailed.json +++ b/client/contracts/ERC20Detailed.json @@ -275,14 +275,14 @@ "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20Detailed.sol", "exportedSymbols": { "ERC20Detailed": [ - 3118 + 3128 ] }, - "id": 3119, + "id": 3129, "nodeType": "SourceUnit", "nodes": [ { - "id": 3062, + "id": 3072, "literals": [ "solidity", "^", @@ -295,10 +295,10 @@ { "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "id": 3063, + "id": 3073, "nodeType": "ImportDirective", - "scope": 3119, - "sourceUnit": 3216, + "scope": 3129, + "sourceUnit": 3226, "src": "25:22:15", "symbolAliases": [], "unitAlias": "" @@ -309,41 +309,41 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 3064, + "id": 3074, "name": "IERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3215, + "referencedDeclaration": 3225, "src": "135:6:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$3215", + "typeIdentifier": "t_contract$_IERC20_$3225", "typeString": "contract IERC20" } }, - "id": 3065, + "id": 3075, "nodeType": "InheritanceSpecifier", "src": "135:6:15" } ], "contractDependencies": [ - 3215 + 3225 ], "contractKind": "contract", "documentation": "@dev Optional functions from the ERC20 standard.", "fullyImplemented": false, - "id": 3118, + "id": 3128, "linearizedBaseContracts": [ - 3118, - 3215 + 3128, + 3225 ], "name": "ERC20Detailed", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 3067, + "id": 3077, "name": "_name", "nodeType": "VariableDeclaration", - "scope": 3118, + "scope": 3128, "src": "148:20:15", "stateVariable": true, "storageLocation": "default", @@ -352,7 +352,7 @@ "typeString": "string" }, "typeName": { - "id": 3066, + "id": 3076, "name": "string", "nodeType": "ElementaryTypeName", "src": "148:6:15", @@ -366,10 +366,10 @@ }, { "constant": false, - "id": 3069, + "id": 3079, "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 3118, + "scope": 3128, "src": "174:22:15", "stateVariable": true, "storageLocation": "default", @@ -378,7 +378,7 @@ "typeString": "string" }, "typeName": { - "id": 3068, + "id": 3078, "name": "string", "nodeType": "ElementaryTypeName", "src": "174:6:15", @@ -392,10 +392,10 @@ }, { "constant": false, - "id": 3071, + "id": 3081, "name": "_decimals", "nodeType": "VariableDeclaration", - "scope": 3118, + "scope": 3128, "src": "202:23:15", "stateVariable": true, "storageLocation": "default", @@ -404,7 +404,7 @@ "typeString": "uint8" }, "typeName": { - "id": 3070, + "id": 3080, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "202:5:15", @@ -418,25 +418,25 @@ }, { "body": { - "id": 3092, + "id": 3102, "nodeType": "Block", "src": "494:85:15", "statements": [ { "expression": { "argumentTypes": null, - "id": 3082, + "id": 3092, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3080, + "id": 3090, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3067, + "referencedDeclaration": 3077, "src": "504:5:15", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -447,11 +447,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3081, + "id": 3091, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3073, + "referencedDeclaration": 3083, "src": "512:4:15", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -464,25 +464,25 @@ "typeString": "string storage ref" } }, - "id": 3083, + "id": 3093, "nodeType": "ExpressionStatement", "src": "504:12:15" }, { "expression": { "argumentTypes": null, - "id": 3086, + "id": 3096, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3084, + "id": 3094, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3069, + "referencedDeclaration": 3079, "src": "526:7:15", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -493,11 +493,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3085, + "id": 3095, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3075, + "referencedDeclaration": 3085, "src": "536:6:15", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -510,25 +510,25 @@ "typeString": "string storage ref" } }, - "id": 3087, + "id": 3097, "nodeType": "ExpressionStatement", "src": "526:16:15" }, { "expression": { "argumentTypes": null, - "id": 3090, + "id": 3100, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3088, + "id": 3098, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3071, + "referencedDeclaration": 3081, "src": "552:9:15", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -539,11 +539,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 3089, + "id": 3099, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3077, + "referencedDeclaration": 3087, "src": "564:8:15", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -556,29 +556,29 @@ "typeString": "uint8" } }, - "id": 3091, + "id": 3101, "nodeType": "ExpressionStatement", "src": "552:20:15" } ] }, "documentation": "@dev Sets the values for `name`, `symbol`, and `decimals`. All three of\nthese values are immutable: they can only be set once during\nconstruction.", - "id": 3093, + "id": 3103, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 3078, + "id": 3088, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3073, + "id": 3083, "name": "name", "nodeType": "VariableDeclaration", - "scope": 3093, + "scope": 3103, "src": "429:18:15", "stateVariable": false, "storageLocation": "memory", @@ -587,7 +587,7 @@ "typeString": "string" }, "typeName": { - "id": 3072, + "id": 3082, "name": "string", "nodeType": "ElementaryTypeName", "src": "429:6:15", @@ -601,10 +601,10 @@ }, { "constant": false, - "id": 3075, + "id": 3085, "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 3093, + "scope": 3103, "src": "449:20:15", "stateVariable": false, "storageLocation": "memory", @@ -613,7 +613,7 @@ "typeString": "string" }, "typeName": { - "id": 3074, + "id": 3084, "name": "string", "nodeType": "ElementaryTypeName", "src": "449:6:15", @@ -627,10 +627,10 @@ }, { "constant": false, - "id": 3077, + "id": 3087, "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 3093, + "scope": 3103, "src": "471:14:15", "stateVariable": false, "storageLocation": "default", @@ -639,7 +639,7 @@ "typeString": "uint8" }, "typeName": { - "id": 3076, + "id": 3086, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "471:5:15", @@ -655,12 +655,12 @@ "src": "428:58:15" }, "returnParameters": { - "id": 3079, + "id": 3089, "nodeType": "ParameterList", "parameters": [], "src": "494:0:15" }, - "scope": 3118, + "scope": 3128, "src": "416:163:15", "stateMutability": "nonpayable", "superFunction": null, @@ -668,54 +668,54 @@ }, { "body": { - "id": 3100, + "id": 3110, "nodeType": "Block", "src": "696:29:15", "statements": [ { "expression": { "argumentTypes": null, - "id": 3098, + "id": 3108, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3067, + "referencedDeclaration": 3077, "src": "713:5:15", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 3097, - "id": 3099, + "functionReturnParameters": 3107, + "id": 3109, "nodeType": "Return", "src": "706:12:15" } ] }, "documentation": "@dev Returns the name of the token.", - "id": 3101, + "id": 3111, "implemented": true, "kind": "function", "modifiers": [], "name": "name", "nodeType": "FunctionDefinition", "parameters": { - "id": 3094, + "id": 3104, "nodeType": "ParameterList", "parameters": [], "src": "657:2:15" }, "returnParameters": { - "id": 3097, + "id": 3107, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3096, + "id": 3106, "name": "", "nodeType": "VariableDeclaration", - "scope": 3101, + "scope": 3111, "src": "681:13:15", "stateVariable": false, "storageLocation": "memory", @@ -724,7 +724,7 @@ "typeString": "string" }, "typeName": { - "id": 3095, + "id": 3105, "name": "string", "nodeType": "ElementaryTypeName", "src": "681:6:15", @@ -739,7 +739,7 @@ ], "src": "680:15:15" }, - "scope": 3118, + "scope": 3128, "src": "644:81:15", "stateMutability": "view", "superFunction": null, @@ -747,54 +747,54 @@ }, { "body": { - "id": 3108, + "id": 3118, "nodeType": "Block", "src": "892:31:15", "statements": [ { "expression": { "argumentTypes": null, - "id": 3106, + "id": 3116, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3069, + "referencedDeclaration": 3079, "src": "909:7:15", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 3105, - "id": 3107, + "functionReturnParameters": 3115, + "id": 3117, "nodeType": "Return", "src": "902:14:15" } ] }, "documentation": "@dev Returns the symbol of the token, usually a shorter version of the\nname.", - "id": 3109, + "id": 3119, "implemented": true, "kind": "function", "modifiers": [], "name": "symbol", "nodeType": "FunctionDefinition", "parameters": { - "id": 3102, + "id": 3112, "nodeType": "ParameterList", "parameters": [], "src": "853:2:15" }, "returnParameters": { - "id": 3105, + "id": 3115, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3104, + "id": 3114, "name": "", "nodeType": "VariableDeclaration", - "scope": 3109, + "scope": 3119, "src": "877:13:15", "stateVariable": false, "storageLocation": "memory", @@ -803,7 +803,7 @@ "typeString": "string" }, "typeName": { - "id": 3103, + "id": 3113, "name": "string", "nodeType": "ElementaryTypeName", "src": "877:6:15", @@ -818,7 +818,7 @@ ], "src": "876:15:15" }, - "scope": 3118, + "scope": 3128, "src": "838:85:15", "stateMutability": "view", "superFunction": null, @@ -826,54 +826,54 @@ }, { "body": { - "id": 3116, + "id": 3126, "nodeType": "Block", "src": "1520:33:15", "statements": [ { "expression": { "argumentTypes": null, - "id": 3114, + "id": 3124, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3071, + "referencedDeclaration": 3081, "src": "1537:9:15", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "functionReturnParameters": 3113, - "id": 3115, + "functionReturnParameters": 3123, + "id": 3125, "nodeType": "Return", "src": "1530:16:15" } ] }, "documentation": "@dev Returns the number of decimals used to get its user representation.\nFor example, if `decimals` equals `2`, a balance of `505` tokens should\nbe displayed to a user as `5,05` (`505 / 10 ** 2`).\n * Tokens usually opt for a value of 18, imitating the relationship between\nEther and Wei.\n * NOTE: This information is only used for _display_ purposes: it in\nno way affects any of the arithmetic of the contract, including\n{IERC20-balanceOf} and {IERC20-transfer}.", - "id": 3117, + "id": 3127, "implemented": true, "kind": "function", "modifiers": [], "name": "decimals", "nodeType": "FunctionDefinition", "parameters": { - "id": 3110, + "id": 3120, "nodeType": "ParameterList", "parameters": [], "src": "1489:2:15" }, "returnParameters": { - "id": 3113, + "id": 3123, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3112, + "id": 3122, "name": "", "nodeType": "VariableDeclaration", - "scope": 3117, + "scope": 3127, "src": "1513:5:15", "stateVariable": false, "storageLocation": "default", @@ -882,7 +882,7 @@ "typeString": "uint8" }, "typeName": { - "id": 3111, + "id": 3121, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "1513:5:15", @@ -897,14 +897,14 @@ ], "src": "1512:7:15" }, - "scope": 3118, + "scope": 3128, "src": "1472:81:15", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 3119, + "scope": 3129, "src": "109:1446:15" } ], @@ -915,7 +915,7 @@ "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20Detailed.sol", "exportedSymbols": { "ERC20Detailed": [ - 3118 + 3128 ] } }, @@ -929,39 +929,39 @@ ".0" ] }, - "id": 3062, + "id": 3072, "name": "PragmaDirective", "src": "0:23:15" }, { "attributes": { - "SourceUnit": 3216, + "SourceUnit": 3226, "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "scope": 3119, + "scope": 3129, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 3063, + "id": 3073, "name": "ImportDirective", "src": "25:22:15" }, { "attributes": { "contractDependencies": [ - 3215 + 3225 ], "contractKind": "contract", "documentation": "@dev Optional functions from the ERC20 standard.", "fullyImplemented": false, "linearizedBaseContracts": [ - 3118, - 3215 + 3128, + 3225 ], "name": "ERC20Detailed", - "scope": 3119 + "scope": 3129 }, "children": [ { @@ -973,15 +973,15 @@ "attributes": { "contractScope": null, "name": "IERC20", - "referencedDeclaration": 3215, + "referencedDeclaration": 3225, "type": "contract IERC20" }, - "id": 3064, + "id": 3074, "name": "UserDefinedTypeName", "src": "135:6:15" } ], - "id": 3065, + "id": 3075, "name": "InheritanceSpecifier", "src": "135:6:15" }, @@ -989,7 +989,7 @@ "attributes": { "constant": false, "name": "_name", - "scope": 3118, + "scope": 3128, "stateVariable": true, "storageLocation": "default", "type": "string", @@ -1002,12 +1002,12 @@ "name": "string", "type": "string" }, - "id": 3066, + "id": 3076, "name": "ElementaryTypeName", "src": "148:6:15" } ], - "id": 3067, + "id": 3077, "name": "VariableDeclaration", "src": "148:20:15" }, @@ -1015,7 +1015,7 @@ "attributes": { "constant": false, "name": "_symbol", - "scope": 3118, + "scope": 3128, "stateVariable": true, "storageLocation": "default", "type": "string", @@ -1028,12 +1028,12 @@ "name": "string", "type": "string" }, - "id": 3068, + "id": 3078, "name": "ElementaryTypeName", "src": "174:6:15" } ], - "id": 3069, + "id": 3079, "name": "VariableDeclaration", "src": "174:22:15" }, @@ -1041,7 +1041,7 @@ "attributes": { "constant": false, "name": "_decimals", - "scope": 3118, + "scope": 3128, "stateVariable": true, "storageLocation": "default", "type": "uint8", @@ -1054,12 +1054,12 @@ "name": "uint8", "type": "uint8" }, - "id": 3070, + "id": 3080, "name": "ElementaryTypeName", "src": "202:5:15" } ], - "id": 3071, + "id": 3081, "name": "VariableDeclaration", "src": "202:23:15" }, @@ -1073,7 +1073,7 @@ null ], "name": "", - "scope": 3118, + "scope": 3128, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -1085,7 +1085,7 @@ "attributes": { "constant": false, "name": "name", - "scope": 3093, + "scope": 3103, "stateVariable": false, "storageLocation": "memory", "type": "string", @@ -1098,12 +1098,12 @@ "name": "string", "type": "string" }, - "id": 3072, + "id": 3082, "name": "ElementaryTypeName", "src": "429:6:15" } ], - "id": 3073, + "id": 3083, "name": "VariableDeclaration", "src": "429:18:15" }, @@ -1111,7 +1111,7 @@ "attributes": { "constant": false, "name": "symbol", - "scope": 3093, + "scope": 3103, "stateVariable": false, "storageLocation": "memory", "type": "string", @@ -1124,12 +1124,12 @@ "name": "string", "type": "string" }, - "id": 3074, + "id": 3084, "name": "ElementaryTypeName", "src": "449:6:15" } ], - "id": 3075, + "id": 3085, "name": "VariableDeclaration", "src": "449:20:15" }, @@ -1137,7 +1137,7 @@ "attributes": { "constant": false, "name": "decimals", - "scope": 3093, + "scope": 3103, "stateVariable": false, "storageLocation": "default", "type": "uint8", @@ -1150,17 +1150,17 @@ "name": "uint8", "type": "uint8" }, - "id": 3076, + "id": 3086, "name": "ElementaryTypeName", "src": "471:5:15" } ], - "id": 3077, + "id": 3087, "name": "VariableDeclaration", "src": "471:14:15" } ], - "id": 3078, + "id": 3088, "name": "ParameterList", "src": "428:58:15" }, @@ -1171,7 +1171,7 @@ ] }, "children": [], - "id": 3079, + "id": 3089, "name": "ParameterList", "src": "494:0:15" }, @@ -1196,11 +1196,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3067, + "referencedDeclaration": 3077, "type": "string storage ref", "value": "_name" }, - "id": 3080, + "id": 3090, "name": "Identifier", "src": "504:5:15" }, @@ -1210,21 +1210,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3073, + "referencedDeclaration": 3083, "type": "string memory", "value": "name" }, - "id": 3081, + "id": 3091, "name": "Identifier", "src": "512:4:15" } ], - "id": 3082, + "id": 3092, "name": "Assignment", "src": "504:12:15" } ], - "id": 3083, + "id": 3093, "name": "ExpressionStatement", "src": "504:12:15" }, @@ -1247,11 +1247,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3069, + "referencedDeclaration": 3079, "type": "string storage ref", "value": "_symbol" }, - "id": 3084, + "id": 3094, "name": "Identifier", "src": "526:7:15" }, @@ -1261,21 +1261,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3075, + "referencedDeclaration": 3085, "type": "string memory", "value": "symbol" }, - "id": 3085, + "id": 3095, "name": "Identifier", "src": "536:6:15" } ], - "id": 3086, + "id": 3096, "name": "Assignment", "src": "526:16:15" } ], - "id": 3087, + "id": 3097, "name": "ExpressionStatement", "src": "526:16:15" }, @@ -1298,11 +1298,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3071, + "referencedDeclaration": 3081, "type": "uint8", "value": "_decimals" }, - "id": 3088, + "id": 3098, "name": "Identifier", "src": "552:9:15" }, @@ -1312,31 +1312,31 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3077, + "referencedDeclaration": 3087, "type": "uint8", "value": "decimals" }, - "id": 3089, + "id": 3099, "name": "Identifier", "src": "564:8:15" } ], - "id": 3090, + "id": 3100, "name": "Assignment", "src": "552:20:15" } ], - "id": 3091, + "id": 3101, "name": "ExpressionStatement", "src": "552:20:15" } ], - "id": 3092, + "id": 3102, "name": "Block", "src": "494:85:15" } ], - "id": 3093, + "id": 3103, "name": "FunctionDefinition", "src": "416:163:15" }, @@ -1350,7 +1350,7 @@ null ], "name": "name", - "scope": 3118, + "scope": 3128, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1363,7 +1363,7 @@ ] }, "children": [], - "id": 3094, + "id": 3104, "name": "ParameterList", "src": "657:2:15" }, @@ -1373,7 +1373,7 @@ "attributes": { "constant": false, "name": "", - "scope": 3101, + "scope": 3111, "stateVariable": false, "storageLocation": "memory", "type": "string", @@ -1386,17 +1386,17 @@ "name": "string", "type": "string" }, - "id": 3095, + "id": 3105, "name": "ElementaryTypeName", "src": "681:6:15" } ], - "id": 3096, + "id": 3106, "name": "VariableDeclaration", "src": "681:13:15" } ], - "id": 3097, + "id": 3107, "name": "ParameterList", "src": "680:15:15" }, @@ -1404,7 +1404,7 @@ "children": [ { "attributes": { - "functionReturnParameters": 3097 + "functionReturnParameters": 3107 }, "children": [ { @@ -1413,26 +1413,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3067, + "referencedDeclaration": 3077, "type": "string storage ref", "value": "_name" }, - "id": 3098, + "id": 3108, "name": "Identifier", "src": "713:5:15" } ], - "id": 3099, + "id": 3109, "name": "Return", "src": "706:12:15" } ], - "id": 3100, + "id": 3110, "name": "Block", "src": "696:29:15" } ], - "id": 3101, + "id": 3111, "name": "FunctionDefinition", "src": "644:81:15" }, @@ -1446,7 +1446,7 @@ null ], "name": "symbol", - "scope": 3118, + "scope": 3128, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1459,7 +1459,7 @@ ] }, "children": [], - "id": 3102, + "id": 3112, "name": "ParameterList", "src": "853:2:15" }, @@ -1469,7 +1469,7 @@ "attributes": { "constant": false, "name": "", - "scope": 3109, + "scope": 3119, "stateVariable": false, "storageLocation": "memory", "type": "string", @@ -1482,17 +1482,17 @@ "name": "string", "type": "string" }, - "id": 3103, + "id": 3113, "name": "ElementaryTypeName", "src": "877:6:15" } ], - "id": 3104, + "id": 3114, "name": "VariableDeclaration", "src": "877:13:15" } ], - "id": 3105, + "id": 3115, "name": "ParameterList", "src": "876:15:15" }, @@ -1500,7 +1500,7 @@ "children": [ { "attributes": { - "functionReturnParameters": 3105 + "functionReturnParameters": 3115 }, "children": [ { @@ -1509,26 +1509,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3069, + "referencedDeclaration": 3079, "type": "string storage ref", "value": "_symbol" }, - "id": 3106, + "id": 3116, "name": "Identifier", "src": "909:7:15" } ], - "id": 3107, + "id": 3117, "name": "Return", "src": "902:14:15" } ], - "id": 3108, + "id": 3118, "name": "Block", "src": "892:31:15" } ], - "id": 3109, + "id": 3119, "name": "FunctionDefinition", "src": "838:85:15" }, @@ -1542,7 +1542,7 @@ null ], "name": "decimals", - "scope": 3118, + "scope": 3128, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1555,7 +1555,7 @@ ] }, "children": [], - "id": 3110, + "id": 3120, "name": "ParameterList", "src": "1489:2:15" }, @@ -1565,7 +1565,7 @@ "attributes": { "constant": false, "name": "", - "scope": 3117, + "scope": 3127, "stateVariable": false, "storageLocation": "default", "type": "uint8", @@ -1578,17 +1578,17 @@ "name": "uint8", "type": "uint8" }, - "id": 3111, + "id": 3121, "name": "ElementaryTypeName", "src": "1513:5:15" } ], - "id": 3112, + "id": 3122, "name": "VariableDeclaration", "src": "1513:5:15" } ], - "id": 3113, + "id": 3123, "name": "ParameterList", "src": "1512:7:15" }, @@ -1596,7 +1596,7 @@ "children": [ { "attributes": { - "functionReturnParameters": 3113 + "functionReturnParameters": 3123 }, "children": [ { @@ -1605,36 +1605,36 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3071, + "referencedDeclaration": 3081, "type": "uint8", "value": "_decimals" }, - "id": 3114, + "id": 3124, "name": "Identifier", "src": "1537:9:15" } ], - "id": 3115, + "id": 3125, "name": "Return", "src": "1530:16:15" } ], - "id": 3116, + "id": 3126, "name": "Block", "src": "1520:33:15" } ], - "id": 3117, + "id": 3127, "name": "FunctionDefinition", "src": "1472:81:15" } ], - "id": 3118, + "id": 3128, "name": "ContractDefinition", "src": "109:1446:15" } ], - "id": 3119, + "id": 3129, "name": "SourceUnit", "src": "0:1556:15" }, @@ -1644,7 +1644,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-03-14T02:18:33.152Z", + "updatedAt": "2021-04-04T20:21:29.917Z", "devdoc": { "details": "Optional functions from the ERC20 standard.", "methods": { diff --git a/client/contracts/ERC20Mintable.json b/client/contracts/ERC20Mintable.json index a152dd6..28a4f57 100644 --- a/client/contracts/ERC20Mintable.json +++ b/client/contracts/ERC20Mintable.json @@ -357,14 +357,14 @@ "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", "exportedSymbols": { "ERC20Mintable": [ - 3146 + 3156 ] }, - "id": 3147, + "id": 3157, "nodeType": "SourceUnit", "nodes": [ { - "id": 3120, + "id": 3130, "literals": [ "solidity", "^", @@ -377,10 +377,10 @@ { "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", "file": "./ERC20.sol", - "id": 3121, + "id": 3131, "nodeType": "ImportDirective", - "scope": 3147, - "sourceUnit": 3061, + "scope": 3157, + "sourceUnit": 3071, "src": "25:21:16", "symbolAliases": [], "unitAlias": "" @@ -388,10 +388,10 @@ { "absolutePath": "@openzeppelin/contracts/access/roles/MinterRole.sol", "file": "../../access/roles/MinterRole.sol", - "id": 3122, + "id": 3132, "nodeType": "ImportDirective", - "scope": 3147, - "sourceUnit": 2469, + "scope": 3157, + "sourceUnit": 2479, "src": "47:43:16", "symbolAliases": [], "unitAlias": "" @@ -402,17 +402,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 3123, + "id": 3133, "name": "ERC20", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3060, + "referencedDeclaration": 3070, "src": "348:5:16", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$3060", + "typeIdentifier": "t_contract$_ERC20_$3070", "typeString": "contract ERC20" } }, - "id": 3124, + "id": 3134, "nodeType": "InheritanceSpecifier", "src": "348:5:16" }, @@ -420,44 +420,44 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 3125, + "id": 3135, "name": "MinterRole", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2468, + "referencedDeclaration": 2478, "src": "355:10:16", "typeDescriptions": { - "typeIdentifier": "t_contract$_MinterRole_$2468", + "typeIdentifier": "t_contract$_MinterRole_$2478", "typeString": "contract MinterRole" } }, - "id": 3126, + "id": 3136, "nodeType": "InheritanceSpecifier", "src": "355:10:16" } ], "contractDependencies": [ - 2280, - 2468, - 3060, - 3215 + 2290, + 2478, + 3070, + 3225 ], "contractKind": "contract", "documentation": "@dev Extension of {ERC20} that adds a set of accounts with the {MinterRole},\nwhich have permission to mint (create) new tokens as they see fit.\n * At construction, the deployer of the contract is the only minter.", "fullyImplemented": true, - "id": 3146, + "id": 3156, "linearizedBaseContracts": [ - 3146, - 2468, - 3060, - 3215, - 2280 + 3156, + 2478, + 3070, + 3225, + 2290 ], "name": "ERC20Mintable", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 3144, + "id": 3154, "nodeType": "Block", "src": "582:60:16", "statements": [ @@ -467,11 +467,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3138, + "id": 3148, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3128, + "referencedDeclaration": 3138, "src": "598:7:16", "typeDescriptions": { "typeIdentifier": "t_address", @@ -480,11 +480,11 @@ }, { "argumentTypes": null, - "id": 3139, + "id": 3149, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3130, + "referencedDeclaration": 3140, "src": "607:6:16", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -503,18 +503,18 @@ "typeString": "uint256" } ], - "id": 3137, + "id": 3147, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2944, + "referencedDeclaration": 2954, "src": "592:5:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 3140, + "id": 3150, "isConstant": false, "isLValue": false, "isPure": false, @@ -528,7 +528,7 @@ "typeString": "tuple()" } }, - "id": 3141, + "id": 3151, "nodeType": "ExpressionStatement", "src": "592:22:16" }, @@ -536,7 +536,7 @@ "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 3142, + "id": 3152, "isConstant": false, "isLValue": false, "isPure": true, @@ -551,28 +551,28 @@ }, "value": "true" }, - "functionReturnParameters": 3136, - "id": 3143, + "functionReturnParameters": 3146, + "id": 3153, "nodeType": "Return", "src": "624:11:16" } ] }, "documentation": "@dev See {ERC20-_mint}.\n * Requirements:\n * - the caller must have the {MinterRole}.", - "id": 3145, + "id": 3155, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 3133, + "id": 3143, "modifierName": { "argumentTypes": null, - "id": 3132, + "id": 3142, "name": "onlyMinter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2401, + "referencedDeclaration": 2411, "src": "556:10:16", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -586,15 +586,15 @@ "name": "mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 3131, + "id": 3141, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3128, + "id": 3138, "name": "account", "nodeType": "VariableDeclaration", - "scope": 3145, + "scope": 3155, "src": "516:15:16", "stateVariable": false, "storageLocation": "default", @@ -603,7 +603,7 @@ "typeString": "address" }, "typeName": { - "id": 3127, + "id": 3137, "name": "address", "nodeType": "ElementaryTypeName", "src": "516:7:16", @@ -618,10 +618,10 @@ }, { "constant": false, - "id": 3130, + "id": 3140, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 3145, + "scope": 3155, "src": "533:14:16", "stateVariable": false, "storageLocation": "default", @@ -630,7 +630,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3129, + "id": 3139, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "533:7:16", @@ -646,15 +646,15 @@ "src": "515:33:16" }, "returnParameters": { - "id": 3136, + "id": 3146, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3135, + "id": 3145, "name": "", "nodeType": "VariableDeclaration", - "scope": 3145, + "scope": 3155, "src": "576:4:16", "stateVariable": false, "storageLocation": "default", @@ -663,7 +663,7 @@ "typeString": "bool" }, "typeName": { - "id": 3134, + "id": 3144, "name": "bool", "nodeType": "ElementaryTypeName", "src": "576:4:16", @@ -678,14 +678,14 @@ ], "src": "575:6:16" }, - "scope": 3146, + "scope": 3156, "src": "502:140:16", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 3147, + "scope": 3157, "src": "322:322:16" } ], @@ -696,7 +696,7 @@ "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", "exportedSymbols": { "ERC20Mintable": [ - 3146 + 3156 ] } }, @@ -710,60 +710,60 @@ ".0" ] }, - "id": 3120, + "id": 3130, "name": "PragmaDirective", "src": "0:23:16" }, { "attributes": { - "SourceUnit": 3061, + "SourceUnit": 3071, "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", "file": "./ERC20.sol", - "scope": 3147, + "scope": 3157, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 3121, + "id": 3131, "name": "ImportDirective", "src": "25:21:16" }, { "attributes": { - "SourceUnit": 2469, + "SourceUnit": 2479, "absolutePath": "@openzeppelin/contracts/access/roles/MinterRole.sol", "file": "../../access/roles/MinterRole.sol", - "scope": 3147, + "scope": 3157, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 3122, + "id": 3132, "name": "ImportDirective", "src": "47:43:16" }, { "attributes": { "contractDependencies": [ - 2280, - 2468, - 3060, - 3215 + 2290, + 2478, + 3070, + 3225 ], "contractKind": "contract", "documentation": "@dev Extension of {ERC20} that adds a set of accounts with the {MinterRole},\nwhich have permission to mint (create) new tokens as they see fit.\n * At construction, the deployer of the contract is the only minter.", "fullyImplemented": true, "linearizedBaseContracts": [ - 3146, - 2468, - 3060, - 3215, - 2280 + 3156, + 2478, + 3070, + 3225, + 2290 ], "name": "ERC20Mintable", - "scope": 3147 + "scope": 3157 }, "children": [ { @@ -775,15 +775,15 @@ "attributes": { "contractScope": null, "name": "ERC20", - "referencedDeclaration": 3060, + "referencedDeclaration": 3070, "type": "contract ERC20" }, - "id": 3123, + "id": 3133, "name": "UserDefinedTypeName", "src": "348:5:16" } ], - "id": 3124, + "id": 3134, "name": "InheritanceSpecifier", "src": "348:5:16" }, @@ -796,15 +796,15 @@ "attributes": { "contractScope": null, "name": "MinterRole", - "referencedDeclaration": 2468, + "referencedDeclaration": 2478, "type": "contract MinterRole" }, - "id": 3125, + "id": 3135, "name": "UserDefinedTypeName", "src": "355:10:16" } ], - "id": 3126, + "id": 3136, "name": "InheritanceSpecifier", "src": "355:10:16" }, @@ -815,7 +815,7 @@ "isConstructor": false, "kind": "function", "name": "mint", - "scope": 3146, + "scope": 3156, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -827,7 +827,7 @@ "attributes": { "constant": false, "name": "account", - "scope": 3145, + "scope": 3155, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -841,12 +841,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 3127, + "id": 3137, "name": "ElementaryTypeName", "src": "516:7:16" } ], - "id": 3128, + "id": 3138, "name": "VariableDeclaration", "src": "516:15:16" }, @@ -854,7 +854,7 @@ "attributes": { "constant": false, "name": "amount", - "scope": 3145, + "scope": 3155, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -867,17 +867,17 @@ "name": "uint256", "type": "uint256" }, - "id": 3129, + "id": 3139, "name": "ElementaryTypeName", "src": "533:7:16" } ], - "id": 3130, + "id": 3140, "name": "VariableDeclaration", "src": "533:14:16" } ], - "id": 3131, + "id": 3141, "name": "ParameterList", "src": "515:33:16" }, @@ -887,7 +887,7 @@ "attributes": { "constant": false, "name": "", - "scope": 3145, + "scope": 3155, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -900,17 +900,17 @@ "name": "bool", "type": "bool" }, - "id": 3134, + "id": 3144, "name": "ElementaryTypeName", "src": "576:4:16" } ], - "id": 3135, + "id": 3145, "name": "VariableDeclaration", "src": "576:4:16" } ], - "id": 3136, + "id": 3146, "name": "ParameterList", "src": "575:6:16" }, @@ -925,16 +925,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2401, + "referencedDeclaration": 2411, "type": "modifier ()", "value": "onlyMinter" }, - "id": 3132, + "id": 3142, "name": "Identifier", "src": "556:10:16" } ], - "id": 3133, + "id": 3143, "name": "ModifierInvocation", "src": "556:10:16" }, @@ -972,11 +972,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2944, + "referencedDeclaration": 2954, "type": "function (address,uint256)", "value": "_mint" }, - "id": 3137, + "id": 3147, "name": "Identifier", "src": "592:5:16" }, @@ -986,11 +986,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3128, + "referencedDeclaration": 3138, "type": "address", "value": "account" }, - "id": 3138, + "id": 3148, "name": "Identifier", "src": "598:7:16" }, @@ -1000,27 +1000,27 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3130, + "referencedDeclaration": 3140, "type": "uint256", "value": "amount" }, - "id": 3139, + "id": 3149, "name": "Identifier", "src": "607:6:16" } ], - "id": 3140, + "id": 3150, "name": "FunctionCall", "src": "592:22:16" } ], - "id": 3141, + "id": 3151, "name": "ExpressionStatement", "src": "592:22:16" }, { "attributes": { - "functionReturnParameters": 3136 + "functionReturnParameters": 3146 }, "children": [ { @@ -1036,32 +1036,32 @@ "type": "bool", "value": "true" }, - "id": 3142, + "id": 3152, "name": "Literal", "src": "631:4:16" } ], - "id": 3143, + "id": 3153, "name": "Return", "src": "624:11:16" } ], - "id": 3144, + "id": 3154, "name": "Block", "src": "582:60:16" } ], - "id": 3145, + "id": 3155, "name": "FunctionDefinition", "src": "502:140:16" } ], - "id": 3146, + "id": 3156, "name": "ContractDefinition", "src": "322:322:16" } ], - "id": 3147, + "id": 3157, "name": "SourceUnit", "src": "0:645:16" }, @@ -1071,7 +1071,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-03-14T02:18:33.153Z", + "updatedAt": "2021-04-04T20:21:29.917Z", "devdoc": { "details": "Extension of {ERC20} that adds a set of accounts with the {MinterRole}, which have permission to mint (create) new tokens as they see fit. * At construction, the deployer of the contract is the only minter.", "methods": { diff --git a/client/contracts/ERC20Mock.json b/client/contracts/ERC20Mock.json index cc5f0aa..caf7b9c 100644 --- a/client/contracts/ERC20Mock.json +++ b/client/contracts/ERC20Mock.json @@ -397,25 +397,25 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"mint(address,uint256)\":{\"details\":\"See {ERC20-_mint}. * Requirements: * - the caller must have the {MinterRole}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for `sender`'s tokens of at least `amount`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Mocks/ERC20Mock.sol\":\"ERC20Mock\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Mocks/ERC20Mock.sol\":{\"keccak256\":\"0x150ed63ab607e62bd28a2b8627bd88579987a5efd1aa2fb1c6f77129a9aafc21\",\"urls\":[\"bzz-raw://cac75fe79a19953326129e67f144d71dfebfd58c10c2a22b38f1d22561db4e7f\",\"dweb:/ipfs/QmUU1ZzThC19DkY7jDc37jJ7DqNVp3oDeMdzTK7ExfmKug\"]},\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]},\"@openzeppelin/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzz-raw://00a788c4631466c220b385bdd100c571d24b2deccd657615cfbcef6cadf669a4\",\"dweb:/ipfs/QmTEwDbjJNxmMNCDMqtuou3dyM8Wtp8Q9NFvn7SAVM7Jf3\"]},\"@openzeppelin/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0xbe8eef6f2cb4e427f5c5d8a76865ccd06e55a4f1d6671ba312d45bfa705aedbf\",\"urls\":[\"bzz-raw://badf338a5e22c8658c01fe2ce89b487d9dbf6d2d9d5eb49df7415383e2498765\",\"dweb:/ipfs/QmP5aMkvFwMJyuQjKE8ADh5tkWYqonb4KjgkAjgYEVVFAv\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xb15af804e2bc97db51e4e103f13de9fe13f87e6b835d7a88c897966c0e58506e\",\"urls\":[\"bzz-raw://1e8cff8437557fc915a3bed968fcd8f2df9809599e665ef69c2c9ce628548055\",\"dweb:/ipfs/QmP5spYP8vs2jvLF8zNrXUbqB79hMsoEvMHiLcBxerWKcm\"]},\"@openzeppelin/contracts/token/ERC20/ERC20Detailed.sol\":{\"keccak256\":\"0x4a3a810b7ebe742e897e1fd428b3eeed2196d3acea58eaf9c566ed10d545d2ed\",\"urls\":[\"bzz-raw://28d03f328e19e4099d5013de0649afaeaabac1a614e130767ab1cb4aca9775b6\",\"dweb:/ipfs/Qmb9iW7yNuYehB2NfhRMs9TakqbLVQhBhmGMkaDZ5g1Eb4\"]},\"@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol\":{\"keccak256\":\"0xa2b957cf89692c504962afb7506999155f83385373f808243246cd5879de5940\",\"urls\":[\"bzz-raw://c44ae0ad1bce141c33b962f8b4e9228bdf8df36c8ac363b4f0bf9498b8bfc32a\",\"dweb:/ipfs/QmcSBRdFwVvy2wFZrBwo5cvqNP4UHh9Eyzf8jnxBgnPqfe\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b5060408051808201825260078152664441494d6f636b60c81b6020808301918252835180850190945260048452634441494d60e01b908401528151919291601291620000619160009190620001ff565b50815162000077906001906020850190620001ff565b506002805460ff191660ff9290921691909117905550620000ac90506200009d620000b2565b6001600160e01b03620000b716565b620002a1565b335b90565b620000d28160066200010960201b62000c551790919060201c565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6200011e82826001600160e01b036200019616565b1562000171576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b038216620001df5760405162461bcd60e51b8152600401808060200182810382526022815260200180620011976022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200024257805160ff191683800117855562000272565b8280016001018555821562000272579182015b828111156200027257825182559160200191906001019062000255565b506200028092915062000284565b5090565b620000b491905b808211156200028057600081556001016200028b565b610ee680620002b16000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d7146102db578063a9059cbb14610307578063aa271e1a14610333578063dd62ed3e14610359576100f5565b806370a082311461027d57806395d89b41146102a3578063983b2d56146102ab57806398650275146102d3576100f5565b806323b872dd116100d357806323b872dd146101d1578063313ce56714610207578063395093511461022557806340c10f1914610251576100f5565b806306fdde03146100fa578063095ea7b31461017757806318160ddd146101b7575b600080fd5b610102610387565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a36004803603604081101561018d57600080fd5b506001600160a01b03813516906020013561041d565b604080519115158252519081900360200190f35b6101bf61043a565b60408051918252519081900360200190f35b6101a3600480360360608110156101e757600080fd5b506001600160a01b03813581169160208101359091169060400135610440565b61020f6104cd565b6040805160ff9092168252519081900360200190f35b6101a36004803603604081101561023b57600080fd5b506001600160a01b0381351690602001356104d6565b6101a36004803603604081101561026757600080fd5b506001600160a01b03813516906020013561052a565b6101bf6004803603602081101561029357600080fd5b50356001600160a01b0316610581565b61010261059c565b6102d1600480360360208110156102c157600080fd5b50356001600160a01b03166105fc565b005b6102d161064e565b6101a3600480360360408110156102f157600080fd5b506001600160a01b038135169060200135610660565b6101a36004803603604081101561031d57600080fd5b506001600160a01b0381351690602001356106ce565b6101a36004803603602081101561034957600080fd5b50356001600160a01b03166106e2565b6101bf6004803603604081101561036f57600080fd5b506001600160a01b03813581169160200135166106fb565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104135780601f106103e857610100808354040283529160200191610413565b820191906000526020600020905b8154815290600101906020018083116103f657829003601f168201915b5050505050905090565b600061043161042a610726565b848461072a565b50600192915050565b60055490565b600061044d848484610816565b6104c384610459610726565b6104be85604051806060016040528060288152602001610dfa602891396001600160a01b038a16600090815260046020526040812090610497610726565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61097416565b61072a565b5060019392505050565b60025460ff1690565b60006104316104e3610726565b846104be85600460006104f4610726565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610a0b16565b600061053c610537610726565b6106e2565b6105775760405162461bcd60e51b8152600401808060200182810382526030815260200180610da96030913960400191505060405180910390fd5b6104318383610a6c565b6001600160a01b031660009081526003602052604090205490565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104135780601f106103e857610100808354040283529160200191610413565b610607610537610726565b6106425760405162461bcd60e51b8152600401808060200182810382526030815260200180610da96030913960400191505060405180910390fd5b61064b81610b5e565b50565b61065e610659610726565b610ba6565b565b600061043161066d610726565b846104be85604051806060016040528060258152602001610e8d6025913960046000610697610726565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61097416565b60006104316106db610726565b8484610816565b60006106f560068363ffffffff610bee16565b92915050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661076f5760405162461bcd60e51b8152600401808060200182810382526024815260200180610e696024913960400191505060405180910390fd5b6001600160a01b0382166107b45760405162461bcd60e51b8152600401808060200182810382526022815260200180610d616022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661085b5760405162461bcd60e51b8152600401808060200182810382526025815260200180610e446025913960400191505060405180910390fd5b6001600160a01b0382166108a05760405162461bcd60e51b8152600401808060200182810382526023815260200180610d3e6023913960400191505060405180910390fd5b6108e381604051806060016040528060268152602001610d83602691396001600160a01b038616600090815260036020526040902054919063ffffffff61097416565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610918908263ffffffff610a0b16565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610a035760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109c85781810151838201526020016109b0565b50505050905090810190601f1680156109f55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610a65576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610ac7576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600554610ada908263ffffffff610a0b16565b6005556001600160a01b038216600090815260036020526040902054610b06908263ffffffff610a0b16565b6001600160a01b03831660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b610b6f60068263ffffffff610c5516565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b610bb760068263ffffffff610cd616565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b038216610c355760405162461bcd60e51b8152600401808060200182810382526022815260200180610e226022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b610c5f8282610bee565b15610cb1576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b610ce08282610bee565b610d1b5760405162461bcd60e51b8152600401808060200182810382526021815260200180610dd96021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff1916905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820c2453f02182b907cd2dac6696e10c25945d84976841f94edbb913d4a647935b664736f6c63430005110032526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d7146102db578063a9059cbb14610307578063aa271e1a14610333578063dd62ed3e14610359576100f5565b806370a082311461027d57806395d89b41146102a3578063983b2d56146102ab57806398650275146102d3576100f5565b806323b872dd116100d357806323b872dd146101d1578063313ce56714610207578063395093511461022557806340c10f1914610251576100f5565b806306fdde03146100fa578063095ea7b31461017757806318160ddd146101b7575b600080fd5b610102610387565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a36004803603604081101561018d57600080fd5b506001600160a01b03813516906020013561041d565b604080519115158252519081900360200190f35b6101bf61043a565b60408051918252519081900360200190f35b6101a3600480360360608110156101e757600080fd5b506001600160a01b03813581169160208101359091169060400135610440565b61020f6104cd565b6040805160ff9092168252519081900360200190f35b6101a36004803603604081101561023b57600080fd5b506001600160a01b0381351690602001356104d6565b6101a36004803603604081101561026757600080fd5b506001600160a01b03813516906020013561052a565b6101bf6004803603602081101561029357600080fd5b50356001600160a01b0316610581565b61010261059c565b6102d1600480360360208110156102c157600080fd5b50356001600160a01b03166105fc565b005b6102d161064e565b6101a3600480360360408110156102f157600080fd5b506001600160a01b038135169060200135610660565b6101a36004803603604081101561031d57600080fd5b506001600160a01b0381351690602001356106ce565b6101a36004803603602081101561034957600080fd5b50356001600160a01b03166106e2565b6101bf6004803603604081101561036f57600080fd5b506001600160a01b03813581169160200135166106fb565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104135780601f106103e857610100808354040283529160200191610413565b820191906000526020600020905b8154815290600101906020018083116103f657829003601f168201915b5050505050905090565b600061043161042a610726565b848461072a565b50600192915050565b60055490565b600061044d848484610816565b6104c384610459610726565b6104be85604051806060016040528060288152602001610dfa602891396001600160a01b038a16600090815260046020526040812090610497610726565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61097416565b61072a565b5060019392505050565b60025460ff1690565b60006104316104e3610726565b846104be85600460006104f4610726565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610a0b16565b600061053c610537610726565b6106e2565b6105775760405162461bcd60e51b8152600401808060200182810382526030815260200180610da96030913960400191505060405180910390fd5b6104318383610a6c565b6001600160a01b031660009081526003602052604090205490565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104135780601f106103e857610100808354040283529160200191610413565b610607610537610726565b6106425760405162461bcd60e51b8152600401808060200182810382526030815260200180610da96030913960400191505060405180910390fd5b61064b81610b5e565b50565b61065e610659610726565b610ba6565b565b600061043161066d610726565b846104be85604051806060016040528060258152602001610e8d6025913960046000610697610726565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61097416565b60006104316106db610726565b8484610816565b60006106f560068363ffffffff610bee16565b92915050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661076f5760405162461bcd60e51b8152600401808060200182810382526024815260200180610e696024913960400191505060405180910390fd5b6001600160a01b0382166107b45760405162461bcd60e51b8152600401808060200182810382526022815260200180610d616022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661085b5760405162461bcd60e51b8152600401808060200182810382526025815260200180610e446025913960400191505060405180910390fd5b6001600160a01b0382166108a05760405162461bcd60e51b8152600401808060200182810382526023815260200180610d3e6023913960400191505060405180910390fd5b6108e381604051806060016040528060268152602001610d83602691396001600160a01b038616600090815260036020526040902054919063ffffffff61097416565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610918908263ffffffff610a0b16565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610a035760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109c85781810151838201526020016109b0565b50505050905090810190601f1680156109f55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610a65576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610ac7576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600554610ada908263ffffffff610a0b16565b6005556001600160a01b038216600090815260036020526040902054610b06908263ffffffff610a0b16565b6001600160a01b03831660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b610b6f60068263ffffffff610c5516565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b610bb760068263ffffffff610cd616565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b038216610c355760405162461bcd60e51b8152600401808060200182810382526022815260200180610e226022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b610c5f8282610bee565b15610cb1576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b610ce08282610bee565b610d1b5760405162461bcd60e51b8152600401808060200182810382526021815260200180610dd96021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff1916905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820c2453f02182b907cd2dac6696e10c25945d84976841f94edbb913d4a647935b664736f6c63430005110032", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"mint(address,uint256)\":{\"details\":\"See {ERC20-_mint}. * Requirements: * - the caller must have the {MinterRole}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for `sender`'s tokens of at least `amount`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/Mocks/ERC20Mock.sol\":\"ERC20Mock\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/Mocks/ERC20Mock.sol\":{\"keccak256\":\"0x150ed63ab607e62bd28a2b8627bd88579987a5efd1aa2fb1c6f77129a9aafc21\",\"urls\":[\"bzz-raw://cac75fe79a19953326129e67f144d71dfebfd58c10c2a22b38f1d22561db4e7f\",\"dweb:/ipfs/QmUU1ZzThC19DkY7jDc37jJ7DqNVp3oDeMdzTK7ExfmKug\"]},\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]},\"@openzeppelin/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzz-raw://00a788c4631466c220b385bdd100c571d24b2deccd657615cfbcef6cadf669a4\",\"dweb:/ipfs/QmTEwDbjJNxmMNCDMqtuou3dyM8Wtp8Q9NFvn7SAVM7Jf3\"]},\"@openzeppelin/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0xbe8eef6f2cb4e427f5c5d8a76865ccd06e55a4f1d6671ba312d45bfa705aedbf\",\"urls\":[\"bzz-raw://badf338a5e22c8658c01fe2ce89b487d9dbf6d2d9d5eb49df7415383e2498765\",\"dweb:/ipfs/QmP5aMkvFwMJyuQjKE8ADh5tkWYqonb4KjgkAjgYEVVFAv\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xb15af804e2bc97db51e4e103f13de9fe13f87e6b835d7a88c897966c0e58506e\",\"urls\":[\"bzz-raw://1e8cff8437557fc915a3bed968fcd8f2df9809599e665ef69c2c9ce628548055\",\"dweb:/ipfs/QmP5spYP8vs2jvLF8zNrXUbqB79hMsoEvMHiLcBxerWKcm\"]},\"@openzeppelin/contracts/token/ERC20/ERC20Detailed.sol\":{\"keccak256\":\"0x4a3a810b7ebe742e897e1fd428b3eeed2196d3acea58eaf9c566ed10d545d2ed\",\"urls\":[\"bzz-raw://28d03f328e19e4099d5013de0649afaeaabac1a614e130767ab1cb4aca9775b6\",\"dweb:/ipfs/Qmb9iW7yNuYehB2NfhRMs9TakqbLVQhBhmGMkaDZ5g1Eb4\"]},\"@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol\":{\"keccak256\":\"0xa2b957cf89692c504962afb7506999155f83385373f808243246cd5879de5940\",\"urls\":[\"bzz-raw://c44ae0ad1bce141c33b962f8b4e9228bdf8df36c8ac363b4f0bf9498b8bfc32a\",\"dweb:/ipfs/QmcSBRdFwVvy2wFZrBwo5cvqNP4UHh9Eyzf8jnxBgnPqfe\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b5060408051808201825260078152664441494d6f636b60c81b6020808301918252835180850190945260048452634441494d60e01b908401528151919291601291620000619160009190620001ff565b50815162000077906001906020850190620001ff565b506002805460ff191660ff9290921691909117905550620000ac90506200009d620000b2565b6001600160e01b03620000b716565b620002a1565b335b90565b620000d28160066200010960201b62000c551790919060201c565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6200011e82826001600160e01b036200019616565b1562000171576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b038216620001df5760405162461bcd60e51b8152600401808060200182810382526022815260200180620011976022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200024257805160ff191683800117855562000272565b8280016001018555821562000272579182015b828111156200027257825182559160200191906001019062000255565b506200028092915062000284565b5090565b620000b491905b808211156200028057600081556001016200028b565b610ee680620002b16000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d7146102db578063a9059cbb14610307578063aa271e1a14610333578063dd62ed3e14610359576100f5565b806370a082311461027d57806395d89b41146102a3578063983b2d56146102ab57806398650275146102d3576100f5565b806323b872dd116100d357806323b872dd146101d1578063313ce56714610207578063395093511461022557806340c10f1914610251576100f5565b806306fdde03146100fa578063095ea7b31461017757806318160ddd146101b7575b600080fd5b610102610387565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a36004803603604081101561018d57600080fd5b506001600160a01b03813516906020013561041d565b604080519115158252519081900360200190f35b6101bf61043a565b60408051918252519081900360200190f35b6101a3600480360360608110156101e757600080fd5b506001600160a01b03813581169160208101359091169060400135610440565b61020f6104cd565b6040805160ff9092168252519081900360200190f35b6101a36004803603604081101561023b57600080fd5b506001600160a01b0381351690602001356104d6565b6101a36004803603604081101561026757600080fd5b506001600160a01b03813516906020013561052a565b6101bf6004803603602081101561029357600080fd5b50356001600160a01b0316610581565b61010261059c565b6102d1600480360360208110156102c157600080fd5b50356001600160a01b03166105fc565b005b6102d161064e565b6101a3600480360360408110156102f157600080fd5b506001600160a01b038135169060200135610660565b6101a36004803603604081101561031d57600080fd5b506001600160a01b0381351690602001356106ce565b6101a36004803603602081101561034957600080fd5b50356001600160a01b03166106e2565b6101bf6004803603604081101561036f57600080fd5b506001600160a01b03813581169160200135166106fb565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104135780601f106103e857610100808354040283529160200191610413565b820191906000526020600020905b8154815290600101906020018083116103f657829003601f168201915b5050505050905090565b600061043161042a610726565b848461072a565b50600192915050565b60055490565b600061044d848484610816565b6104c384610459610726565b6104be85604051806060016040528060288152602001610dfa602891396001600160a01b038a16600090815260046020526040812090610497610726565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61097416565b61072a565b5060019392505050565b60025460ff1690565b60006104316104e3610726565b846104be85600460006104f4610726565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610a0b16565b600061053c610537610726565b6106e2565b6105775760405162461bcd60e51b8152600401808060200182810382526030815260200180610da96030913960400191505060405180910390fd5b6104318383610a6c565b6001600160a01b031660009081526003602052604090205490565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104135780601f106103e857610100808354040283529160200191610413565b610607610537610726565b6106425760405162461bcd60e51b8152600401808060200182810382526030815260200180610da96030913960400191505060405180910390fd5b61064b81610b5e565b50565b61065e610659610726565b610ba6565b565b600061043161066d610726565b846104be85604051806060016040528060258152602001610e8d6025913960046000610697610726565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61097416565b60006104316106db610726565b8484610816565b60006106f560068363ffffffff610bee16565b92915050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661076f5760405162461bcd60e51b8152600401808060200182810382526024815260200180610e696024913960400191505060405180910390fd5b6001600160a01b0382166107b45760405162461bcd60e51b8152600401808060200182810382526022815260200180610d616022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661085b5760405162461bcd60e51b8152600401808060200182810382526025815260200180610e446025913960400191505060405180910390fd5b6001600160a01b0382166108a05760405162461bcd60e51b8152600401808060200182810382526023815260200180610d3e6023913960400191505060405180910390fd5b6108e381604051806060016040528060268152602001610d83602691396001600160a01b038616600090815260036020526040902054919063ffffffff61097416565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610918908263ffffffff610a0b16565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610a035760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109c85781810151838201526020016109b0565b50505050905090810190601f1680156109f55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610a65576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610ac7576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600554610ada908263ffffffff610a0b16565b6005556001600160a01b038216600090815260036020526040902054610b06908263ffffffff610a0b16565b6001600160a01b03831660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b610b6f60068263ffffffff610c5516565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b610bb760068263ffffffff610cd616565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b038216610c355760405162461bcd60e51b8152600401808060200182810382526022815260200180610e226022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b610c5f8282610bee565b15610cb1576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b610ce08282610bee565b610d1b5760405162461bcd60e51b8152600401808060200182810382526021815260200180610dd96021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff1916905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158203be217dda4e93cbb6f991097df6f3a6d0b0f4a5564b52f87853d7bf32ece9e7764736f6c63430005110032526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d7146102db578063a9059cbb14610307578063aa271e1a14610333578063dd62ed3e14610359576100f5565b806370a082311461027d57806395d89b41146102a3578063983b2d56146102ab57806398650275146102d3576100f5565b806323b872dd116100d357806323b872dd146101d1578063313ce56714610207578063395093511461022557806340c10f1914610251576100f5565b806306fdde03146100fa578063095ea7b31461017757806318160ddd146101b7575b600080fd5b610102610387565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a36004803603604081101561018d57600080fd5b506001600160a01b03813516906020013561041d565b604080519115158252519081900360200190f35b6101bf61043a565b60408051918252519081900360200190f35b6101a3600480360360608110156101e757600080fd5b506001600160a01b03813581169160208101359091169060400135610440565b61020f6104cd565b6040805160ff9092168252519081900360200190f35b6101a36004803603604081101561023b57600080fd5b506001600160a01b0381351690602001356104d6565b6101a36004803603604081101561026757600080fd5b506001600160a01b03813516906020013561052a565b6101bf6004803603602081101561029357600080fd5b50356001600160a01b0316610581565b61010261059c565b6102d1600480360360208110156102c157600080fd5b50356001600160a01b03166105fc565b005b6102d161064e565b6101a3600480360360408110156102f157600080fd5b506001600160a01b038135169060200135610660565b6101a36004803603604081101561031d57600080fd5b506001600160a01b0381351690602001356106ce565b6101a36004803603602081101561034957600080fd5b50356001600160a01b03166106e2565b6101bf6004803603604081101561036f57600080fd5b506001600160a01b03813581169160200135166106fb565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104135780601f106103e857610100808354040283529160200191610413565b820191906000526020600020905b8154815290600101906020018083116103f657829003601f168201915b5050505050905090565b600061043161042a610726565b848461072a565b50600192915050565b60055490565b600061044d848484610816565b6104c384610459610726565b6104be85604051806060016040528060288152602001610dfa602891396001600160a01b038a16600090815260046020526040812090610497610726565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61097416565b61072a565b5060019392505050565b60025460ff1690565b60006104316104e3610726565b846104be85600460006104f4610726565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610a0b16565b600061053c610537610726565b6106e2565b6105775760405162461bcd60e51b8152600401808060200182810382526030815260200180610da96030913960400191505060405180910390fd5b6104318383610a6c565b6001600160a01b031660009081526003602052604090205490565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104135780601f106103e857610100808354040283529160200191610413565b610607610537610726565b6106425760405162461bcd60e51b8152600401808060200182810382526030815260200180610da96030913960400191505060405180910390fd5b61064b81610b5e565b50565b61065e610659610726565b610ba6565b565b600061043161066d610726565b846104be85604051806060016040528060258152602001610e8d6025913960046000610697610726565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61097416565b60006104316106db610726565b8484610816565b60006106f560068363ffffffff610bee16565b92915050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661076f5760405162461bcd60e51b8152600401808060200182810382526024815260200180610e696024913960400191505060405180910390fd5b6001600160a01b0382166107b45760405162461bcd60e51b8152600401808060200182810382526022815260200180610d616022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661085b5760405162461bcd60e51b8152600401808060200182810382526025815260200180610e446025913960400191505060405180910390fd5b6001600160a01b0382166108a05760405162461bcd60e51b8152600401808060200182810382526023815260200180610d3e6023913960400191505060405180910390fd5b6108e381604051806060016040528060268152602001610d83602691396001600160a01b038616600090815260036020526040902054919063ffffffff61097416565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610918908263ffffffff610a0b16565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610a035760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109c85781810151838201526020016109b0565b50505050905090810190601f1680156109f55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610a65576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610ac7576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600554610ada908263ffffffff610a0b16565b6005556001600160a01b038216600090815260036020526040902054610b06908263ffffffff610a0b16565b6001600160a01b03831660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b610b6f60068263ffffffff610c5516565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b610bb760068263ffffffff610cd616565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b60006001600160a01b038216610c355760405162461bcd60e51b8152600401808060200182810382526022815260200180610e226022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b610c5f8282610bee565b15610cb1576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b610ce08282610bee565b610d1b5760405162461bcd60e51b8152600401808060200182810382526021815260200180610dd96021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff1916905556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158203be217dda4e93cbb6f991097df6f3a6d0b0f4a5564b52f87853d7bf32ece9e7764736f6c63430005110032", "sourceMap": "210:120:5:-;;;265:63;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;416:163:15;;;;;;;;;;;-1:-1:-1;;;416:163:15;;;;;;;;;;;;;;;;;;-1:-1:-1;;;416:163:15;;;;504:12;;416:163;;;312:2:5;;504:12:15;;-1:-1:-1;;416:163:15;504:12;:::i;:::-;-1:-1:-1;526:16:15;;;;:7;;:16;;;;;:::i;:::-;-1:-1:-1;552:9:15;:20;;-1:-1:-1;;552:20:15;;;;;;;;;;;;-1:-1:-1;318:24:12;;-1:-1:-1;329:12:12;:10;:12::i;:::-;-1:-1:-1;;;;;318:10:12;:24;:::i;:::-;210:120:5;;788:96:10;867:10;788:96;;:::o;786:119:12:-;842:21;855:7;842:8;:12;;;;;;:21;;;;:::i;:::-;878:20;;-1:-1:-1;;;;;878:20:12;;;;;;;;786:119;:::o;260:175:11:-;337:18;341:4;347:7;-1:-1:-1;;;;;337:3:11;:18;:::i;:::-;336:19;328:63;;;;;-1:-1:-1;;;328:63:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;401:20:11;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;401:27:11;424:4;401:27;;;260:175::o;779:200::-;851:4;-1:-1:-1;;;;;875:21:11;;867:68;;;;-1:-1:-1;;;867:68:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;952:20:11;:11;:20;;;;;;;;;;;;;;;779:200::o;210:120:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;210:120:5;;;-1:-1:-1;210:120:5;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;", "deployedSourceMap": "210:120:5:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;210:120:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;644:81:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;644:81:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:149:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2500:149:14;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;3107:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3107:300:14;;;;;;;;;;;;;;;;;:::i;1472:81:15:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3802:207:14;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3802:207:14;;;;;;;;:::i;502:140:16:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;502:140:16;;;;;;;;:::i;1706:108:14:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1706:108:14;-1:-1:-1;;;;;1706:108:14;;:::i;838:85:15:-;;;:::i;607:90:12:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;607:90:12;-1:-1:-1;;;;;607:90:12;;:::i;:::-;;703:77;;;:::i;4496:258:14:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4496:258:14;;;;;;;;:::i;2017:155::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2017:155:14;;;;;;;;:::i;494:107:12:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;494:107:12;-1:-1:-1;;;;;494:107:12;;:::i;2230:132:14:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2230:132:14;;;;;;;;;;:::i;644:81:15:-;713:5;706:12;;;;;;;;-1:-1:-1;;706:12:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;681:13;;706:12;;713:5;;706:12;;713:5;706:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;644:81;:::o;2500:149:14:-;2566:4;2582:39;2591:12;:10;:12::i;:::-;2605:7;2614:6;2582:8;:39::i;:::-;-1:-1:-1;2638:4:14;2500:149;;;;:::o;1559:89::-;1629:12;;1559:89;:::o;3107:300::-;3196:4;3212:36;3222:6;3230:9;3241:6;3212:9;:36::i;:::-;3258:121;3267:6;3275:12;:10;:12::i;:::-;3289:89;3327:6;3289:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3289:19:14;;;;;;:11;:19;;;;;;3309:12;:10;:12::i;:::-;-1:-1:-1;;;;;3289:33:14;;;;;;;;;;;;-1:-1:-1;3289:33:14;;;:89;;:37;:89;:::i;:::-;3258:8;:121::i;:::-;-1:-1:-1;3396:4:14;3107:300;;;;;:::o;1472:81:15:-;1537:9;;;;1472:81;:::o;3802:207:14:-;3882:4;3898:83;3907:12;:10;:12::i;:::-;3921:7;3930:50;3969:10;3930:11;:25;3942:12;:10;:12::i;:::-;-1:-1:-1;;;;;3930:25:14;;;;;;;;;;;;;;;;;-1:-1:-1;3930:25:14;;;:34;;;;;;;;;;;:50;:38;:50;:::i;502:140:16:-;576:4;395:22:12;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;-1:-1:-1;;;387:83:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;592:22:16;598:7;607:6;592:5;:22::i;1706:108:14:-;-1:-1:-1;;;;;1789:18:14;1763:7;1789:18;;;:9;:18;;;;;;;1706:108::o;838:85:15:-;909:7;902:14;;;;;;;;-1:-1:-1;;902:14:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;877:13;;902:14;;909:7;;902:14;;909:7;902:14;;;;;;;;;;;;;;;;;;;;;;;;607:90:12;395:22;404:12;:10;:12::i;395:22::-;387:83;;;;-1:-1:-1;;;387:83:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;671:19;682:7;671:10;:19::i;:::-;607:90;:::o;703:77::-;746:27;760:12;:10;:12::i;:::-;746:13;:27::i;:::-;703:77::o;4496:258:14:-;4581:4;4597:129;4606:12;:10;:12::i;:::-;4620:7;4629:96;4668:15;4629:96;;;;;;;;;;;;;;;;;:11;:25;4641:12;:10;:12::i;:::-;-1:-1:-1;;;;;4629:25:14;;;;;;;;;;;;;;;;;-1:-1:-1;4629:25:14;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;494:107:12:-;550:4;573:21;:8;586:7;573:21;:12;:21;:::i;:::-;566:28;494:107;-1:-1:-1;;494:107:12:o;2230:132:14:-;-1:-1:-1;;;;;2328:18:14;;;2302:7;2328:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2230:132::o;788:96:10:-;867:10;788:96;:::o;7350:332:14:-;-1:-1:-1;;;;;7443:19:14;;7435:68;;;;-1:-1:-1;;;7435:68:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7521:21:14;;7513:68;;;;-1:-1:-1;;;7513:68:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7592:18:14;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7643:32;;;;;;;;;;;;;;;;;7350:332;;;:::o;5228:464::-;-1:-1:-1;;;;;5325:20:14;;5317:70;;;;-1:-1:-1;;;5317:70:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5405:23:14;;5397:71;;;;-1:-1:-1;;;5397:71:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499;5521:6;5499:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5499:17:14;;;;;;:9;:17;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;5479:17:14;;;;;;;:9;:17;;;;;;:91;;;;5603:20;;;;;;;:32;;5628:6;5603:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;5580:20:14;;;;;;;:9;:20;;;;;;;;;:55;;;;5650:35;;;;;;;5580:20;;5650:35;;;;;;;;;;;;;5228:464;;;:::o;1732:187:13:-;1818:7;1853:12;1845:6;;;;1837:29;;;;-1:-1:-1;;;1837:29:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1837:29:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1888:5:13;;;1732:187::o;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;938:46:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;834:176;-1:-1:-1;;;834:176:13:o;5962:302:14:-;-1:-1:-1;;;;;6037:21:14;;6029:65;;;;;-1:-1:-1;;;6029:65:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;6120:12;;:24;;6137:6;6120:24;:16;:24;:::i;:::-;6105:12;:39;-1:-1:-1;;;;;6175:18:14;;;;;;:9;:18;;;;;;:30;;6198:6;6175:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;6154:18:14;;;;;;:9;:18;;;;;;;;:51;;;;6220:37;;;;;;;6154:18;;;;6220:37;;;;;;;;;;5962:302;;:::o;786:119:12:-;842:21;:8;855:7;842:21;:12;:21;:::i;:::-;878:20;;-1:-1:-1;;;;;878:20:12;;;;;;;;786:119;:::o;911:127::-;970:24;:8;986:7;970:24;:15;:24;:::i;:::-;1009:22;;-1:-1:-1;;;;;1009:22:12;;;;;;;;911:127;:::o;779:200:11:-;851:4;-1:-1:-1;;;;;875:21:11;;867:68;;;;-1:-1:-1;;;867:68:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;952:20:11;:11;:20;;;;;;;;;;;;;;;779:200::o;260:175::-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;-1:-1:-1;;;328:63:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;401:20:11;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;401:27:11;424:4;401:27;;;260:175::o;510:180::-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;-1:-1:-1;;;581:64:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;655:20:11;678:5;655:20;;;;;;;;;;;:28;;-1:-1:-1;;655:28:11;;;510:180::o", "source": "pragma solidity ^0.5.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/ERC20Detailed.sol\";\n\ncontract ERC20Mock is ERC20Detailed, ERC20Mintable {\n constructor() ERC20Detailed(\"DAIMock\", \"DAIM\", 18) public {\n }\n}\n", - "sourcePath": "/Users/brianli/dotfiles/tornado-core/contracts/Mocks/ERC20Mock.sol", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/Mocks/ERC20Mock.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Mocks/ERC20Mock.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Mocks/ERC20Mock.sol", "exportedSymbols": { "ERC20Mock": [ - 782 + 773 ] }, - "id": 783, + "id": 774, "nodeType": "SourceUnit", "nodes": [ { - "id": 765, + "id": 756, "literals": [ "solidity", "^", @@ -428,10 +428,10 @@ { "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 766, + "id": 757, "nodeType": "ImportDirective", - "scope": 783, - "sourceUnit": 3061, + "scope": 774, + "sourceUnit": 3071, "src": "25:55:5", "symbolAliases": [], "unitAlias": "" @@ -439,10 +439,10 @@ { "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", "file": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", - "id": 767, + "id": 758, "nodeType": "ImportDirective", - "scope": 783, - "sourceUnit": 3147, + "scope": 774, + "sourceUnit": 3157, "src": "81:63:5", "symbolAliases": [], "unitAlias": "" @@ -450,10 +450,10 @@ { "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20Detailed.sol", "file": "@openzeppelin/contracts/token/ERC20/ERC20Detailed.sol", - "id": 768, + "id": 759, "nodeType": "ImportDirective", - "scope": 783, - "sourceUnit": 3119, + "scope": 774, + "sourceUnit": 3129, "src": "145:63:5", "symbolAliases": [], "unitAlias": "" @@ -464,17 +464,17 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 769, + "id": 760, "name": "ERC20Detailed", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3118, + "referencedDeclaration": 3128, "src": "232:13:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Detailed_$3118", + "typeIdentifier": "t_contract$_ERC20Detailed_$3128", "typeString": "contract ERC20Detailed" } }, - "id": 770, + "id": 761, "nodeType": "InheritanceSpecifier", "src": "232:13:5" }, @@ -482,54 +482,54 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 771, + "id": 762, "name": "ERC20Mintable", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3146, + "referencedDeclaration": 3156, "src": "247:13:5", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Mintable_$3146", + "typeIdentifier": "t_contract$_ERC20Mintable_$3156", "typeString": "contract ERC20Mintable" } }, - "id": 772, + "id": 763, "nodeType": "InheritanceSpecifier", "src": "247:13:5" } ], "contractDependencies": [ - 2280, - 2468, - 3060, - 3118, - 3146, - 3215 + 2290, + 2478, + 3070, + 3128, + 3156, + 3225 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 782, + "id": 773, "linearizedBaseContracts": [ - 782, - 3146, - 2468, - 3060, - 3118, - 3215, - 2280 + 773, + 3156, + 2478, + 3070, + 3128, + 3225, + 2290 ], "name": "ERC20Mock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 780, + "id": 771, "nodeType": "Block", "src": "323:5:5", "statements": [] }, "documentation": null, - "id": 781, + "id": 772, "implemented": true, "kind": "constructor", "modifiers": [ @@ -538,7 +538,7 @@ { "argumentTypes": null, "hexValue": "4441494d6f636b", - "id": 775, + "id": 766, "isConstant": false, "isLValue": false, "isPure": true, @@ -556,7 +556,7 @@ { "argumentTypes": null, "hexValue": "4441494d", - "id": 776, + "id": 767, "isConstant": false, "isLValue": false, "isPure": true, @@ -574,7 +574,7 @@ { "argumentTypes": null, "hexValue": "3138", - "id": 777, + "id": 768, "isConstant": false, "isLValue": false, "isPure": true, @@ -590,17 +590,17 @@ "value": "18" } ], - "id": 778, + "id": 769, "modifierName": { "argumentTypes": null, - "id": 774, + "id": 765, "name": "ERC20Detailed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3118, + "referencedDeclaration": 3128, "src": "279:13:5", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20Detailed_$3118_$", + "typeIdentifier": "t_type$_t_contract$_ERC20Detailed_$3128_$", "typeString": "type(contract ERC20Detailed)" } }, @@ -611,25 +611,25 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 773, + "id": 764, "nodeType": "ParameterList", "parameters": [], "src": "276:2:5" }, "returnParameters": { - "id": 779, + "id": 770, "nodeType": "ParameterList", "parameters": [], "src": "323:0:5" }, - "scope": 782, + "scope": 773, "src": "265:63:5", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 783, + "scope": 774, "src": "210:120:5" } ], @@ -637,10 +637,10 @@ }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Mocks/ERC20Mock.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Mocks/ERC20Mock.sol", "exportedSymbols": { "ERC20Mock": [ - 782 + 773 ] } }, @@ -654,79 +654,79 @@ ".0" ] }, - "id": 765, + "id": 756, "name": "PragmaDirective", "src": "0:23:5" }, { "attributes": { - "SourceUnit": 3061, + "SourceUnit": 3071, "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "scope": 783, + "scope": 774, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 766, + "id": 757, "name": "ImportDirective", "src": "25:55:5" }, { "attributes": { - "SourceUnit": 3147, + "SourceUnit": 3157, "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", "file": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", - "scope": 783, + "scope": 774, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 767, + "id": 758, "name": "ImportDirective", "src": "81:63:5" }, { "attributes": { - "SourceUnit": 3119, + "SourceUnit": 3129, "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20Detailed.sol", "file": "@openzeppelin/contracts/token/ERC20/ERC20Detailed.sol", - "scope": 783, + "scope": 774, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 768, + "id": 759, "name": "ImportDirective", "src": "145:63:5" }, { "attributes": { "contractDependencies": [ - 2280, - 2468, - 3060, - 3118, - 3146, - 3215 + 2290, + 2478, + 3070, + 3128, + 3156, + 3225 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ - 782, - 3146, - 2468, - 3060, - 3118, - 3215, - 2280 + 773, + 3156, + 2478, + 3070, + 3128, + 3225, + 2290 ], "name": "ERC20Mock", - "scope": 783 + "scope": 774 }, "children": [ { @@ -738,15 +738,15 @@ "attributes": { "contractScope": null, "name": "ERC20Detailed", - "referencedDeclaration": 3118, + "referencedDeclaration": 3128, "type": "contract ERC20Detailed" }, - "id": 769, + "id": 760, "name": "UserDefinedTypeName", "src": "232:13:5" } ], - "id": 770, + "id": 761, "name": "InheritanceSpecifier", "src": "232:13:5" }, @@ -759,15 +759,15 @@ "attributes": { "contractScope": null, "name": "ERC20Mintable", - "referencedDeclaration": 3146, + "referencedDeclaration": 3156, "type": "contract ERC20Mintable" }, - "id": 771, + "id": 762, "name": "UserDefinedTypeName", "src": "247:13:5" } ], - "id": 772, + "id": 763, "name": "InheritanceSpecifier", "src": "247:13:5" }, @@ -778,7 +778,7 @@ "isConstructor": true, "kind": "constructor", "name": "", - "scope": 782, + "scope": 773, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -791,7 +791,7 @@ ] }, "children": [], - "id": 773, + "id": 764, "name": "ParameterList", "src": "276:2:5" }, @@ -802,7 +802,7 @@ ] }, "children": [], - "id": 779, + "id": 770, "name": "ParameterList", "src": "323:0:5" }, @@ -814,11 +814,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3118, + "referencedDeclaration": 3128, "type": "type(contract ERC20Detailed)", "value": "ERC20Detailed" }, - "id": 774, + "id": 765, "name": "Identifier", "src": "279:13:5" }, @@ -835,7 +835,7 @@ "type": "literal_string \"DAIMock\"", "value": "DAIMock" }, - "id": 775, + "id": 766, "name": "Literal", "src": "293:9:5" }, @@ -852,7 +852,7 @@ "type": "literal_string \"DAIM\"", "value": "DAIM" }, - "id": 776, + "id": 767, "name": "Literal", "src": "304:6:5" }, @@ -869,12 +869,12 @@ "type": "int_const 18", "value": "18" }, - "id": 777, + "id": 768, "name": "Literal", "src": "312:2:5" } ], - "id": 778, + "id": 769, "name": "ModifierInvocation", "src": "279:36:5" }, @@ -885,22 +885,22 @@ ] }, "children": [], - "id": 780, + "id": 771, "name": "Block", "src": "323:5:5" } ], - "id": 781, + "id": 772, "name": "FunctionDefinition", "src": "265:63:5" } ], - "id": 782, + "id": 773, "name": "ContractDefinition", "src": "210:120:5" } ], - "id": 783, + "id": 774, "name": "SourceUnit", "src": "0:331:5" }, @@ -917,7 +917,7 @@ } }, "schemaVersion": "3.3.4", - "updatedAt": "2021-04-02T22:56:11.659Z", + "updatedAt": "2021-04-04T21:13:13.403Z", "networkType": "ethereum", "devdoc": { "methods": { diff --git a/client/contracts/ERC20Tornado.json b/client/contracts/ERC20Tornado.json index 6696fd1..c999e22 100644 --- a/client/contracts/ERC20Tornado.json +++ b/client/contracts/ERC20Tornado.json @@ -574,15 +574,15 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"contract IFeeManager\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_denomination\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_merkleTreeHeight\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commitment\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"leafIndex\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifierHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"FIELD_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ROOT_HISTORY_SIZE\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ZERO_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOperator\",\"type\":\"address\"}],\"name\":\"changeOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"commitments\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentRootIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"denomination\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_commitment\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeManager\",\"outputs\":[{\"internalType\":\"contract IFeeManager\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"filledSubtrees\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_right\",\"type\":\"bytes32\"}],\"name\":\"hashLeftRight\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"isKnownRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"}],\"name\":\"isSpent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_nullifierHashes\",\"type\":\"bytes32[]\"}],\"name\":\"isSpentArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"spent\",\"type\":\"bool[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"levels\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nullifierHashes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"protocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roots\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newVerifier\",\"type\":\"address\"}],\"name\":\"updateVerifier\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"verifier\",\"outputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"},{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_refund\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"zeros\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"changeOperator(address)\":{\"details\":\"operator can change his address \"},\"deposit(bytes32)\":{\"details\":\"Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\",\"params\":{\"_commitment\":\"the note commitment, which is PedersenHash(nullifier + secret)\"}},\"getLastRoot()\":{\"details\":\"Returns the last root\"},\"hashLeftRight(bytes32,bytes32)\":{\"details\":\"Hash 2 tree leaves, returns MiMC(_left, _right)\"},\"isKnownRoot(bytes32)\":{\"details\":\"Whether the root is present in the root history\"},\"isSpent(bytes32)\":{\"details\":\"whether a note is already spent \"},\"isSpentArray(bytes32[])\":{\"details\":\"whether an array of notes is already spent \"},\"updateVerifier(address)\":{\"details\":\"allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held. After that operator rights are supposed to be transferred to zero address\"},\"withdraw(bytes,bytes32,bytes32,address,address,uint256,uint256)\":{\"details\":\"Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs `input` array consists of: - merkle root of all deposits in the contract - hash of unique deposit nullifier to prevent double spends - the recipient of funds - optional fee that goes to the transaction sender (usually a relay)\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":\"ERC20Tornado\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":{\"keccak256\":\"0x5c57c88351063f1864166162f6f32be5aebae197a18abaef8d08d67b36440a51\",\"urls\":[\"bzz-raw://6da2d6faa828b1cad43428366d273e4aa61fc176d6541fb641028985497caa0f\",\"dweb:/ipfs/QmULz388t88hr999vUk5PidTTJwbEWGUyb3d6QGnDA6qoV\"]},\"/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol\":{\"keccak256\":\"0xe7db8acb3efcecf95c7364f447ed1764c571dbf5090fd4641fe4668a965332eb\",\"urls\":[\"bzz-raw://45e790c247c38ed8ae473e3165c1148ea10a753cf6e9f9c8742394019be2aef6\",\"dweb:/ipfs/QmaGfk1ndvqur2NvCY3TWoKuorfBVShXeykKei18GDY582\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}", - "bytecode": "0x6080604052600380546001600160401b03191690553480156200002157600080fd5b5060405162001e5838038062001e58833981810160405260c08110156200004757600080fd5b508051602082015160408301516060840151608085015160a090950151939492939192909185858585858163ffffffff8116620000b65760405162461bcd60e51b815260040180806020018281038252602781526020018062001dcf6027913960400191505060405180910390fd5b60208163ffffffff1610620000fd5760405162461bcd60e51b815260040180806020018281038252602281526020018062001e166022913960400191505060405180910390fd5b6000805463ffffffff191663ffffffff83161781556002805460018181019092557f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60008051602062001d8e833981519152909101819055815480830183559282905260008051602062001e388339815191529092018290555b60005463ffffffff9081169082161015620001eb57620001a182806001600160e01b03620002ba16565b60028054600181810190925560008051602062001d8e8339815191520182905580548082018255600082905260008051602062001e38833981519152018290559092500162000177565b506200020181806001600160e01b03620002ba16565b60046000015550506068805460ff1916600117905582620002545760405162461bcd60e51b815260040180806020018281038252602581526020018062001d696025913960400191505060405180910390fd5b606c80546001600160a01b03199081166001600160a01b0397881617909155606d8054821695871695909517909455606e8054851691861691909117905550606955606f805490911691831691909117905560c8840460705550620004a7945050505050565b600060008051602062001df6833981519152831062000320576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602062001df683398151915282106200036f5760405162461bcd60e51b815260040180806020018281038252602181526020018062001dae6021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015620003ca57600080fd5b505af4158015620003df573d6000803e3d6000fd5b505050506040513d6040811015620003f657600080fd5b508051602090910151909250905060008051602062001df6833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b1580156200047057600080fd5b505af415801562000485573d6000803e3d6000fd5b505050506040513d60408110156200049c57600080fd5b505195945050505050565b6118b280620004b76000396000f3fe6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a72315820c90af910ddfda5b33dab20c369a888b349922f695f9eee0e2eb3e0273adc895364736f6c6343000511003264656e6f6d696e6174696f6e2073686f756c642062652067726561746572207468616e2030405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5f72696768742073686f756c6420626520696e7369646520746865206669656c645f747265654c6576656c732073686f756c642062652067726561746572207468616e207a65726f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000015f747265654c6576656c732073686f756c64206265206c657373207468616e203332b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6", - "deployedBytecode": "0x6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a72315820c90af910ddfda5b33dab20c369a888b349922f695f9eee0e2eb3e0273adc895364736f6c63430005110032", - "sourceMap": "805:2570:0:-;;;1430:34:1;;;-1:-1:-1;;;;;;1468:27:1;;;897:334:0;5:2:-1;;;;30:1;27;20:12;5:2;897:334:0;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;897:334:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1646:15:1;;;1638:67;;;;-1:-1:-1;;;1638:67:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:2;1719:11;:16;;;1711:63;;;;-1:-1:-1;;;1711:63:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:6;:20;;-1:-1:-1;;1780:20:1;;;;;;;1854:5;27:10:-1;;-1:-1;23:18;;;45:23;;;1088:77:1;-1:-1:-1;;;;;;;;;;;1854:23:1;;;;;;27:10:-1;;23:18;;;45:23;;1883:32:1;;;;-1:-1:-1;;;;;;;;;;;1883:32:1;;;;;;1922:175;1945:6;;;;;;1941:10;;;;1922:175;;;1980:39;1994:11;;-1:-1:-1;;;;;1980:13:1;:39;:::i;:::-;2027:5;27:10:-1;;39:1;23:18;;;45:23;;;-1:-1;;;;;;;;;;;2027:23:1;;;;27:10:-1;;23:18;;;45:23;;-1:-1;2058:32:1;;;-1:-1:-1;;;;;;;;;;;2058:32:1;;;;1966:53;;-1:-1:-1;1953:3:1;1922:175;;;-1:-1:-1;2114:39:1;2128:11;;-1:-1:-1;;;;;2114:13:1;:39;:::i;:::-;2103:5;2109:1;2103:8;:50;-1:-1:-1;;1421:11:3;:18;;-1:-1:-1;;1421:18:3;1435:4;1421:18;;;1645:17:2;1637:67;;;;-1:-1:-1;;;1637:67:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1710:8;:20;;-1:-1:-1;;;;;;1710:20:2;;;-1:-1:-1;;;;;1710:20:2;;;;;;;1736:10;:24;;;;;;;;;;;;;;1766:8;:20;;;;;;;;;;;;;-1:-1:-1;1792:12:2;:28;1157:5:0;:14;;;;;;;;;;;;;;1223:3;1207:13;:19;1193:11;:33;-1:-1:-1;805:2570:0;;-1:-1:-1;;;;;805:2570:0;2230:445:1;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:1;;2320:72;;;;;-1:-1:-1;;;2320:72:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:1;;2398:74;;;;-1:-1:-1;;;2398:74:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:1;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:1;;;;;;;;;-1:-1:-1;2538:23:1;-1:-1:-1;;;;;;;;;;;;2589:6:1;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:1;;2230:445;-1:-1:-1;;;;;2230:445:1:o;805:2570:0:-;;;;;;;", - "deployedSourceMap": "805:2570:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4814:102:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4814:102:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4814:102:2;-1:-1:-1;;;;;4814:102:2;;:::i;:::-;;412:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;412:47:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;412:47:2;;:::i;:::-;;;;;;;;;;;;;;;;;;2893:801;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2893:801:2;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2893:801:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2893:801:2;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2893:801:2;;-1:-1:-1;2893:801:2;-1:-1:-1;2893:801:2;;;;;;;;-1:-1:-1;;;;;2893:801:2;;;;;;;;;;;;;;;;;;;;;;;;:::i;601:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;601:25:2;;;:::i;:::-;;;;-1:-1:-1;;;;;601:25:2;;;;;;;;;;;;;;2230:445:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2230:445:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2230:445:1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;933:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:114:1;;;:::i;1209:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1209:20:1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;819:23:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;819:23:2;;;:::i;3553:342:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3553:342:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3553:342:1;;:::i;554:43:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;554:43:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;554:43:2;;:::i;381:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;381:27:2;;;:::i;1430:34:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1430:34:1;;;:::i;4651:113:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4651:113:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4651:113:2;-1:-1:-1;;;;;4651:113:2;;:::i;4128:293::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4128:293:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4128:293:2;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4128:293:2;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4128:293:2;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;4128:293:2;;-1:-1:-1;4128:293:2;-1:-1:-1;4128:293:2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4128:293:2;;;;;;;;;;;;;;;;;866:26:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;866:26:0;;;:::i;2073:324:2:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2073:324:2;;:::i;3941:93:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3941:93:1;;;:::i;1549:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1549:39:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1549:39:1;;:::i;1499:46::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1499:46:1;;;:::i;630:29:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;630:29:2;;;:::i;3951:116::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3951:116:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3951:116:2;;:::i;1404:22:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1404:22:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1404:22:1;;:::i;1051:114::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1051:114:1;;;:::i;1369:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1369:31:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1369:31:1;;:::i;842:20:0:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;842:20:0;;;:::i;1468:27:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1468:27:1;;;:::i;4814:102:2:-;896:8;;-1:-1:-1;;;;;896:8:2;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4888:8;:23;;-1:-1:-1;;;;;;4888:23:2;-1:-1:-1;;;;;4888:23:2;;;;;;;;;;4814:102::o;412:47::-;;;;;;;;;;;;;;;:::o;2893:801::-;1934:11:3;;;;1926:55;;;;;-1:-1:-1;;;1926:55:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:3;;;3110:12:2;;3102:20;;;3094:59;;;;;-1:-1:-1;;;3094:59:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;3168:31;;;;:15;:31;;;;;;;;3167:32;3159:76;;;;;-1:-1:-1;;;3159:76:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;3249:18;3261:5;3249:11;:18::i;:::-;3241:59;;;;;-1:-1:-1;;;3241:59:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;3347:8;;:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3418:19:2;;;3347:126;;;;3439:17;;;3347:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3347:126:2;;:8;;;;;:20;;3368:6;;;;3347:126;;;;;;;;;;;;;;;;:8;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3347:126: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;;3347:126:2;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3347:126:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3347:126:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3347:126:2;3339:161;;;;;-1:-1:-1;;;3339:161:2;;;;;;;;;;;;-1:-1:-1;;;3339:161:2;;;;;;;;;;;;;;;3507:31;;;;:15;:31;;;;;;;;;:38;;-1:-1:-1;;3507:38:2;3541:4;3507:38;;;3605:10;;:18;;-1:-1:-1;;;3605:18:2;;;;3551:73;;3568:10;;3580:8;;3590:4;;3596:7;;-1:-1:-1;;;;;3605:10:2;;;;:16;;:18;;;;;;;;;;;:10;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;3605:18:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3605:18:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3605:18:2;3551:16;:73::i;:::-;3635:54;;;-1:-1:-1;;;;;3635:54:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2230:11:3;:18;;-1:-1:-1;;2230:18:3;2244:4;2230:18;;;-1:-1:-1;;;;;;2893:801:2:o;601:25::-;;;-1:-1:-1;;;;;601:25:2;;:::o;2230:445:1:-;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:1;;2320:72;;;;;-1:-1:-1;;;2320:72:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:1;;2398:74;;;;-1:-1:-1;;;2398:74:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:1;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:1;;;;;;;;;-1:-1:-1;2538:23:1;-1:-1:-1;;;;;;;;;;;;2589:6:1;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:1;;2230:445;-1:-1:-1;;;;;2230:445:1:o;933:114::-;-1:-1:-1;;;;;;;;;;;933:114:1;:::o;1209:20::-;;;;;;:::o;819:23:2:-;;;-1:-1:-1;;;;;819:23:2;;:::o;3553:342:1:-;3609:4;3625:10;3621:43;;-1:-1:-1;3652:5:1;3645:12;;3621:43;3680:16;;;;3702:171;3726:5;3732:1;3726:8;;;;;;;;;;;3717:5;:17;3713:53;;;3753:4;3746:11;;;;;3713:53;3777:6;;;3773:52;;-1:-1:-1;1542:3:1;3773:52;3855:16;;-1:-1:-1;;3832:3:1;;;;3855:16;3850:21;;;3855:16;;3850:21;;3702:171;;3885:5;3878:12;;;3553:342;;;;:::o;554:43:2:-;;;;;;;;;;;;;;;:::o;381:27::-;;;;:::o;1430:34:1:-;;;;;;:::o;4651:113:2:-;896:8;;-1:-1:-1;;;;;896:8:2;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4725:8;:34;;-1:-1:-1;;;;;;4725:34:2;-1:-1:-1;;;;;4725:34:2;;;;;;;;;;4651:113::o;4128:293::-;4244:35;;;;;;;;;;;;;;;;4209:19;;4255:16;4244:35;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;4244:35:2;-1:-1:-1;4236:43:2;-1:-1:-1;4289:6:2;4285:132;4301:27;;;4285:132;;;4347:28;4355:16;;4372:1;4355:19;;;;;;;;;;;;;4347:7;:28::i;:::-;4343:68;;;4398:4;4387:5;4393:1;4387:8;;;;;;;;:15;;;:8;;;;;;;;;;;:15;4343:68;4330:3;;4285:132;;;;4128:293;;;;:::o;866:26:0:-;;;;:::o;2073:324:2:-;1934:11:3;;;;1926:55;;;;;-1:-1:-1;;;1926:55:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:3;;;2070:5;2156:24:2;;;:11;:24;;;;;;2056:19:3;2156:24:2;2155:25;2147:71;;;;-1:-1:-1;;;2147:71:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2225:20;2248;2256:11;2248:7;:20::i;:::-;2274:24;;;;:11;:24;;;;;:31;;-1:-1:-1;;2274:31:2;2301:4;2274:31;;;2225:43;-1:-1:-1;2311:17:2;:15;:17::i;:::-;2340:52;;;;;;;;2376:15;2340:52;;;;;;2348:11;;2340:52;;;;;;;;-1:-1:-1;;2230:11:3;:18;;-1:-1:-1;;2230:18:3;2244:4;2230:18;;;2073:324:2:o;3941:93:1:-;4012:16;;3984:7;;4006:5;;4012:16;;4006:23;;;;;;;;;3999:30;;3941:93;:::o;1549:39::-;;;;;;;;;;;;;-1:-1:-1;1549:39:1;:::o;1499:46::-;1542:3;1499:46;:::o;630:29:2:-;;;-1:-1:-1;;;;;630:29:2;;:::o;3951:116::-;4012:4;4031:31;;;:15;:31;;;;;;;;;3951:116::o;1404:22:1:-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1404:22:1;:::o;1051:114::-;1088:77;1051:114;:::o;1369:31::-;;;;;;;;;;842:20:0;;;-1:-1:-1;;;;;842:20:0;;:::o;1468:27:1:-;;;-1:-1:-1;;;1468:27:1;;;;;:::o;1430:801:0:-;1601:7;1588:9;:20;1580:81;;;;-1:-1:-1;;;1580:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1681:20:0;;;;;;1707:226;;1726:73;1745:10;1787:11;;1772:12;1757;;:27;:41;1726:18;:73::i;:::-;1807:39;1826:6;1834:11;;1807:18;:39::i;:::-;1707:226;;;1867:59;1886:10;1913:12;1898;;:27;1867:18;:59::i;:::-;1943:16;;1939:79;;1969:42;1988:8;1998:12;1969:18;:42::i;:::-;2028:11;;2024:203;;2068:34;;2050:12;;-1:-1:-1;;;;;2068:15:0;;;2090:7;;2050:12;2068:34;2050:12;2068:34;2090:7;2068:15;:34;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2049:53:0;;;2115:7;2110:111;;2186:26;;-1:-1:-1;;;;;2186:17:0;;;:26;;;;;2204:7;;2186:26;;;;2204:7;2186:17;:26;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2186:26:0;2110:111;2024:203;;1430:801;;;;;;:::o;2679:802:1:-;2770:9;;2728:12;2820:6;;2728:12;;2770:9;-1:-1:-1;;;2770:9:1;;;;;;2820:6;;2816:1;2809:17;2793:33;;;;2785:93;;;;-1:-1:-1;;;2785:93:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2884:9;:14;;;-1:-1:-1;;;2884:14:1;;;;;2897:1;2884:14;;;;;-1:-1:-1;;2884:14:1;;;;;;2931:5;-1:-1:-1;;;2980:355:1;3003:6;;;;;;2999:10;;;;2980:355;;;3028:16;;;3024:225;;3068:16;3061:23;;3102:5;3108:1;3102:8;;;;;;;;;;;;;;;;;;3094:16;;3141;3121:14;3136:1;3121:17;;;;;;;;;;;;;;;;;;;:36;3024:225;;;3189:14;3204:1;3189:17;;;;;;;;;;;;;;;;;;3182:24;;3224:16;3216:24;;3024:225;3276:26;3290:4;3296:5;3276:13;:26::i;:::-;3257:45;-1:-1:-1;3327:1:1;3311:17;;;;;-1:-1:-1;3011:3:1;;2980:355;;;-1:-1:-1;3361:16:1;;1542:3;;3360:42;3361:16;;;;:20;3360:42;3341:16;:61;;-1:-1:-1;;3341:61:1;3360:42;;;;3341:61;;;;;;;;;;;;3434:16;;3408:5;;3414:16;3408:23;;;;;;;;:42;-1:-1:-1;;3463:9:1;;-1:-1:-1;;;3463:9:1;;;;-1:-1:-1;;3463:13:1;;2679:802;-1:-1:-1;;;;2679:802:1:o;1235:191:0:-;1285:9;:14;1277:75;;;;-1:-1:-1;;;1277:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1358:63;1381:10;1401:4;1408:12;;1358:22;:63::i;:::-;1235:191::o;2829:544::-;2938:5;;2949:63;;;-1:-1:-1;;;;;2949:63:0;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2949:63:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2938:75:0;;;;2903:12;;2917:17;;2938:5;;;2949:63;2938:75;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2938:75:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2902:111:0;;;;3027:7;3019:37;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;;;;3156:11;;:15;3152:217;;3189:4;:11;3204:2;3189:17;3181:72;;;;-1:-1:-1;;;3181:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3282:4;3271:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3271:24:0;;-1:-1:-1;3271:24:0;3303:59;;;;-1:-1:-1;;;3303:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2829:544;;;;:::o;2235:590::-;2363:5;;2374:74;;;-1:-1:-1;;;;;2374:74:0;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2374:74:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2363:86:0;;;;2328:12;;2342:17;;2363:5;;;2374:74;2363:86;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2363:86:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2327:122:0;;;;2463:7;2455:45;;;;;-1:-1:-1;;;2455:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2600:11;;:15;2596:225;;2633:4;:11;2648:2;2633:17;2625:72;;;;-1:-1:-1;;;2625:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2726:4;2715:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2715:24:0;;-1:-1:-1;2715:24:0;2747:67;;;;-1:-1:-1;;;2747:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2235:590;;;;;:::o", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"contract IFeeManager\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_denomination\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_merkleTreeHeight\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commitment\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"leafIndex\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifierHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"FIELD_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ROOT_HISTORY_SIZE\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ZERO_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOperator\",\"type\":\"address\"}],\"name\":\"changeOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"commitments\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentRootIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"denomination\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_commitment\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeManager\",\"outputs\":[{\"internalType\":\"contract IFeeManager\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"filledSubtrees\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_right\",\"type\":\"bytes32\"}],\"name\":\"hashLeftRight\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"isKnownRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"}],\"name\":\"isSpent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_nullifierHashes\",\"type\":\"bytes32[]\"}],\"name\":\"isSpentArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"spent\",\"type\":\"bool[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"levels\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nullifierHashes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"protocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roots\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newVerifier\",\"type\":\"address\"}],\"name\":\"updateVerifier\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"verifier\",\"outputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"},{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_refund\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"zeros\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"changeOperator(address)\":{\"details\":\"operator can change his address \"},\"deposit(bytes32)\":{\"details\":\"Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\",\"params\":{\"_commitment\":\"the note commitment, which is PedersenHash(nullifier + secret)\"}},\"getLastRoot()\":{\"details\":\"Returns the last root\"},\"hashLeftRight(bytes32,bytes32)\":{\"details\":\"Hash 2 tree leaves, returns MiMC(_left, _right)\"},\"isKnownRoot(bytes32)\":{\"details\":\"Whether the root is present in the root history\"},\"isSpent(bytes32)\":{\"details\":\"whether a note is already spent \"},\"isSpentArray(bytes32[])\":{\"details\":\"whether an array of notes is already spent \"},\"updateVerifier(address)\":{\"details\":\"allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held. After that operator rights are supposed to be transferred to zero address\"},\"withdraw(bytes,bytes32,bytes32,address,address,uint256,uint256)\":{\"details\":\"Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs `input` array consists of: - merkle root of all deposits in the contract - hash of unique deposit nullifier to prevent double spends - the recipient of funds - optional fee that goes to the transaction sender (usually a relay)\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":\"ERC20Tornado\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol\":{\"keccak256\":\"0x5c57c88351063f1864166162f6f32be5aebae197a18abaef8d08d67b36440a51\",\"urls\":[\"bzz-raw://6da2d6faa828b1cad43428366d273e4aa61fc176d6541fb641028985497caa0f\",\"dweb:/ipfs/QmULz388t88hr999vUk5PidTTJwbEWGUyb3d6QGnDA6qoV\"]},\"/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/home/home/dotfiles/tornado-core/contracts/Tornado.sol\":{\"keccak256\":\"0xe7db8acb3efcecf95c7364f447ed1764c571dbf5090fd4641fe4668a965332eb\",\"urls\":[\"bzz-raw://45e790c247c38ed8ae473e3165c1148ea10a753cf6e9f9c8742394019be2aef6\",\"dweb:/ipfs/QmaGfk1ndvqur2NvCY3TWoKuorfBVShXeykKei18GDY582\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}", + "bytecode": "0x6080604052600380546001600160401b03191690553480156200002157600080fd5b5060405162001e5838038062001e58833981810160405260c08110156200004757600080fd5b508051602082015160408301516060840151608085015160a090950151939492939192909185858585858163ffffffff8116620000b65760405162461bcd60e51b815260040180806020018281038252602781526020018062001dcf6027913960400191505060405180910390fd5b60208163ffffffff1610620000fd5760405162461bcd60e51b815260040180806020018281038252602281526020018062001e166022913960400191505060405180910390fd5b6000805463ffffffff191663ffffffff83161781556002805460018181019092557f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60008051602062001d8e833981519152909101819055815480830183559282905260008051602062001e388339815191529092018290555b60005463ffffffff9081169082161015620001eb57620001a182806001600160e01b03620002ba16565b60028054600181810190925560008051602062001d8e8339815191520182905580548082018255600082905260008051602062001e38833981519152018290559092500162000177565b506200020181806001600160e01b03620002ba16565b60046000015550506068805460ff1916600117905582620002545760405162461bcd60e51b815260040180806020018281038252602581526020018062001d696025913960400191505060405180910390fd5b606c80546001600160a01b03199081166001600160a01b0397881617909155606d8054821695871695909517909455606e8054851691861691909117905550606955606f805490911691831691909117905560c8840460705550620004a7945050505050565b600060008051602062001df6833981519152831062000320576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602062001df683398151915282106200036f5760405162461bcd60e51b815260040180806020018281038252602181526020018062001dae6021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015620003ca57600080fd5b505af4158015620003df573d6000803e3d6000fd5b505050506040513d6040811015620003f657600080fd5b508051602090910151909250905060008051602062001df6833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b1580156200047057600080fd5b505af415801562000485573d6000803e3d6000fd5b505050506040513d60408110156200049c57600080fd5b505195945050505050565b6118b280620004b76000396000f3fe6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a723158204b6ccc5df50175d5e6c8b1e3301b60dade15d700fbff15348226df90b372e82464736f6c6343000511003264656e6f6d696e6174696f6e2073686f756c642062652067726561746572207468616e2030405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5f72696768742073686f756c6420626520696e7369646520746865206669656c645f747265654c6576656c732073686f756c642062652067726561746572207468616e207a65726f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000015f747265654c6576656c732073686f756c64206265206c657373207468616e203332b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6", + "deployedBytecode": "0x6080604052600436106101815760003560e01c80639fa12d0b116100d1578063d0fb02031161008a578063ec73295911610064578063ec732959146105c8578063f178e47c146105dd578063fc0c546a14610607578063fc7e9c6f1461061c57610181565b8063d0fb02031461055f578063e5285dcc14610574578063e82955881461059e57610181565b80639fa12d0b1461040e578063b0e21e8a146104d9578063b214faa5146104ee578063ba70f7571461050b578063c2b40ae414610520578063cd87a3b41461054a57610181565b80634ecf518b1161013e578063839df94511610118578063839df945146103875780638bca6d16146103b157806390eeb02b146103c657806397fc007c146103db57610181565b80634ecf518b1461031a578063570ca735146103485780636d9833e31461035d57610181565b806306394c9b1461018657806317cc915c146101bb57806321a0adb6146101f95780632b7ac3f31461029257806338bf282e146102c3578063414a37ba14610305575b600080fd5b34801561019257600080fd5b506101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610631565b005b3480156101c757600080fd5b506101e5600480360360208110156101de57600080fd5b503561069c565b604080519115158252519081900360200190f35b6101b9600480360360e081101561020f57600080fd5b810190602081018135600160201b81111561022957600080fd5b82018360208201111561023b57600080fd5b803590602001918460018302840111600160201b8311171561025c57600080fd5b91935091508035906020810135906001600160a01b03604082013581169160608101359091169060808101359060a001356106b1565b34801561029e57600080fd5b506102a7610a70565b604080516001600160a01b039092168252519081900360200190f35b3480156102cf57600080fd5b506102f3600480360360408110156102e657600080fd5b5080359060200135610a7f565b60408051918252519081900360200190f35b34801561031157600080fd5b506102f3610c60565b34801561032657600080fd5b5061032f610c72565b6040805163ffffffff9092168252519081900360200190f35b34801561035457600080fd5b506102a7610c7e565b34801561036957600080fd5b506101e56004803603602081101561038057600080fd5b5035610c8d565b34801561039357600080fd5b506101e5600480360360208110156103aa57600080fd5b5035610d00565b3480156103bd57600080fd5b506102f3610d15565b3480156103d257600080fd5b5061032f610d1b565b3480156103e757600080fd5b506101b9600480360360208110156103fe57600080fd5b50356001600160a01b0316610d27565b34801561041a57600080fd5b506104896004803603602081101561043157600080fd5b810190602081018135600160201b81111561044b57600080fd5b82018360208201111561045d57600080fd5b803590602001918460208302840111600160201b8311171561047e57600080fd5b509092509050610d92565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c55781810151838201526020016104ad565b505050509050019250505060405180910390f35b3480156104e557600080fd5b506102f3610e1a565b6101b96004803603602081101561050457600080fd5b5035610e20565b34801561051757600080fd5b506102f3610f4d565b34801561052c57600080fd5b506102f36004803603602081101561054357600080fd5b5035610f6d565b34801561055657600080fd5b5061032f610f81565b34801561056b57600080fd5b506102a7610f86565b34801561058057600080fd5b506101e56004803603602081101561059757600080fd5b5035610f95565b3480156105aa57600080fd5b506102f3600480360360208110156105c157600080fd5b5035610faa565b3480156105d457600080fd5b506102f3610fc8565b3480156105e957600080fd5b506102f36004803603602081101561060057600080fd5b5035610fec565b34801561061357600080fd5b506102a7610ff9565b34801561062857600080fd5b5061032f611008565b606e546001600160a01b0316331461067a5760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b606a6020526000908152604090205460ff1681565b60685460ff16610708576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff19169055606954821115610769576040805162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015290519081900360640190fd5b6000858152606a602052604090205460ff16156107cd576040805162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015290519081900360640190fd5b6107d686610c8d565b610827576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015290519081900360640190fd5b606c546040805160c08082018352898252602082018990526001600160a01b038881168385015287811660608401526080830187905260a08301869052925163695ef6f960e01b8152929093169263695ef6f9928c928c9290916004810191829160240190849080838360005b838110156108ac578181015183820152602001610894565b505050509050018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156108fe57600080fd5b505af1158015610912573d6000803e3d6000fd5b505050506040513d602081101561092857600080fd5b5051610974576040805162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015290519081900360640190fd5b6000858152606a6020908152604091829020805460ff19166001179055606d548251622fcfcb60e31b81529251610a0b9388938893889388936001600160a01b039092169263017e7e589260048082019391829003018186803b1580156109da57600080fd5b505afa1580156109ee573d6000803e3d6000fd5b505050506040513d6020811015610a0457600080fd5b505161101b565b604080516001600160a01b038681168252602082018890528183018590529151918516917fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319181900360600190a250506068805460ff19166001179055505050505050565b606c546001600160a01b031681565b60006000805160206117e88339815191528310610ae3576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b6000805160206117e88339815191528210610b2f5760405162461bcd60e51b81526004018080602001828103825260218152602001806117986021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b158015610b8957600080fd5b505af4158015610b9d573d6000803e3d6000fd5b505050506040513d6040811015610bb357600080fd5b50805160209091015190925090506000805160206117e8833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b158015610c2b57600080fd5b505af4158015610c3f573d6000803e3d6000fd5b505050506040513d6040811015610c5557600080fd5b505195945050505050565b6000805160206117e883398151915281565b60005463ffffffff1681565b606e546001600160a01b031681565b600081610c9c57506000610cfb565b60035463ffffffff165b60048163ffffffff1660648110610cb957fe5b0154831415610ccc576001915050610cfb565b63ffffffff8116610cdb575060645b6003546000199091019063ffffffff80831691161415610ca65760009150505b919050565b606b6020526000908152604090205460ff1681565b60695481565b60035463ffffffff1681565b606e546001600160a01b03163314610d705760405162461bcd60e51b81526004018080602001828103825260258152602001806118596025913960400191505060405180910390fd5b606c80546001600160a01b0319166001600160a01b0392909216919091179055565b604080518281526020808402820101909152606090828015610dbe578160200160208202803883390190505b50905060005b82811015610e1357610de7848483818110610ddb57fe5b90506020020135610f95565b15610e0b576001828281518110610dfa57fe5b911515602092830291909101909101525b600101610dc4565b5092915050565b60705481565b60685460ff16610e77576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6068805460ff191690556000818152606b602052604090205460ff1615610ecf5760405162461bcd60e51b81526004018080602001828103825260218152602001806118086021913960400191505060405180910390fd5b6000610eda8261114d565b6000838152606b60205260409020805460ff191660011790559050610efd6112e4565b6040805163ffffffff83168152426020820152815184927fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196928290030190a250506068805460ff19166001179055565b60035460009060049063ffffffff1660648110610f6657fe5b0154905090565b60048160648110610f7a57fe5b0154905081565b606481565b606d546001600160a01b031681565b6000908152606a602052604090205460ff1690565b60028181548110610fb757fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b60018181548110610fb757fe5b606f546001600160a01b031681565b600354600160201b900463ffffffff1681565b8134146110595760405162461bcd60e51b81526004018080602001828103825260308152602001806117416030913960400191505060405180910390fd5b6001600160a01b0381161580159061108e5761107d86607054866069540303611330565b61108982607054611330565b61109c565b61109c868560695403611330565b83156110ac576110ac8585611330565b8215611145576040516000906001600160a01b0388169085908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b5050905080611143576040516001600160a01b0387169085156108fc029086906000818181858888f19350505050158015611141573d6000803e3d6000fd5b505b505b505050505050565b60035460008054909163ffffffff600160201b909104811691811660020a168114156111aa5760405162461bcd60e51b815260040180806020018281038252602f8152602001806116e8602f913960400191505060405180910390fd5b6003805463ffffffff600160201b80830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff9081169082161015611282576001851661123e5783925060028163ffffffff168154811061120c57fe5b906000526020600020015491508360018263ffffffff168154811061122d57fe5b600091825260209091200155611262565b60018163ffffffff168154811061125157fe5b906000526020600020015492508391505b61126c8383610a7f565b9350600263ffffffff86160494506001016111da565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106112c457fe5b01555050600354600160201b900463ffffffff1660001901949350505050565b34156113215760405162461bcd60e51b81526004018080602001828103825260308152602001806118296030913960400191505060405180910390fd5b61132e3330606954611501565b565b606f54604080516001600160a01b038581166024830152604480830186905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000956060959316939282918083835b602083106113ad5780518252601f19909201916020918201910161138e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461140f576040519150601f19603f3d011682016040523d82523d6000602084013e611414565b606091505b50915091508161145f576040805162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b604482015290519081900360640190fd5b8051156114fb5780516020146114a65760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156114bb57600080fd5b50519150816114fb5760405162461bcd60e51b81526004018080602001828103825260278152602001806117716027913960400191505060405180910390fd5b50505050565b606f54604080516001600160a01b0386811660248301528581166044830152606480830186905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000956060959316939282918083835b602083106115865780518252601f199092019160209182019101611567565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115e8576040519150601f19603f3d011682016040523d82523d6000602084013e6115ed565b606091505b509150915081611644576040805162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820616c6c6f77656420746f6b656e7300000000000000604482015290519081900360640190fd5b8051156116e057805160201461168b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611717602a913960400191505060405180910390fd5b8080602001905160208110156116a057600080fd5b50519150816116e05760405162461bcd60e51b815260040180806020018281038252602f8152602001806117b9602f913960400191505060405180910390fd5b505050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e20626520616464656464617461206c656e6774682073686f756c64206265206569746865722030206f72203332206279746573496e636f727265637420726566756e6420616d6f756e742072656365697665642062792074686520636f6e74726163746e6f7420656e6f75676820746f6b656e732e20546f6b656e2072657475726e732066616c73652e5f72696768742073686f756c6420626520696e7369646520746865206669656c646e6f7420656e6f75676820616c6c6f77656420746f6b656e732e20546f6b656e2072657475726e732066616c73652e30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000154686520636f6d6d69746d656e7420686173206265656e207375626d69747465644554482076616c756520697320737570706f73656420746f206265203020666f7220455243323020696e7374616e63654f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a723158204b6ccc5df50175d5e6c8b1e3301b60dade15d700fbff15348226df90b372e82464736f6c63430005110032", + "sourceMap": "805:2570:0:-;;;1430:34:2;;;-1:-1:-1;;;;;;1468:27:2;;;897:334:0;5:2:-1;;;;30:1;27;20:12;5:2;897:334:0;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;897:334:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1646:15:2;;;1638:67;;;;-1:-1:-1;;;1638:67:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:2;1719:11;:16;;;1711:63;;;;-1:-1:-1;;;1711:63:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:6;:20;;-1:-1:-1;;1780:20:2;;;;;;;1854:5;27:10:-1;;-1:-1;23:18;;;45:23;;;1088:77:2;-1:-1:-1;;;;;;;;;;;1854:23:2;;;;;;27:10:-1;;23:18;;;45:23;;1883:32:2;;;;-1:-1:-1;;;;;;;;;;;1883:32:2;;;;;;1922:175;1945:6;;;;;;1941:10;;;;1922:175;;;1980:39;1994:11;;-1:-1:-1;;;;;1980:13:2;:39;:::i;:::-;2027:5;27:10:-1;;39:1;23:18;;;45:23;;;-1:-1;;;;;;;;;;;2027:23:2;;;;27:10:-1;;23:18;;;45:23;;-1:-1;2058:32:2;;;-1:-1:-1;;;;;;;;;;;2058:32:2;;;;1966:53;;-1:-1:-1;1953:3:2;1922:175;;;-1:-1:-1;2114:39:2;2128:11;;-1:-1:-1;;;;;2114:13:2;:39;:::i;:::-;2103:5;2109:1;2103:8;:50;-1:-1:-1;;1421:11:18;:18;;-1:-1:-1;;1421:18:18;1435:4;1421:18;;;1645:17:8;1637:67;;;;-1:-1:-1;;;1637:67:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1710:8;:20;;-1:-1:-1;;;;;;1710:20:8;;;-1:-1:-1;;;;;1710:20:8;;;;;;;1736:10;:24;;;;;;;;;;;;;;1766:8;:20;;;;;;;;;;;;;-1:-1:-1;1792:12:8;:28;1157:5:0;:14;;;;;;;;;;;;;;1223:3;1207:13;:19;1193:11;:33;-1:-1:-1;805:2570:0;;-1:-1:-1;;;;;805:2570:0;2230:445:2;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:2;;2320:72;;;;;-1:-1:-1;;;2320:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:2;;2398:74;;;;-1:-1:-1;;;2398:74:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:2;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:2;;;;;;;;;-1:-1:-1;2538:23:2;-1:-1:-1;;;;;;;;;;;;2589:6:2;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:2;;2230:445;-1:-1:-1;;;;;2230:445:2:o;805:2570:0:-;;;;;;;", + "deployedSourceMap": "805:2570:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4814:102:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4814:102:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4814:102:8;-1:-1:-1;;;;;4814:102:8;;:::i;:::-;;412:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;412:47:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;412:47:8;;:::i;:::-;;;;;;;;;;;;;;;;;;2893:801;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2893:801:8;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2893:801:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2893:801:8;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2893:801:8;;-1:-1:-1;2893:801:8;-1:-1:-1;2893:801:8;;;;;;;;-1:-1:-1;;;;;2893:801:8;;;;;;;;;;;;;;;;;;;;;;;;:::i;601:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;601:25:8;;;:::i;:::-;;;;-1:-1:-1;;;;;601:25:8;;;;;;;;;;;;;;2230:445:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2230:445:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2230:445:2;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;933:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:114:2;;;:::i;1209:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1209:20:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;819:23:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;819:23:8;;;:::i;3553:342:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3553:342:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3553:342:2;;:::i;554:43:8:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;554:43:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;554:43:8;;:::i;381:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;381:27:8;;;:::i;1430:34:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1430:34:2;;;:::i;4651:113:8:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4651:113:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4651:113:8;-1:-1:-1;;;;;4651:113:8;;:::i;4128:293::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4128:293:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4128:293:8;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4128:293:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4128:293:8;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;4128:293:8;;-1:-1:-1;4128:293:8;-1:-1:-1;4128:293:8;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4128:293:8;;;;;;;;;;;;;;;;;866:26:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;866:26:0;;;:::i;2073:324:8:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2073:324:8;;:::i;3941:93:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3941:93:2;;;:::i;1549:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1549:39:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1549:39:2;;:::i;1499:46::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1499:46:2;;;:::i;630:29:8:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;630:29:8;;;:::i;3951:116::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3951:116:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3951:116:8;;:::i;1404:22:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1404:22:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1404:22:2;;:::i;1051:114::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1051:114:2;;;:::i;1369:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1369:31:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1369:31:2;;:::i;842:20:0:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;842:20:0;;;:::i;1468:27:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1468:27:2;;;:::i;4814:102:8:-;896:8;;-1:-1:-1;;;;;896:8:8;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4888:8;:23;;-1:-1:-1;;;;;;4888:23:8;-1:-1:-1;;;;;4888:23:8;;;;;;;;;;4814:102::o;412:47::-;;;;;;;;;;;;;;;:::o;2893:801::-;1934:11:18;;;;1926:55;;;;;-1:-1:-1;;;1926:55:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:18;;;3110:12:8;;3102:20;;;3094:59;;;;;-1:-1:-1;;;3094:59:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;3168:31;;;;:15;:31;;;;;;;;3167:32;3159:76;;;;;-1:-1:-1;;;3159:76:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;3249:18;3261:5;3249:11;:18::i;:::-;3241:59;;;;;-1:-1:-1;;;3241:59:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;3347:8;;:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3418:19:8;;;3347:126;;;;3439:17;;;3347:126;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3347:126:8;;:8;;;;;:20;;3368:6;;;;3347:126;;;;;;;;;;;;;;;;:8;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3347:126:8;;;;;;;;;;;;;;;;;;;;;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;;3347:126:8;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3347:126:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3347:126:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3347:126:8;3339:161;;;;;-1:-1:-1;;;3339:161:8;;;;;;;;;;;;-1:-1:-1;;;3339:161:8;;;;;;;;;;;;;;;3507:31;;;;:15;:31;;;;;;;;;:38;;-1:-1:-1;;3507:38:8;3541:4;3507:38;;;3605:10;;:18;;-1:-1:-1;;;3605:18:8;;;;3551:73;;3568:10;;3580:8;;3590:4;;3596:7;;-1:-1:-1;;;;;3605:10:8;;;;:16;;:18;;;;;;;;;;;:10;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;3605:18:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3605:18:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3605:18:8;3551:16;:73::i;:::-;3635:54;;;-1:-1:-1;;;;;3635:54:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2230:11:18;:18;;-1:-1:-1;;2230:18:18;2244:4;2230:18;;;-1:-1:-1;;;;;;2893:801:8:o;601:25::-;;;-1:-1:-1;;;;;601:25:8;;:::o;2230:445:2:-;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:2;;2320:72;;;;;-1:-1:-1;;;2320:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:2;;2398:74;;;;-1:-1:-1;;;2398:74:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:2;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:2;;;;;;;;;-1:-1:-1;2538:23:2;-1:-1:-1;;;;;;;;;;;;2589:6:2;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:2;;2230:445;-1:-1:-1;;;;;2230:445:2:o;933:114::-;-1:-1:-1;;;;;;;;;;;933:114:2;:::o;1209:20::-;;;;;;:::o;819:23:8:-;;;-1:-1:-1;;;;;819:23:8;;:::o;3553:342:2:-;3609:4;3625:10;3621:43;;-1:-1:-1;3652:5:2;3645:12;;3621:43;3680:16;;;;3702:171;3726:5;3732:1;3726:8;;;;;;;;;;;3717:5;:17;3713:53;;;3753:4;3746:11;;;;;3713:53;3777:6;;;3773:52;;-1:-1:-1;1542:3:2;3773:52;3855:16;;-1:-1:-1;;3832:3:2;;;;3855:16;3850:21;;;3855:16;;3850:21;;3702:171;;3885:5;3878:12;;;3553:342;;;;:::o;554:43:8:-;;;;;;;;;;;;;;;:::o;381:27::-;;;;:::o;1430:34:2:-;;;;;;:::o;4651:113:8:-;896:8;;-1:-1:-1;;;;;896:8:8;882:10;:22;874:72;;;;-1:-1:-1;;;874:72:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4725:8;:34;;-1:-1:-1;;;;;;4725:34:8;-1:-1:-1;;;;;4725:34:8;;;;;;;;;;4651:113::o;4128:293::-;4244:35;;;;;;;;;;;;;;;;4209:19;;4255:16;4244:35;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;4244:35:8;-1:-1:-1;4236:43:8;-1:-1:-1;4289:6:8;4285:132;4301:27;;;4285:132;;;4347:28;4355:16;;4372:1;4355:19;;;;;;;;;;;;;4347:7;:28::i;:::-;4343:68;;;4398:4;4387:5;4393:1;4387:8;;;;;;;;:15;;;:8;;;;;;;;;;;:15;4343:68;4330:3;;4285:132;;;;4128:293;;;;:::o;866:26:0:-;;;;:::o;2073:324:8:-;1934:11:18;;;;1926:55;;;;;-1:-1:-1;;;1926:55:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;2056:11;:19;;-1:-1:-1;;2056:19:18;;;2070:5;2156:24:8;;;:11;:24;;;;;;2056:19:18;2156:24:8;2155:25;2147:71;;;;-1:-1:-1;;;2147:71:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2225:20;2248;2256:11;2248:7;:20::i;:::-;2274:24;;;;:11;:24;;;;;:31;;-1:-1:-1;;2274:31:8;2301:4;2274:31;;;2225:43;-1:-1:-1;2311:17:8;:15;:17::i;:::-;2340:52;;;;;;;;2376:15;2340:52;;;;;;2348:11;;2340:52;;;;;;;;-1:-1:-1;;2230:11:18;:18;;-1:-1:-1;;2230:18:18;2244:4;2230:18;;;2073:324:8:o;3941:93:2:-;4012:16;;3984:7;;4006:5;;4012:16;;4006:23;;;;;;;;;3999:30;;3941:93;:::o;1549:39::-;;;;;;;;;;;;;-1:-1:-1;1549:39:2;:::o;1499:46::-;1542:3;1499:46;:::o;630:29:8:-;;;-1:-1:-1;;;;;630:29:8;;:::o;3951:116::-;4012:4;4031:31;;;:15;:31;;;;;;;;;3951:116::o;1404:22:2:-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1404:22:2;:::o;1051:114::-;1088:77;1051:114;:::o;1369:31::-;;;;;;;;;;842:20:0;;;-1:-1:-1;;;;;842:20:0;;:::o;1468:27:2:-;;;-1:-1:-1;;;1468:27:2;;;;;:::o;1430:801:0:-;1601:7;1588:9;:20;1580:81;;;;-1:-1:-1;;;1580:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1681:20:0;;;;;;1707:226;;1726:73;1745:10;1787:11;;1772:12;1757;;:27;:41;1726:18;:73::i;:::-;1807:39;1826:6;1834:11;;1807:18;:39::i;:::-;1707:226;;;1867:59;1886:10;1913:12;1898;;:27;1867:18;:59::i;:::-;1943:16;;1939:79;;1969:42;1988:8;1998:12;1969:18;:42::i;:::-;2028:11;;2024:203;;2068:34;;2050:12;;-1:-1:-1;;;;;2068:15:0;;;2090:7;;2050:12;2068:34;2050:12;2068:34;2090:7;2068:15;:34;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2049:53:0;;;2115:7;2110:111;;2186:26;;-1:-1:-1;;;;;2186:17:0;;;:26;;;;;2204:7;;2186:26;;;;2204:7;2186:17;:26;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2186:26:0;2110:111;2024:203;;1430:801;;;;;;:::o;2679:802:2:-;2770:9;;2728:12;2820:6;;2728:12;;2770:9;-1:-1:-1;;;2770:9:2;;;;;;2820:6;;2816:1;2809:17;2793:33;;;;2785:93;;;;-1:-1:-1;;;2785:93:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2884:9;:14;;;-1:-1:-1;;;2884:14:2;;;;;2897:1;2884:14;;;;;-1:-1:-1;;2884:14:2;;;;;;2931:5;-1:-1:-1;;;2980:355:2;3003:6;;;;;;2999:10;;;;2980:355;;;3028:16;;;3024:225;;3068:16;3061:23;;3102:5;3108:1;3102:8;;;;;;;;;;;;;;;;;;3094:16;;3141;3121:14;3136:1;3121:17;;;;;;;;;;;;;;;;;;;:36;3024:225;;;3189:14;3204:1;3189:17;;;;;;;;;;;;;;;;;;3182:24;;3224:16;3216:24;;3024:225;3276:26;3290:4;3296:5;3276:13;:26::i;:::-;3257:45;-1:-1:-1;3327:1:2;3311:17;;;;;-1:-1:-1;3011:3:2;;2980:355;;;-1:-1:-1;3361:16:2;;1542:3;;3360:42;3361:16;;;;:20;3360:42;3341:16;:61;;-1:-1:-1;;3341:61:2;3360:42;;;;3341:61;;;;;;;;;;;;3434:16;;3408:5;;3414:16;3408:23;;;;;;;;:42;-1:-1:-1;;3463:9:2;;-1:-1:-1;;;3463:9:2;;;;-1:-1:-1;;3463:13:2;;2679:802;-1:-1:-1;;;;2679:802:2:o;1235:191:0:-;1285:9;:14;1277:75;;;;-1:-1:-1;;;1277:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1358:63;1381:10;1401:4;1408:12;;1358:22;:63::i;:::-;1235:191::o;2829:544::-;2938:5;;2949:63;;;-1:-1:-1;;;;;2949:63:0;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2949:63:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2938:75:0;;;;2903:12;;2917:17;;2938:5;;;2949:63;2938:75;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2938:75:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2902:111:0;;;;3027:7;3019:37;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;-1:-1:-1;;;3019:37:0;;;;;;;;;;;;;;;3156:11;;:15;3152:217;;3189:4;:11;3204:2;3189:17;3181:72;;;;-1:-1:-1;;;3181:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3282:4;3271:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3271:24:0;;-1:-1:-1;3271:24:0;3303:59;;;;-1:-1:-1;;;3303:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2829:544;;;;:::o;2235:590::-;2363:5;;2374:74;;;-1:-1:-1;;;;;2374:74:0;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2374:74:0;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;2363:86:0;;;;2328:12;;2342:17;;2363:5;;;2374:74;2363:86;;;;25:18:-1;36:153;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2363:86:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2327:122:0;;;;2463:7;2455:45;;;;;-1:-1:-1;;;2455:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2600:11;;:15;2596:225;;2633:4;:11;2648:2;2633:17;2625:72;;;;-1:-1:-1;;;2625:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2726:4;2715:24;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2715:24:0;;-1:-1:-1;2715:24:0;2747:67;;;;-1:-1:-1;;;2747:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2235:590;;;;;:::o", "source": "// https://tornado.cash\n/*\n* d888888P dP a88888b. dP\n* 88 88 d8' `88 88\n* 88 .d8888b. 88d888b. 88d888b. .d8888b. .d888b88 .d8888b. 88 .d8888b. .d8888b. 88d888b.\n* 88 88' `88 88' `88 88' `88 88' `88 88' `88 88' `88 88 88' `88 Y8ooooo. 88' `88\n* 88 88. .88 88 88 88 88. .88 88. .88 88. .88 dP Y8. .88 88. .88 88 88 88\n* dP `88888P' dP dP dP `88888P8 `88888P8 `88888P' 88 Y88888P' `88888P8 `88888P' dP dP\n* ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\n*/\n\npragma solidity 0.5.17;\n\nimport \"./Tornado.sol\";\n\ncontract ERC20Tornado is Tornado {\n address public token;\n uint256 public protocolFee;\n\n constructor(\n IVerifier _verifier,\n IFeeManager _feeManager,\n uint256 _denomination,\n uint32 _merkleTreeHeight,\n address _operator,\n address _token\n ) Tornado(_verifier, _feeManager, _denomination, _merkleTreeHeight, _operator) public {\n token = _token;\n // 0.5% fee\n protocolFee = _denomination / 200;\n }\n\n function _processDeposit() internal {\n require(msg.value == 0, \"ETH value is supposed to be 0 for ERC20 instance\");\n _safeErc20TransferFrom(msg.sender, address(this), denomination);\n }\n\n function _processWithdraw(address payable _recipient, address payable _relayer, uint256 _relayer_fee, uint256 _refund, address _feeTo) internal {\n require(msg.value == _refund, \"Incorrect refund amount received by the contract\");\n\n bool feeOn = _feeTo != address(0);\n if (feeOn) {\n _safeErc20Transfer(_recipient, denomination - _relayer_fee - protocolFee);\n _safeErc20Transfer(_feeTo, protocolFee);\n } else {\n _safeErc20Transfer(_recipient, denomination - _relayer_fee);\n }\n\n if (_relayer_fee > 0) {\n _safeErc20Transfer(_relayer, _relayer_fee);\n }\n\n if (_refund > 0) {\n (bool success, ) = _recipient.call.value(_refund)(\"\");\n if (!success) {\n // let's return _refund back to the relayer\n _relayer.transfer(_refund);\n }\n }\n }\n\n function _safeErc20TransferFrom(address _from, address _to, uint256 _amount) internal {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd /* transferFrom */, _from, _to, _amount));\n require(success, \"not enough allowed tokens\");\n\n // if contract returns some data lets make sure that is `true` according to standard\n if (data.length > 0) {\n require(data.length == 32, \"data length should be either 0 or 32 bytes\");\n success = abi.decode(data, (bool));\n require(success, \"not enough allowed tokens. Token returns false.\");\n }\n }\n\n function _safeErc20Transfer(address _to, uint256 _amount) internal {\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb /* transfer */, _to, _amount));\n require(success, \"not enough tokens\");\n\n // if contract returns some data lets make sure that is `true` according to standard\n if (data.length > 0) {\n require(data.length == 32, \"data length should be either 0 or 32 bytes\");\n success = abi.decode(data, (bool));\n require(success, \"not enough tokens. Token returns false.\");\n }\n }\n}\n", - "sourcePath": "/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol", "exportedSymbols": { "ERC20Tornado": [ 266 @@ -602,12 +602,12 @@ "src": "755:23:0" }, { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "file": "./Tornado.sol", "id": 2, "nodeType": "ImportDirective", "scope": 267, - "sourceUnit": 971, + "sourceUnit": 1205, "src": "780:23:0", "symbolAliases": [], "unitAlias": "" @@ -621,10 +621,10 @@ "id": 3, "name": "Tornado", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 970, + "referencedDeclaration": 1204, "src": "830:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Tornado_$970", + "typeIdentifier": "t_contract$_Tornado_$1204", "typeString": "contract Tornado" } }, @@ -634,9 +634,9 @@ } ], "contractDependencies": [ - 632, - 970, - 1000 + 685, + 1204, + 3255 ], "contractKind": "contract", "documentation": null, @@ -644,9 +644,9 @@ "id": 266, "linearizedBaseContracts": [ 266, - 970, - 1000, - 632 + 1204, + 3255, + 685 ], "name": "ERC20Tornado", "nodeType": "ContractDefinition", @@ -857,7 +857,7 @@ "referencedDeclaration": 10, "src": "1075:9:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$648", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -870,7 +870,7 @@ "referencedDeclaration": 12, "src": "1086:11:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$654", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -921,10 +921,10 @@ "name": "Tornado", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, + "referencedDeclaration": 1204, "src": "1067:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Tornado_$970_$", + "typeIdentifier": "t_type$_t_contract$_Tornado_$1204_$", "typeString": "type(contract Tornado)" } }, @@ -948,7 +948,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$648", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" }, "typeName": { @@ -956,10 +956,10 @@ "id": 9, "name": "IVerifier", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 648, + "referencedDeclaration": 882, "src": "914:9:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$648", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -976,7 +976,7 @@ "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$654", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" }, "typeName": { @@ -984,10 +984,10 @@ "id": 11, "name": "IFeeManager", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 654, + "referencedDeclaration": 888, "src": "939:11:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$654", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -1144,7 +1144,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "src": "1285:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1225,10 +1225,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "1277:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1265,7 +1265,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "src": "1381:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1295,7 +1295,7 @@ "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1041, + "referencedDeclaration": 3296, "src": "1401:4:0", "typeDescriptions": { "typeIdentifier": "t_contract$_ERC20Tornado_$266", @@ -1343,7 +1343,7 @@ "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "src": "1408:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1419,7 +1419,7 @@ "scope": 266, "src": "1235:191:0", "stateMutability": "nonpayable", - "superFunction": 785, + "superFunction": 1019, "visibility": "internal" }, { @@ -1451,7 +1451,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "src": "1588:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -1527,10 +1527,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "1580:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -1732,7 +1732,7 @@ "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "src": "1898:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1856,7 +1856,7 @@ "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "src": "1757:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2647,7 +2647,7 @@ "scope": 266, "src": "1430:801:0", "stateMutability": "nonpayable", - "superFunction": 886, + "superFunction": 1120, "visibility": "internal" }, { @@ -2805,7 +2805,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "src": "2374:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -2943,10 +2943,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "2455:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3151,10 +3151,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "2625:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3268,7 +3268,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "src": "2715:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -3364,10 +3364,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "2747:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3641,7 +3641,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "src": "2949:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -3779,10 +3779,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "3019:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -3987,10 +3987,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "3181:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -4104,7 +4104,7 @@ "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "src": "3271:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", @@ -4200,10 +4200,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "src": "3303:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -4321,7 +4321,7 @@ }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/ERC20Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/ERC20Tornado.sol", "exportedSymbols": { "ERC20Tornado": [ 266 @@ -4343,8 +4343,8 @@ }, { "attributes": { - "SourceUnit": 971, - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "SourceUnit": 1205, + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "file": "./Tornado.sol", "scope": 267, "symbolAliases": [ @@ -4359,18 +4359,18 @@ { "attributes": { "contractDependencies": [ - 632, - 970, - 1000 + 685, + 1204, + 3255 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ 266, - 970, - 1000, - 632 + 1204, + 3255, + 685 ], "name": "ERC20Tornado", "scope": 267 @@ -4385,7 +4385,7 @@ "attributes": { "contractScope": null, "name": "Tornado", - "referencedDeclaration": 970, + "referencedDeclaration": 1204, "type": "contract Tornado" }, "id": 3, @@ -4481,7 +4481,7 @@ "attributes": { "contractScope": null, "name": "IVerifier", - "referencedDeclaration": 648, + "referencedDeclaration": 882, "type": "contract IVerifier" }, "id": 9, @@ -4509,7 +4509,7 @@ "attributes": { "contractScope": null, "name": "IFeeManager", - "referencedDeclaration": 654, + "referencedDeclaration": 888, "type": "contract IFeeManager" }, "id": 11, @@ -4651,7 +4651,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 970, + "referencedDeclaration": 1204, "type": "type(contract Tornado)", "value": "Tornado" }, @@ -4897,7 +4897,7 @@ "name": "_processDeposit", "scope": 266, "stateMutability": "nonpayable", - "superFunction": 785, + "superFunction": 1019, "visibility": "internal" }, "children": [ @@ -4955,10 +4955,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -4999,7 +4999,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, @@ -5123,7 +5123,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, @@ -5176,7 +5176,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1041, + "referencedDeclaration": 3296, "type": "contract ERC20Tornado", "value": "this" }, @@ -5195,7 +5195,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, @@ -5235,7 +5235,7 @@ "name": "_processWithdraw", "scope": 266, "stateMutability": "nonpayable", - "superFunction": 886, + "superFunction": 1120, "visibility": "internal" }, "children": [ @@ -5422,10 +5422,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -5466,7 +5466,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1015, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, @@ -5761,7 +5761,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, @@ -5977,7 +5977,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 660, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, @@ -6818,7 +6818,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -6935,10 +6935,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7092,10 +7092,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7267,7 +7267,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -7369,10 +7369,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7687,7 +7687,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -7790,10 +7790,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -7947,10 +7947,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -8122,7 +8122,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1002, + "referencedDeclaration": 3257, "type": "abi", "value": "abi" }, @@ -8224,10 +8224,10 @@ } ], "overloadedDeclarations": [ - 1018, - 1019 + 3273, + 3274 ], - "referencedDeclaration": 1019, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -8314,14 +8314,22 @@ "42220": { "events": {}, "links": { - "Hasher": "0x5666A6E07d7b991489b1D0f53d37B664B312a1fE" + "Hasher": "0xeE4628179283Be3f5096b94bc528e443cFAf7c2f" }, - "address": "0xC8980dcBc56F5CEdd5356D190cB42125e16486eb", - "transactionHash": "0xbbd8007eb57eeeb98a12b9807e7d23d46e64b834d929967a9abf6cd0984d34bd" + "address": "0xB0A0cD2a1d0F0A16AB59514B3468633A9c1470D0", + "transactionHash": "0x1a001d930d258a3411cf71605df09896657ef111efaf0715625d63f68f6cc68e" + }, + "44787": { + "events": {}, + "links": { + "Hasher": "0x415A7775E7B2DC547e071d752CF404316498a43A" + }, + "address": "0x2E4F3DbD2920f98C41c14b2c8C51515d0c1003a5", + "transactionHash": "0x3c8ba96a28590498b7ee5b6b90262e060146b5f5241271467bd491baf4005387" } }, "schemaVersion": "3.3.4", - "updatedAt": "2021-04-02T22:56:11.626Z", + "updatedAt": "2021-04-04T21:13:13.382Z", "networkType": "ethereum", "devdoc": { "methods": { diff --git a/client/contracts/FeeManager.json b/client/contracts/FeeManager.json index aafc6bd..90e5655 100644 --- a/client/contracts/FeeManager.json +++ b/client/contracts/FeeManager.json @@ -74,15 +74,15 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeToSetter\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeTo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeToSetter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeTo\",\"type\":\"address\"}],\"name\":\"setFeeTo\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeToSetter\",\"type\":\"address\"}],\"name\":\"setFeeToSetter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/FeeManager.sol\":\"FeeManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/FeeManager.sol\":{\"keccak256\":\"0x4d54892e74f27c38f1e40bcdaf44a67aa65e2692b30246850b8c32491f1b3d02\",\"urls\":[\"bzz-raw://ca5bd8d25a99b03a29a764ce6f887dd1022b50b9308ef705be0d71ad79687f08\",\"dweb:/ipfs/QmSYMnxLnn4HGNy32YHDEs8rNkNwV6h4xsvDbKCv3vAMMt\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506040516102673803806102678339818101604052602081101561003357600080fd5b5051600180546001600160a01b0319166001600160a01b03909216919091179055610204806100636000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063017e7e5814610051578063094b741514610075578063a2e74af61461007d578063f46901ed146100a5575b600080fd5b6100596100cb565b604080516001600160a01b039092168252519081900360200190f35b6100596100da565b6100a36004803603602081101561009357600080fd5b50356001600160a01b03166100e9565b005b6100a3600480360360208110156100bb57600080fd5b50356001600160a01b031661015c565b6000546001600160a01b031681565b6001546001600160a01b031681565b6001546001600160a01b0316331461013a576040805162461bcd60e51b815260206004820152600f60248201526e2837b7b31d102327a92124a22222a760891b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146101ad576040805162461bcd60e51b815260206004820152600f60248201526e2837b7b31d102327a92124a22222a760891b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b039290921691909117905556fea265627a7a72315820a0b1c5e2571525fdf052a571d7a5a1b3837ca98305095102ec0d6d1d879183b264736f6c63430005110032", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063017e7e5814610051578063094b741514610075578063a2e74af61461007d578063f46901ed146100a5575b600080fd5b6100596100cb565b604080516001600160a01b039092168252519081900360200190f35b6100596100da565b6100a36004803603602081101561009357600080fd5b50356001600160a01b03166100e9565b005b6100a3600480360360208110156100bb57600080fd5b50356001600160a01b031661015c565b6000546001600160a01b031681565b6001546001600160a01b031681565b6001546001600160a01b0316331461013a576040805162461bcd60e51b815260206004820152600f60248201526e2837b7b31d102327a92124a22222a760891b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146101ad576040805162461bcd60e51b815260206004820152600f60248201526e2837b7b31d102327a92124a22222a760891b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b039290921691909117905556fea265627a7a72315820a0b1c5e2571525fdf052a571d7a5a1b3837ca98305095102ec0d6d1d879183b264736f6c63430005110032", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeToSetter\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeTo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeToSetter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeTo\",\"type\":\"address\"}],\"name\":\"setFeeTo\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeToSetter\",\"type\":\"address\"}],\"name\":\"setFeeToSetter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/FeeManager.sol\":\"FeeManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/FeeManager.sol\":{\"keccak256\":\"0x4d54892e74f27c38f1e40bcdaf44a67aa65e2692b30246850b8c32491f1b3d02\",\"urls\":[\"bzz-raw://ca5bd8d25a99b03a29a764ce6f887dd1022b50b9308ef705be0d71ad79687f08\",\"dweb:/ipfs/QmSYMnxLnn4HGNy32YHDEs8rNkNwV6h4xsvDbKCv3vAMMt\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b506040516102673803806102678339818101604052602081101561003357600080fd5b5051600180546001600160a01b0319166001600160a01b03909216919091179055610204806100636000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063017e7e5814610051578063094b741514610075578063a2e74af61461007d578063f46901ed146100a5575b600080fd5b6100596100cb565b604080516001600160a01b039092168252519081900360200190f35b6100596100da565b6100a36004803603602081101561009357600080fd5b50356001600160a01b03166100e9565b005b6100a3600480360360208110156100bb57600080fd5b50356001600160a01b031661015c565b6000546001600160a01b031681565b6001546001600160a01b031681565b6001546001600160a01b0316331461013a576040805162461bcd60e51b815260206004820152600f60248201526e2837b7b31d102327a92124a22222a760891b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146101ad576040805162461bcd60e51b815260206004820152600f60248201526e2837b7b31d102327a92124a22222a760891b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b039290921691909117905556fea265627a7a723158206a757806aa409461ff72f1edf5093477492e6d063b792779acb98460ba01efdf64736f6c63430005110032", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063017e7e5814610051578063094b741514610075578063a2e74af61461007d578063f46901ed146100a5575b600080fd5b6100596100cb565b604080516001600160a01b039092168252519081900360200190f35b6100596100da565b6100a36004803603602081101561009357600080fd5b50356001600160a01b03166100e9565b005b6100a3600480360360208110156100bb57600080fd5b50356001600160a01b031661015c565b6000546001600160a01b031681565b6001546001600160a01b031681565b6001546001600160a01b0316331461013a576040805162461bcd60e51b815260206004820152600f60248201526e2837b7b31d102327a92124a22222a760891b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146101ad576040805162461bcd60e51b815260206004820152600f60248201526e2837b7b31d102327a92124a22222a760891b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b039290921691909117905556fea265627a7a723158206a757806aa409461ff72f1edf5093477492e6d063b792779acb98460ba01efdf64736f6c63430005110032", "sourceMap": "25:453:1:-;;;104:78;8:9:-1;5:2;;;30:1;27;20:12;5:2;104:78:1;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;104:78:1;151:11;:26;;-1:-1:-1;;;;;;151:26:1;-1:-1:-1;;;;;151:26:1;;;;;;;;;25:453;;;-1:-1:-1;25:453:1;;", "deployedSourceMap": "25:453:1:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25:453:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:20;;;:::i;:::-;;;;-1:-1:-1;;;;;49:20:1;;;;;;;;;;;;;;73:26;;;:::i;321:155::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;321:155:1;-1:-1:-1;;;;;321:155:1;;:::i;:::-;;186:131;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;186:131:1;-1:-1:-1;;;;;186:131:1;;:::i;49:20::-;;;-1:-1:-1;;;;;49:20:1;;:::o;73:26::-;;;-1:-1:-1;;;;;73:26:1;;:::o;321:155::-;406:11;;-1:-1:-1;;;;;406:11:1;392:10;:25;384:53;;;;;-1:-1:-1;;;384:53:1;;;;;;;;;;;;-1:-1:-1;;;384:53:1;;;;;;;;;;;;;;;445:11;:26;;-1:-1:-1;;;;;;445:26:1;-1:-1:-1;;;;;445:26:1;;;;;;;;;;321:155::o;186:131::-;259:11;;-1:-1:-1;;;;;259:11:1;245:10;:25;237:53;;;;;-1:-1:-1;;;237:53:1;;;;;;;;;;;;-1:-1:-1;;;237:53:1;;;;;;;;;;;;;;;298:5;:14;;-1:-1:-1;;;;;;298:14:1;-1:-1:-1;;;;;298:14:1;;;;;;;;;;186:131::o", "source": "pragma solidity 0.5.17;\n\ncontract FeeManager {\n address public feeTo;\n address public feeToSetter;\n\n constructor(address _feeToSetter) public {\n feeToSetter = _feeToSetter;\n }\n\n function setFeeTo(address _feeTo) external {\n require(msg.sender == feeToSetter, 'Poof: FORBIDDEN');\n feeTo = _feeTo;\n }\n\n function setFeeToSetter(address _feeToSetter) external {\n require(msg.sender == feeToSetter, 'Poof: FORBIDDEN');\n feeToSetter = _feeToSetter;\n }\n}\n", - "sourcePath": "/Users/brianli/dotfiles/tornado-core/contracts/FeeManager.sol", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/FeeManager.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/FeeManager.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/FeeManager.sol", "exportedSymbols": { "FeeManager": [ 319 @@ -304,7 +304,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, + "referencedDeclaration": 3270, "src": "245:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -380,10 +380,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "src": "237:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -538,7 +538,7 @@ "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, + "referencedDeclaration": 3270, "src": "392:3:1", "typeDescriptions": { "typeIdentifier": "t_magic_message", @@ -614,10 +614,10 @@ "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "src": "384:7:1", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", @@ -752,7 +752,7 @@ }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/FeeManager.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/FeeManager.sol", "exportedSymbols": { "FeeManager": [ 319 @@ -1061,10 +1061,10 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -1105,7 +1105,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1068, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, @@ -1318,10 +1318,10 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, @@ -1362,7 +1362,7 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1068, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, @@ -1500,12 +1500,18 @@ "42220": { "events": {}, "links": {}, - "address": "0x7d21531Adf9d029Acc8C5b225d77Ce2a819887B6", - "transactionHash": "0x1e7d99d96bbf8bce1e1fb870088e2cd6cbdc27a87e8274d3cdb72042686b285d" + "address": "0x4f5a2d44Cdd06fEcEF8BEb064d2F83dC35718AA6", + "transactionHash": "0xffcbb19dd7ae7801ba05d692c21f2e2ccc3622c46f6b8c186b0dfafae619dd92" + }, + "44787": { + "events": {}, + "links": {}, + "address": "0x607f385971537CB71ec87C4592Cd1b7a6eaE73B9", + "transactionHash": "0x8097e52c23604831ededea9f0b5bd3b38fe4c4bebee56aaf42a7145c2a476767" } }, "schemaVersion": "3.3.4", - "updatedAt": "2021-04-02T22:56:11.656Z", + "updatedAt": "2021-04-04T21:13:13.401Z", "networkType": "ethereum", "devdoc": { "methods": {} diff --git a/client/contracts/Hasher.json b/client/contracts/Hasher.json index 53cb6ef..b502672 100644 --- a/client/contracts/Hasher.json +++ b/client/contracts/Hasher.json @@ -40,17 +40,17 @@ "42220": { "events": {}, "links": {}, - "address": "0x5666A6E07d7b991489b1D0f53d37B664B312a1fE", - "transactionHash": "0x70b1d0c40688aed10a6281b09f1159e9a5d44b5654cd18f6ef7d56ee14d68bcf" + "address": "0xeE4628179283Be3f5096b94bc528e443cFAf7c2f", + "transactionHash": "0xf5a72c2f43c0049b81e3c91b678234d09af64589dd2f413246aa73959e68b8c3" }, "44787": { "events": {}, "links": {}, - "address": "0xd6ae2Af69ECb0A799a00c21e379e07f3bA185d6b", - "transactionHash": "0x0846464344daa2872ed30dc4dcbf9b5d7f5982298d99f1334a580650ca16528a" + "address": "0x415A7775E7B2DC547e071d752CF404316498a43A", + "transactionHash": "0xd60bde6db4fa8478054271acdb0116f350a972d78215152b1902cb2a2c32cb85" } }, "schemaVersion": "3.3.4", - "updatedAt": "2021-04-02T22:56:11.658Z", + "updatedAt": "2021-04-04T21:13:13.402Z", "networkType": "ethereum" } \ No newline at end of file diff --git a/client/contracts/IERC20.json b/client/contracts/IERC20.json index d5e8c8f..faa3441 100644 --- a/client/contracts/IERC20.json +++ b/client/contracts/IERC20.json @@ -208,14 +208,14 @@ "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "exportedSymbols": { "IERC20": [ - 3215 + 3225 ] }, - "id": 3216, + "id": 3226, "nodeType": "SourceUnit", "nodes": [ { - "id": 3148, + "id": 3158, "literals": [ "solidity", "^", @@ -231,9 +231,9 @@ "contractKind": "interface", "documentation": "@dev Interface of the ERC20 standard as defined in the EIP. Does not include\nthe optional functions; to access them see {ERC20Detailed}.", "fullyImplemented": false, - "id": 3215, + "id": 3225, "linearizedBaseContracts": [ - 3215 + 3225 ], "name": "IERC20", "nodeType": "ContractDefinition", @@ -241,28 +241,28 @@ { "body": null, "documentation": "@dev Returns the amount of tokens in existence.", - "id": 3153, + "id": 3163, "implemented": false, "kind": "function", "modifiers": [], "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 3149, + "id": 3159, "nodeType": "ParameterList", "parameters": [], "src": "290:2:17" }, "returnParameters": { - "id": 3152, + "id": 3162, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3151, + "id": 3161, "name": "", "nodeType": "VariableDeclaration", - "scope": 3153, + "scope": 3163, "src": "316:7:17", "stateVariable": false, "storageLocation": "default", @@ -271,7 +271,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3150, + "id": 3160, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "316:7:17", @@ -286,7 +286,7 @@ ], "src": "315:9:17" }, - "scope": 3215, + "scope": 3225, "src": "270:55:17", "stateMutability": "view", "superFunction": null, @@ -295,22 +295,22 @@ { "body": null, "documentation": "@dev Returns the amount of tokens owned by `account`.", - "id": 3160, + "id": 3170, "implemented": false, "kind": "function", "modifiers": [], "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 3156, + "id": 3166, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3155, + "id": 3165, "name": "account", "nodeType": "VariableDeclaration", - "scope": 3160, + "scope": 3170, "src": "427:15:17", "stateVariable": false, "storageLocation": "default", @@ -319,7 +319,7 @@ "typeString": "address" }, "typeName": { - "id": 3154, + "id": 3164, "name": "address", "nodeType": "ElementaryTypeName", "src": "427:7:17", @@ -336,15 +336,15 @@ "src": "426:17:17" }, "returnParameters": { - "id": 3159, + "id": 3169, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3158, + "id": 3168, "name": "", "nodeType": "VariableDeclaration", - "scope": 3160, + "scope": 3170, "src": "467:7:17", "stateVariable": false, "storageLocation": "default", @@ -353,7 +353,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3157, + "id": 3167, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "467:7:17", @@ -368,7 +368,7 @@ ], "src": "466:9:17" }, - "scope": 3215, + "scope": 3225, "src": "408:68:17", "stateMutability": "view", "superFunction": null, @@ -377,22 +377,22 @@ { "body": null, "documentation": "@dev Moves `amount` tokens from the caller's account to `recipient`.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 3169, + "id": 3179, "implemented": false, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 3165, + "id": 3175, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3162, + "id": 3172, "name": "recipient", "nodeType": "VariableDeclaration", - "scope": 3169, + "scope": 3179, "src": "714:17:17", "stateVariable": false, "storageLocation": "default", @@ -401,7 +401,7 @@ "typeString": "address" }, "typeName": { - "id": 3161, + "id": 3171, "name": "address", "nodeType": "ElementaryTypeName", "src": "714:7:17", @@ -416,10 +416,10 @@ }, { "constant": false, - "id": 3164, + "id": 3174, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 3169, + "scope": 3179, "src": "733:14:17", "stateVariable": false, "storageLocation": "default", @@ -428,7 +428,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3163, + "id": 3173, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "733:7:17", @@ -444,15 +444,15 @@ "src": "713:35:17" }, "returnParameters": { - "id": 3168, + "id": 3178, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3167, + "id": 3177, "name": "", "nodeType": "VariableDeclaration", - "scope": 3169, + "scope": 3179, "src": "767:4:17", "stateVariable": false, "storageLocation": "default", @@ -461,7 +461,7 @@ "typeString": "bool" }, "typeName": { - "id": 3166, + "id": 3176, "name": "bool", "nodeType": "ElementaryTypeName", "src": "767:4:17", @@ -476,7 +476,7 @@ ], "src": "766:6:17" }, - "scope": 3215, + "scope": 3225, "src": "696:77:17", "stateMutability": "nonpayable", "superFunction": null, @@ -485,22 +485,22 @@ { "body": null, "documentation": "@dev Returns the remaining number of tokens that `spender` will be\nallowed to spend on behalf of `owner` through {transferFrom}. This is\nzero by default.\n * This value changes when {approve} or {transferFrom} are called.", - "id": 3178, + "id": 3188, "implemented": false, "kind": "function", "modifiers": [], "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 3174, + "id": 3184, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3171, + "id": 3181, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 3178, + "scope": 3188, "src": "1067:13:17", "stateVariable": false, "storageLocation": "default", @@ -509,7 +509,7 @@ "typeString": "address" }, "typeName": { - "id": 3170, + "id": 3180, "name": "address", "nodeType": "ElementaryTypeName", "src": "1067:7:17", @@ -524,10 +524,10 @@ }, { "constant": false, - "id": 3173, + "id": 3183, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 3178, + "scope": 3188, "src": "1082:15:17", "stateVariable": false, "storageLocation": "default", @@ -536,7 +536,7 @@ "typeString": "address" }, "typeName": { - "id": 3172, + "id": 3182, "name": "address", "nodeType": "ElementaryTypeName", "src": "1082:7:17", @@ -553,15 +553,15 @@ "src": "1066:32:17" }, "returnParameters": { - "id": 3177, + "id": 3187, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3176, + "id": 3186, "name": "", "nodeType": "VariableDeclaration", - "scope": 3178, + "scope": 3188, "src": "1122:7:17", "stateVariable": false, "storageLocation": "default", @@ -570,7 +570,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3175, + "id": 3185, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1122:7:17", @@ -585,7 +585,7 @@ ], "src": "1121:9:17" }, - "scope": 3215, + "scope": 3225, "src": "1048:83:17", "stateMutability": "view", "superFunction": null, @@ -594,22 +594,22 @@ { "body": null, "documentation": "@dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n * Returns a boolean value indicating whether the operation succeeded.\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\nthat someone may use both the old and the new allowance by unfortunate\ntransaction ordering. One possible solution to mitigate this race\ncondition is to first reduce the spender's allowance to 0 and set the\ndesired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * Emits an {Approval} event.", - "id": 3187, + "id": 3197, "implemented": false, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 3183, + "id": 3193, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3180, + "id": 3190, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 3187, + "scope": 3197, "src": "1801:15:17", "stateVariable": false, "storageLocation": "default", @@ -618,7 +618,7 @@ "typeString": "address" }, "typeName": { - "id": 3179, + "id": 3189, "name": "address", "nodeType": "ElementaryTypeName", "src": "1801:7:17", @@ -633,10 +633,10 @@ }, { "constant": false, - "id": 3182, + "id": 3192, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 3187, + "scope": 3197, "src": "1818:14:17", "stateVariable": false, "storageLocation": "default", @@ -645,7 +645,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3181, + "id": 3191, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1818:7:17", @@ -661,15 +661,15 @@ "src": "1800:33:17" }, "returnParameters": { - "id": 3186, + "id": 3196, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3185, + "id": 3195, "name": "", "nodeType": "VariableDeclaration", - "scope": 3187, + "scope": 3197, "src": "1852:4:17", "stateVariable": false, "storageLocation": "default", @@ -678,7 +678,7 @@ "typeString": "bool" }, "typeName": { - "id": 3184, + "id": 3194, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1852:4:17", @@ -693,7 +693,7 @@ ], "src": "1851:6:17" }, - "scope": 3215, + "scope": 3225, "src": "1784:74:17", "stateMutability": "nonpayable", "superFunction": null, @@ -702,22 +702,22 @@ { "body": null, "documentation": "@dev Moves `amount` tokens from `sender` to `recipient` using the\nallowance mechanism. `amount` is then deducted from the caller's\nallowance.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 3198, + "id": 3208, "implemented": false, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 3194, + "id": 3204, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3189, + "id": 3199, "name": "sender", "nodeType": "VariableDeclaration", - "scope": 3198, + "scope": 3208, "src": "2187:14:17", "stateVariable": false, "storageLocation": "default", @@ -726,7 +726,7 @@ "typeString": "address" }, "typeName": { - "id": 3188, + "id": 3198, "name": "address", "nodeType": "ElementaryTypeName", "src": "2187:7:17", @@ -741,10 +741,10 @@ }, { "constant": false, - "id": 3191, + "id": 3201, "name": "recipient", "nodeType": "VariableDeclaration", - "scope": 3198, + "scope": 3208, "src": "2203:17:17", "stateVariable": false, "storageLocation": "default", @@ -753,7 +753,7 @@ "typeString": "address" }, "typeName": { - "id": 3190, + "id": 3200, "name": "address", "nodeType": "ElementaryTypeName", "src": "2203:7:17", @@ -768,10 +768,10 @@ }, { "constant": false, - "id": 3193, + "id": 3203, "name": "amount", "nodeType": "VariableDeclaration", - "scope": 3198, + "scope": 3208, "src": "2222:14:17", "stateVariable": false, "storageLocation": "default", @@ -780,7 +780,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3192, + "id": 3202, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2222:7:17", @@ -796,15 +796,15 @@ "src": "2186:51:17" }, "returnParameters": { - "id": 3197, + "id": 3207, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3196, + "id": 3206, "name": "", "nodeType": "VariableDeclaration", - "scope": 3198, + "scope": 3208, "src": "2256:4:17", "stateVariable": false, "storageLocation": "default", @@ -813,7 +813,7 @@ "typeString": "bool" }, "typeName": { - "id": 3195, + "id": 3205, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2256:4:17", @@ -828,7 +828,7 @@ ], "src": "2255:6:17" }, - "scope": 3215, + "scope": 3225, "src": "2165:97:17", "stateMutability": "nonpayable", "superFunction": null, @@ -837,20 +837,20 @@ { "anonymous": false, "documentation": "@dev Emitted when `value` tokens are moved from one account (`from`) to\nanother (`to`).\n * Note that `value` may be zero.", - "id": 3206, + "id": 3216, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 3205, + "id": 3215, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3200, + "id": 3210, "indexed": true, "name": "from", "nodeType": "VariableDeclaration", - "scope": 3206, + "scope": 3216, "src": "2446:20:17", "stateVariable": false, "storageLocation": "default", @@ -859,7 +859,7 @@ "typeString": "address" }, "typeName": { - "id": 3199, + "id": 3209, "name": "address", "nodeType": "ElementaryTypeName", "src": "2446:7:17", @@ -874,11 +874,11 @@ }, { "constant": false, - "id": 3202, + "id": 3212, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 3206, + "scope": 3216, "src": "2468:18:17", "stateVariable": false, "storageLocation": "default", @@ -887,7 +887,7 @@ "typeString": "address" }, "typeName": { - "id": 3201, + "id": 3211, "name": "address", "nodeType": "ElementaryTypeName", "src": "2468:7:17", @@ -902,11 +902,11 @@ }, { "constant": false, - "id": 3204, + "id": 3214, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 3206, + "scope": 3216, "src": "2488:13:17", "stateVariable": false, "storageLocation": "default", @@ -915,7 +915,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3203, + "id": 3213, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2488:7:17", @@ -935,20 +935,20 @@ { "anonymous": false, "documentation": "@dev Emitted when the allowance of a `spender` for an `owner` is set by\na call to {approve}. `value` is the new allowance.", - "id": 3214, + "id": 3224, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 3213, + "id": 3223, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3208, + "id": 3218, "indexed": true, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 3214, + "scope": 3224, "src": "2677:21:17", "stateVariable": false, "storageLocation": "default", @@ -957,7 +957,7 @@ "typeString": "address" }, "typeName": { - "id": 3207, + "id": 3217, "name": "address", "nodeType": "ElementaryTypeName", "src": "2677:7:17", @@ -972,11 +972,11 @@ }, { "constant": false, - "id": 3210, + "id": 3220, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 3214, + "scope": 3224, "src": "2700:23:17", "stateVariable": false, "storageLocation": "default", @@ -985,7 +985,7 @@ "typeString": "address" }, "typeName": { - "id": 3209, + "id": 3219, "name": "address", "nodeType": "ElementaryTypeName", "src": "2700:7:17", @@ -1000,11 +1000,11 @@ }, { "constant": false, - "id": 3212, + "id": 3222, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 3214, + "scope": 3224, "src": "2725:13:17", "stateVariable": false, "storageLocation": "default", @@ -1013,7 +1013,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3211, + "id": 3221, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2725:7:17", @@ -1031,7 +1031,7 @@ "src": "2662:78:17" } ], - "scope": 3216, + "scope": 3226, "src": "176:2566:17" } ], @@ -1042,7 +1042,7 @@ "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "exportedSymbols": { "IERC20": [ - 3215 + 3225 ] } }, @@ -1056,7 +1056,7 @@ ".0" ] }, - "id": 3148, + "id": 3158, "name": "PragmaDirective", "src": "0:23:17" }, @@ -1072,10 +1072,10 @@ "documentation": "@dev Interface of the ERC20 standard as defined in the EIP. Does not include\nthe optional functions; to access them see {ERC20Detailed}.", "fullyImplemented": false, "linearizedBaseContracts": [ - 3215 + 3225 ], "name": "IERC20", - "scope": 3216 + "scope": 3226 }, "children": [ { @@ -1089,7 +1089,7 @@ null ], "name": "totalSupply", - "scope": 3215, + "scope": 3225, "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -1102,7 +1102,7 @@ ] }, "children": [], - "id": 3149, + "id": 3159, "name": "ParameterList", "src": "290:2:17" }, @@ -1112,7 +1112,7 @@ "attributes": { "constant": false, "name": "", - "scope": 3153, + "scope": 3163, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1125,22 +1125,22 @@ "name": "uint256", "type": "uint256" }, - "id": 3150, + "id": 3160, "name": "ElementaryTypeName", "src": "316:7:17" } ], - "id": 3151, + "id": 3161, "name": "VariableDeclaration", "src": "316:7:17" } ], - "id": 3152, + "id": 3162, "name": "ParameterList", "src": "315:9:17" } ], - "id": 3153, + "id": 3163, "name": "FunctionDefinition", "src": "270:55:17" }, @@ -1155,7 +1155,7 @@ null ], "name": "balanceOf", - "scope": 3215, + "scope": 3225, "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -1167,7 +1167,7 @@ "attributes": { "constant": false, "name": "account", - "scope": 3160, + "scope": 3170, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1181,17 +1181,17 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 3154, + "id": 3164, "name": "ElementaryTypeName", "src": "427:7:17" } ], - "id": 3155, + "id": 3165, "name": "VariableDeclaration", "src": "427:15:17" } ], - "id": 3156, + "id": 3166, "name": "ParameterList", "src": "426:17:17" }, @@ -1201,7 +1201,7 @@ "attributes": { "constant": false, "name": "", - "scope": 3160, + "scope": 3170, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1214,22 +1214,22 @@ "name": "uint256", "type": "uint256" }, - "id": 3157, + "id": 3167, "name": "ElementaryTypeName", "src": "467:7:17" } ], - "id": 3158, + "id": 3168, "name": "VariableDeclaration", "src": "467:7:17" } ], - "id": 3159, + "id": 3169, "name": "ParameterList", "src": "466:9:17" } ], - "id": 3160, + "id": 3170, "name": "FunctionDefinition", "src": "408:68:17" }, @@ -1244,7 +1244,7 @@ null ], "name": "transfer", - "scope": 3215, + "scope": 3225, "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -1256,7 +1256,7 @@ "attributes": { "constant": false, "name": "recipient", - "scope": 3169, + "scope": 3179, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1270,12 +1270,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 3161, + "id": 3171, "name": "ElementaryTypeName", "src": "714:7:17" } ], - "id": 3162, + "id": 3172, "name": "VariableDeclaration", "src": "714:17:17" }, @@ -1283,7 +1283,7 @@ "attributes": { "constant": false, "name": "amount", - "scope": 3169, + "scope": 3179, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1296,17 +1296,17 @@ "name": "uint256", "type": "uint256" }, - "id": 3163, + "id": 3173, "name": "ElementaryTypeName", "src": "733:7:17" } ], - "id": 3164, + "id": 3174, "name": "VariableDeclaration", "src": "733:14:17" } ], - "id": 3165, + "id": 3175, "name": "ParameterList", "src": "713:35:17" }, @@ -1316,7 +1316,7 @@ "attributes": { "constant": false, "name": "", - "scope": 3169, + "scope": 3179, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -1329,22 +1329,22 @@ "name": "bool", "type": "bool" }, - "id": 3166, + "id": 3176, "name": "ElementaryTypeName", "src": "767:4:17" } ], - "id": 3167, + "id": 3177, "name": "VariableDeclaration", "src": "767:4:17" } ], - "id": 3168, + "id": 3178, "name": "ParameterList", "src": "766:6:17" } ], - "id": 3169, + "id": 3179, "name": "FunctionDefinition", "src": "696:77:17" }, @@ -1359,7 +1359,7 @@ null ], "name": "allowance", - "scope": 3215, + "scope": 3225, "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -1371,7 +1371,7 @@ "attributes": { "constant": false, "name": "owner", - "scope": 3178, + "scope": 3188, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1385,12 +1385,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 3170, + "id": 3180, "name": "ElementaryTypeName", "src": "1067:7:17" } ], - "id": 3171, + "id": 3181, "name": "VariableDeclaration", "src": "1067:13:17" }, @@ -1398,7 +1398,7 @@ "attributes": { "constant": false, "name": "spender", - "scope": 3178, + "scope": 3188, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1412,17 +1412,17 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 3172, + "id": 3182, "name": "ElementaryTypeName", "src": "1082:7:17" } ], - "id": 3173, + "id": 3183, "name": "VariableDeclaration", "src": "1082:15:17" } ], - "id": 3174, + "id": 3184, "name": "ParameterList", "src": "1066:32:17" }, @@ -1432,7 +1432,7 @@ "attributes": { "constant": false, "name": "", - "scope": 3178, + "scope": 3188, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1445,22 +1445,22 @@ "name": "uint256", "type": "uint256" }, - "id": 3175, + "id": 3185, "name": "ElementaryTypeName", "src": "1122:7:17" } ], - "id": 3176, + "id": 3186, "name": "VariableDeclaration", "src": "1122:7:17" } ], - "id": 3177, + "id": 3187, "name": "ParameterList", "src": "1121:9:17" } ], - "id": 3178, + "id": 3188, "name": "FunctionDefinition", "src": "1048:83:17" }, @@ -1475,7 +1475,7 @@ null ], "name": "approve", - "scope": 3215, + "scope": 3225, "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -1487,7 +1487,7 @@ "attributes": { "constant": false, "name": "spender", - "scope": 3187, + "scope": 3197, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1501,12 +1501,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 3179, + "id": 3189, "name": "ElementaryTypeName", "src": "1801:7:17" } ], - "id": 3180, + "id": 3190, "name": "VariableDeclaration", "src": "1801:15:17" }, @@ -1514,7 +1514,7 @@ "attributes": { "constant": false, "name": "amount", - "scope": 3187, + "scope": 3197, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1527,17 +1527,17 @@ "name": "uint256", "type": "uint256" }, - "id": 3181, + "id": 3191, "name": "ElementaryTypeName", "src": "1818:7:17" } ], - "id": 3182, + "id": 3192, "name": "VariableDeclaration", "src": "1818:14:17" } ], - "id": 3183, + "id": 3193, "name": "ParameterList", "src": "1800:33:17" }, @@ -1547,7 +1547,7 @@ "attributes": { "constant": false, "name": "", - "scope": 3187, + "scope": 3197, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -1560,22 +1560,22 @@ "name": "bool", "type": "bool" }, - "id": 3184, + "id": 3194, "name": "ElementaryTypeName", "src": "1852:4:17" } ], - "id": 3185, + "id": 3195, "name": "VariableDeclaration", "src": "1852:4:17" } ], - "id": 3186, + "id": 3196, "name": "ParameterList", "src": "1851:6:17" } ], - "id": 3187, + "id": 3197, "name": "FunctionDefinition", "src": "1784:74:17" }, @@ -1590,7 +1590,7 @@ null ], "name": "transferFrom", - "scope": 3215, + "scope": 3225, "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -1602,7 +1602,7 @@ "attributes": { "constant": false, "name": "sender", - "scope": 3198, + "scope": 3208, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1616,12 +1616,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 3188, + "id": 3198, "name": "ElementaryTypeName", "src": "2187:7:17" } ], - "id": 3189, + "id": 3199, "name": "VariableDeclaration", "src": "2187:14:17" }, @@ -1629,7 +1629,7 @@ "attributes": { "constant": false, "name": "recipient", - "scope": 3198, + "scope": 3208, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1643,12 +1643,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 3190, + "id": 3200, "name": "ElementaryTypeName", "src": "2203:7:17" } ], - "id": 3191, + "id": 3201, "name": "VariableDeclaration", "src": "2203:17:17" }, @@ -1656,7 +1656,7 @@ "attributes": { "constant": false, "name": "amount", - "scope": 3198, + "scope": 3208, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1669,17 +1669,17 @@ "name": "uint256", "type": "uint256" }, - "id": 3192, + "id": 3202, "name": "ElementaryTypeName", "src": "2222:7:17" } ], - "id": 3193, + "id": 3203, "name": "VariableDeclaration", "src": "2222:14:17" } ], - "id": 3194, + "id": 3204, "name": "ParameterList", "src": "2186:51:17" }, @@ -1689,7 +1689,7 @@ "attributes": { "constant": false, "name": "", - "scope": 3198, + "scope": 3208, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -1702,22 +1702,22 @@ "name": "bool", "type": "bool" }, - "id": 3195, + "id": 3205, "name": "ElementaryTypeName", "src": "2256:4:17" } ], - "id": 3196, + "id": 3206, "name": "VariableDeclaration", "src": "2256:4:17" } ], - "id": 3197, + "id": 3207, "name": "ParameterList", "src": "2255:6:17" } ], - "id": 3198, + "id": 3208, "name": "FunctionDefinition", "src": "2165:97:17" }, @@ -1735,7 +1735,7 @@ "constant": false, "indexed": true, "name": "from", - "scope": 3206, + "scope": 3216, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1749,12 +1749,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 3199, + "id": 3209, "name": "ElementaryTypeName", "src": "2446:7:17" } ], - "id": 3200, + "id": 3210, "name": "VariableDeclaration", "src": "2446:20:17" }, @@ -1763,7 +1763,7 @@ "constant": false, "indexed": true, "name": "to", - "scope": 3206, + "scope": 3216, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1777,12 +1777,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 3201, + "id": 3211, "name": "ElementaryTypeName", "src": "2468:7:17" } ], - "id": 3202, + "id": 3212, "name": "VariableDeclaration", "src": "2468:18:17" }, @@ -1791,7 +1791,7 @@ "constant": false, "indexed": false, "name": "value", - "scope": 3206, + "scope": 3216, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1804,22 +1804,22 @@ "name": "uint256", "type": "uint256" }, - "id": 3203, + "id": 3213, "name": "ElementaryTypeName", "src": "2488:7:17" } ], - "id": 3204, + "id": 3214, "name": "VariableDeclaration", "src": "2488:13:17" } ], - "id": 3205, + "id": 3215, "name": "ParameterList", "src": "2445:57:17" } ], - "id": 3206, + "id": 3216, "name": "EventDefinition", "src": "2431:72:17" }, @@ -1837,7 +1837,7 @@ "constant": false, "indexed": true, "name": "owner", - "scope": 3214, + "scope": 3224, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1851,12 +1851,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 3207, + "id": 3217, "name": "ElementaryTypeName", "src": "2677:7:17" } ], - "id": 3208, + "id": 3218, "name": "VariableDeclaration", "src": "2677:21:17" }, @@ -1865,7 +1865,7 @@ "constant": false, "indexed": true, "name": "spender", - "scope": 3214, + "scope": 3224, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1879,12 +1879,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 3209, + "id": 3219, "name": "ElementaryTypeName", "src": "2700:7:17" } ], - "id": 3210, + "id": 3220, "name": "VariableDeclaration", "src": "2700:23:17" }, @@ -1893,7 +1893,7 @@ "constant": false, "indexed": false, "name": "value", - "scope": 3214, + "scope": 3224, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1906,32 +1906,32 @@ "name": "uint256", "type": "uint256" }, - "id": 3211, + "id": 3221, "name": "ElementaryTypeName", "src": "2725:7:17" } ], - "id": 3212, + "id": 3222, "name": "VariableDeclaration", "src": "2725:13:17" } ], - "id": 3213, + "id": 3223, "name": "ParameterList", "src": "2676:63:17" } ], - "id": 3214, + "id": 3224, "name": "EventDefinition", "src": "2662:78:17" } ], - "id": 3215, + "id": 3225, "name": "ContractDefinition", "src": "176:2566:17" } ], - "id": 3216, + "id": 3226, "name": "SourceUnit", "src": "0:2743:17" }, @@ -1941,7 +1941,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-03-14T02:18:33.154Z", + "updatedAt": "2021-04-04T20:21:29.918Z", "devdoc": { "details": "Interface of the ERC20 standard as defined in the EIP. Does not include the optional functions; to access them see {ERC20Detailed}.", "methods": { diff --git a/client/contracts/IFeeManager.json b/client/contracts/IFeeManager.json index 66f16da..3eb773c 100644 --- a/client/contracts/IFeeManager.json +++ b/client/contracts/IFeeManager.json @@ -17,58 +17,58 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"feeTo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol\":\"IFeeManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol\":{\"keccak256\":\"0xe7db8acb3efcecf95c7364f447ed1764c571dbf5090fd4641fe4668a965332eb\",\"urls\":[\"bzz-raw://45e790c247c38ed8ae473e3165c1148ea10a753cf6e9f9c8742394019be2aef6\",\"dweb:/ipfs/QmaGfk1ndvqur2NvCY3TWoKuorfBVShXeykKei18GDY582\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"feeTo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/Tornado.sol\":\"IFeeManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/home/home/dotfiles/tornado-core/contracts/Tornado.sol\":{\"keccak256\":\"0xe7db8acb3efcecf95c7364f447ed1764c571dbf5090fd4641fe4668a965332eb\",\"urls\":[\"bzz-raw://45e790c247c38ed8ae473e3165c1148ea10a753cf6e9f9c8742394019be2aef6\",\"dweb:/ipfs/QmaGfk1ndvqur2NvCY3TWoKuorfBVShXeykKei18GDY582\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", "source": "pragma solidity 0.5.17;\n\nimport \"./MerkleTreeWithHistory.sol\";\nimport \"@openzeppelin/contracts/utils/ReentrancyGuard.sol\";\n\ncontract IVerifier {\n function verifyProof(bytes memory _proof, uint256[6] memory _input) public returns(bool);\n}\n\ncontract IFeeManager {\n function feeTo() external view returns (address);\n}\n\ncontract Tornado is MerkleTreeWithHistory, ReentrancyGuard {\n uint256 public denomination;\n mapping(bytes32 => bool) public nullifierHashes;\n // we store all commitments just to prevent accidental deposits with the same commitment\n mapping(bytes32 => bool) public commitments;\n IVerifier public verifier;\n IFeeManager public feeManager;\n\n // operator can update snark verification key\n // after the final trusted setup ceremony operator rights are supposed to be transferred to zero address\n address public operator;\n modifier onlyOperator {\n require(msg.sender == operator, \"Only operator can call this function.\");\n _;\n }\n\n event Deposit(bytes32 indexed commitment, uint32 leafIndex, uint256 timestamp);\n event Withdrawal(address to, bytes32 nullifierHash, address indexed relayer, uint256 fee);\n\n /**\n @dev The constructor\n @param _verifier the address of SNARK verifier for this contract\n @param _denomination transfer amount for each deposit\n @param _merkleTreeHeight the height of deposits' Merkle Tree\n @param _operator operator address (see operator comment above)\n */\n constructor(\n IVerifier _verifier,\n IFeeManager _feeManager,\n uint256 _denomination,\n uint32 _merkleTreeHeight,\n address _operator\n ) MerkleTreeWithHistory(_merkleTreeHeight) public {\n require(_denomination > 0, \"denomination should be greater than 0\");\n verifier = _verifier;\n feeManager = _feeManager;\n operator = _operator;\n denomination = _denomination;\n }\n\n /**\n @dev Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\n @param _commitment the note commitment, which is PedersenHash(nullifier + secret)\n */\n function deposit(bytes32 _commitment) external payable nonReentrant {\n require(!commitments[_commitment], \"The commitment has been submitted\");\n\n uint32 insertedIndex = _insert(_commitment);\n commitments[_commitment] = true;\n _processDeposit();\n\n emit Deposit(_commitment, insertedIndex, block.timestamp);\n }\n\n /** @dev this function is defined in a child contract */\n function _processDeposit() internal;\n\n /**\n @dev Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs\n `input` array consists of:\n - merkle root of all deposits in the contract\n - hash of unique deposit nullifier to prevent double spends\n - the recipient of funds\n - optional fee that goes to the transaction sender (usually a relay)\n */\n function withdraw(bytes calldata _proof, bytes32 _root, bytes32 _nullifierHash, address payable _recipient, address payable _relayer, uint256 _fee, uint256 _refund) external payable nonReentrant {\n require(_fee <= denomination, \"Fee exceeds transfer value\");\n require(!nullifierHashes[_nullifierHash], \"The note has been already spent\");\n require(isKnownRoot(_root), \"Cannot find your merkle root\"); // Make sure to use a recent one\n require(verifier.verifyProof(_proof, [uint256(_root), uint256(_nullifierHash), uint256(_recipient), uint256(_relayer), _fee, _refund]), \"Invalid withdraw proof\");\n\n nullifierHashes[_nullifierHash] = true;\n _processWithdraw(_recipient, _relayer, _fee, _refund, feeManager.feeTo());\n emit Withdrawal(_recipient, _nullifierHash, _relayer, _fee);\n }\n\n /** @dev this function is defined in a child contract */\n function _processWithdraw(address payable _recipient, address payable _relayer, uint256 _relayer_fee, uint256 _refund, address _feeTo) internal;\n\n /** @dev whether a note is already spent */\n function isSpent(bytes32 _nullifierHash) public view returns(bool) {\n return nullifierHashes[_nullifierHash];\n }\n\n /** @dev whether an array of notes is already spent */\n function isSpentArray(bytes32[] calldata _nullifierHashes) external view returns(bool[] memory spent) {\n spent = new bool[](_nullifierHashes.length);\n for(uint i = 0; i < _nullifierHashes.length; i++) {\n if (isSpent(_nullifierHashes[i])) {\n spent[i] = true;\n }\n }\n }\n\n /**\n @dev allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held.\n After that operator rights are supposed to be transferred to zero address\n */\n function updateVerifier(address _newVerifier) external onlyOperator {\n verifier = IVerifier(_newVerifier);\n }\n\n /** @dev operator can change his address */\n function changeOperator(address _newOperator) external onlyOperator {\n operator = _newOperator;\n }\n}\n", - "sourcePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "exportedSymbols": { "IFeeManager": [ - 707 + 888 ], "IVerifier": [ - 701 + 882 ], "Tornado": [ - 1023 + 1204 ] }, - "id": 1024, + "id": 1205, "nodeType": "SourceUnit", "nodes": [ { - "id": 687, + "id": 868, "literals": [ "solidity", "0.5", ".17" ], "nodeType": "PragmaDirective", - "src": "0:23:3" + "src": "0:23:8" }, { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", "file": "./MerkleTreeWithHistory.sol", - "id": 688, + "id": 869, "nodeType": "ImportDirective", - "scope": 1024, + "scope": 1205, "sourceUnit": 686, - "src": "25:37:3", + "src": "25:37:8", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/utils/ReentrancyGuard.sol", "file": "@openzeppelin/contracts/utils/ReentrancyGuard.sol", - "id": 689, + "id": 870, "nodeType": "ImportDirective", - "scope": 1024, - "sourceUnit": 1054, - "src": "63:59:3", + "scope": 1205, + "sourceUnit": 3256, + "src": "63:59:8", "symbolAliases": [], "unitAlias": "" }, @@ -78,9 +78,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 701, + "id": 882, "linearizedBaseContracts": [ - 701 + 882 ], "name": "IVerifier", "nodeType": "ContractDefinition", @@ -88,23 +88,23 @@ { "body": null, "documentation": null, - "id": 700, + "id": 881, "implemented": false, "kind": "function", "modifiers": [], "name": "verifyProof", "nodeType": "FunctionDefinition", "parameters": { - "id": 696, + "id": 877, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 691, + "id": 872, "name": "_proof", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "168:19:3", + "scope": 881, + "src": "168:19:8", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -112,10 +112,10 @@ "typeString": "bytes" }, "typeName": { - "id": 690, + "id": 871, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "168:5:3", + "src": "168:5:8", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -126,11 +126,11 @@ }, { "constant": false, - "id": 695, + "id": 876, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "189:24:3", + "scope": 881, + "src": "189:24:8", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -139,27 +139,27 @@ }, "typeName": { "baseType": { - "id": 692, + "id": 873, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "189:7:3", + "src": "189:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 694, + "id": 875, "length": { "argumentTypes": null, "hexValue": "36", - "id": 693, + "id": 874, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "197:1:3", + "src": "197:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -168,7 +168,7 @@ "value": "6" }, "nodeType": "ArrayTypeName", - "src": "189:10:3", + "src": "189:10:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", "typeString": "uint256[6]" @@ -178,19 +178,19 @@ "visibility": "internal" } ], - "src": "167:47:3" + "src": "167:47:8" }, "returnParameters": { - "id": 699, + "id": 880, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 698, + "id": 879, "name": "", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "230:4:3", + "scope": 881, + "src": "230:4:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -198,10 +198,10 @@ "typeString": "bool" }, "typeName": { - "id": 697, + "id": 878, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "230:4:3", + "src": "230:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -211,17 +211,17 @@ "visibility": "internal" } ], - "src": "229:6:3" + "src": "229:6:8" }, - "scope": 701, - "src": "147:89:3", + "scope": 882, + "src": "147:89:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1024, - "src": "124:114:3" + "scope": 1205, + "src": "124:114:8" }, { "baseContracts": [], @@ -229,9 +229,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 707, + "id": 888, "linearizedBaseContracts": [ - 707 + 888 ], "name": "IFeeManager", "nodeType": "ContractDefinition", @@ -239,29 +239,29 @@ { "body": null, "documentation": null, - "id": 706, + "id": 887, "implemented": false, "kind": "function", "modifiers": [], "name": "feeTo", "nodeType": "FunctionDefinition", "parameters": { - "id": 702, + "id": 883, "nodeType": "ParameterList", "parameters": [], - "src": "279:2:3" + "src": "279:2:8" }, "returnParameters": { - "id": 705, + "id": 886, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 704, + "id": 885, "name": "", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "305:7:3", + "scope": 887, + "src": "305:7:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -269,10 +269,10 @@ "typeString": "address" }, "typeName": { - "id": 703, + "id": 884, "name": "address", "nodeType": "ElementaryTypeName", - "src": "305:7:3", + "src": "305:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -283,17 +283,17 @@ "visibility": "internal" } ], - "src": "304:9:3" + "src": "304:9:8" }, - "scope": 707, - "src": "265:49:3", + "scope": 888, + "src": "265:49:8", "stateMutability": "view", "superFunction": null, "visibility": "external" } ], - "scope": 1024, - "src": "240:76:3" + "scope": 1205, + "src": "240:76:8" }, { "baseContracts": [ @@ -301,50 +301,50 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 708, + "id": 889, "name": "MerkleTreeWithHistory", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 685, - "src": "338:21:3", + "src": "338:21:8", "typeDescriptions": { "typeIdentifier": "t_contract$_MerkleTreeWithHistory_$685", "typeString": "contract MerkleTreeWithHistory" } }, - "id": 709, + "id": 890, "nodeType": "InheritanceSpecifier", - "src": "338:21:3" + "src": "338:21:8" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 710, + "id": 891, "name": "ReentrancyGuard", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1053, - "src": "361:15:3", + "referencedDeclaration": 3255, + "src": "361:15:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_ReentrancyGuard_$1053", + "typeIdentifier": "t_contract$_ReentrancyGuard_$3255", "typeString": "contract ReentrancyGuard" } }, - "id": 711, + "id": 892, "nodeType": "InheritanceSpecifier", - "src": "361:15:3" + "src": "361:15:8" } ], "contractDependencies": [ 685, - 1053 + 3255 ], "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 1023, + "id": 1204, "linearizedBaseContracts": [ - 1023, - 1053, + 1204, + 3255, 685 ], "name": "Tornado", @@ -352,11 +352,11 @@ "nodes": [ { "constant": false, - "id": 713, + "id": 894, "name": "denomination", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "381:27:3", + "scope": 1204, + "src": "381:27:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -364,10 +364,10 @@ "typeString": "uint256" }, "typeName": { - "id": 712, + "id": 893, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "381:7:3", + "src": "381:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -378,11 +378,11 @@ }, { "constant": false, - "id": 717, + "id": 898, "name": "nullifierHashes", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "412:47:3", + "scope": 1204, + "src": "412:47:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -390,28 +390,28 @@ "typeString": "mapping(bytes32 => bool)" }, "typeName": { - "id": 716, + "id": 897, "keyType": { - "id": 714, + "id": 895, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "420:7:3", + "src": "420:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "412:24:3", + "src": "412:24:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" }, "valueType": { - "id": 715, + "id": 896, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "431:4:3", + "src": "431:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -423,11 +423,11 @@ }, { "constant": false, - "id": 721, + "id": 902, "name": "commitments", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "554:43:3", + "scope": 1204, + "src": "554:43:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -435,28 +435,28 @@ "typeString": "mapping(bytes32 => bool)" }, "typeName": { - "id": 720, + "id": 901, "keyType": { - "id": 718, + "id": 899, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "562:7:3", + "src": "562:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "554:24:3", + "src": "554:24:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" }, "valueType": { - "id": 719, + "id": 900, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "573:4:3", + "src": "573:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -468,26 +468,26 @@ }, { "constant": false, - "id": 723, + "id": 904, "name": "verifier", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "601:25:3", + "scope": 1204, + "src": "601:25:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" }, "typeName": { "contractScope": null, - "id": 722, + "id": 903, "name": "IVerifier", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 701, - "src": "601:9:3", + "referencedDeclaration": 882, + "src": "601:9:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -496,26 +496,26 @@ }, { "constant": false, - "id": 725, + "id": 906, "name": "feeManager", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "630:29:3", + "scope": 1204, + "src": "630:29:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" }, "typeName": { "contractScope": null, - "id": 724, + "id": 905, "name": "IFeeManager", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 707, - "src": "630:11:3", + "referencedDeclaration": 888, + "src": "630:11:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -524,11 +524,11 @@ }, { "constant": false, - "id": 727, + "id": 908, "name": "operator", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "819:23:3", + "scope": 1204, + "src": "819:23:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -536,10 +536,10 @@ "typeString": "address" }, "typeName": { - "id": 726, + "id": 907, "name": "address", "nodeType": "ElementaryTypeName", - "src": "819:7:3", + "src": "819:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -551,9 +551,9 @@ }, { "body": { - "id": 738, + "id": 919, "nodeType": "Block", - "src": "868:90:3", + "src": "868:90:8", "statements": [ { "expression": { @@ -565,7 +565,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 733, + "id": 914, "isConstant": false, "isLValue": false, "isPure": false, @@ -574,18 +574,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 730, + "id": 911, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "882:3:3", + "referencedDeclaration": 3270, + "src": "882:3:8", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 731, + "id": 912, "isConstant": false, "isLValue": false, "isPure": false, @@ -593,7 +593,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "882:10:3", + "src": "882:10:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -603,18 +603,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 732, + "id": 913, "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "896:8:3", + "referencedDeclaration": 908, + "src": "896:8:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "882:22:3", + "src": "882:22:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -623,14 +623,14 @@ { "argumentTypes": null, "hexValue": "4f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2e", - "id": 734, + "id": 915, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "906:39:3", + "src": "906:39:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e8393660073679be7a6133571fe2ca8983a31a683c72e9055f401ac33a2efffc", @@ -650,21 +650,21 @@ "typeString": "literal_string \"Only operator can call this function.\"" } ], - "id": 729, + "id": 910, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "874:7:3", + "referencedDeclaration": 3274, + "src": "874:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 735, + "id": 916, "isConstant": false, "isLValue": false, "isPure": false, @@ -672,54 +672,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "874:72:3", + "src": "874:72:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 736, + "id": 917, "nodeType": "ExpressionStatement", - "src": "874:72:3" + "src": "874:72:8" }, { - "id": 737, + "id": 918, "nodeType": "PlaceholderStatement", - "src": "952:1:3" + "src": "952:1:8" } ] }, "documentation": null, - "id": 739, + "id": 920, "name": "onlyOperator", "nodeType": "ModifierDefinition", "parameters": { - "id": 728, + "id": 909, "nodeType": "ParameterList", "parameters": [], - "src": "868:0:3" + "src": "868:0:8" }, - "src": "846:112:3", + "src": "846:112:8", "visibility": "internal" }, { "anonymous": false, "documentation": null, - "id": 747, + "id": 928, "name": "Deposit", "nodeType": "EventDefinition", "parameters": { - "id": 746, + "id": 927, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 741, + "id": 922, "indexed": true, "name": "commitment", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "976:26:3", + "scope": 928, + "src": "976:26:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -727,10 +727,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 740, + "id": 921, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "976:7:3", + "src": "976:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -741,12 +741,12 @@ }, { "constant": false, - "id": 743, + "id": 924, "indexed": false, "name": "leafIndex", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "1004:16:3", + "scope": 928, + "src": "1004:16:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -754,10 +754,10 @@ "typeString": "uint32" }, "typeName": { - "id": 742, + "id": 923, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1004:6:3", + "src": "1004:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -768,12 +768,12 @@ }, { "constant": false, - "id": 745, + "id": 926, "indexed": false, "name": "timestamp", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "1022:17:3", + "scope": 928, + "src": "1022:17:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -781,10 +781,10 @@ "typeString": "uint256" }, "typeName": { - "id": 744, + "id": 925, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1022:7:3", + "src": "1022:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -794,28 +794,28 @@ "visibility": "internal" } ], - "src": "975:65:3" + "src": "975:65:8" }, - "src": "962:79:3" + "src": "962:79:8" }, { "anonymous": false, "documentation": null, - "id": 757, + "id": 938, "name": "Withdrawal", "nodeType": "EventDefinition", "parameters": { - "id": 756, + "id": 937, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 749, + "id": 930, "indexed": false, "name": "to", "nodeType": "VariableDeclaration", - "scope": 757, - "src": "1061:10:3", + "scope": 938, + "src": "1061:10:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -823,10 +823,10 @@ "typeString": "address" }, "typeName": { - "id": 748, + "id": 929, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1061:7:3", + "src": "1061:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -838,12 +838,12 @@ }, { "constant": false, - "id": 751, + "id": 932, "indexed": false, "name": "nullifierHash", "nodeType": "VariableDeclaration", - "scope": 757, - "src": "1073:21:3", + "scope": 938, + "src": "1073:21:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -851,10 +851,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 750, + "id": 931, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1073:7:3", + "src": "1073:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -865,12 +865,12 @@ }, { "constant": false, - "id": 753, + "id": 934, "indexed": true, "name": "relayer", "nodeType": "VariableDeclaration", - "scope": 757, - "src": "1096:23:3", + "scope": 938, + "src": "1096:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -878,10 +878,10 @@ "typeString": "address" }, "typeName": { - "id": 752, + "id": 933, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1096:7:3", + "src": "1096:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -893,12 +893,12 @@ }, { "constant": false, - "id": 755, + "id": 936, "indexed": false, "name": "fee", "nodeType": "VariableDeclaration", - "scope": 757, - "src": "1121:11:3", + "scope": 938, + "src": "1121:11:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -906,10 +906,10 @@ "typeString": "uint256" }, "typeName": { - "id": 754, + "id": 935, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1121:7:3", + "src": "1121:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -919,15 +919,15 @@ "visibility": "internal" } ], - "src": "1060:73:3" + "src": "1060:73:8" }, - "src": "1044:90:3" + "src": "1044:90:8" }, { "body": { - "id": 796, + "id": 977, "nodeType": "Block", - "src": "1631:194:3", + "src": "1631:194:8", "statements": [ { "expression": { @@ -939,19 +939,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 776, + "id": 957, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 774, + "id": 955, "name": "_denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 763, - "src": "1645:13:3", + "referencedDeclaration": 944, + "src": "1645:13:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -962,14 +962,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 775, + "id": 956, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1661:1:3", + "src": "1661:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -977,7 +977,7 @@ }, "value": "0" }, - "src": "1645:17:3", + "src": "1645:17:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -986,14 +986,14 @@ { "argumentTypes": null, "hexValue": "64656e6f6d696e6174696f6e2073686f756c642062652067726561746572207468616e2030", - "id": 777, + "id": 958, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1664:39:3", + "src": "1664:39:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_04818fb803bf7e7ff6c9059d97eae335b77b108931ead0a529924d35ccaf3fc8", @@ -1013,21 +1013,21 @@ "typeString": "literal_string \"denomination should be greater than 0\"" } ], - "id": 773, + "id": 954, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "1637:7:3", + "referencedDeclaration": 3274, + "src": "1637:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 778, + "id": 959, "isConstant": false, "isLValue": false, "isPure": false, @@ -1035,34 +1035,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1637:67:3", + "src": "1637:67:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 779, + "id": 960, "nodeType": "ExpressionStatement", - "src": "1637:67:3" + "src": "1637:67:8" }, { "expression": { "argumentTypes": null, - "id": 782, + "id": 963, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 780, + "id": 961, "name": "verifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "1710:8:3", + "referencedDeclaration": 904, + "src": "1710:8:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -1070,45 +1070,45 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 781, + "id": 962, "name": "_verifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 759, - "src": "1721:9:3", + "referencedDeclaration": 940, + "src": "1721:9:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, - "src": "1710:20:3", + "src": "1710:20:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, - "id": 783, + "id": 964, "nodeType": "ExpressionStatement", - "src": "1710:20:3" + "src": "1710:20:8" }, { "expression": { "argumentTypes": null, - "id": 786, + "id": 967, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 784, + "id": 965, "name": "feeManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "1736:10:3", + "referencedDeclaration": 906, + "src": "1736:10:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -1116,43 +1116,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 785, + "id": 966, "name": "_feeManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 761, - "src": "1749:11:3", + "referencedDeclaration": 942, + "src": "1749:11:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, - "src": "1736:24:3", + "src": "1736:24:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, - "id": 787, + "id": 968, "nodeType": "ExpressionStatement", - "src": "1736:24:3" + "src": "1736:24:8" }, { "expression": { "argumentTypes": null, - "id": 790, + "id": 971, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 788, + "id": 969, "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "1766:8:3", + "referencedDeclaration": 908, + "src": "1766:8:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1162,43 +1162,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 789, + "id": 970, "name": "_operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 767, - "src": "1777:9:3", + "referencedDeclaration": 948, + "src": "1777:9:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1766:20:3", + "src": "1766:20:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 791, + "id": 972, "nodeType": "ExpressionStatement", - "src": "1766:20:3" + "src": "1766:20:8" }, { "expression": { "argumentTypes": null, - "id": 794, + "id": 975, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 792, + "id": 973, "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "1792:12:3", + "referencedDeclaration": 894, + "src": "1792:12:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1208,31 +1208,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 793, + "id": 974, "name": "_denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 763, - "src": "1807:13:3", + "referencedDeclaration": 944, + "src": "1807:13:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1792:28:3", + "src": "1792:28:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 795, + "id": 976, "nodeType": "ExpressionStatement", - "src": "1792:28:3" + "src": "1792:28:8" } ] }, "documentation": "@dev The constructor\n@param _verifier the address of SNARK verifier for this contract\n@param _denomination transfer amount for each deposit\n@param _merkleTreeHeight the height of deposits' Merkle Tree\n@param _operator operator address (see operator comment above)", - "id": 797, + "id": 978, "implemented": true, "kind": "constructor", "modifiers": [ @@ -1240,64 +1240,64 @@ "arguments": [ { "argumentTypes": null, - "id": 770, + "id": 951, "name": "_merkleTreeHeight", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 765, - "src": "1605:17:3", + "referencedDeclaration": 946, + "src": "1605:17:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } } ], - "id": 771, + "id": 952, "modifierName": { "argumentTypes": null, - "id": 769, + "id": 950, "name": "MerkleTreeWithHistory", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 685, - "src": "1583:21:3", + "src": "1583:21:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_MerkleTreeWithHistory_$685_$", "typeString": "type(contract MerkleTreeWithHistory)" } }, "nodeType": "ModifierInvocation", - "src": "1583:40:3" + "src": "1583:40:8" } ], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 768, + "id": 949, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 759, + "id": 940, "name": "_verifier", "nodeType": "VariableDeclaration", - "scope": 797, - "src": "1450:19:3", + "scope": 978, + "src": "1450:19:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" }, "typeName": { "contractScope": null, - "id": 758, + "id": 939, "name": "IVerifier", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 701, - "src": "1450:9:3", + "referencedDeclaration": 882, + "src": "1450:9:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -1306,26 +1306,26 @@ }, { "constant": false, - "id": 761, + "id": 942, "name": "_feeManager", "nodeType": "VariableDeclaration", - "scope": 797, - "src": "1475:23:3", + "scope": 978, + "src": "1475:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" }, "typeName": { "contractScope": null, - "id": 760, + "id": 941, "name": "IFeeManager", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 707, - "src": "1475:11:3", + "referencedDeclaration": 888, + "src": "1475:11:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -1334,11 +1334,11 @@ }, { "constant": false, - "id": 763, + "id": 944, "name": "_denomination", "nodeType": "VariableDeclaration", - "scope": 797, - "src": "1504:21:3", + "scope": 978, + "src": "1504:21:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1346,10 +1346,10 @@ "typeString": "uint256" }, "typeName": { - "id": 762, + "id": 943, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1504:7:3", + "src": "1504:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1360,11 +1360,11 @@ }, { "constant": false, - "id": 765, + "id": 946, "name": "_merkleTreeHeight", "nodeType": "VariableDeclaration", - "scope": 797, - "src": "1531:24:3", + "scope": 978, + "src": "1531:24:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1372,10 +1372,10 @@ "typeString": "uint32" }, "typeName": { - "id": 764, + "id": 945, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1531:6:3", + "src": "1531:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1386,11 +1386,11 @@ }, { "constant": false, - "id": 767, + "id": 948, "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 797, - "src": "1561:17:3", + "scope": 978, + "src": "1561:17:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1398,10 +1398,10 @@ "typeString": "address" }, "typeName": { - "id": 766, + "id": 947, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1561:7:3", + "src": "1561:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1412,25 +1412,25 @@ "visibility": "internal" } ], - "src": "1444:138:3" + "src": "1444:138:8" }, "returnParameters": { - "id": 772, + "id": 953, "nodeType": "ParameterList", "parameters": [], - "src": "1631:0:3" + "src": "1631:0:8" }, - "scope": 1023, - "src": "1433:392:3", + "scope": 1204, + "src": "1433:392:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 834, + "id": 1015, "nodeType": "Block", - "src": "2141:256:3", + "src": "2141:256:8", "statements": [ { "expression": { @@ -1438,7 +1438,7 @@ "arguments": [ { "argumentTypes": null, - "id": 808, + "id": 989, "isConstant": false, "isLValue": false, "isPure": false, @@ -1446,31 +1446,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "2155:25:3", + "src": "2155:25:8", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 805, + "id": 986, "name": "commitments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "2156:11:3", + "referencedDeclaration": 902, + "src": "2156:11:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 807, + "id": 988, "indexExpression": { "argumentTypes": null, - "id": 806, + "id": 987, "name": "_commitment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 799, - "src": "2168:11:3", + "referencedDeclaration": 980, + "src": "2168:11:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1481,7 +1481,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2156:24:3", + "src": "2156:24:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1495,14 +1495,14 @@ { "argumentTypes": null, "hexValue": "54686520636f6d6d69746d656e7420686173206265656e207375626d6974746564", - "id": 809, + "id": 990, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2182:35:3", + "src": "2182:35:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ae5f231636554c1cb3bf839359e4dfbb338ccb221c7c5dbdf2da91ddc6e2ee6b", @@ -1522,21 +1522,21 @@ "typeString": "literal_string \"The commitment has been submitted\"" } ], - "id": 804, + "id": 985, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "2147:7:3", + "referencedDeclaration": 3274, + "src": "2147:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 810, + "id": 991, "isConstant": false, "isLValue": false, "isPure": false, @@ -1544,28 +1544,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2147:71:3", + "src": "2147:71:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 811, + "id": 992, "nodeType": "ExpressionStatement", - "src": "2147:71:3" + "src": "2147:71:8" }, { "assignments": [ - 813 + 994 ], "declarations": [ { "constant": false, - "id": 813, + "id": 994, "name": "insertedIndex", "nodeType": "VariableDeclaration", - "scope": 834, - "src": "2225:20:3", + "scope": 1015, + "src": "2225:20:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1573,10 +1573,10 @@ "typeString": "uint32" }, "typeName": { - "id": 812, + "id": 993, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "2225:6:3", + "src": "2225:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1586,18 +1586,18 @@ "visibility": "internal" } ], - "id": 817, + "id": 998, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 815, + "id": 996, "name": "_commitment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 799, - "src": "2256:11:3", + "referencedDeclaration": 980, + "src": "2256:11:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1611,18 +1611,18 @@ "typeString": "bytes32" } ], - "id": 814, + "id": 995, "name": "_insert", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 627, - "src": "2248:7:3", + "src": "2248:7:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_uint32_$", "typeString": "function (bytes32) returns (uint32)" } }, - "id": 816, + "id": 997, "isConstant": false, "isLValue": false, "isPure": false, @@ -1630,19 +1630,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2248:20:3", + "src": "2248:20:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "nodeType": "VariableDeclarationStatement", - "src": "2225:43:3" + "src": "2225:43:8" }, { "expression": { "argumentTypes": null, - "id": 822, + "id": 1003, "isConstant": false, "isLValue": false, "isPure": false, @@ -1651,26 +1651,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 818, + "id": 999, "name": "commitments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "2274:11:3", + "referencedDeclaration": 902, + "src": "2274:11:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 820, + "id": 1001, "indexExpression": { "argumentTypes": null, - "id": 819, + "id": 1000, "name": "_commitment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 799, - "src": "2286:11:3", + "referencedDeclaration": 980, + "src": "2286:11:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1681,7 +1681,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2274:24:3", + "src": "2274:24:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1692,14 +1692,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 821, + "id": 1002, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2301:4:3", + "src": "2301:4:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1707,15 +1707,15 @@ }, "value": "true" }, - "src": "2274:31:3", + "src": "2274:31:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 823, + "id": 1004, "nodeType": "ExpressionStatement", - "src": "2274:31:3" + "src": "2274:31:8" }, { "expression": { @@ -1723,18 +1723,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 824, + "id": 1005, "name": "_processDeposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "2311:15:3", + "referencedDeclaration": 1019, + "src": "2311:15:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 825, + "id": 1006, "isConstant": false, "isLValue": false, "isPure": false, @@ -1742,15 +1742,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2311:17:3", + "src": "2311:17:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 826, + "id": 1007, "nodeType": "ExpressionStatement", - "src": "2311:17:3" + "src": "2311:17:8" }, { "eventCall": { @@ -1758,12 +1758,12 @@ "arguments": [ { "argumentTypes": null, - "id": 828, + "id": 1009, "name": "_commitment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 799, - "src": "2348:11:3", + "referencedDeclaration": 980, + "src": "2348:11:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1771,12 +1771,12 @@ }, { "argumentTypes": null, - "id": 829, + "id": 1010, "name": "insertedIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 813, - "src": "2361:13:3", + "referencedDeclaration": 994, + "src": "2361:13:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1786,18 +1786,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 830, + "id": 1011, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "2376:5:3", + "referencedDeclaration": 3260, + "src": "2376:5:8", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 831, + "id": 1012, "isConstant": false, "isLValue": false, "isPure": false, @@ -1805,7 +1805,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2376:15:3", + "src": "2376:15:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1827,18 +1827,18 @@ "typeString": "uint256" } ], - "id": 827, + "id": 1008, "name": "Deposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 747, - "src": "2340:7:3", + "referencedDeclaration": 928, + "src": "2340:7:8", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint32,uint256)" } }, - "id": 832, + "id": 1013, "isConstant": false, "isLValue": false, "isPure": false, @@ -1846,56 +1846,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2340:52:3", + "src": "2340:52:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 833, + "id": 1014, "nodeType": "EmitStatement", - "src": "2335:57:3" + "src": "2335:57:8" } ] }, "documentation": "@dev Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\n@param _commitment the note commitment, which is PedersenHash(nullifier + secret)", - "id": 835, + "id": 1016, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 802, + "id": 983, "modifierName": { "argumentTypes": null, - "id": 801, + "id": 982, "name": "nonReentrant", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "2128:12:3", + "referencedDeclaration": 3254, + "src": "2128:12:8", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2128:12:3" + "src": "2128:12:8" } ], "name": "deposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 800, + "id": 981, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 799, + "id": 980, "name": "_commitment", "nodeType": "VariableDeclaration", - "scope": 835, - "src": "2090:19:3", + "scope": 1016, + "src": "2090:19:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1903,10 +1903,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 798, + "id": 979, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2090:7:3", + "src": "2090:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1916,16 +1916,16 @@ "visibility": "internal" } ], - "src": "2089:21:3" + "src": "2089:21:8" }, "returnParameters": { - "id": 803, + "id": 984, "nodeType": "ParameterList", "parameters": [], - "src": "2141:0:3" + "src": "2141:0:8" }, - "scope": 1023, - "src": "2073:324:3", + "scope": 1204, + "src": "2073:324:8", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -1933,35 +1933,35 @@ { "body": null, "documentation": "@dev this function is defined in a child contract ", - "id": 838, + "id": 1019, "implemented": false, "kind": "function", "modifiers": [], "name": "_processDeposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 836, + "id": 1017, "nodeType": "ParameterList", "parameters": [], - "src": "2484:2:3" + "src": "2484:2:8" }, "returnParameters": { - "id": 837, + "id": 1018, "nodeType": "ParameterList", "parameters": [], - "src": "2495:0:3" + "src": "2495:0:8" }, - "scope": 1023, - "src": "2460:36:3", + "scope": 1204, + "src": "2460:36:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 925, + "id": 1106, "nodeType": "Block", - "src": "3088:606:3", + "src": "3088:606:8", "statements": [ { "expression": { @@ -1973,19 +1973,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 860, + "id": 1041, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 858, + "id": 1039, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 850, - "src": "3102:4:3", + "referencedDeclaration": 1031, + "src": "3102:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1995,18 +1995,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 859, + "id": 1040, "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "3110:12:3", + "referencedDeclaration": 894, + "src": "3110:12:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3102:20:3", + "src": "3102:20:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2015,14 +2015,14 @@ { "argumentTypes": null, "hexValue": "4665652065786365656473207472616e736665722076616c7565", - "id": 861, + "id": 1042, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3124:28:3", + "src": "3124:28:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2ce218df547d416f80ea8a5deadaf9453d23523ffa5f2e880a48adfdb4053a9c", @@ -2042,21 +2042,21 @@ "typeString": "literal_string \"Fee exceeds transfer value\"" } ], - "id": 857, + "id": 1038, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "3094:7:3", + "referencedDeclaration": 3274, + "src": "3094:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 862, + "id": 1043, "isConstant": false, "isLValue": false, "isPure": false, @@ -2064,15 +2064,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3094:59:3", + "src": "3094:59:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 863, + "id": 1044, "nodeType": "ExpressionStatement", - "src": "3094:59:3" + "src": "3094:59:8" }, { "expression": { @@ -2080,7 +2080,7 @@ "arguments": [ { "argumentTypes": null, - "id": 868, + "id": 1049, "isConstant": false, "isLValue": false, "isPure": false, @@ -2088,31 +2088,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "3167:32:3", + "src": "3167:32:8", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 865, + "id": 1046, "name": "nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 717, - "src": "3168:15:3", + "referencedDeclaration": 898, + "src": "3168:15:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 867, + "id": 1048, "indexExpression": { "argumentTypes": null, - "id": 866, + "id": 1047, "name": "_nullifierHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "3184:14:3", + "referencedDeclaration": 1025, + "src": "3184:14:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2123,7 +2123,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3168:31:3", + "src": "3168:31:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2137,14 +2137,14 @@ { "argumentTypes": null, "hexValue": "546865206e6f746520686173206265656e20616c7265616479207370656e74", - "id": 869, + "id": 1050, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3201:33:3", + "src": "3201:33:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a1bef92d7a18b1c6975dc8de68df6140a52afea05a2c6c91da2b1562c617e896", @@ -2164,21 +2164,21 @@ "typeString": "literal_string \"The note has been already spent\"" } ], - "id": 864, + "id": 1045, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "3159:7:3", + "referencedDeclaration": 3274, + "src": "3159:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 870, + "id": 1051, "isConstant": false, "isLValue": false, "isPure": false, @@ -2186,15 +2186,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3159:76:3", + "src": "3159:76:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 871, + "id": 1052, "nodeType": "ExpressionStatement", - "src": "3159:76:3" + "src": "3159:76:8" }, { "expression": { @@ -2205,12 +2205,12 @@ "arguments": [ { "argumentTypes": null, - "id": 874, + "id": 1055, "name": "_root", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 842, - "src": "3261:5:3", + "referencedDeclaration": 1023, + "src": "3261:5:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2224,18 +2224,18 @@ "typeString": "bytes32" } ], - "id": 873, + "id": 1054, "name": "isKnownRoot", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 674, - "src": "3249:11:3", + "src": "3249:11:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32) view returns (bool)" } }, - "id": 875, + "id": 1056, "isConstant": false, "isLValue": false, "isPure": false, @@ -2243,7 +2243,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3249:18:3", + "src": "3249:18:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2252,14 +2252,14 @@ { "argumentTypes": null, "hexValue": "43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f74", - "id": 876, + "id": 1057, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3269:30:3", + "src": "3269:30:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2a69086763073955418d2fd7dfee3d2f1fbc5b21047a216b7855d3f313d8e204", @@ -2279,21 +2279,21 @@ "typeString": "literal_string \"Cannot find your merkle root\"" } ], - "id": 872, + "id": 1053, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "3241:7:3", + "referencedDeclaration": 3274, + "src": "3241:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 877, + "id": 1058, "isConstant": false, "isLValue": false, "isPure": false, @@ -2301,15 +2301,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3241:59:3", + "src": "3241:59:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 878, + "id": 1059, "nodeType": "ExpressionStatement", - "src": "3241:59:3" + "src": "3241:59:8" }, { "expression": { @@ -2320,12 +2320,12 @@ "arguments": [ { "argumentTypes": null, - "id": 882, + "id": 1063, "name": "_proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 840, - "src": "3368:6:3", + "referencedDeclaration": 1021, + "src": "3368:6:8", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -2339,12 +2339,12 @@ "arguments": [ { "argumentTypes": null, - "id": 884, + "id": 1065, "name": "_root", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 842, - "src": "3385:5:3", + "referencedDeclaration": 1023, + "src": "3385:5:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2358,20 +2358,20 @@ "typeString": "bytes32" } ], - "id": 883, + "id": 1064, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3377:7:3", + "src": "3377:7:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 885, + "id": 1066, "isConstant": false, "isLValue": false, "isPure": false, @@ -2379,7 +2379,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3377:14:3", + "src": "3377:14:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2390,12 +2390,12 @@ "arguments": [ { "argumentTypes": null, - "id": 887, + "id": 1068, "name": "_nullifierHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "3401:14:3", + "referencedDeclaration": 1025, + "src": "3401:14:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2409,20 +2409,20 @@ "typeString": "bytes32" } ], - "id": 886, + "id": 1067, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3393:7:3", + "src": "3393:7:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 888, + "id": 1069, "isConstant": false, "isLValue": false, "isPure": false, @@ -2430,7 +2430,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3393:23:3", + "src": "3393:23:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2441,12 +2441,12 @@ "arguments": [ { "argumentTypes": null, - "id": 890, + "id": 1071, "name": "_recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 846, - "src": "3426:10:3", + "referencedDeclaration": 1027, + "src": "3426:10:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2460,20 +2460,20 @@ "typeString": "address payable" } ], - "id": 889, + "id": 1070, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3418:7:3", + "src": "3418:7:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 891, + "id": 1072, "isConstant": false, "isLValue": false, "isPure": false, @@ -2481,7 +2481,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3418:19:3", + "src": "3418:19:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2492,12 +2492,12 @@ "arguments": [ { "argumentTypes": null, - "id": 893, + "id": 1074, "name": "_relayer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 848, - "src": "3447:8:3", + "referencedDeclaration": 1029, + "src": "3447:8:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2511,20 +2511,20 @@ "typeString": "address payable" } ], - "id": 892, + "id": 1073, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3439:7:3", + "src": "3439:7:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 894, + "id": 1075, "isConstant": false, "isLValue": false, "isPure": false, @@ -2532,7 +2532,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3439:17:3", + "src": "3439:17:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2540,12 +2540,12 @@ }, { "argumentTypes": null, - "id": 895, + "id": 1076, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 850, - "src": "3458:4:3", + "referencedDeclaration": 1031, + "src": "3458:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2553,26 +2553,26 @@ }, { "argumentTypes": null, - "id": 896, + "id": 1077, "name": "_refund", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 852, - "src": "3464:7:3", + "referencedDeclaration": 1033, + "src": "3464:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 897, + "id": 1078, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "3376:96:3", + "src": "3376:96:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -2592,32 +2592,32 @@ ], "expression": { "argumentTypes": null, - "id": 880, + "id": 1061, "name": "verifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "3347:8:3", + "referencedDeclaration": 904, + "src": "3347:8:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, - "id": 881, + "id": 1062, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verifyProof", "nodeType": "MemberAccess", - "referencedDeclaration": 700, - "src": "3347:20:3", + "referencedDeclaration": 881, + "src": "3347:20:8", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_array$_t_uint256_$6_memory_ptr_$returns$_t_bool_$", "typeString": "function (bytes memory,uint256[6] memory) external returns (bool)" } }, - "id": 898, + "id": 1079, "isConstant": false, "isLValue": false, "isPure": false, @@ -2625,7 +2625,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3347:126:3", + "src": "3347:126:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2634,14 +2634,14 @@ { "argumentTypes": null, "hexValue": "496e76616c69642077697468647261772070726f6f66", - "id": 899, + "id": 1080, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3475:24:3", + "src": "3475:24:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_7021ea58137dba96e572e94936410b0b0e4cbc344e1ab2ee7f47660768b81ff4", @@ -2661,21 +2661,21 @@ "typeString": "literal_string \"Invalid withdraw proof\"" } ], - "id": 879, + "id": 1060, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "3339:7:3", + "referencedDeclaration": 3274, + "src": "3339:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 900, + "id": 1081, "isConstant": false, "isLValue": false, "isPure": false, @@ -2683,20 +2683,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3339:161:3", + "src": "3339:161:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 901, + "id": 1082, "nodeType": "ExpressionStatement", - "src": "3339:161:3" + "src": "3339:161:8" }, { "expression": { "argumentTypes": null, - "id": 906, + "id": 1087, "isConstant": false, "isLValue": false, "isPure": false, @@ -2705,26 +2705,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 902, + "id": 1083, "name": "nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 717, - "src": "3507:15:3", + "referencedDeclaration": 898, + "src": "3507:15:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 904, + "id": 1085, "indexExpression": { "argumentTypes": null, - "id": 903, + "id": 1084, "name": "_nullifierHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "3523:14:3", + "referencedDeclaration": 1025, + "src": "3523:14:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2735,7 +2735,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3507:31:3", + "src": "3507:31:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2746,14 +2746,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 905, + "id": 1086, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3541:4:3", + "src": "3541:4:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2761,15 +2761,15 @@ }, "value": "true" }, - "src": "3507:38:3", + "src": "3507:38:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 907, + "id": 1088, "nodeType": "ExpressionStatement", - "src": "3507:38:3" + "src": "3507:38:8" }, { "expression": { @@ -2777,12 +2777,12 @@ "arguments": [ { "argumentTypes": null, - "id": 909, + "id": 1090, "name": "_recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 846, - "src": "3568:10:3", + "referencedDeclaration": 1027, + "src": "3568:10:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2790,12 +2790,12 @@ }, { "argumentTypes": null, - "id": 910, + "id": 1091, "name": "_relayer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 848, - "src": "3580:8:3", + "referencedDeclaration": 1029, + "src": "3580:8:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2803,12 +2803,12 @@ }, { "argumentTypes": null, - "id": 911, + "id": 1092, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 850, - "src": "3590:4:3", + "referencedDeclaration": 1031, + "src": "3590:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2816,12 +2816,12 @@ }, { "argumentTypes": null, - "id": 912, + "id": 1093, "name": "_refund", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 852, - "src": "3596:7:3", + "referencedDeclaration": 1033, + "src": "3596:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2834,32 +2834,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 913, + "id": 1094, "name": "feeManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "3605:10:3", + "referencedDeclaration": 906, + "src": "3605:10:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, - "id": 914, + "id": 1095, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "feeTo", "nodeType": "MemberAccess", - "referencedDeclaration": 706, - "src": "3605:16:3", + "referencedDeclaration": 887, + "src": "3605:16:8", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 915, + "id": 1096, "isConstant": false, "isLValue": false, "isPure": false, @@ -2867,7 +2867,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3605:18:3", + "src": "3605:18:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2897,18 +2897,18 @@ "typeString": "address" } ], - "id": 908, + "id": 1089, "name": "_processWithdraw", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "3551:16:3", + "referencedDeclaration": 1120, + "src": "3551:16:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_payable_$_t_address_payable_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", "typeString": "function (address payable,address payable,uint256,uint256,address)" } }, - "id": 916, + "id": 1097, "isConstant": false, "isLValue": false, "isPure": false, @@ -2916,15 +2916,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3551:73:3", + "src": "3551:73:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 917, + "id": 1098, "nodeType": "ExpressionStatement", - "src": "3551:73:3" + "src": "3551:73:8" }, { "eventCall": { @@ -2932,12 +2932,12 @@ "arguments": [ { "argumentTypes": null, - "id": 919, + "id": 1100, "name": "_recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 846, - "src": "3646:10:3", + "referencedDeclaration": 1027, + "src": "3646:10:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2945,12 +2945,12 @@ }, { "argumentTypes": null, - "id": 920, + "id": 1101, "name": "_nullifierHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "3658:14:3", + "referencedDeclaration": 1025, + "src": "3658:14:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2958,12 +2958,12 @@ }, { "argumentTypes": null, - "id": 921, + "id": 1102, "name": "_relayer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 848, - "src": "3674:8:3", + "referencedDeclaration": 1029, + "src": "3674:8:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2971,12 +2971,12 @@ }, { "argumentTypes": null, - "id": 922, + "id": 1103, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 850, - "src": "3684:4:3", + "referencedDeclaration": 1031, + "src": "3684:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3002,18 +3002,18 @@ "typeString": "uint256" } ], - "id": 918, + "id": 1099, "name": "Withdrawal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 757, - "src": "3635:10:3", + "referencedDeclaration": 938, + "src": "3635:10:8", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,bytes32,address,uint256)" } }, - "id": 923, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": false, @@ -3021,56 +3021,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3635:54:3", + "src": "3635:54:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 924, + "id": 1105, "nodeType": "EmitStatement", - "src": "3630:59:3" + "src": "3630:59:8" } ] }, "documentation": "@dev Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs\n`input` array consists of:\n- merkle root of all deposits in the contract\n- hash of unique deposit nullifier to prevent double spends\n- the recipient of funds\n- optional fee that goes to the transaction sender (usually a relay)", - "id": 926, + "id": 1107, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 855, + "id": 1036, "modifierName": { "argumentTypes": null, - "id": 854, + "id": 1035, "name": "nonReentrant", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "3075:12:3", + "referencedDeclaration": 3254, + "src": "3075:12:8", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3075:12:3" + "src": "3075:12:8" } ], "name": "withdraw", "nodeType": "FunctionDefinition", "parameters": { - "id": 853, + "id": 1034, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 840, + "id": 1021, "name": "_proof", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "2911:21:3", + "scope": 1107, + "src": "2911:21:8", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3078,10 +3078,10 @@ "typeString": "bytes" }, "typeName": { - "id": 839, + "id": 1020, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2911:5:3", + "src": "2911:5:8", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3092,11 +3092,11 @@ }, { "constant": false, - "id": 842, + "id": 1023, "name": "_root", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "2934:13:3", + "scope": 1107, + "src": "2934:13:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3104,10 +3104,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 841, + "id": 1022, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2934:7:3", + "src": "2934:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3118,11 +3118,11 @@ }, { "constant": false, - "id": 844, + "id": 1025, "name": "_nullifierHash", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "2949:22:3", + "scope": 1107, + "src": "2949:22:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3130,10 +3130,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 843, + "id": 1024, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2949:7:3", + "src": "2949:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3144,11 +3144,11 @@ }, { "constant": false, - "id": 846, + "id": 1027, "name": "_recipient", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "2973:26:3", + "scope": 1107, + "src": "2973:26:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3156,10 +3156,10 @@ "typeString": "address payable" }, "typeName": { - "id": 845, + "id": 1026, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2973:15:3", + "src": "2973:15:8", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3171,11 +3171,11 @@ }, { "constant": false, - "id": 848, + "id": 1029, "name": "_relayer", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "3001:24:3", + "scope": 1107, + "src": "3001:24:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3183,10 +3183,10 @@ "typeString": "address payable" }, "typeName": { - "id": 847, + "id": 1028, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3001:15:3", + "src": "3001:15:8", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3198,11 +3198,11 @@ }, { "constant": false, - "id": 850, + "id": 1031, "name": "_fee", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "3027:12:3", + "scope": 1107, + "src": "3027:12:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3210,10 +3210,10 @@ "typeString": "uint256" }, "typeName": { - "id": 849, + "id": 1030, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3027:7:3", + "src": "3027:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3224,11 +3224,11 @@ }, { "constant": false, - "id": 852, + "id": 1033, "name": "_refund", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "3041:15:3", + "scope": 1107, + "src": "3041:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3236,10 +3236,10 @@ "typeString": "uint256" }, "typeName": { - "id": 851, + "id": 1032, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3041:7:3", + "src": "3041:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3249,16 +3249,16 @@ "visibility": "internal" } ], - "src": "2910:147:3" + "src": "2910:147:8" }, "returnParameters": { - "id": 856, + "id": 1037, "nodeType": "ParameterList", "parameters": [], - "src": "3088:0:3" + "src": "3088:0:8" }, - "scope": 1023, - "src": "2893:801:3", + "scope": 1204, + "src": "2893:801:8", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -3266,23 +3266,23 @@ { "body": null, "documentation": "@dev this function is defined in a child contract ", - "id": 939, + "id": 1120, "implemented": false, "kind": "function", "modifiers": [], "name": "_processWithdraw", "nodeType": "FunctionDefinition", "parameters": { - "id": 937, + "id": 1118, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 928, + "id": 1109, "name": "_recipient", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "3783:26:3", + "scope": 1120, + "src": "3783:26:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3290,10 +3290,10 @@ "typeString": "address payable" }, "typeName": { - "id": 927, + "id": 1108, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3783:15:3", + "src": "3783:15:8", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3305,11 +3305,11 @@ }, { "constant": false, - "id": 930, + "id": 1111, "name": "_relayer", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "3811:24:3", + "scope": 1120, + "src": "3811:24:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3317,10 +3317,10 @@ "typeString": "address payable" }, "typeName": { - "id": 929, + "id": 1110, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3811:15:3", + "src": "3811:15:8", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3332,11 +3332,11 @@ }, { "constant": false, - "id": 932, + "id": 1113, "name": "_relayer_fee", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "3837:20:3", + "scope": 1120, + "src": "3837:20:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3344,10 +3344,10 @@ "typeString": "uint256" }, "typeName": { - "id": 931, + "id": 1112, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3837:7:3", + "src": "3837:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3358,11 +3358,11 @@ }, { "constant": false, - "id": 934, + "id": 1115, "name": "_refund", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "3859:15:3", + "scope": 1120, + "src": "3859:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3370,10 +3370,10 @@ "typeString": "uint256" }, "typeName": { - "id": 933, + "id": 1114, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3859:7:3", + "src": "3859:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3384,11 +3384,11 @@ }, { "constant": false, - "id": 936, + "id": 1117, "name": "_feeTo", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "3876:14:3", + "scope": 1120, + "src": "3876:14:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3396,10 +3396,10 @@ "typeString": "address" }, "typeName": { - "id": 935, + "id": 1116, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3876:7:3", + "src": "3876:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3410,51 +3410,51 @@ "visibility": "internal" } ], - "src": "3782:109:3" + "src": "3782:109:8" }, "returnParameters": { - "id": 938, + "id": 1119, "nodeType": "ParameterList", "parameters": [], - "src": "3900:0:3" + "src": "3900:0:8" }, - "scope": 1023, - "src": "3757:144:3", + "scope": 1204, + "src": "3757:144:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 950, + "id": 1131, "nodeType": "Block", - "src": "4018:49:3", + "src": "4018:49:8", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 946, + "id": 1127, "name": "nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 717, - "src": "4031:15:3", + "referencedDeclaration": 898, + "src": "4031:15:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 948, + "id": 1129, "indexExpression": { "argumentTypes": null, - "id": 947, + "id": 1128, "name": "_nullifierHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "4047:14:3", + "referencedDeclaration": 1122, + "src": "4047:14:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3465,37 +3465,37 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4031:31:3", + "src": "4031:31:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 945, - "id": 949, + "functionReturnParameters": 1126, + "id": 1130, "nodeType": "Return", - "src": "4024:38:3" + "src": "4024:38:8" } ] }, "documentation": "@dev whether a note is already spent ", - "id": 951, + "id": 1132, "implemented": true, "kind": "function", "modifiers": [], "name": "isSpent", "nodeType": "FunctionDefinition", "parameters": { - "id": 942, + "id": 1123, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 941, + "id": 1122, "name": "_nullifierHash", "nodeType": "VariableDeclaration", - "scope": 951, - "src": "3968:22:3", + "scope": 1132, + "src": "3968:22:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3503,10 +3503,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 940, + "id": 1121, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3968:7:3", + "src": "3968:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3516,19 +3516,19 @@ "visibility": "internal" } ], - "src": "3967:24:3" + "src": "3967:24:8" }, "returnParameters": { - "id": 945, + "id": 1126, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 944, + "id": 1125, "name": "", "nodeType": "VariableDeclaration", - "scope": 951, - "src": "4012:4:3", + "scope": 1132, + "src": "4012:4:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3536,10 +3536,10 @@ "typeString": "bool" }, "typeName": { - "id": 943, + "id": 1124, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4012:4:3", + "src": "4012:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3549,36 +3549,36 @@ "visibility": "internal" } ], - "src": "4011:6:3" + "src": "4011:6:8" }, - "scope": 1023, - "src": "3951:116:3", + "scope": 1204, + "src": "3951:116:8", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 995, + "id": 1176, "nodeType": "Block", - "src": "4230:191:3", + "src": "4230:191:8", "statements": [ { "expression": { "argumentTypes": null, - "id": 967, + "id": 1148, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 960, + "id": 1141, "name": "spent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "4236:5:3", + "referencedDeclaration": 1139, + "src": "4236:5:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", "typeString": "bool[] memory" @@ -3593,18 +3593,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 964, + "id": 1145, "name": "_nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 954, - "src": "4255:16:3", + "referencedDeclaration": 1135, + "src": "4255:16:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" } }, - "id": 965, + "id": 1146, "isConstant": false, "isLValue": false, "isPure": false, @@ -3612,7 +3612,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4255:23:3", + "src": "4255:23:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3626,39 +3626,39 @@ "typeString": "uint256" } ], - "id": 963, + "id": 1144, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "4244:10:3", + "src": "4244:10:8", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bool_$dyn_memory_$", "typeString": "function (uint256) pure returns (bool[] memory)" }, "typeName": { "baseType": { - "id": 961, + "id": 1142, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4248:4:3", + "src": "4248:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 962, + "id": 1143, "length": null, "nodeType": "ArrayTypeName", - "src": "4248:6:3", + "src": "4248:6:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", "typeString": "bool[]" } } }, - "id": 966, + "id": 1147, "isConstant": false, "isLValue": false, "isPure": false, @@ -3666,27 +3666,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4244:35:3", + "src": "4244:35:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_memory", "typeString": "bool[] memory" } }, - "src": "4236:43:3", + "src": "4236:43:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", "typeString": "bool[] memory" } }, - "id": 968, + "id": 1149, "nodeType": "ExpressionStatement", - "src": "4236:43:3" + "src": "4236:43:8" }, { "body": { - "id": 993, + "id": 1174, "nodeType": "Block", - "src": "4335:82:3", + "src": "4335:82:8", "statements": [ { "condition": { @@ -3696,26 +3696,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 981, + "id": 1162, "name": "_nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 954, - "src": "4355:16:3", + "referencedDeclaration": 1135, + "src": "4355:16:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" } }, - "id": 983, + "id": 1164, "indexExpression": { "argumentTypes": null, - "id": 982, + "id": 1163, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4372:1:3", + "referencedDeclaration": 1151, + "src": "4372:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3726,7 +3726,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4355:19:3", + "src": "4355:19:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3740,18 +3740,18 @@ "typeString": "bytes32" } ], - "id": 980, + "id": 1161, "name": "isSpent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 951, - "src": "4347:7:3", + "referencedDeclaration": 1132, + "src": "4347:7:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32) view returns (bool)" } }, - "id": 984, + "id": 1165, "isConstant": false, "isLValue": false, "isPure": false, @@ -3759,25 +3759,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4347:28:3", + "src": "4347:28:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 992, + "id": 1173, "nodeType": "IfStatement", - "src": "4343:68:3", + "src": "4343:68:8", "trueBody": { - "id": 991, + "id": 1172, "nodeType": "Block", - "src": "4377:34:3", + "src": "4377:34:8", "statements": [ { "expression": { "argumentTypes": null, - "id": 989, + "id": 1170, "isConstant": false, "isLValue": false, "isPure": false, @@ -3786,26 +3786,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 985, + "id": 1166, "name": "spent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "4387:5:3", + "referencedDeclaration": 1139, + "src": "4387:5:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", "typeString": "bool[] memory" } }, - "id": 987, + "id": 1168, "indexExpression": { "argumentTypes": null, - "id": 986, + "id": 1167, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4393:1:3", + "referencedDeclaration": 1151, + "src": "4393:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3816,7 +3816,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4387:8:3", + "src": "4387:8:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3827,14 +3827,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 988, + "id": 1169, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4398:4:3", + "src": "4398:4:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3842,15 +3842,15 @@ }, "value": "true" }, - "src": "4387:15:3", + "src": "4387:15:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 990, + "id": 1171, "nodeType": "ExpressionStatement", - "src": "4387:15:3" + "src": "4387:15:8" } ] } @@ -3863,19 +3863,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 976, + "id": 1157, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 973, + "id": 1154, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4301:1:3", + "referencedDeclaration": 1151, + "src": "4301:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3887,18 +3887,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 974, + "id": 1155, "name": "_nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 954, - "src": "4305:16:3", + "referencedDeclaration": 1135, + "src": "4305:16:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" } }, - "id": 975, + "id": 1156, "isConstant": false, "isLValue": false, "isPure": false, @@ -3906,31 +3906,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4305:23:3", + "src": "4305:23:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4301:27:3", + "src": "4301:27:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 994, + "id": 1175, "initializationExpression": { "assignments": [ - 970 + 1151 ], "declarations": [ { "constant": false, - "id": 970, + "id": 1151, "name": "i", "nodeType": "VariableDeclaration", - "scope": 994, - "src": "4289:6:3", + "scope": 1175, + "src": "4289:6:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3938,10 +3938,10 @@ "typeString": "uint256" }, "typeName": { - "id": 969, + "id": 1150, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4289:4:3", + "src": "4289:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3951,18 +3951,18 @@ "visibility": "internal" } ], - "id": 972, + "id": 1153, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 971, + "id": 1152, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4298:1:3", + "src": "4298:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3971,12 +3971,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "4289:10:3" + "src": "4289:10:8" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 978, + "id": 1159, "isConstant": false, "isLValue": false, "isPure": false, @@ -3984,15 +3984,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4330:3:3", + "src": "4330:3:8", "subExpression": { "argumentTypes": null, - "id": 977, + "id": 1158, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4330:1:3", + "referencedDeclaration": 1151, + "src": "4330:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4003,33 +4003,33 @@ "typeString": "uint256" } }, - "id": 979, + "id": 1160, "nodeType": "ExpressionStatement", - "src": "4330:3:3" + "src": "4330:3:8" }, "nodeType": "ForStatement", - "src": "4285:132:3" + "src": "4285:132:8" } ] }, "documentation": "@dev whether an array of notes is already spent ", - "id": 996, + "id": 1177, "implemented": true, "kind": "function", "modifiers": [], "name": "isSpentArray", "nodeType": "FunctionDefinition", "parameters": { - "id": 955, + "id": 1136, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 954, + "id": 1135, "name": "_nullifierHashes", "nodeType": "VariableDeclaration", - "scope": 996, - "src": "4150:35:3", + "scope": 1177, + "src": "4150:35:8", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -4038,19 +4038,19 @@ }, "typeName": { "baseType": { - "id": 952, + "id": 1133, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4150:7:3", + "src": "4150:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 953, + "id": 1134, "length": null, "nodeType": "ArrayTypeName", - "src": "4150:9:3", + "src": "4150:9:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -4060,19 +4060,19 @@ "visibility": "internal" } ], - "src": "4149:37:3" + "src": "4149:37:8" }, "returnParameters": { - "id": 959, + "id": 1140, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 958, + "id": 1139, "name": "spent", "nodeType": "VariableDeclaration", - "scope": 996, - "src": "4209:19:3", + "scope": 1177, + "src": "4209:19:8", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4081,19 +4081,19 @@ }, "typeName": { "baseType": { - "id": 956, + "id": 1137, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4209:4:3", + "src": "4209:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 957, + "id": 1138, "length": null, "nodeType": "ArrayTypeName", - "src": "4209:6:3", + "src": "4209:6:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", "typeString": "bool[]" @@ -4103,38 +4103,38 @@ "visibility": "internal" } ], - "src": "4208:21:3" + "src": "4208:21:8" }, - "scope": 1023, - "src": "4128:293:3", + "scope": 1204, + "src": "4128:293:8", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 1009, + "id": 1190, "nodeType": "Block", - "src": "4719:45:3", + "src": "4719:45:8", "statements": [ { "expression": { "argumentTypes": null, - "id": 1007, + "id": 1188, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1003, + "id": 1184, "name": "verifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "4725:8:3", + "referencedDeclaration": 904, + "src": "4725:8:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -4145,12 +4145,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1005, + "id": 1186, "name": "_newVerifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "4746:12:3", + "referencedDeclaration": 1179, + "src": "4746:12:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4164,18 +4164,18 @@ "typeString": "address" } ], - "id": 1004, + "id": 1185, "name": "IVerifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 701, - "src": "4736:9:3", + "referencedDeclaration": 882, + "src": "4736:9:8", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IVerifier_$701_$", + "typeIdentifier": "t_type$_t_contract$_IVerifier_$882_$", "typeString": "type(contract IVerifier)" } }, - "id": 1006, + "id": 1187, "isConstant": false, "isLValue": false, "isPure": false, @@ -4183,62 +4183,62 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4736:23:3", + "src": "4736:23:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, - "src": "4725:34:3", + "src": "4725:34:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, - "id": 1008, + "id": 1189, "nodeType": "ExpressionStatement", - "src": "4725:34:3" + "src": "4725:34:8" } ] }, "documentation": "@dev allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held.\nAfter that operator rights are supposed to be transferred to zero address", - "id": 1010, + "id": 1191, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1001, + "id": 1182, "modifierName": { "argumentTypes": null, - "id": 1000, + "id": 1181, "name": "onlyOperator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "4706:12:3", + "referencedDeclaration": 920, + "src": "4706:12:8", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4706:12:3" + "src": "4706:12:8" } ], "name": "updateVerifier", "nodeType": "FunctionDefinition", "parameters": { - "id": 999, + "id": 1180, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 998, + "id": 1179, "name": "_newVerifier", "nodeType": "VariableDeclaration", - "scope": 1010, - "src": "4675:20:3", + "scope": 1191, + "src": "4675:20:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4246,10 +4246,10 @@ "typeString": "address" }, "typeName": { - "id": 997, + "id": 1178, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4675:7:3", + "src": "4675:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4260,42 +4260,42 @@ "visibility": "internal" } ], - "src": "4674:22:3" + "src": "4674:22:8" }, "returnParameters": { - "id": 1002, + "id": 1183, "nodeType": "ParameterList", "parameters": [], - "src": "4719:0:3" + "src": "4719:0:8" }, - "scope": 1023, - "src": "4651:113:3", + "scope": 1204, + "src": "4651:113:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 1021, + "id": 1202, "nodeType": "Block", - "src": "4882:34:3", + "src": "4882:34:8", "statements": [ { "expression": { "argumentTypes": null, - "id": 1019, + "id": 1200, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1017, + "id": 1198, "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "4888:8:3", + "referencedDeclaration": 908, + "src": "4888:8:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4305,67 +4305,67 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1018, + "id": 1199, "name": "_newOperator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1012, - "src": "4899:12:3", + "referencedDeclaration": 1193, + "src": "4899:12:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "4888:23:3", + "src": "4888:23:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1020, + "id": 1201, "nodeType": "ExpressionStatement", - "src": "4888:23:3" + "src": "4888:23:8" } ] }, "documentation": "@dev operator can change his address ", - "id": 1022, + "id": 1203, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1015, + "id": 1196, "modifierName": { "argumentTypes": null, - "id": 1014, + "id": 1195, "name": "onlyOperator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "4869:12:3", + "referencedDeclaration": 920, + "src": "4869:12:8", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4869:12:3" + "src": "4869:12:8" } ], "name": "changeOperator", "nodeType": "FunctionDefinition", "parameters": { - "id": 1013, + "id": 1194, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1012, + "id": 1193, "name": "_newOperator", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "4838:20:3", + "scope": 1203, + "src": "4838:20:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4373,10 +4373,10 @@ "typeString": "address" }, "typeName": { - "id": 1011, + "id": 1192, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4838:7:3", + "src": "4838:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4387,39 +4387,39 @@ "visibility": "internal" } ], - "src": "4837:22:3" + "src": "4837:22:8" }, "returnParameters": { - "id": 1016, + "id": 1197, "nodeType": "ParameterList", "parameters": [], - "src": "4882:0:3" + "src": "4882:0:8" }, - "scope": 1023, - "src": "4814:102:3", + "scope": 1204, + "src": "4814:102:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1024, - "src": "318:4600:3" + "scope": 1205, + "src": "318:4600:8" } ], - "src": "0:4919:3" + "src": "0:4919:8" }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "exportedSymbols": { "IFeeManager": [ - 707 + 888 ], "IVerifier": [ - 701 + 882 ], "Tornado": [ - 1023 + 1204 ] } }, @@ -4432,39 +4432,39 @@ ".17" ] }, - "id": 687, + "id": 868, "name": "PragmaDirective", - "src": "0:23:3" + "src": "0:23:8" }, { "attributes": { "SourceUnit": 686, - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", "file": "./MerkleTreeWithHistory.sol", - "scope": 1024, + "scope": 1205, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 688, + "id": 869, "name": "ImportDirective", - "src": "25:37:3" + "src": "25:37:8" }, { "attributes": { - "SourceUnit": 1054, + "SourceUnit": 3256, "absolutePath": "@openzeppelin/contracts/utils/ReentrancyGuard.sol", "file": "@openzeppelin/contracts/utils/ReentrancyGuard.sol", - "scope": 1024, + "scope": 1205, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 689, + "id": 870, "name": "ImportDirective", - "src": "63:59:3" + "src": "63:59:8" }, { "attributes": { @@ -4478,10 +4478,10 @@ "documentation": null, "fullyImplemented": false, "linearizedBaseContracts": [ - 701 + 882 ], "name": "IVerifier", - "scope": 1024 + "scope": 1205 }, "children": [ { @@ -4495,7 +4495,7 @@ null ], "name": "verifyProof", - "scope": 701, + "scope": 882, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -4507,7 +4507,7 @@ "attributes": { "constant": false, "name": "_proof", - "scope": 700, + "scope": 881, "stateVariable": false, "storageLocation": "memory", "type": "bytes", @@ -4520,20 +4520,20 @@ "name": "bytes", "type": "bytes" }, - "id": 690, + "id": 871, "name": "ElementaryTypeName", - "src": "168:5:3" + "src": "168:5:8" } ], - "id": 691, + "id": 872, "name": "VariableDeclaration", - "src": "168:19:3" + "src": "168:19:8" }, { "attributes": { "constant": false, "name": "_input", - "scope": 700, + "scope": 881, "stateVariable": false, "storageLocation": "memory", "type": "uint256[6]", @@ -4551,9 +4551,9 @@ "name": "uint256", "type": "uint256" }, - "id": 692, + "id": 873, "name": "ElementaryTypeName", - "src": "189:7:3" + "src": "189:7:8" }, { "attributes": { @@ -4568,24 +4568,24 @@ "type": "int_const 6", "value": "6" }, - "id": 693, + "id": 874, "name": "Literal", - "src": "197:1:3" + "src": "197:1:8" } ], - "id": 694, + "id": 875, "name": "ArrayTypeName", - "src": "189:10:3" + "src": "189:10:8" } ], - "id": 695, + "id": 876, "name": "VariableDeclaration", - "src": "189:24:3" + "src": "189:24:8" } ], - "id": 696, + "id": 877, "name": "ParameterList", - "src": "167:47:3" + "src": "167:47:8" }, { "children": [ @@ -4593,7 +4593,7 @@ "attributes": { "constant": false, "name": "", - "scope": 700, + "scope": 881, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -4606,29 +4606,29 @@ "name": "bool", "type": "bool" }, - "id": 697, + "id": 878, "name": "ElementaryTypeName", - "src": "230:4:3" + "src": "230:4:8" } ], - "id": 698, + "id": 879, "name": "VariableDeclaration", - "src": "230:4:3" + "src": "230:4:8" } ], - "id": 699, + "id": 880, "name": "ParameterList", - "src": "229:6:3" + "src": "229:6:8" } ], - "id": 700, + "id": 881, "name": "FunctionDefinition", - "src": "147:89:3" + "src": "147:89:8" } ], - "id": 701, + "id": 882, "name": "ContractDefinition", - "src": "124:114:3" + "src": "124:114:8" }, { "attributes": { @@ -4642,10 +4642,10 @@ "documentation": null, "fullyImplemented": false, "linearizedBaseContracts": [ - 707 + 888 ], "name": "IFeeManager", - "scope": 1024 + "scope": 1205 }, "children": [ { @@ -4659,7 +4659,7 @@ null ], "name": "feeTo", - "scope": 707, + "scope": 888, "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4672,9 +4672,9 @@ ] }, "children": [], - "id": 702, + "id": 883, "name": "ParameterList", - "src": "279:2:3" + "src": "279:2:8" }, { "children": [ @@ -4682,7 +4682,7 @@ "attributes": { "constant": false, "name": "", - "scope": 706, + "scope": 887, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -4696,46 +4696,46 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 703, + "id": 884, "name": "ElementaryTypeName", - "src": "305:7:3" + "src": "305:7:8" } ], - "id": 704, + "id": 885, "name": "VariableDeclaration", - "src": "305:7:3" + "src": "305:7:8" } ], - "id": 705, + "id": 886, "name": "ParameterList", - "src": "304:9:3" + "src": "304:9:8" } ], - "id": 706, + "id": 887, "name": "FunctionDefinition", - "src": "265:49:3" + "src": "265:49:8" } ], - "id": 707, + "id": 888, "name": "ContractDefinition", - "src": "240:76:3" + "src": "240:76:8" }, { "attributes": { "contractDependencies": [ 685, - 1053 + 3255 ], "contractKind": "contract", "documentation": null, "fullyImplemented": false, "linearizedBaseContracts": [ - 1023, - 1053, + 1204, + 3255, 685 ], "name": "Tornado", - "scope": 1024 + "scope": 1205 }, "children": [ { @@ -4750,14 +4750,14 @@ "referencedDeclaration": 685, "type": "contract MerkleTreeWithHistory" }, - "id": 708, + "id": 889, "name": "UserDefinedTypeName", - "src": "338:21:3" + "src": "338:21:8" } ], - "id": 709, + "id": 890, "name": "InheritanceSpecifier", - "src": "338:21:3" + "src": "338:21:8" }, { "attributes": { @@ -4768,23 +4768,23 @@ "attributes": { "contractScope": null, "name": "ReentrancyGuard", - "referencedDeclaration": 1053, + "referencedDeclaration": 3255, "type": "contract ReentrancyGuard" }, - "id": 710, + "id": 891, "name": "UserDefinedTypeName", - "src": "361:15:3" + "src": "361:15:8" } ], - "id": 711, + "id": 892, "name": "InheritanceSpecifier", - "src": "361:15:3" + "src": "361:15:8" }, { "attributes": { "constant": false, "name": "denomination", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "uint256", @@ -4797,20 +4797,20 @@ "name": "uint256", "type": "uint256" }, - "id": 712, + "id": 893, "name": "ElementaryTypeName", - "src": "381:7:3" + "src": "381:7:8" } ], - "id": 713, + "id": 894, "name": "VariableDeclaration", - "src": "381:27:3" + "src": "381:27:8" }, { "attributes": { "constant": false, "name": "nullifierHashes", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "mapping(bytes32 => bool)", @@ -4828,34 +4828,34 @@ "name": "bytes32", "type": "bytes32" }, - "id": 714, + "id": 895, "name": "ElementaryTypeName", - "src": "420:7:3" + "src": "420:7:8" }, { "attributes": { "name": "bool", "type": "bool" }, - "id": 715, + "id": 896, "name": "ElementaryTypeName", - "src": "431:4:3" + "src": "431:4:8" } ], - "id": 716, + "id": 897, "name": "Mapping", - "src": "412:24:3" + "src": "412:24:8" } ], - "id": 717, + "id": 898, "name": "VariableDeclaration", - "src": "412:47:3" + "src": "412:47:8" }, { "attributes": { "constant": false, "name": "commitments", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "mapping(bytes32 => bool)", @@ -4873,34 +4873,34 @@ "name": "bytes32", "type": "bytes32" }, - "id": 718, + "id": 899, "name": "ElementaryTypeName", - "src": "562:7:3" + "src": "562:7:8" }, { "attributes": { "name": "bool", "type": "bool" }, - "id": 719, + "id": 900, "name": "ElementaryTypeName", - "src": "573:4:3" + "src": "573:4:8" } ], - "id": 720, + "id": 901, "name": "Mapping", - "src": "554:24:3" + "src": "554:24:8" } ], - "id": 721, + "id": 902, "name": "VariableDeclaration", - "src": "554:43:3" + "src": "554:43:8" }, { "attributes": { "constant": false, "name": "verifier", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "contract IVerifier", @@ -4912,23 +4912,23 @@ "attributes": { "contractScope": null, "name": "IVerifier", - "referencedDeclaration": 701, + "referencedDeclaration": 882, "type": "contract IVerifier" }, - "id": 722, + "id": 903, "name": "UserDefinedTypeName", - "src": "601:9:3" + "src": "601:9:8" } ], - "id": 723, + "id": 904, "name": "VariableDeclaration", - "src": "601:25:3" + "src": "601:25:8" }, { "attributes": { "constant": false, "name": "feeManager", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "contract IFeeManager", @@ -4940,23 +4940,23 @@ "attributes": { "contractScope": null, "name": "IFeeManager", - "referencedDeclaration": 707, + "referencedDeclaration": 888, "type": "contract IFeeManager" }, - "id": 724, + "id": 905, "name": "UserDefinedTypeName", - "src": "630:11:3" + "src": "630:11:8" } ], - "id": 725, + "id": 906, "name": "VariableDeclaration", - "src": "630:29:3" + "src": "630:29:8" }, { "attributes": { "constant": false, "name": "operator", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "address", @@ -4970,14 +4970,14 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 726, + "id": 907, "name": "ElementaryTypeName", - "src": "819:7:3" + "src": "819:7:8" } ], - "id": 727, + "id": 908, "name": "VariableDeclaration", - "src": "819:23:3" + "src": "819:23:8" }, { "attributes": { @@ -4993,9 +4993,9 @@ ] }, "children": [], - "id": 728, + "id": 909, "name": "ParameterList", - "src": "868:0:3" + "src": "868:0:8" }, { "children": [ @@ -5029,16 +5029,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 729, + "id": 910, "name": "Identifier", - "src": "874:7:3" + "src": "874:7:8" }, { "attributes": { @@ -5073,18 +5073,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1068, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, - "id": 730, + "id": 911, "name": "Identifier", - "src": "882:3:3" + "src": "882:3:8" } ], - "id": 731, + "id": 912, "name": "MemberAccess", - "src": "882:10:3" + "src": "882:10:8" }, { "attributes": { @@ -5092,18 +5092,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 727, + "referencedDeclaration": 908, "type": "address", "value": "operator" }, - "id": 732, + "id": 913, "name": "Identifier", - "src": "896:8:3" + "src": "896:8:8" } ], - "id": 733, + "id": 914, "name": "BinaryOperation", - "src": "882:22:3" + "src": "882:22:8" }, { "attributes": { @@ -5118,34 +5118,34 @@ "type": "literal_string \"Only operator can call this function.\"", "value": "Only operator can call this function." }, - "id": 734, + "id": 915, "name": "Literal", - "src": "906:39:3" + "src": "906:39:8" } ], - "id": 735, + "id": 916, "name": "FunctionCall", - "src": "874:72:3" + "src": "874:72:8" } ], - "id": 736, + "id": 917, "name": "ExpressionStatement", - "src": "874:72:3" + "src": "874:72:8" }, { - "id": 737, + "id": 918, "name": "PlaceholderStatement", - "src": "952:1:3" + "src": "952:1:8" } ], - "id": 738, + "id": 919, "name": "Block", - "src": "868:90:3" + "src": "868:90:8" } ], - "id": 739, + "id": 920, "name": "ModifierDefinition", - "src": "846:112:3" + "src": "846:112:8" }, { "attributes": { @@ -5161,7 +5161,7 @@ "constant": false, "indexed": true, "name": "commitment", - "scope": 747, + "scope": 928, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -5174,21 +5174,21 @@ "name": "bytes32", "type": "bytes32" }, - "id": 740, + "id": 921, "name": "ElementaryTypeName", - "src": "976:7:3" + "src": "976:7:8" } ], - "id": 741, + "id": 922, "name": "VariableDeclaration", - "src": "976:26:3" + "src": "976:26:8" }, { "attributes": { "constant": false, "indexed": false, "name": "leafIndex", - "scope": 747, + "scope": 928, "stateVariable": false, "storageLocation": "default", "type": "uint32", @@ -5201,21 +5201,21 @@ "name": "uint32", "type": "uint32" }, - "id": 742, + "id": 923, "name": "ElementaryTypeName", - "src": "1004:6:3" + "src": "1004:6:8" } ], - "id": 743, + "id": 924, "name": "VariableDeclaration", - "src": "1004:16:3" + "src": "1004:16:8" }, { "attributes": { "constant": false, "indexed": false, "name": "timestamp", - "scope": 747, + "scope": 928, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -5228,24 +5228,24 @@ "name": "uint256", "type": "uint256" }, - "id": 744, + "id": 925, "name": "ElementaryTypeName", - "src": "1022:7:3" + "src": "1022:7:8" } ], - "id": 745, + "id": 926, "name": "VariableDeclaration", - "src": "1022:17:3" + "src": "1022:17:8" } ], - "id": 746, + "id": 927, "name": "ParameterList", - "src": "975:65:3" + "src": "975:65:8" } ], - "id": 747, + "id": 928, "name": "EventDefinition", - "src": "962:79:3" + "src": "962:79:8" }, { "attributes": { @@ -5261,7 +5261,7 @@ "constant": false, "indexed": false, "name": "to", - "scope": 757, + "scope": 938, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -5275,21 +5275,21 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 748, + "id": 929, "name": "ElementaryTypeName", - "src": "1061:7:3" + "src": "1061:7:8" } ], - "id": 749, + "id": 930, "name": "VariableDeclaration", - "src": "1061:10:3" + "src": "1061:10:8" }, { "attributes": { "constant": false, "indexed": false, "name": "nullifierHash", - "scope": 757, + "scope": 938, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -5302,21 +5302,21 @@ "name": "bytes32", "type": "bytes32" }, - "id": 750, + "id": 931, "name": "ElementaryTypeName", - "src": "1073:7:3" + "src": "1073:7:8" } ], - "id": 751, + "id": 932, "name": "VariableDeclaration", - "src": "1073:21:3" + "src": "1073:21:8" }, { "attributes": { "constant": false, "indexed": true, "name": "relayer", - "scope": 757, + "scope": 938, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -5330,21 +5330,21 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 752, + "id": 933, "name": "ElementaryTypeName", - "src": "1096:7:3" + "src": "1096:7:8" } ], - "id": 753, + "id": 934, "name": "VariableDeclaration", - "src": "1096:23:3" + "src": "1096:23:8" }, { "attributes": { "constant": false, "indexed": false, "name": "fee", - "scope": 757, + "scope": 938, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -5357,24 +5357,24 @@ "name": "uint256", "type": "uint256" }, - "id": 754, + "id": 935, "name": "ElementaryTypeName", - "src": "1121:7:3" + "src": "1121:7:8" } ], - "id": 755, + "id": 936, "name": "VariableDeclaration", - "src": "1121:11:3" + "src": "1121:11:8" } ], - "id": 756, + "id": 937, "name": "ParameterList", - "src": "1060:73:3" + "src": "1060:73:8" } ], - "id": 757, + "id": 938, "name": "EventDefinition", - "src": "1044:90:3" + "src": "1044:90:8" }, { "attributes": { @@ -5383,7 +5383,7 @@ "isConstructor": true, "kind": "constructor", "name": "", - "scope": 1023, + "scope": 1204, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -5395,7 +5395,7 @@ "attributes": { "constant": false, "name": "_verifier", - "scope": 797, + "scope": 978, "stateVariable": false, "storageLocation": "default", "type": "contract IVerifier", @@ -5407,23 +5407,23 @@ "attributes": { "contractScope": null, "name": "IVerifier", - "referencedDeclaration": 701, + "referencedDeclaration": 882, "type": "contract IVerifier" }, - "id": 758, + "id": 939, "name": "UserDefinedTypeName", - "src": "1450:9:3" + "src": "1450:9:8" } ], - "id": 759, + "id": 940, "name": "VariableDeclaration", - "src": "1450:19:3" + "src": "1450:19:8" }, { "attributes": { "constant": false, "name": "_feeManager", - "scope": 797, + "scope": 978, "stateVariable": false, "storageLocation": "default", "type": "contract IFeeManager", @@ -5435,23 +5435,23 @@ "attributes": { "contractScope": null, "name": "IFeeManager", - "referencedDeclaration": 707, + "referencedDeclaration": 888, "type": "contract IFeeManager" }, - "id": 760, + "id": 941, "name": "UserDefinedTypeName", - "src": "1475:11:3" + "src": "1475:11:8" } ], - "id": 761, + "id": 942, "name": "VariableDeclaration", - "src": "1475:23:3" + "src": "1475:23:8" }, { "attributes": { "constant": false, "name": "_denomination", - "scope": 797, + "scope": 978, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -5464,20 +5464,20 @@ "name": "uint256", "type": "uint256" }, - "id": 762, + "id": 943, "name": "ElementaryTypeName", - "src": "1504:7:3" + "src": "1504:7:8" } ], - "id": 763, + "id": 944, "name": "VariableDeclaration", - "src": "1504:21:3" + "src": "1504:21:8" }, { "attributes": { "constant": false, "name": "_merkleTreeHeight", - "scope": 797, + "scope": 978, "stateVariable": false, "storageLocation": "default", "type": "uint32", @@ -5490,20 +5490,20 @@ "name": "uint32", "type": "uint32" }, - "id": 764, + "id": 945, "name": "ElementaryTypeName", - "src": "1531:6:3" + "src": "1531:6:8" } ], - "id": 765, + "id": 946, "name": "VariableDeclaration", - "src": "1531:24:3" + "src": "1531:24:8" }, { "attributes": { "constant": false, "name": "_operator", - "scope": 797, + "scope": 978, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -5517,19 +5517,19 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 766, + "id": 947, "name": "ElementaryTypeName", - "src": "1561:7:3" + "src": "1561:7:8" } ], - "id": 767, + "id": 948, "name": "VariableDeclaration", - "src": "1561:17:3" + "src": "1561:17:8" } ], - "id": 768, + "id": 949, "name": "ParameterList", - "src": "1444:138:3" + "src": "1444:138:8" }, { "attributes": { @@ -5538,9 +5538,9 @@ ] }, "children": [], - "id": 772, + "id": 953, "name": "ParameterList", - "src": "1631:0:3" + "src": "1631:0:8" }, { "children": [ @@ -5554,9 +5554,9 @@ "type": "type(contract MerkleTreeWithHistory)", "value": "MerkleTreeWithHistory" }, - "id": 769, + "id": 950, "name": "Identifier", - "src": "1583:21:3" + "src": "1583:21:8" }, { "attributes": { @@ -5564,18 +5564,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 765, + "referencedDeclaration": 946, "type": "uint32", "value": "_merkleTreeHeight" }, - "id": 770, + "id": 951, "name": "Identifier", - "src": "1605:17:3" + "src": "1605:17:8" } ], - "id": 771, + "id": 952, "name": "ModifierInvocation", - "src": "1583:40:3" + "src": "1583:40:8" }, { "children": [ @@ -5609,16 +5609,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 773, + "id": 954, "name": "Identifier", - "src": "1637:7:3" + "src": "1637:7:8" }, { "attributes": { @@ -5641,13 +5641,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 763, + "referencedDeclaration": 944, "type": "uint256", "value": "_denomination" }, - "id": 774, + "id": 955, "name": "Identifier", - "src": "1645:13:3" + "src": "1645:13:8" }, { "attributes": { @@ -5662,14 +5662,14 @@ "type": "int_const 0", "value": "0" }, - "id": 775, + "id": 956, "name": "Literal", - "src": "1661:1:3" + "src": "1661:1:8" } ], - "id": 776, + "id": 957, "name": "BinaryOperation", - "src": "1645:17:3" + "src": "1645:17:8" }, { "attributes": { @@ -5684,19 +5684,19 @@ "type": "literal_string \"denomination should be greater than 0\"", "value": "denomination should be greater than 0" }, - "id": 777, + "id": 958, "name": "Literal", - "src": "1664:39:3" + "src": "1664:39:8" } ], - "id": 778, + "id": 959, "name": "FunctionCall", - "src": "1637:67:3" + "src": "1637:67:8" } ], - "id": 779, + "id": 960, "name": "ExpressionStatement", - "src": "1637:67:3" + "src": "1637:67:8" }, { "children": [ @@ -5717,13 +5717,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 723, + "referencedDeclaration": 904, "type": "contract IVerifier", "value": "verifier" }, - "id": 780, + "id": 961, "name": "Identifier", - "src": "1710:8:3" + "src": "1710:8:8" }, { "attributes": { @@ -5731,23 +5731,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 759, + "referencedDeclaration": 940, "type": "contract IVerifier", "value": "_verifier" }, - "id": 781, + "id": 962, "name": "Identifier", - "src": "1721:9:3" + "src": "1721:9:8" } ], - "id": 782, + "id": 963, "name": "Assignment", - "src": "1710:20:3" + "src": "1710:20:8" } ], - "id": 783, + "id": 964, "name": "ExpressionStatement", - "src": "1710:20:3" + "src": "1710:20:8" }, { "children": [ @@ -5768,13 +5768,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 725, + "referencedDeclaration": 906, "type": "contract IFeeManager", "value": "feeManager" }, - "id": 784, + "id": 965, "name": "Identifier", - "src": "1736:10:3" + "src": "1736:10:8" }, { "attributes": { @@ -5782,23 +5782,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 761, + "referencedDeclaration": 942, "type": "contract IFeeManager", "value": "_feeManager" }, - "id": 785, + "id": 966, "name": "Identifier", - "src": "1749:11:3" + "src": "1749:11:8" } ], - "id": 786, + "id": 967, "name": "Assignment", - "src": "1736:24:3" + "src": "1736:24:8" } ], - "id": 787, + "id": 968, "name": "ExpressionStatement", - "src": "1736:24:3" + "src": "1736:24:8" }, { "children": [ @@ -5819,13 +5819,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 727, + "referencedDeclaration": 908, "type": "address", "value": "operator" }, - "id": 788, + "id": 969, "name": "Identifier", - "src": "1766:8:3" + "src": "1766:8:8" }, { "attributes": { @@ -5833,23 +5833,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 767, + "referencedDeclaration": 948, "type": "address", "value": "_operator" }, - "id": 789, + "id": 970, "name": "Identifier", - "src": "1777:9:3" + "src": "1777:9:8" } ], - "id": 790, + "id": 971, "name": "Assignment", - "src": "1766:20:3" + "src": "1766:20:8" } ], - "id": 791, + "id": 972, "name": "ExpressionStatement", - "src": "1766:20:3" + "src": "1766:20:8" }, { "children": [ @@ -5870,13 +5870,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 713, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, - "id": 792, + "id": 973, "name": "Identifier", - "src": "1792:12:3" + "src": "1792:12:8" }, { "attributes": { @@ -5884,33 +5884,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 763, + "referencedDeclaration": 944, "type": "uint256", "value": "_denomination" }, - "id": 793, + "id": 974, "name": "Identifier", - "src": "1807:13:3" + "src": "1807:13:8" } ], - "id": 794, + "id": 975, "name": "Assignment", - "src": "1792:28:3" + "src": "1792:28:8" } ], - "id": 795, + "id": 976, "name": "ExpressionStatement", - "src": "1792:28:3" + "src": "1792:28:8" } ], - "id": 796, + "id": 977, "name": "Block", - "src": "1631:194:3" + "src": "1631:194:8" } ], - "id": 797, + "id": 978, "name": "FunctionDefinition", - "src": "1433:392:3" + "src": "1433:392:8" }, { "attributes": { @@ -5919,7 +5919,7 @@ "isConstructor": false, "kind": "function", "name": "deposit", - "scope": 1023, + "scope": 1204, "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -5931,7 +5931,7 @@ "attributes": { "constant": false, "name": "_commitment", - "scope": 835, + "scope": 1016, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -5944,19 +5944,19 @@ "name": "bytes32", "type": "bytes32" }, - "id": 798, + "id": 979, "name": "ElementaryTypeName", - "src": "2090:7:3" + "src": "2090:7:8" } ], - "id": 799, + "id": 980, "name": "VariableDeclaration", - "src": "2090:19:3" + "src": "2090:19:8" } ], - "id": 800, + "id": 981, "name": "ParameterList", - "src": "2089:21:3" + "src": "2089:21:8" }, { "attributes": { @@ -5965,9 +5965,9 @@ ] }, "children": [], - "id": 803, + "id": 984, "name": "ParameterList", - "src": "2141:0:3" + "src": "2141:0:8" }, { "attributes": { @@ -5980,18 +5980,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1052, + "referencedDeclaration": 3254, "type": "modifier ()", "value": "nonReentrant" }, - "id": 801, + "id": 982, "name": "Identifier", - "src": "2128:12:3" + "src": "2128:12:8" } ], - "id": 802, + "id": 983, "name": "ModifierInvocation", - "src": "2128:12:3" + "src": "2128:12:8" }, { "children": [ @@ -6025,16 +6025,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 804, + "id": 985, "name": "Identifier", - "src": "2147:7:3" + "src": "2147:7:8" }, { "attributes": { @@ -6064,13 +6064,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 721, + "referencedDeclaration": 902, "type": "mapping(bytes32 => bool)", "value": "commitments" }, - "id": 805, + "id": 986, "name": "Identifier", - "src": "2156:11:3" + "src": "2156:11:8" }, { "attributes": { @@ -6078,23 +6078,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 799, + "referencedDeclaration": 980, "type": "bytes32", "value": "_commitment" }, - "id": 806, + "id": 987, "name": "Identifier", - "src": "2168:11:3" + "src": "2168:11:8" } ], - "id": 807, + "id": 988, "name": "IndexAccess", - "src": "2156:24:3" + "src": "2156:24:8" } ], - "id": 808, + "id": 989, "name": "UnaryOperation", - "src": "2155:25:3" + "src": "2155:25:8" }, { "attributes": { @@ -6109,24 +6109,24 @@ "type": "literal_string \"The commitment has been submitted\"", "value": "The commitment has been submitted" }, - "id": 809, + "id": 990, "name": "Literal", - "src": "2182:35:3" + "src": "2182:35:8" } ], - "id": 810, + "id": 991, "name": "FunctionCall", - "src": "2147:71:3" + "src": "2147:71:8" } ], - "id": 811, + "id": 992, "name": "ExpressionStatement", - "src": "2147:71:3" + "src": "2147:71:8" }, { "attributes": { "assignments": [ - 813 + 994 ] }, "children": [ @@ -6134,7 +6134,7 @@ "attributes": { "constant": false, "name": "insertedIndex", - "scope": 834, + "scope": 1015, "stateVariable": false, "storageLocation": "default", "type": "uint32", @@ -6147,14 +6147,14 @@ "name": "uint32", "type": "uint32" }, - "id": 812, + "id": 993, "name": "ElementaryTypeName", - "src": "2225:6:3" + "src": "2225:6:8" } ], - "id": 813, + "id": 994, "name": "VariableDeclaration", - "src": "2225:20:3" + "src": "2225:20:8" }, { "attributes": { @@ -6186,9 +6186,9 @@ "type": "function (bytes32) returns (uint32)", "value": "_insert" }, - "id": 814, + "id": 995, "name": "Identifier", - "src": "2248:7:3" + "src": "2248:7:8" }, { "attributes": { @@ -6196,23 +6196,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 799, + "referencedDeclaration": 980, "type": "bytes32", "value": "_commitment" }, - "id": 815, + "id": 996, "name": "Identifier", - "src": "2256:11:3" + "src": "2256:11:8" } ], - "id": 816, + "id": 997, "name": "FunctionCall", - "src": "2248:20:3" + "src": "2248:20:8" } ], - "id": 817, + "id": 998, "name": "VariableDeclarationStatement", - "src": "2225:43:3" + "src": "2225:43:8" }, { "children": [ @@ -6243,13 +6243,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 721, + "referencedDeclaration": 902, "type": "mapping(bytes32 => bool)", "value": "commitments" }, - "id": 818, + "id": 999, "name": "Identifier", - "src": "2274:11:3" + "src": "2274:11:8" }, { "attributes": { @@ -6257,18 +6257,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 799, + "referencedDeclaration": 980, "type": "bytes32", "value": "_commitment" }, - "id": 819, + "id": 1000, "name": "Identifier", - "src": "2286:11:3" + "src": "2286:11:8" } ], - "id": 820, + "id": 1001, "name": "IndexAccess", - "src": "2274:24:3" + "src": "2274:24:8" }, { "attributes": { @@ -6283,19 +6283,19 @@ "type": "bool", "value": "true" }, - "id": 821, + "id": 1002, "name": "Literal", - "src": "2301:4:3" + "src": "2301:4:8" } ], - "id": 822, + "id": 1003, "name": "Assignment", - "src": "2274:31:3" + "src": "2274:31:8" } ], - "id": 823, + "id": 1004, "name": "ExpressionStatement", - "src": "2274:31:3" + "src": "2274:31:8" }, { "children": [ @@ -6325,23 +6325,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 838, + "referencedDeclaration": 1019, "type": "function ()", "value": "_processDeposit" }, - "id": 824, + "id": 1005, "name": "Identifier", - "src": "2311:15:3" + "src": "2311:15:8" } ], - "id": 825, + "id": 1006, "name": "FunctionCall", - "src": "2311:17:3" + "src": "2311:17:8" } ], - "id": 826, + "id": 1007, "name": "ExpressionStatement", - "src": "2311:17:3" + "src": "2311:17:8" }, { "children": [ @@ -6379,13 +6379,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 747, + "referencedDeclaration": 928, "type": "function (bytes32,uint32,uint256)", "value": "Deposit" }, - "id": 827, + "id": 1008, "name": "Identifier", - "src": "2340:7:3" + "src": "2340:7:8" }, { "attributes": { @@ -6393,13 +6393,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 799, + "referencedDeclaration": 980, "type": "bytes32", "value": "_commitment" }, - "id": 828, + "id": 1009, "name": "Identifier", - "src": "2348:11:3" + "src": "2348:11:8" }, { "attributes": { @@ -6407,13 +6407,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 813, + "referencedDeclaration": 994, "type": "uint32", "value": "insertedIndex" }, - "id": 829, + "id": 1010, "name": "Identifier", - "src": "2361:13:3" + "src": "2361:13:8" }, { "attributes": { @@ -6433,38 +6433,38 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1058, + "referencedDeclaration": 3260, "type": "block", "value": "block" }, - "id": 830, + "id": 1011, "name": "Identifier", - "src": "2376:5:3" + "src": "2376:5:8" } ], - "id": 831, + "id": 1012, "name": "MemberAccess", - "src": "2376:15:3" + "src": "2376:15:8" } ], - "id": 832, + "id": 1013, "name": "FunctionCall", - "src": "2340:52:3" + "src": "2340:52:8" } ], - "id": 833, + "id": 1014, "name": "EmitStatement", - "src": "2335:57:3" + "src": "2335:57:8" } ], - "id": 834, + "id": 1015, "name": "Block", - "src": "2141:256:3" + "src": "2141:256:8" } ], - "id": 835, + "id": 1016, "name": "FunctionDefinition", - "src": "2073:324:3" + "src": "2073:324:8" }, { "attributes": { @@ -6477,7 +6477,7 @@ null ], "name": "_processDeposit", - "scope": 1023, + "scope": 1204, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -6490,9 +6490,9 @@ ] }, "children": [], - "id": 836, + "id": 1017, "name": "ParameterList", - "src": "2484:2:3" + "src": "2484:2:8" }, { "attributes": { @@ -6501,14 +6501,14 @@ ] }, "children": [], - "id": 837, + "id": 1018, "name": "ParameterList", - "src": "2495:0:3" + "src": "2495:0:8" } ], - "id": 838, + "id": 1019, "name": "FunctionDefinition", - "src": "2460:36:3" + "src": "2460:36:8" }, { "attributes": { @@ -6517,7 +6517,7 @@ "isConstructor": false, "kind": "function", "name": "withdraw", - "scope": 1023, + "scope": 1204, "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -6529,7 +6529,7 @@ "attributes": { "constant": false, "name": "_proof", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "calldata", "type": "bytes", @@ -6542,20 +6542,20 @@ "name": "bytes", "type": "bytes" }, - "id": 839, + "id": 1020, "name": "ElementaryTypeName", - "src": "2911:5:3" + "src": "2911:5:8" } ], - "id": 840, + "id": 1021, "name": "VariableDeclaration", - "src": "2911:21:3" + "src": "2911:21:8" }, { "attributes": { "constant": false, "name": "_root", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -6568,20 +6568,20 @@ "name": "bytes32", "type": "bytes32" }, - "id": 841, + "id": 1022, "name": "ElementaryTypeName", - "src": "2934:7:3" + "src": "2934:7:8" } ], - "id": 842, + "id": 1023, "name": "VariableDeclaration", - "src": "2934:13:3" + "src": "2934:13:8" }, { "attributes": { "constant": false, "name": "_nullifierHash", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -6594,20 +6594,20 @@ "name": "bytes32", "type": "bytes32" }, - "id": 843, + "id": 1024, "name": "ElementaryTypeName", - "src": "2949:7:3" + "src": "2949:7:8" } ], - "id": 844, + "id": 1025, "name": "VariableDeclaration", - "src": "2949:22:3" + "src": "2949:22:8" }, { "attributes": { "constant": false, "name": "_recipient", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "address payable", @@ -6621,20 +6621,20 @@ "stateMutability": "payable", "type": "address payable" }, - "id": 845, + "id": 1026, "name": "ElementaryTypeName", - "src": "2973:15:3" + "src": "2973:15:8" } ], - "id": 846, + "id": 1027, "name": "VariableDeclaration", - "src": "2973:26:3" + "src": "2973:26:8" }, { "attributes": { "constant": false, "name": "_relayer", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "address payable", @@ -6648,20 +6648,20 @@ "stateMutability": "payable", "type": "address payable" }, - "id": 847, + "id": 1028, "name": "ElementaryTypeName", - "src": "3001:15:3" + "src": "3001:15:8" } ], - "id": 848, + "id": 1029, "name": "VariableDeclaration", - "src": "3001:24:3" + "src": "3001:24:8" }, { "attributes": { "constant": false, "name": "_fee", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -6674,20 +6674,20 @@ "name": "uint256", "type": "uint256" }, - "id": 849, + "id": 1030, "name": "ElementaryTypeName", - "src": "3027:7:3" + "src": "3027:7:8" } ], - "id": 850, + "id": 1031, "name": "VariableDeclaration", - "src": "3027:12:3" + "src": "3027:12:8" }, { "attributes": { "constant": false, "name": "_refund", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -6700,19 +6700,19 @@ "name": "uint256", "type": "uint256" }, - "id": 851, + "id": 1032, "name": "ElementaryTypeName", - "src": "3041:7:3" + "src": "3041:7:8" } ], - "id": 852, + "id": 1033, "name": "VariableDeclaration", - "src": "3041:15:3" + "src": "3041:15:8" } ], - "id": 853, + "id": 1034, "name": "ParameterList", - "src": "2910:147:3" + "src": "2910:147:8" }, { "attributes": { @@ -6721,9 +6721,9 @@ ] }, "children": [], - "id": 856, + "id": 1037, "name": "ParameterList", - "src": "3088:0:3" + "src": "3088:0:8" }, { "attributes": { @@ -6736,18 +6736,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1052, + "referencedDeclaration": 3254, "type": "modifier ()", "value": "nonReentrant" }, - "id": 854, + "id": 1035, "name": "Identifier", - "src": "3075:12:3" + "src": "3075:12:8" } ], - "id": 855, + "id": 1036, "name": "ModifierInvocation", - "src": "3075:12:3" + "src": "3075:12:8" }, { "children": [ @@ -6781,16 +6781,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 857, + "id": 1038, "name": "Identifier", - "src": "3094:7:3" + "src": "3094:7:8" }, { "attributes": { @@ -6813,13 +6813,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 850, + "referencedDeclaration": 1031, "type": "uint256", "value": "_fee" }, - "id": 858, + "id": 1039, "name": "Identifier", - "src": "3102:4:3" + "src": "3102:4:8" }, { "attributes": { @@ -6827,18 +6827,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 713, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, - "id": 859, + "id": 1040, "name": "Identifier", - "src": "3110:12:3" + "src": "3110:12:8" } ], - "id": 860, + "id": 1041, "name": "BinaryOperation", - "src": "3102:20:3" + "src": "3102:20:8" }, { "attributes": { @@ -6853,19 +6853,19 @@ "type": "literal_string \"Fee exceeds transfer value\"", "value": "Fee exceeds transfer value" }, - "id": 861, + "id": 1042, "name": "Literal", - "src": "3124:28:3" + "src": "3124:28:8" } ], - "id": 862, + "id": 1043, "name": "FunctionCall", - "src": "3094:59:3" + "src": "3094:59:8" } ], - "id": 863, + "id": 1044, "name": "ExpressionStatement", - "src": "3094:59:3" + "src": "3094:59:8" }, { "children": [ @@ -6897,16 +6897,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 864, + "id": 1045, "name": "Identifier", - "src": "3159:7:3" + "src": "3159:7:8" }, { "attributes": { @@ -6936,13 +6936,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 717, + "referencedDeclaration": 898, "type": "mapping(bytes32 => bool)", "value": "nullifierHashes" }, - "id": 865, + "id": 1046, "name": "Identifier", - "src": "3168:15:3" + "src": "3168:15:8" }, { "attributes": { @@ -6950,23 +6950,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 844, + "referencedDeclaration": 1025, "type": "bytes32", "value": "_nullifierHash" }, - "id": 866, + "id": 1047, "name": "Identifier", - "src": "3184:14:3" + "src": "3184:14:8" } ], - "id": 867, + "id": 1048, "name": "IndexAccess", - "src": "3168:31:3" + "src": "3168:31:8" } ], - "id": 868, + "id": 1049, "name": "UnaryOperation", - "src": "3167:32:3" + "src": "3167:32:8" }, { "attributes": { @@ -6981,19 +6981,19 @@ "type": "literal_string \"The note has been already spent\"", "value": "The note has been already spent" }, - "id": 869, + "id": 1050, "name": "Literal", - "src": "3201:33:3" + "src": "3201:33:8" } ], - "id": 870, + "id": 1051, "name": "FunctionCall", - "src": "3159:76:3" + "src": "3159:76:8" } ], - "id": 871, + "id": 1052, "name": "ExpressionStatement", - "src": "3159:76:3" + "src": "3159:76:8" }, { "children": [ @@ -7025,16 +7025,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 872, + "id": 1053, "name": "Identifier", - "src": "3241:7:3" + "src": "3241:7:8" }, { "attributes": { @@ -7066,9 +7066,9 @@ "type": "function (bytes32) view returns (bool)", "value": "isKnownRoot" }, - "id": 873, + "id": 1054, "name": "Identifier", - "src": "3249:11:3" + "src": "3249:11:8" }, { "attributes": { @@ -7076,18 +7076,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 842, + "referencedDeclaration": 1023, "type": "bytes32", "value": "_root" }, - "id": 874, + "id": 1055, "name": "Identifier", - "src": "3261:5:3" + "src": "3261:5:8" } ], - "id": 875, + "id": 1056, "name": "FunctionCall", - "src": "3249:18:3" + "src": "3249:18:8" }, { "attributes": { @@ -7102,19 +7102,19 @@ "type": "literal_string \"Cannot find your merkle root\"", "value": "Cannot find your merkle root" }, - "id": 876, + "id": 1057, "name": "Literal", - "src": "3269:30:3" + "src": "3269:30:8" } ], - "id": 877, + "id": 1058, "name": "FunctionCall", - "src": "3241:59:3" + "src": "3241:59:8" } ], - "id": 878, + "id": 1059, "name": "ExpressionStatement", - "src": "3241:59:3" + "src": "3241:59:8" }, { "children": [ @@ -7146,16 +7146,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 879, + "id": 1060, "name": "Identifier", - "src": "3339:7:3" + "src": "3339:7:8" }, { "attributes": { @@ -7189,7 +7189,7 @@ "isPure": false, "lValueRequested": false, "member_name": "verifyProof", - "referencedDeclaration": 700, + "referencedDeclaration": 881, "type": "function (bytes memory,uint256[6] memory) external returns (bool)" }, "children": [ @@ -7199,18 +7199,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 723, + "referencedDeclaration": 904, "type": "contract IVerifier", "value": "verifier" }, - "id": 880, + "id": 1061, "name": "Identifier", - "src": "3347:8:3" + "src": "3347:8:8" } ], - "id": 881, + "id": 1062, "name": "MemberAccess", - "src": "3347:20:3" + "src": "3347:20:8" }, { "attributes": { @@ -7218,13 +7218,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 840, + "referencedDeclaration": 1021, "type": "bytes calldata", "value": "_proof" }, - "id": 882, + "id": 1063, "name": "Identifier", - "src": "3368:6:3" + "src": "3368:6:8" }, { "attributes": { @@ -7267,9 +7267,9 @@ "type": "type(uint256)", "value": "uint256" }, - "id": 883, + "id": 1064, "name": "ElementaryTypeNameExpression", - "src": "3377:7:3" + "src": "3377:7:8" }, { "attributes": { @@ -7277,18 +7277,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 842, + "referencedDeclaration": 1023, "type": "bytes32", "value": "_root" }, - "id": 884, + "id": 1065, "name": "Identifier", - "src": "3385:5:3" + "src": "3385:5:8" } ], - "id": 885, + "id": 1066, "name": "FunctionCall", - "src": "3377:14:3" + "src": "3377:14:8" }, { "attributes": { @@ -7320,9 +7320,9 @@ "type": "type(uint256)", "value": "uint256" }, - "id": 886, + "id": 1067, "name": "ElementaryTypeNameExpression", - "src": "3393:7:3" + "src": "3393:7:8" }, { "attributes": { @@ -7330,18 +7330,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 844, + "referencedDeclaration": 1025, "type": "bytes32", "value": "_nullifierHash" }, - "id": 887, + "id": 1068, "name": "Identifier", - "src": "3401:14:3" + "src": "3401:14:8" } ], - "id": 888, + "id": 1069, "name": "FunctionCall", - "src": "3393:23:3" + "src": "3393:23:8" }, { "attributes": { @@ -7373,9 +7373,9 @@ "type": "type(uint256)", "value": "uint256" }, - "id": 889, + "id": 1070, "name": "ElementaryTypeNameExpression", - "src": "3418:7:3" + "src": "3418:7:8" }, { "attributes": { @@ -7383,18 +7383,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 846, + "referencedDeclaration": 1027, "type": "address payable", "value": "_recipient" }, - "id": 890, + "id": 1071, "name": "Identifier", - "src": "3426:10:3" + "src": "3426:10:8" } ], - "id": 891, + "id": 1072, "name": "FunctionCall", - "src": "3418:19:3" + "src": "3418:19:8" }, { "attributes": { @@ -7426,9 +7426,9 @@ "type": "type(uint256)", "value": "uint256" }, - "id": 892, + "id": 1073, "name": "ElementaryTypeNameExpression", - "src": "3439:7:3" + "src": "3439:7:8" }, { "attributes": { @@ -7436,18 +7436,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 848, + "referencedDeclaration": 1029, "type": "address payable", "value": "_relayer" }, - "id": 893, + "id": 1074, "name": "Identifier", - "src": "3447:8:3" + "src": "3447:8:8" } ], - "id": 894, + "id": 1075, "name": "FunctionCall", - "src": "3439:17:3" + "src": "3439:17:8" }, { "attributes": { @@ -7455,13 +7455,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 850, + "referencedDeclaration": 1031, "type": "uint256", "value": "_fee" }, - "id": 895, + "id": 1076, "name": "Identifier", - "src": "3458:4:3" + "src": "3458:4:8" }, { "attributes": { @@ -7469,23 +7469,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 852, + "referencedDeclaration": 1033, "type": "uint256", "value": "_refund" }, - "id": 896, + "id": 1077, "name": "Identifier", - "src": "3464:7:3" + "src": "3464:7:8" } ], - "id": 897, + "id": 1078, "name": "TupleExpression", - "src": "3376:96:3" + "src": "3376:96:8" } ], - "id": 898, + "id": 1079, "name": "FunctionCall", - "src": "3347:126:3" + "src": "3347:126:8" }, { "attributes": { @@ -7500,19 +7500,19 @@ "type": "literal_string \"Invalid withdraw proof\"", "value": "Invalid withdraw proof" }, - "id": 899, + "id": 1080, "name": "Literal", - "src": "3475:24:3" + "src": "3475:24:8" } ], - "id": 900, + "id": 1081, "name": "FunctionCall", - "src": "3339:161:3" + "src": "3339:161:8" } ], - "id": 901, + "id": 1082, "name": "ExpressionStatement", - "src": "3339:161:3" + "src": "3339:161:8" }, { "children": [ @@ -7543,13 +7543,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 717, + "referencedDeclaration": 898, "type": "mapping(bytes32 => bool)", "value": "nullifierHashes" }, - "id": 902, + "id": 1083, "name": "Identifier", - "src": "3507:15:3" + "src": "3507:15:8" }, { "attributes": { @@ -7557,18 +7557,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 844, + "referencedDeclaration": 1025, "type": "bytes32", "value": "_nullifierHash" }, - "id": 903, + "id": 1084, "name": "Identifier", - "src": "3523:14:3" + "src": "3523:14:8" } ], - "id": 904, + "id": 1085, "name": "IndexAccess", - "src": "3507:31:3" + "src": "3507:31:8" }, { "attributes": { @@ -7583,19 +7583,19 @@ "type": "bool", "value": "true" }, - "id": 905, + "id": 1086, "name": "Literal", - "src": "3541:4:3" + "src": "3541:4:8" } ], - "id": 906, + "id": 1087, "name": "Assignment", - "src": "3507:38:3" + "src": "3507:38:8" } ], - "id": 907, + "id": 1088, "name": "ExpressionStatement", - "src": "3507:38:3" + "src": "3507:38:8" }, { "children": [ @@ -7641,13 +7641,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 939, + "referencedDeclaration": 1120, "type": "function (address payable,address payable,uint256,uint256,address)", "value": "_processWithdraw" }, - "id": 908, + "id": 1089, "name": "Identifier", - "src": "3551:16:3" + "src": "3551:16:8" }, { "attributes": { @@ -7655,13 +7655,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 846, + "referencedDeclaration": 1027, "type": "address payable", "value": "_recipient" }, - "id": 909, + "id": 1090, "name": "Identifier", - "src": "3568:10:3" + "src": "3568:10:8" }, { "attributes": { @@ -7669,13 +7669,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 848, + "referencedDeclaration": 1029, "type": "address payable", "value": "_relayer" }, - "id": 910, + "id": 1091, "name": "Identifier", - "src": "3580:8:3" + "src": "3580:8:8" }, { "attributes": { @@ -7683,13 +7683,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 850, + "referencedDeclaration": 1031, "type": "uint256", "value": "_fee" }, - "id": 911, + "id": 1092, "name": "Identifier", - "src": "3590:4:3" + "src": "3590:4:8" }, { "attributes": { @@ -7697,13 +7697,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 852, + "referencedDeclaration": 1033, "type": "uint256", "value": "_refund" }, - "id": 912, + "id": 1093, "name": "Identifier", - "src": "3596:7:3" + "src": "3596:7:8" }, { "attributes": { @@ -7733,7 +7733,7 @@ "isPure": false, "lValueRequested": false, "member_name": "feeTo", - "referencedDeclaration": 706, + "referencedDeclaration": 887, "type": "function () view external returns (address)" }, "children": [ @@ -7743,33 +7743,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 725, + "referencedDeclaration": 906, "type": "contract IFeeManager", "value": "feeManager" }, - "id": 913, + "id": 1094, "name": "Identifier", - "src": "3605:10:3" + "src": "3605:10:8" } ], - "id": 914, + "id": 1095, "name": "MemberAccess", - "src": "3605:16:3" + "src": "3605:16:8" } ], - "id": 915, + "id": 1096, "name": "FunctionCall", - "src": "3605:18:3" + "src": "3605:18:8" } ], - "id": 916, + "id": 1097, "name": "FunctionCall", - "src": "3551:73:3" + "src": "3551:73:8" } ], - "id": 917, + "id": 1098, "name": "ExpressionStatement", - "src": "3551:73:3" + "src": "3551:73:8" }, { "children": [ @@ -7811,13 +7811,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 757, + "referencedDeclaration": 938, "type": "function (address,bytes32,address,uint256)", "value": "Withdrawal" }, - "id": 918, + "id": 1099, "name": "Identifier", - "src": "3635:10:3" + "src": "3635:10:8" }, { "attributes": { @@ -7825,13 +7825,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 846, + "referencedDeclaration": 1027, "type": "address payable", "value": "_recipient" }, - "id": 919, + "id": 1100, "name": "Identifier", - "src": "3646:10:3" + "src": "3646:10:8" }, { "attributes": { @@ -7839,13 +7839,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 844, + "referencedDeclaration": 1025, "type": "bytes32", "value": "_nullifierHash" }, - "id": 920, + "id": 1101, "name": "Identifier", - "src": "3658:14:3" + "src": "3658:14:8" }, { "attributes": { @@ -7853,13 +7853,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 848, + "referencedDeclaration": 1029, "type": "address payable", "value": "_relayer" }, - "id": 921, + "id": 1102, "name": "Identifier", - "src": "3674:8:3" + "src": "3674:8:8" }, { "attributes": { @@ -7867,33 +7867,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 850, + "referencedDeclaration": 1031, "type": "uint256", "value": "_fee" }, - "id": 922, + "id": 1103, "name": "Identifier", - "src": "3684:4:3" + "src": "3684:4:8" } ], - "id": 923, + "id": 1104, "name": "FunctionCall", - "src": "3635:54:3" + "src": "3635:54:8" } ], - "id": 924, + "id": 1105, "name": "EmitStatement", - "src": "3630:59:3" + "src": "3630:59:8" } ], - "id": 925, + "id": 1106, "name": "Block", - "src": "3088:606:3" + "src": "3088:606:8" } ], - "id": 926, + "id": 1107, "name": "FunctionDefinition", - "src": "2893:801:3" + "src": "2893:801:8" }, { "attributes": { @@ -7906,7 +7906,7 @@ null ], "name": "_processWithdraw", - "scope": 1023, + "scope": 1204, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -7918,7 +7918,7 @@ "attributes": { "constant": false, "name": "_recipient", - "scope": 939, + "scope": 1120, "stateVariable": false, "storageLocation": "default", "type": "address payable", @@ -7932,20 +7932,20 @@ "stateMutability": "payable", "type": "address payable" }, - "id": 927, + "id": 1108, "name": "ElementaryTypeName", - "src": "3783:15:3" + "src": "3783:15:8" } ], - "id": 928, + "id": 1109, "name": "VariableDeclaration", - "src": "3783:26:3" + "src": "3783:26:8" }, { "attributes": { "constant": false, "name": "_relayer", - "scope": 939, + "scope": 1120, "stateVariable": false, "storageLocation": "default", "type": "address payable", @@ -7959,20 +7959,20 @@ "stateMutability": "payable", "type": "address payable" }, - "id": 929, + "id": 1110, "name": "ElementaryTypeName", - "src": "3811:15:3" + "src": "3811:15:8" } ], - "id": 930, + "id": 1111, "name": "VariableDeclaration", - "src": "3811:24:3" + "src": "3811:24:8" }, { "attributes": { "constant": false, "name": "_relayer_fee", - "scope": 939, + "scope": 1120, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -7985,20 +7985,20 @@ "name": "uint256", "type": "uint256" }, - "id": 931, + "id": 1112, "name": "ElementaryTypeName", - "src": "3837:7:3" + "src": "3837:7:8" } ], - "id": 932, + "id": 1113, "name": "VariableDeclaration", - "src": "3837:20:3" + "src": "3837:20:8" }, { "attributes": { "constant": false, "name": "_refund", - "scope": 939, + "scope": 1120, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -8011,20 +8011,20 @@ "name": "uint256", "type": "uint256" }, - "id": 933, + "id": 1114, "name": "ElementaryTypeName", - "src": "3859:7:3" + "src": "3859:7:8" } ], - "id": 934, + "id": 1115, "name": "VariableDeclaration", - "src": "3859:15:3" + "src": "3859:15:8" }, { "attributes": { "constant": false, "name": "_feeTo", - "scope": 939, + "scope": 1120, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -8038,19 +8038,19 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 935, + "id": 1116, "name": "ElementaryTypeName", - "src": "3876:7:3" + "src": "3876:7:8" } ], - "id": 936, + "id": 1117, "name": "VariableDeclaration", - "src": "3876:14:3" + "src": "3876:14:8" } ], - "id": 937, + "id": 1118, "name": "ParameterList", - "src": "3782:109:3" + "src": "3782:109:8" }, { "attributes": { @@ -8059,14 +8059,14 @@ ] }, "children": [], - "id": 938, + "id": 1119, "name": "ParameterList", - "src": "3900:0:3" + "src": "3900:0:8" } ], - "id": 939, + "id": 1120, "name": "FunctionDefinition", - "src": "3757:144:3" + "src": "3757:144:8" }, { "attributes": { @@ -8078,7 +8078,7 @@ null ], "name": "isSpent", - "scope": 1023, + "scope": 1204, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -8090,7 +8090,7 @@ "attributes": { "constant": false, "name": "_nullifierHash", - "scope": 951, + "scope": 1132, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -8103,19 +8103,19 @@ "name": "bytes32", "type": "bytes32" }, - "id": 940, + "id": 1121, "name": "ElementaryTypeName", - "src": "3968:7:3" + "src": "3968:7:8" } ], - "id": 941, + "id": 1122, "name": "VariableDeclaration", - "src": "3968:22:3" + "src": "3968:22:8" } ], - "id": 942, + "id": 1123, "name": "ParameterList", - "src": "3967:24:3" + "src": "3967:24:8" }, { "children": [ @@ -8123,7 +8123,7 @@ "attributes": { "constant": false, "name": "", - "scope": 951, + "scope": 1132, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -8136,25 +8136,25 @@ "name": "bool", "type": "bool" }, - "id": 943, + "id": 1124, "name": "ElementaryTypeName", - "src": "4012:4:3" + "src": "4012:4:8" } ], - "id": 944, + "id": 1125, "name": "VariableDeclaration", - "src": "4012:4:3" + "src": "4012:4:8" } ], - "id": 945, + "id": 1126, "name": "ParameterList", - "src": "4011:6:3" + "src": "4011:6:8" }, { "children": [ { "attributes": { - "functionReturnParameters": 945 + "functionReturnParameters": 1126 }, "children": [ { @@ -8173,13 +8173,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 717, + "referencedDeclaration": 898, "type": "mapping(bytes32 => bool)", "value": "nullifierHashes" }, - "id": 946, + "id": 1127, "name": "Identifier", - "src": "4031:15:3" + "src": "4031:15:8" }, { "attributes": { @@ -8187,33 +8187,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 941, + "referencedDeclaration": 1122, "type": "bytes32", "value": "_nullifierHash" }, - "id": 947, + "id": 1128, "name": "Identifier", - "src": "4047:14:3" + "src": "4047:14:8" } ], - "id": 948, + "id": 1129, "name": "IndexAccess", - "src": "4031:31:3" + "src": "4031:31:8" } ], - "id": 949, + "id": 1130, "name": "Return", - "src": "4024:38:3" + "src": "4024:38:8" } ], - "id": 950, + "id": 1131, "name": "Block", - "src": "4018:49:3" + "src": "4018:49:8" } ], - "id": 951, + "id": 1132, "name": "FunctionDefinition", - "src": "3951:116:3" + "src": "3951:116:8" }, { "attributes": { @@ -8225,7 +8225,7 @@ null ], "name": "isSpentArray", - "scope": 1023, + "scope": 1204, "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -8237,7 +8237,7 @@ "attributes": { "constant": false, "name": "_nullifierHashes", - "scope": 996, + "scope": 1177, "stateVariable": false, "storageLocation": "calldata", "type": "bytes32[]", @@ -8256,24 +8256,24 @@ "name": "bytes32", "type": "bytes32" }, - "id": 952, + "id": 1133, "name": "ElementaryTypeName", - "src": "4150:7:3" + "src": "4150:7:8" } ], - "id": 953, + "id": 1134, "name": "ArrayTypeName", - "src": "4150:9:3" + "src": "4150:9:8" } ], - "id": 954, + "id": 1135, "name": "VariableDeclaration", - "src": "4150:35:3" + "src": "4150:35:8" } ], - "id": 955, + "id": 1136, "name": "ParameterList", - "src": "4149:37:3" + "src": "4149:37:8" }, { "children": [ @@ -8281,7 +8281,7 @@ "attributes": { "constant": false, "name": "spent", - "scope": 996, + "scope": 1177, "stateVariable": false, "storageLocation": "memory", "type": "bool[]", @@ -8300,24 +8300,24 @@ "name": "bool", "type": "bool" }, - "id": 956, + "id": 1137, "name": "ElementaryTypeName", - "src": "4209:4:3" + "src": "4209:4:8" } ], - "id": 957, + "id": 1138, "name": "ArrayTypeName", - "src": "4209:6:3" + "src": "4209:6:8" } ], - "id": 958, + "id": 1139, "name": "VariableDeclaration", - "src": "4209:19:3" + "src": "4209:19:8" } ], - "id": 959, + "id": 1140, "name": "ParameterList", - "src": "4208:21:3" + "src": "4208:21:8" }, { "children": [ @@ -8340,13 +8340,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 958, + "referencedDeclaration": 1139, "type": "bool[] memory", "value": "spent" }, - "id": 960, + "id": 1141, "name": "Identifier", - "src": "4236:5:3" + "src": "4236:5:8" }, { "attributes": { @@ -8389,19 +8389,19 @@ "name": "bool", "type": "bool" }, - "id": 961, + "id": 1142, "name": "ElementaryTypeName", - "src": "4248:4:3" + "src": "4248:4:8" } ], - "id": 962, + "id": 1143, "name": "ArrayTypeName", - "src": "4248:6:3" + "src": "4248:6:8" } ], - "id": 963, + "id": 1144, "name": "NewExpression", - "src": "4244:10:3" + "src": "4244:10:8" }, { "attributes": { @@ -8421,40 +8421,40 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 954, + "referencedDeclaration": 1135, "type": "bytes32[] calldata", "value": "_nullifierHashes" }, - "id": 964, + "id": 1145, "name": "Identifier", - "src": "4255:16:3" + "src": "4255:16:8" } ], - "id": 965, + "id": 1146, "name": "MemberAccess", - "src": "4255:23:3" + "src": "4255:23:8" } ], - "id": 966, + "id": 1147, "name": "FunctionCall", - "src": "4244:35:3" + "src": "4244:35:8" } ], - "id": 967, + "id": 1148, "name": "Assignment", - "src": "4236:43:3" + "src": "4236:43:8" } ], - "id": 968, + "id": 1149, "name": "ExpressionStatement", - "src": "4236:43:3" + "src": "4236:43:8" }, { "children": [ { "attributes": { "assignments": [ - 970 + 1151 ] }, "children": [ @@ -8462,7 +8462,7 @@ "attributes": { "constant": false, "name": "i", - "scope": 994, + "scope": 1175, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -8475,14 +8475,14 @@ "name": "uint", "type": "uint256" }, - "id": 969, + "id": 1150, "name": "ElementaryTypeName", - "src": "4289:4:3" + "src": "4289:4:8" } ], - "id": 970, + "id": 1151, "name": "VariableDeclaration", - "src": "4289:6:3" + "src": "4289:6:8" }, { "attributes": { @@ -8497,14 +8497,14 @@ "type": "int_const 0", "value": "0" }, - "id": 971, + "id": 1152, "name": "Literal", - "src": "4298:1:3" + "src": "4298:1:8" } ], - "id": 972, + "id": 1153, "name": "VariableDeclarationStatement", - "src": "4289:10:3" + "src": "4289:10:8" }, { "attributes": { @@ -8527,13 +8527,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 970, + "referencedDeclaration": 1151, "type": "uint256", "value": "i" }, - "id": 973, + "id": 1154, "name": "Identifier", - "src": "4301:1:3" + "src": "4301:1:8" }, { "attributes": { @@ -8553,23 +8553,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 954, + "referencedDeclaration": 1135, "type": "bytes32[] calldata", "value": "_nullifierHashes" }, - "id": 974, + "id": 1155, "name": "Identifier", - "src": "4305:16:3" + "src": "4305:16:8" } ], - "id": 975, + "id": 1156, "name": "MemberAccess", - "src": "4305:23:3" + "src": "4305:23:8" } ], - "id": 976, + "id": 1157, "name": "BinaryOperation", - "src": "4301:27:3" + "src": "4301:27:8" }, { "children": [ @@ -8591,23 +8591,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 970, + "referencedDeclaration": 1151, "type": "uint256", "value": "i" }, - "id": 977, + "id": 1158, "name": "Identifier", - "src": "4330:1:3" + "src": "4330:1:8" } ], - "id": 978, + "id": 1159, "name": "UnaryOperation", - "src": "4330:3:3" + "src": "4330:3:8" } ], - "id": 979, + "id": 1160, "name": "ExpressionStatement", - "src": "4330:3:3" + "src": "4330:3:8" }, { "children": [ @@ -8642,13 +8642,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 951, + "referencedDeclaration": 1132, "type": "function (bytes32) view returns (bool)", "value": "isSpent" }, - "id": 980, + "id": 1161, "name": "Identifier", - "src": "4347:7:3" + "src": "4347:7:8" }, { "attributes": { @@ -8666,13 +8666,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 954, + "referencedDeclaration": 1135, "type": "bytes32[] calldata", "value": "_nullifierHashes" }, - "id": 981, + "id": 1162, "name": "Identifier", - "src": "4355:16:3" + "src": "4355:16:8" }, { "attributes": { @@ -8680,23 +8680,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 970, + "referencedDeclaration": 1151, "type": "uint256", "value": "i" }, - "id": 982, + "id": 1163, "name": "Identifier", - "src": "4372:1:3" + "src": "4372:1:8" } ], - "id": 983, + "id": 1164, "name": "IndexAccess", - "src": "4355:19:3" + "src": "4355:19:8" } ], - "id": 984, + "id": 1165, "name": "FunctionCall", - "src": "4347:28:3" + "src": "4347:28:8" }, { "children": [ @@ -8729,13 +8729,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 958, + "referencedDeclaration": 1139, "type": "bool[] memory", "value": "spent" }, - "id": 985, + "id": 1166, "name": "Identifier", - "src": "4387:5:3" + "src": "4387:5:8" }, { "attributes": { @@ -8743,18 +8743,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 970, + "referencedDeclaration": 1151, "type": "uint256", "value": "i" }, - "id": 986, + "id": 1167, "name": "Identifier", - "src": "4393:1:3" + "src": "4393:1:8" } ], - "id": 987, + "id": 1168, "name": "IndexAccess", - "src": "4387:8:3" + "src": "4387:8:8" }, { "attributes": { @@ -8769,49 +8769,49 @@ "type": "bool", "value": "true" }, - "id": 988, + "id": 1169, "name": "Literal", - "src": "4398:4:3" + "src": "4398:4:8" } ], - "id": 989, + "id": 1170, "name": "Assignment", - "src": "4387:15:3" + "src": "4387:15:8" } ], - "id": 990, + "id": 1171, "name": "ExpressionStatement", - "src": "4387:15:3" + "src": "4387:15:8" } ], - "id": 991, + "id": 1172, "name": "Block", - "src": "4377:34:3" + "src": "4377:34:8" } ], - "id": 992, + "id": 1173, "name": "IfStatement", - "src": "4343:68:3" + "src": "4343:68:8" } ], - "id": 993, + "id": 1174, "name": "Block", - "src": "4335:82:3" + "src": "4335:82:8" } ], - "id": 994, + "id": 1175, "name": "ForStatement", - "src": "4285:132:3" + "src": "4285:132:8" } ], - "id": 995, + "id": 1176, "name": "Block", - "src": "4230:191:3" + "src": "4230:191:8" } ], - "id": 996, + "id": 1177, "name": "FunctionDefinition", - "src": "4128:293:3" + "src": "4128:293:8" }, { "attributes": { @@ -8820,7 +8820,7 @@ "isConstructor": false, "kind": "function", "name": "updateVerifier", - "scope": 1023, + "scope": 1204, "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -8832,7 +8832,7 @@ "attributes": { "constant": false, "name": "_newVerifier", - "scope": 1010, + "scope": 1191, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -8846,19 +8846,19 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 997, + "id": 1178, "name": "ElementaryTypeName", - "src": "4675:7:3" + "src": "4675:7:8" } ], - "id": 998, + "id": 1179, "name": "VariableDeclaration", - "src": "4675:20:3" + "src": "4675:20:8" } ], - "id": 999, + "id": 1180, "name": "ParameterList", - "src": "4674:22:3" + "src": "4674:22:8" }, { "attributes": { @@ -8867,9 +8867,9 @@ ] }, "children": [], - "id": 1002, + "id": 1183, "name": "ParameterList", - "src": "4719:0:3" + "src": "4719:0:8" }, { "attributes": { @@ -8882,18 +8882,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 739, + "referencedDeclaration": 920, "type": "modifier ()", "value": "onlyOperator" }, - "id": 1000, + "id": 1181, "name": "Identifier", - "src": "4706:12:3" + "src": "4706:12:8" } ], - "id": 1001, + "id": 1182, "name": "ModifierInvocation", - "src": "4706:12:3" + "src": "4706:12:8" }, { "children": [ @@ -8916,13 +8916,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 723, + "referencedDeclaration": 904, "type": "contract IVerifier", "value": "verifier" }, - "id": 1003, + "id": 1184, "name": "Identifier", - "src": "4725:8:3" + "src": "4725:8:8" }, { "attributes": { @@ -8950,13 +8950,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 701, + "referencedDeclaration": 882, "type": "type(contract IVerifier)", "value": "IVerifier" }, - "id": 1004, + "id": 1185, "name": "Identifier", - "src": "4736:9:3" + "src": "4736:9:8" }, { "attributes": { @@ -8964,38 +8964,38 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 998, + "referencedDeclaration": 1179, "type": "address", "value": "_newVerifier" }, - "id": 1005, + "id": 1186, "name": "Identifier", - "src": "4746:12:3" + "src": "4746:12:8" } ], - "id": 1006, + "id": 1187, "name": "FunctionCall", - "src": "4736:23:3" + "src": "4736:23:8" } ], - "id": 1007, + "id": 1188, "name": "Assignment", - "src": "4725:34:3" + "src": "4725:34:8" } ], - "id": 1008, + "id": 1189, "name": "ExpressionStatement", - "src": "4725:34:3" + "src": "4725:34:8" } ], - "id": 1009, + "id": 1190, "name": "Block", - "src": "4719:45:3" + "src": "4719:45:8" } ], - "id": 1010, + "id": 1191, "name": "FunctionDefinition", - "src": "4651:113:3" + "src": "4651:113:8" }, { "attributes": { @@ -9004,7 +9004,7 @@ "isConstructor": false, "kind": "function", "name": "changeOperator", - "scope": 1023, + "scope": 1204, "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -9016,7 +9016,7 @@ "attributes": { "constant": false, "name": "_newOperator", - "scope": 1022, + "scope": 1203, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -9030,19 +9030,19 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 1011, + "id": 1192, "name": "ElementaryTypeName", - "src": "4838:7:3" + "src": "4838:7:8" } ], - "id": 1012, + "id": 1193, "name": "VariableDeclaration", - "src": "4838:20:3" + "src": "4838:20:8" } ], - "id": 1013, + "id": 1194, "name": "ParameterList", - "src": "4837:22:3" + "src": "4837:22:8" }, { "attributes": { @@ -9051,9 +9051,9 @@ ] }, "children": [], - "id": 1016, + "id": 1197, "name": "ParameterList", - "src": "4882:0:3" + "src": "4882:0:8" }, { "attributes": { @@ -9066,18 +9066,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 739, + "referencedDeclaration": 920, "type": "modifier ()", "value": "onlyOperator" }, - "id": 1014, + "id": 1195, "name": "Identifier", - "src": "4869:12:3" + "src": "4869:12:8" } ], - "id": 1015, + "id": 1196, "name": "ModifierInvocation", - "src": "4869:12:3" + "src": "4869:12:8" }, { "children": [ @@ -9100,13 +9100,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 727, + "referencedDeclaration": 908, "type": "address", "value": "operator" }, - "id": 1017, + "id": 1198, "name": "Identifier", - "src": "4888:8:3" + "src": "4888:8:8" }, { "attributes": { @@ -9114,43 +9114,43 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1012, + "referencedDeclaration": 1193, "type": "address", "value": "_newOperator" }, - "id": 1018, + "id": 1199, "name": "Identifier", - "src": "4899:12:3" + "src": "4899:12:8" } ], - "id": 1019, + "id": 1200, "name": "Assignment", - "src": "4888:23:3" + "src": "4888:23:8" } ], - "id": 1020, + "id": 1201, "name": "ExpressionStatement", - "src": "4888:23:3" + "src": "4888:23:8" } ], - "id": 1021, + "id": 1202, "name": "Block", - "src": "4882:34:3" + "src": "4882:34:8" } ], - "id": 1022, + "id": 1203, "name": "FunctionDefinition", - "src": "4814:102:3" + "src": "4814:102:8" } ], - "id": 1023, + "id": 1204, "name": "ContractDefinition", - "src": "318:4600:3" + "src": "318:4600:8" } ], - "id": 1024, + "id": 1205, "name": "SourceUnit", - "src": "0:4919:3" + "src": "0:4919:8" }, "compiler": { "name": "solc", @@ -9158,7 +9158,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-04-02T22:52:06.027Z", + "updatedAt": "2021-04-04T20:21:29.868Z", "devdoc": { "methods": {} }, diff --git a/client/contracts/IUSDT.json b/client/contracts/IUSDT.json index fd5afb8..9df7259 100644 --- a/client/contracts/IUSDT.json +++ b/client/contracts/IUSDT.json @@ -194,28 +194,28 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"_totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"see https://github.com/ethereum/EIPs/issues/20\",\"methods\":{},\"title\":\"ERC20 interface\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol\":\"IUSDT\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol\":{\"keccak256\":\"0x635f010bb5c012b9ef4fa5036ef37fd314ba7935b90380b08eb8728801f1e247\",\"urls\":[\"bzz-raw://70c1cad94a0fb97b086eef4520fcfaf466fa94c88e42349baeecd54ba94711b2\",\"dweb:/ipfs/QmX1mtq92yFHGoBHXQHjZhwT7mhLy6CqRDxCaFAu6AaAF6\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"_totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"see https://github.com/ethereum/EIPs/issues/20\",\"methods\":{},\"title\":\"ERC20 interface\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol\":\"IUSDT\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol\":{\"keccak256\":\"0x635f010bb5c012b9ef4fa5036ef37fd314ba7935b90380b08eb8728801f1e247\",\"urls\":[\"bzz-raw://70c1cad94a0fb97b086eef4520fcfaf466fa94c88e42349baeecd54ba94711b2\",\"dweb:/ipfs/QmX1mtq92yFHGoBHXQHjZhwT7mhLy6CqRDxCaFAu6AaAF6\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", "source": "pragma solidity 0.5.17;\n\ncontract ERC20Basic {\n uint public _totalSupply;\n function totalSupply() public view returns (uint);\n function balanceOf(address who) public view returns (uint);\n function transfer(address to, uint value) public;\n event Transfer(address indexed from, address indexed to, uint value);\n}\n\n/**\n * @title ERC20 interface\n * @dev see https://github.com/ethereum/EIPs/issues/20\n */\ncontract IUSDT is ERC20Basic {\n function allowance(address owner, address spender) public view returns (uint);\n function transferFrom(address from, address to, uint value) public;\n function approve(address spender, uint value) public;\n event Approval(address indexed owner, address indexed spender, uint value);\n}\n", - "sourcePath": "/Users/brianli/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol", "exportedSymbols": { "ERC20Basic": [ - 814 + 805 ], "IUSDT": [ - 850 + 841 ] }, - "id": 851, + "id": 842, "nodeType": "SourceUnit", "nodes": [ { - "id": 784, + "id": 775, "literals": [ "solidity", "0.5", @@ -230,19 +230,19 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 814, + "id": 805, "linearizedBaseContracts": [ - 814 + 805 ], "name": "ERC20Basic", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 786, + "id": 777, "name": "_totalSupply", "nodeType": "VariableDeclaration", - "scope": 814, + "scope": 805, "src": "51:24:6", "stateVariable": true, "storageLocation": "default", @@ -251,7 +251,7 @@ "typeString": "uint256" }, "typeName": { - "id": 785, + "id": 776, "name": "uint", "nodeType": "ElementaryTypeName", "src": "51:4:6", @@ -266,28 +266,28 @@ { "body": null, "documentation": null, - "id": 791, + "id": 782, "implemented": false, "kind": "function", "modifiers": [], "name": "totalSupply", "nodeType": "FunctionDefinition", "parameters": { - "id": 787, + "id": 778, "nodeType": "ParameterList", "parameters": [], "src": "101:2:6" }, "returnParameters": { - "id": 790, + "id": 781, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 789, + "id": 780, "name": "", "nodeType": "VariableDeclaration", - "scope": 791, + "scope": 782, "src": "125:4:6", "stateVariable": false, "storageLocation": "default", @@ -296,7 +296,7 @@ "typeString": "uint256" }, "typeName": { - "id": 788, + "id": 779, "name": "uint", "nodeType": "ElementaryTypeName", "src": "125:4:6", @@ -311,7 +311,7 @@ ], "src": "124:6:6" }, - "scope": 814, + "scope": 805, "src": "81:50:6", "stateMutability": "view", "superFunction": null, @@ -320,22 +320,22 @@ { "body": null, "documentation": null, - "id": 798, + "id": 789, "implemented": false, "kind": "function", "modifiers": [], "name": "balanceOf", "nodeType": "FunctionDefinition", "parameters": { - "id": 794, + "id": 785, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 793, + "id": 784, "name": "who", "nodeType": "VariableDeclaration", - "scope": 798, + "scope": 789, "src": "155:11:6", "stateVariable": false, "storageLocation": "default", @@ -344,7 +344,7 @@ "typeString": "address" }, "typeName": { - "id": 792, + "id": 783, "name": "address", "nodeType": "ElementaryTypeName", "src": "155:7:6", @@ -361,15 +361,15 @@ "src": "154:13:6" }, "returnParameters": { - "id": 797, + "id": 788, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 796, + "id": 787, "name": "", "nodeType": "VariableDeclaration", - "scope": 798, + "scope": 789, "src": "189:4:6", "stateVariable": false, "storageLocation": "default", @@ -378,7 +378,7 @@ "typeString": "uint256" }, "typeName": { - "id": 795, + "id": 786, "name": "uint", "nodeType": "ElementaryTypeName", "src": "189:4:6", @@ -393,7 +393,7 @@ ], "src": "188:6:6" }, - "scope": 814, + "scope": 805, "src": "136:59:6", "stateMutability": "view", "superFunction": null, @@ -402,22 +402,22 @@ { "body": null, "documentation": null, - "id": 805, + "id": 796, "implemented": false, "kind": "function", "modifiers": [], "name": "transfer", "nodeType": "FunctionDefinition", "parameters": { - "id": 803, + "id": 794, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 800, + "id": 791, "name": "to", "nodeType": "VariableDeclaration", - "scope": 805, + "scope": 796, "src": "218:10:6", "stateVariable": false, "storageLocation": "default", @@ -426,7 +426,7 @@ "typeString": "address" }, "typeName": { - "id": 799, + "id": 790, "name": "address", "nodeType": "ElementaryTypeName", "src": "218:7:6", @@ -441,10 +441,10 @@ }, { "constant": false, - "id": 802, + "id": 793, "name": "value", "nodeType": "VariableDeclaration", - "scope": 805, + "scope": 796, "src": "230:10:6", "stateVariable": false, "storageLocation": "default", @@ -453,7 +453,7 @@ "typeString": "uint256" }, "typeName": { - "id": 801, + "id": 792, "name": "uint", "nodeType": "ElementaryTypeName", "src": "230:4:6", @@ -469,12 +469,12 @@ "src": "217:24:6" }, "returnParameters": { - "id": 804, + "id": 795, "nodeType": "ParameterList", "parameters": [], "src": "248:0:6" }, - "scope": 814, + "scope": 805, "src": "200:49:6", "stateMutability": "nonpayable", "superFunction": null, @@ -483,20 +483,20 @@ { "anonymous": false, "documentation": null, - "id": 813, + "id": 804, "name": "Transfer", "nodeType": "EventDefinition", "parameters": { - "id": 812, + "id": 803, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 807, + "id": 798, "indexed": true, "name": "from", "nodeType": "VariableDeclaration", - "scope": 813, + "scope": 804, "src": "269:20:6", "stateVariable": false, "storageLocation": "default", @@ -505,7 +505,7 @@ "typeString": "address" }, "typeName": { - "id": 806, + "id": 797, "name": "address", "nodeType": "ElementaryTypeName", "src": "269:7:6", @@ -520,11 +520,11 @@ }, { "constant": false, - "id": 809, + "id": 800, "indexed": true, "name": "to", "nodeType": "VariableDeclaration", - "scope": 813, + "scope": 804, "src": "291:18:6", "stateVariable": false, "storageLocation": "default", @@ -533,7 +533,7 @@ "typeString": "address" }, "typeName": { - "id": 808, + "id": 799, "name": "address", "nodeType": "ElementaryTypeName", "src": "291:7:6", @@ -548,11 +548,11 @@ }, { "constant": false, - "id": 811, + "id": 802, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 813, + "scope": 804, "src": "311:10:6", "stateVariable": false, "storageLocation": "default", @@ -561,7 +561,7 @@ "typeString": "uint256" }, "typeName": { - "id": 810, + "id": 801, "name": "uint", "nodeType": "ElementaryTypeName", "src": "311:4:6", @@ -579,7 +579,7 @@ "src": "254:69:6" } ], - "scope": 851, + "scope": 842, "src": "25:300:6" }, { @@ -588,31 +588,31 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 815, + "id": 806, "name": "ERC20Basic", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 814, + "referencedDeclaration": 805, "src": "434:10:6", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Basic_$814", + "typeIdentifier": "t_contract$_ERC20Basic_$805", "typeString": "contract ERC20Basic" } }, - "id": 816, + "id": 807, "nodeType": "InheritanceSpecifier", "src": "434:10:6" } ], "contractDependencies": [ - 814 + 805 ], "contractKind": "contract", "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", "fullyImplemented": false, - "id": 850, + "id": 841, "linearizedBaseContracts": [ - 850, - 814 + 841, + 805 ], "name": "IUSDT", "nodeType": "ContractDefinition", @@ -620,22 +620,22 @@ { "body": null, "documentation": null, - "id": 825, + "id": 816, "implemented": false, "kind": "function", "modifiers": [], "name": "allowance", "nodeType": "FunctionDefinition", "parameters": { - "id": 821, + "id": 812, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 818, + "id": 809, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 825, + "scope": 816, "src": "470:13:6", "stateVariable": false, "storageLocation": "default", @@ -644,7 +644,7 @@ "typeString": "address" }, "typeName": { - "id": 817, + "id": 808, "name": "address", "nodeType": "ElementaryTypeName", "src": "470:7:6", @@ -659,10 +659,10 @@ }, { "constant": false, - "id": 820, + "id": 811, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 825, + "scope": 816, "src": "485:15:6", "stateVariable": false, "storageLocation": "default", @@ -671,7 +671,7 @@ "typeString": "address" }, "typeName": { - "id": 819, + "id": 810, "name": "address", "nodeType": "ElementaryTypeName", "src": "485:7:6", @@ -688,15 +688,15 @@ "src": "469:32:6" }, "returnParameters": { - "id": 824, + "id": 815, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 823, + "id": 814, "name": "", "nodeType": "VariableDeclaration", - "scope": 825, + "scope": 816, "src": "523:4:6", "stateVariable": false, "storageLocation": "default", @@ -705,7 +705,7 @@ "typeString": "uint256" }, "typeName": { - "id": 822, + "id": 813, "name": "uint", "nodeType": "ElementaryTypeName", "src": "523:4:6", @@ -720,7 +720,7 @@ ], "src": "522:6:6" }, - "scope": 850, + "scope": 841, "src": "451:78:6", "stateMutability": "view", "superFunction": null, @@ -729,22 +729,22 @@ { "body": null, "documentation": null, - "id": 834, + "id": 825, "implemented": false, "kind": "function", "modifiers": [], "name": "transferFrom", "nodeType": "FunctionDefinition", "parameters": { - "id": 832, + "id": 823, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 827, + "id": 818, "name": "from", "nodeType": "VariableDeclaration", - "scope": 834, + "scope": 825, "src": "556:12:6", "stateVariable": false, "storageLocation": "default", @@ -753,7 +753,7 @@ "typeString": "address" }, "typeName": { - "id": 826, + "id": 817, "name": "address", "nodeType": "ElementaryTypeName", "src": "556:7:6", @@ -768,10 +768,10 @@ }, { "constant": false, - "id": 829, + "id": 820, "name": "to", "nodeType": "VariableDeclaration", - "scope": 834, + "scope": 825, "src": "570:10:6", "stateVariable": false, "storageLocation": "default", @@ -780,7 +780,7 @@ "typeString": "address" }, "typeName": { - "id": 828, + "id": 819, "name": "address", "nodeType": "ElementaryTypeName", "src": "570:7:6", @@ -795,10 +795,10 @@ }, { "constant": false, - "id": 831, + "id": 822, "name": "value", "nodeType": "VariableDeclaration", - "scope": 834, + "scope": 825, "src": "582:10:6", "stateVariable": false, "storageLocation": "default", @@ -807,7 +807,7 @@ "typeString": "uint256" }, "typeName": { - "id": 830, + "id": 821, "name": "uint", "nodeType": "ElementaryTypeName", "src": "582:4:6", @@ -823,12 +823,12 @@ "src": "555:38:6" }, "returnParameters": { - "id": 833, + "id": 824, "nodeType": "ParameterList", "parameters": [], "src": "600:0:6" }, - "scope": 850, + "scope": 841, "src": "534:67:6", "stateMutability": "nonpayable", "superFunction": null, @@ -837,22 +837,22 @@ { "body": null, "documentation": null, - "id": 841, + "id": 832, "implemented": false, "kind": "function", "modifiers": [], "name": "approve", "nodeType": "FunctionDefinition", "parameters": { - "id": 839, + "id": 830, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 836, + "id": 827, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 841, + "scope": 832, "src": "623:15:6", "stateVariable": false, "storageLocation": "default", @@ -861,7 +861,7 @@ "typeString": "address" }, "typeName": { - "id": 835, + "id": 826, "name": "address", "nodeType": "ElementaryTypeName", "src": "623:7:6", @@ -876,10 +876,10 @@ }, { "constant": false, - "id": 838, + "id": 829, "name": "value", "nodeType": "VariableDeclaration", - "scope": 841, + "scope": 832, "src": "640:10:6", "stateVariable": false, "storageLocation": "default", @@ -888,7 +888,7 @@ "typeString": "uint256" }, "typeName": { - "id": 837, + "id": 828, "name": "uint", "nodeType": "ElementaryTypeName", "src": "640:4:6", @@ -904,12 +904,12 @@ "src": "622:29:6" }, "returnParameters": { - "id": 840, + "id": 831, "nodeType": "ParameterList", "parameters": [], "src": "658:0:6" }, - "scope": 850, + "scope": 841, "src": "606:53:6", "stateMutability": "nonpayable", "superFunction": null, @@ -918,20 +918,20 @@ { "anonymous": false, "documentation": null, - "id": 849, + "id": 840, "name": "Approval", "nodeType": "EventDefinition", "parameters": { - "id": 848, + "id": 839, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 843, + "id": 834, "indexed": true, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 849, + "scope": 840, "src": "679:21:6", "stateVariable": false, "storageLocation": "default", @@ -940,7 +940,7 @@ "typeString": "address" }, "typeName": { - "id": 842, + "id": 833, "name": "address", "nodeType": "ElementaryTypeName", "src": "679:7:6", @@ -955,11 +955,11 @@ }, { "constant": false, - "id": 845, + "id": 836, "indexed": true, "name": "spender", "nodeType": "VariableDeclaration", - "scope": 849, + "scope": 840, "src": "702:23:6", "stateVariable": false, "storageLocation": "default", @@ -968,7 +968,7 @@ "typeString": "address" }, "typeName": { - "id": 844, + "id": 835, "name": "address", "nodeType": "ElementaryTypeName", "src": "702:7:6", @@ -983,11 +983,11 @@ }, { "constant": false, - "id": 847, + "id": 838, "indexed": false, "name": "value", "nodeType": "VariableDeclaration", - "scope": 849, + "scope": 840, "src": "727:10:6", "stateVariable": false, "storageLocation": "default", @@ -996,7 +996,7 @@ "typeString": "uint256" }, "typeName": { - "id": 846, + "id": 837, "name": "uint", "nodeType": "ElementaryTypeName", "src": "727:4:6", @@ -1014,7 +1014,7 @@ "src": "664:75:6" } ], - "scope": 851, + "scope": 842, "src": "416:325:6" } ], @@ -1022,13 +1022,13 @@ }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Mocks/IUSDT.sol", "exportedSymbols": { "ERC20Basic": [ - 814 + 805 ], "IUSDT": [ - 850 + 841 ] } }, @@ -1041,7 +1041,7 @@ ".17" ] }, - "id": 784, + "id": 775, "name": "PragmaDirective", "src": "0:23:6" }, @@ -1057,17 +1057,17 @@ "documentation": null, "fullyImplemented": false, "linearizedBaseContracts": [ - 814 + 805 ], "name": "ERC20Basic", - "scope": 851 + "scope": 842 }, "children": [ { "attributes": { "constant": false, "name": "_totalSupply", - "scope": 814, + "scope": 805, "stateVariable": true, "storageLocation": "default", "type": "uint256", @@ -1080,12 +1080,12 @@ "name": "uint", "type": "uint256" }, - "id": 785, + "id": 776, "name": "ElementaryTypeName", "src": "51:4:6" } ], - "id": 786, + "id": 777, "name": "VariableDeclaration", "src": "51:24:6" }, @@ -1100,7 +1100,7 @@ null ], "name": "totalSupply", - "scope": 814, + "scope": 805, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1113,7 +1113,7 @@ ] }, "children": [], - "id": 787, + "id": 778, "name": "ParameterList", "src": "101:2:6" }, @@ -1123,7 +1123,7 @@ "attributes": { "constant": false, "name": "", - "scope": 791, + "scope": 782, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1136,22 +1136,22 @@ "name": "uint", "type": "uint256" }, - "id": 788, + "id": 779, "name": "ElementaryTypeName", "src": "125:4:6" } ], - "id": 789, + "id": 780, "name": "VariableDeclaration", "src": "125:4:6" } ], - "id": 790, + "id": 781, "name": "ParameterList", "src": "124:6:6" } ], - "id": 791, + "id": 782, "name": "FunctionDefinition", "src": "81:50:6" }, @@ -1166,7 +1166,7 @@ null ], "name": "balanceOf", - "scope": 814, + "scope": 805, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1178,7 +1178,7 @@ "attributes": { "constant": false, "name": "who", - "scope": 798, + "scope": 789, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1192,17 +1192,17 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 792, + "id": 783, "name": "ElementaryTypeName", "src": "155:7:6" } ], - "id": 793, + "id": 784, "name": "VariableDeclaration", "src": "155:11:6" } ], - "id": 794, + "id": 785, "name": "ParameterList", "src": "154:13:6" }, @@ -1212,7 +1212,7 @@ "attributes": { "constant": false, "name": "", - "scope": 798, + "scope": 789, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1225,22 +1225,22 @@ "name": "uint", "type": "uint256" }, - "id": 795, + "id": 786, "name": "ElementaryTypeName", "src": "189:4:6" } ], - "id": 796, + "id": 787, "name": "VariableDeclaration", "src": "189:4:6" } ], - "id": 797, + "id": 788, "name": "ParameterList", "src": "188:6:6" } ], - "id": 798, + "id": 789, "name": "FunctionDefinition", "src": "136:59:6" }, @@ -1255,7 +1255,7 @@ null ], "name": "transfer", - "scope": 814, + "scope": 805, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -1267,7 +1267,7 @@ "attributes": { "constant": false, "name": "to", - "scope": 805, + "scope": 796, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1281,12 +1281,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 799, + "id": 790, "name": "ElementaryTypeName", "src": "218:7:6" } ], - "id": 800, + "id": 791, "name": "VariableDeclaration", "src": "218:10:6" }, @@ -1294,7 +1294,7 @@ "attributes": { "constant": false, "name": "value", - "scope": 805, + "scope": 796, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1307,17 +1307,17 @@ "name": "uint", "type": "uint256" }, - "id": 801, + "id": 792, "name": "ElementaryTypeName", "src": "230:4:6" } ], - "id": 802, + "id": 793, "name": "VariableDeclaration", "src": "230:10:6" } ], - "id": 803, + "id": 794, "name": "ParameterList", "src": "217:24:6" }, @@ -1328,12 +1328,12 @@ ] }, "children": [], - "id": 804, + "id": 795, "name": "ParameterList", "src": "248:0:6" } ], - "id": 805, + "id": 796, "name": "FunctionDefinition", "src": "200:49:6" }, @@ -1351,7 +1351,7 @@ "constant": false, "indexed": true, "name": "from", - "scope": 813, + "scope": 804, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1365,12 +1365,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 806, + "id": 797, "name": "ElementaryTypeName", "src": "269:7:6" } ], - "id": 807, + "id": 798, "name": "VariableDeclaration", "src": "269:20:6" }, @@ -1379,7 +1379,132 @@ "constant": false, "indexed": true, "name": "to", - "scope": 813, + "scope": 804, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 799, + "name": "ElementaryTypeName", + "src": "291:7:6" + } + ], + "id": 800, + "name": "VariableDeclaration", + "src": "291:18:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 804, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 801, + "name": "ElementaryTypeName", + "src": "311:4:6" + } + ], + "id": 802, + "name": "VariableDeclaration", + "src": "311:10:6" + } + ], + "id": 803, + "name": "ParameterList", + "src": "268:54:6" + } + ], + "id": 804, + "name": "EventDefinition", + "src": "254:69:6" + } + ], + "id": 805, + "name": "ContractDefinition", + "src": "25:300:6" + }, + { + "attributes": { + "contractDependencies": [ + 805 + ], + "contractKind": "contract", + "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 841, + 805 + ], + "name": "IUSDT", + "scope": 842 + }, + "children": [ + { + "attributes": { + "arguments": null + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ERC20Basic", + "referencedDeclaration": 805, + "type": "contract ERC20Basic" + }, + "id": 806, + "name": "UserDefinedTypeName", + "src": "434:10:6" + } + ], + "id": 807, + "name": "InheritanceSpecifier", + "src": "434:10:6" + }, + { + "attributes": { + "body": null, + "documentation": null, + "implemented": false, + "isConstructor": false, + "kind": "function", + "modifiers": [ + null + ], + "name": "allowance", + "scope": 841, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "owner", + "scope": 816, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1395,19 +1520,52 @@ }, "id": 808, "name": "ElementaryTypeName", - "src": "291:7:6" + "src": "470:7:6" } ], "id": 809, "name": "VariableDeclaration", - "src": "291:18:6" + "src": "470:13:6" }, { "attributes": { "constant": false, - "indexed": false, - "name": "value", - "scope": 813, + "name": "spender", + "scope": 816, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 810, + "name": "ElementaryTypeName", + "src": "485:7:6" + } + ], + "id": 811, + "name": "VariableDeclaration", + "src": "485:15:6" + } + ], + "id": 812, + "name": "ParameterList", + "src": "469:32:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 816, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1420,66 +1578,24 @@ "name": "uint", "type": "uint256" }, - "id": 810, + "id": 813, "name": "ElementaryTypeName", - "src": "311:4:6" + "src": "523:4:6" } ], - "id": 811, + "id": 814, "name": "VariableDeclaration", - "src": "311:10:6" + "src": "523:4:6" } ], - "id": 812, - "name": "ParameterList", - "src": "268:54:6" - } - ], - "id": 813, - "name": "EventDefinition", - "src": "254:69:6" - } - ], - "id": 814, - "name": "ContractDefinition", - "src": "25:300:6" - }, - { - "attributes": { - "contractDependencies": [ - 814 - ], - "contractKind": "contract", - "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", - "fullyImplemented": false, - "linearizedBaseContracts": [ - 850, - 814 - ], - "name": "IUSDT", - "scope": 851 - }, - "children": [ - { - "attributes": { - "arguments": null - }, - "children": [ - { - "attributes": { - "contractScope": null, - "name": "ERC20Basic", - "referencedDeclaration": 814, - "type": "contract ERC20Basic" - }, "id": 815, - "name": "UserDefinedTypeName", - "src": "434:10:6" + "name": "ParameterList", + "src": "522:6:6" } ], "id": 816, - "name": "InheritanceSpecifier", - "src": "434:10:6" + "name": "FunctionDefinition", + "src": "451:78:6" }, { "attributes": { @@ -1491,9 +1607,9 @@ "modifiers": [ null ], - "name": "allowance", - "scope": 850, - "stateMutability": "view", + "name": "transferFrom", + "scope": 841, + "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, @@ -1503,7 +1619,7 @@ { "attributes": { "constant": false, - "name": "owner", + "name": "from", "scope": 825, "stateVariable": false, "storageLocation": "default", @@ -1520,17 +1636,17 @@ }, "id": 817, "name": "ElementaryTypeName", - "src": "470:7:6" + "src": "556:7:6" } ], "id": 818, "name": "VariableDeclaration", - "src": "470:13:6" + "src": "556:12:6" }, { "attributes": { "constant": false, - "name": "spender", + "name": "to", "scope": 825, "stateVariable": false, "storageLocation": "default", @@ -1547,24 +1663,17 @@ }, "id": 819, "name": "ElementaryTypeName", - "src": "485:7:6" + "src": "570:7:6" } ], "id": 820, "name": "VariableDeclaration", - "src": "485:15:6" - } - ], - "id": 821, - "name": "ParameterList", - "src": "469:32:6" - }, - { - "children": [ + "src": "570:10:6" + }, { "attributes": { "constant": false, - "name": "", + "name": "value", "scope": 825, "stateVariable": false, "storageLocation": "default", @@ -1578,24 +1687,35 @@ "name": "uint", "type": "uint256" }, - "id": 822, + "id": 821, "name": "ElementaryTypeName", - "src": "523:4:6" + "src": "582:4:6" } ], - "id": 823, + "id": 822, "name": "VariableDeclaration", - "src": "523:4:6" + "src": "582:10:6" } ], + "id": 823, + "name": "ParameterList", + "src": "555:38:6" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], "id": 824, "name": "ParameterList", - "src": "522:6:6" + "src": "600:0:6" } ], "id": 825, "name": "FunctionDefinition", - "src": "451:78:6" + "src": "534:67:6" }, { "attributes": { @@ -1607,8 +1727,8 @@ "modifiers": [ null ], - "name": "transferFrom", - "scope": 850, + "name": "approve", + "scope": 841, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -1619,8 +1739,8 @@ { "attributes": { "constant": false, - "name": "from", - "scope": 834, + "name": "spender", + "scope": 832, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1636,130 +1756,10 @@ }, "id": 826, "name": "ElementaryTypeName", - "src": "556:7:6" - } - ], - "id": 827, - "name": "VariableDeclaration", - "src": "556:12:6" - }, - { - "attributes": { - "constant": false, - "name": "to", - "scope": 834, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "stateMutability": "nonpayable", - "type": "address" - }, - "id": 828, - "name": "ElementaryTypeName", - "src": "570:7:6" - } - ], - "id": 829, - "name": "VariableDeclaration", - "src": "570:10:6" - }, - { - "attributes": { - "constant": false, - "name": "value", - "scope": 834, - "stateVariable": false, - "storageLocation": "default", - "type": "uint256", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "uint", - "type": "uint256" - }, - "id": 830, - "name": "ElementaryTypeName", - "src": "582:4:6" - } - ], - "id": 831, - "name": "VariableDeclaration", - "src": "582:10:6" - } - ], - "id": 832, - "name": "ParameterList", - "src": "555:38:6" - }, - { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 833, - "name": "ParameterList", - "src": "600:0:6" - } - ], - "id": 834, - "name": "FunctionDefinition", - "src": "534:67:6" - }, - { - "attributes": { - "body": null, - "documentation": null, - "implemented": false, - "isConstructor": false, - "kind": "function", - "modifiers": [ - null - ], - "name": "approve", - "scope": 850, - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - "children": [ - { - "children": [ - { - "attributes": { - "constant": false, - "name": "spender", - "scope": 841, - "stateVariable": false, - "storageLocation": "default", - "type": "address", - "value": null, - "visibility": "internal" - }, - "children": [ - { - "attributes": { - "name": "address", - "stateMutability": "nonpayable", - "type": "address" - }, - "id": 835, - "name": "ElementaryTypeName", "src": "623:7:6" } ], - "id": 836, + "id": 827, "name": "VariableDeclaration", "src": "623:15:6" }, @@ -1767,7 +1767,7 @@ "attributes": { "constant": false, "name": "value", - "scope": 841, + "scope": 832, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1780,17 +1780,17 @@ "name": "uint", "type": "uint256" }, - "id": 837, + "id": 828, "name": "ElementaryTypeName", "src": "640:4:6" } ], - "id": 838, + "id": 829, "name": "VariableDeclaration", "src": "640:10:6" } ], - "id": 839, + "id": 830, "name": "ParameterList", "src": "622:29:6" }, @@ -1801,12 +1801,12 @@ ] }, "children": [], - "id": 840, + "id": 831, "name": "ParameterList", "src": "658:0:6" } ], - "id": 841, + "id": 832, "name": "FunctionDefinition", "src": "606:53:6" }, @@ -1824,7 +1824,7 @@ "constant": false, "indexed": true, "name": "owner", - "scope": 849, + "scope": 840, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1838,12 +1838,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 842, + "id": 833, "name": "ElementaryTypeName", "src": "679:7:6" } ], - "id": 843, + "id": 834, "name": "VariableDeclaration", "src": "679:21:6" }, @@ -1852,7 +1852,7 @@ "constant": false, "indexed": true, "name": "spender", - "scope": 849, + "scope": 840, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1866,12 +1866,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 844, + "id": 835, "name": "ElementaryTypeName", "src": "702:7:6" } ], - "id": 845, + "id": 836, "name": "VariableDeclaration", "src": "702:23:6" }, @@ -1880,7 +1880,7 @@ "constant": false, "indexed": false, "name": "value", - "scope": 849, + "scope": 840, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1893,32 +1893,32 @@ "name": "uint", "type": "uint256" }, - "id": 846, + "id": 837, "name": "ElementaryTypeName", "src": "727:4:6" } ], - "id": 847, + "id": 838, "name": "VariableDeclaration", "src": "727:10:6" } ], - "id": 848, + "id": 839, "name": "ParameterList", "src": "678:60:6" } ], - "id": 849, + "id": 840, "name": "EventDefinition", "src": "664:75:6" } ], - "id": 850, + "id": 841, "name": "ContractDefinition", "src": "416:325:6" } ], - "id": 851, + "id": 842, "name": "SourceUnit", "src": "0:742:6" }, @@ -1928,7 +1928,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-03-14T02:18:33.087Z", + "updatedAt": "2021-04-04T20:21:29.865Z", "devdoc": { "details": "see https://github.com/ethereum/EIPs/issues/20", "methods": {}, diff --git a/client/contracts/IVerifier.json b/client/contracts/IVerifier.json index 3fca8e6..cb8b681 100644 --- a/client/contracts/IVerifier.json +++ b/client/contracts/IVerifier.json @@ -28,58 +28,58 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"},{\"internalType\":\"uint256[6]\",\"name\":\"_input\",\"type\":\"uint256[6]\"}],\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol\":\"IVerifier\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol\":{\"keccak256\":\"0xe7db8acb3efcecf95c7364f447ed1764c571dbf5090fd4641fe4668a965332eb\",\"urls\":[\"bzz-raw://45e790c247c38ed8ae473e3165c1148ea10a753cf6e9f9c8742394019be2aef6\",\"dweb:/ipfs/QmaGfk1ndvqur2NvCY3TWoKuorfBVShXeykKei18GDY582\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"},{\"internalType\":\"uint256[6]\",\"name\":\"_input\",\"type\":\"uint256[6]\"}],\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/Tornado.sol\":\"IVerifier\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/home/home/dotfiles/tornado-core/contracts/Tornado.sol\":{\"keccak256\":\"0xe7db8acb3efcecf95c7364f447ed1764c571dbf5090fd4641fe4668a965332eb\",\"urls\":[\"bzz-raw://45e790c247c38ed8ae473e3165c1148ea10a753cf6e9f9c8742394019be2aef6\",\"dweb:/ipfs/QmaGfk1ndvqur2NvCY3TWoKuorfBVShXeykKei18GDY582\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", "source": "pragma solidity 0.5.17;\n\nimport \"./MerkleTreeWithHistory.sol\";\nimport \"@openzeppelin/contracts/utils/ReentrancyGuard.sol\";\n\ncontract IVerifier {\n function verifyProof(bytes memory _proof, uint256[6] memory _input) public returns(bool);\n}\n\ncontract IFeeManager {\n function feeTo() external view returns (address);\n}\n\ncontract Tornado is MerkleTreeWithHistory, ReentrancyGuard {\n uint256 public denomination;\n mapping(bytes32 => bool) public nullifierHashes;\n // we store all commitments just to prevent accidental deposits with the same commitment\n mapping(bytes32 => bool) public commitments;\n IVerifier public verifier;\n IFeeManager public feeManager;\n\n // operator can update snark verification key\n // after the final trusted setup ceremony operator rights are supposed to be transferred to zero address\n address public operator;\n modifier onlyOperator {\n require(msg.sender == operator, \"Only operator can call this function.\");\n _;\n }\n\n event Deposit(bytes32 indexed commitment, uint32 leafIndex, uint256 timestamp);\n event Withdrawal(address to, bytes32 nullifierHash, address indexed relayer, uint256 fee);\n\n /**\n @dev The constructor\n @param _verifier the address of SNARK verifier for this contract\n @param _denomination transfer amount for each deposit\n @param _merkleTreeHeight the height of deposits' Merkle Tree\n @param _operator operator address (see operator comment above)\n */\n constructor(\n IVerifier _verifier,\n IFeeManager _feeManager,\n uint256 _denomination,\n uint32 _merkleTreeHeight,\n address _operator\n ) MerkleTreeWithHistory(_merkleTreeHeight) public {\n require(_denomination > 0, \"denomination should be greater than 0\");\n verifier = _verifier;\n feeManager = _feeManager;\n operator = _operator;\n denomination = _denomination;\n }\n\n /**\n @dev Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\n @param _commitment the note commitment, which is PedersenHash(nullifier + secret)\n */\n function deposit(bytes32 _commitment) external payable nonReentrant {\n require(!commitments[_commitment], \"The commitment has been submitted\");\n\n uint32 insertedIndex = _insert(_commitment);\n commitments[_commitment] = true;\n _processDeposit();\n\n emit Deposit(_commitment, insertedIndex, block.timestamp);\n }\n\n /** @dev this function is defined in a child contract */\n function _processDeposit() internal;\n\n /**\n @dev Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs\n `input` array consists of:\n - merkle root of all deposits in the contract\n - hash of unique deposit nullifier to prevent double spends\n - the recipient of funds\n - optional fee that goes to the transaction sender (usually a relay)\n */\n function withdraw(bytes calldata _proof, bytes32 _root, bytes32 _nullifierHash, address payable _recipient, address payable _relayer, uint256 _fee, uint256 _refund) external payable nonReentrant {\n require(_fee <= denomination, \"Fee exceeds transfer value\");\n require(!nullifierHashes[_nullifierHash], \"The note has been already spent\");\n require(isKnownRoot(_root), \"Cannot find your merkle root\"); // Make sure to use a recent one\n require(verifier.verifyProof(_proof, [uint256(_root), uint256(_nullifierHash), uint256(_recipient), uint256(_relayer), _fee, _refund]), \"Invalid withdraw proof\");\n\n nullifierHashes[_nullifierHash] = true;\n _processWithdraw(_recipient, _relayer, _fee, _refund, feeManager.feeTo());\n emit Withdrawal(_recipient, _nullifierHash, _relayer, _fee);\n }\n\n /** @dev this function is defined in a child contract */\n function _processWithdraw(address payable _recipient, address payable _relayer, uint256 _relayer_fee, uint256 _refund, address _feeTo) internal;\n\n /** @dev whether a note is already spent */\n function isSpent(bytes32 _nullifierHash) public view returns(bool) {\n return nullifierHashes[_nullifierHash];\n }\n\n /** @dev whether an array of notes is already spent */\n function isSpentArray(bytes32[] calldata _nullifierHashes) external view returns(bool[] memory spent) {\n spent = new bool[](_nullifierHashes.length);\n for(uint i = 0; i < _nullifierHashes.length; i++) {\n if (isSpent(_nullifierHashes[i])) {\n spent[i] = true;\n }\n }\n }\n\n /**\n @dev allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held.\n After that operator rights are supposed to be transferred to zero address\n */\n function updateVerifier(address _newVerifier) external onlyOperator {\n verifier = IVerifier(_newVerifier);\n }\n\n /** @dev operator can change his address */\n function changeOperator(address _newOperator) external onlyOperator {\n operator = _newOperator;\n }\n}\n", - "sourcePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "exportedSymbols": { "IFeeManager": [ - 707 + 888 ], "IVerifier": [ - 701 + 882 ], "Tornado": [ - 1023 + 1204 ] }, - "id": 1024, + "id": 1205, "nodeType": "SourceUnit", "nodes": [ { - "id": 687, + "id": 868, "literals": [ "solidity", "0.5", ".17" ], "nodeType": "PragmaDirective", - "src": "0:23:3" + "src": "0:23:8" }, { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", "file": "./MerkleTreeWithHistory.sol", - "id": 688, + "id": 869, "nodeType": "ImportDirective", - "scope": 1024, + "scope": 1205, "sourceUnit": 686, - "src": "25:37:3", + "src": "25:37:8", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/utils/ReentrancyGuard.sol", "file": "@openzeppelin/contracts/utils/ReentrancyGuard.sol", - "id": 689, + "id": 870, "nodeType": "ImportDirective", - "scope": 1024, - "sourceUnit": 1054, - "src": "63:59:3", + "scope": 1205, + "sourceUnit": 3256, + "src": "63:59:8", "symbolAliases": [], "unitAlias": "" }, @@ -89,9 +89,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 701, + "id": 882, "linearizedBaseContracts": [ - 701 + 882 ], "name": "IVerifier", "nodeType": "ContractDefinition", @@ -99,23 +99,23 @@ { "body": null, "documentation": null, - "id": 700, + "id": 881, "implemented": false, "kind": "function", "modifiers": [], "name": "verifyProof", "nodeType": "FunctionDefinition", "parameters": { - "id": 696, + "id": 877, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 691, + "id": 872, "name": "_proof", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "168:19:3", + "scope": 881, + "src": "168:19:8", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -123,10 +123,10 @@ "typeString": "bytes" }, "typeName": { - "id": 690, + "id": 871, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "168:5:3", + "src": "168:5:8", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -137,11 +137,11 @@ }, { "constant": false, - "id": 695, + "id": 876, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "189:24:3", + "scope": 881, + "src": "189:24:8", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -150,27 +150,27 @@ }, "typeName": { "baseType": { - "id": 692, + "id": 873, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "189:7:3", + "src": "189:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 694, + "id": 875, "length": { "argumentTypes": null, "hexValue": "36", - "id": 693, + "id": 874, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "197:1:3", + "src": "197:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -179,7 +179,7 @@ "value": "6" }, "nodeType": "ArrayTypeName", - "src": "189:10:3", + "src": "189:10:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", "typeString": "uint256[6]" @@ -189,19 +189,19 @@ "visibility": "internal" } ], - "src": "167:47:3" + "src": "167:47:8" }, "returnParameters": { - "id": 699, + "id": 880, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 698, + "id": 879, "name": "", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "230:4:3", + "scope": 881, + "src": "230:4:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -209,10 +209,10 @@ "typeString": "bool" }, "typeName": { - "id": 697, + "id": 878, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "230:4:3", + "src": "230:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -222,17 +222,17 @@ "visibility": "internal" } ], - "src": "229:6:3" + "src": "229:6:8" }, - "scope": 701, - "src": "147:89:3", + "scope": 882, + "src": "147:89:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1024, - "src": "124:114:3" + "scope": 1205, + "src": "124:114:8" }, { "baseContracts": [], @@ -240,9 +240,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 707, + "id": 888, "linearizedBaseContracts": [ - 707 + 888 ], "name": "IFeeManager", "nodeType": "ContractDefinition", @@ -250,29 +250,29 @@ { "body": null, "documentation": null, - "id": 706, + "id": 887, "implemented": false, "kind": "function", "modifiers": [], "name": "feeTo", "nodeType": "FunctionDefinition", "parameters": { - "id": 702, + "id": 883, "nodeType": "ParameterList", "parameters": [], - "src": "279:2:3" + "src": "279:2:8" }, "returnParameters": { - "id": 705, + "id": 886, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 704, + "id": 885, "name": "", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "305:7:3", + "scope": 887, + "src": "305:7:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -280,10 +280,10 @@ "typeString": "address" }, "typeName": { - "id": 703, + "id": 884, "name": "address", "nodeType": "ElementaryTypeName", - "src": "305:7:3", + "src": "305:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -294,17 +294,17 @@ "visibility": "internal" } ], - "src": "304:9:3" + "src": "304:9:8" }, - "scope": 707, - "src": "265:49:3", + "scope": 888, + "src": "265:49:8", "stateMutability": "view", "superFunction": null, "visibility": "external" } ], - "scope": 1024, - "src": "240:76:3" + "scope": 1205, + "src": "240:76:8" }, { "baseContracts": [ @@ -312,50 +312,50 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 708, + "id": 889, "name": "MerkleTreeWithHistory", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 685, - "src": "338:21:3", + "src": "338:21:8", "typeDescriptions": { "typeIdentifier": "t_contract$_MerkleTreeWithHistory_$685", "typeString": "contract MerkleTreeWithHistory" } }, - "id": 709, + "id": 890, "nodeType": "InheritanceSpecifier", - "src": "338:21:3" + "src": "338:21:8" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 710, + "id": 891, "name": "ReentrancyGuard", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1053, - "src": "361:15:3", + "referencedDeclaration": 3255, + "src": "361:15:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_ReentrancyGuard_$1053", + "typeIdentifier": "t_contract$_ReentrancyGuard_$3255", "typeString": "contract ReentrancyGuard" } }, - "id": 711, + "id": 892, "nodeType": "InheritanceSpecifier", - "src": "361:15:3" + "src": "361:15:8" } ], "contractDependencies": [ 685, - 1053 + 3255 ], "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 1023, + "id": 1204, "linearizedBaseContracts": [ - 1023, - 1053, + 1204, + 3255, 685 ], "name": "Tornado", @@ -363,11 +363,11 @@ "nodes": [ { "constant": false, - "id": 713, + "id": 894, "name": "denomination", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "381:27:3", + "scope": 1204, + "src": "381:27:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -375,10 +375,10 @@ "typeString": "uint256" }, "typeName": { - "id": 712, + "id": 893, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "381:7:3", + "src": "381:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -389,11 +389,11 @@ }, { "constant": false, - "id": 717, + "id": 898, "name": "nullifierHashes", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "412:47:3", + "scope": 1204, + "src": "412:47:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -401,28 +401,28 @@ "typeString": "mapping(bytes32 => bool)" }, "typeName": { - "id": 716, + "id": 897, "keyType": { - "id": 714, + "id": 895, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "420:7:3", + "src": "420:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "412:24:3", + "src": "412:24:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" }, "valueType": { - "id": 715, + "id": 896, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "431:4:3", + "src": "431:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -434,11 +434,11 @@ }, { "constant": false, - "id": 721, + "id": 902, "name": "commitments", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "554:43:3", + "scope": 1204, + "src": "554:43:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -446,28 +446,28 @@ "typeString": "mapping(bytes32 => bool)" }, "typeName": { - "id": 720, + "id": 901, "keyType": { - "id": 718, + "id": 899, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "562:7:3", + "src": "562:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "554:24:3", + "src": "554:24:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" }, "valueType": { - "id": 719, + "id": 900, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "573:4:3", + "src": "573:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -479,26 +479,26 @@ }, { "constant": false, - "id": 723, + "id": 904, "name": "verifier", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "601:25:3", + "scope": 1204, + "src": "601:25:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" }, "typeName": { "contractScope": null, - "id": 722, + "id": 903, "name": "IVerifier", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 701, - "src": "601:9:3", + "referencedDeclaration": 882, + "src": "601:9:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -507,26 +507,26 @@ }, { "constant": false, - "id": 725, + "id": 906, "name": "feeManager", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "630:29:3", + "scope": 1204, + "src": "630:29:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" }, "typeName": { "contractScope": null, - "id": 724, + "id": 905, "name": "IFeeManager", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 707, - "src": "630:11:3", + "referencedDeclaration": 888, + "src": "630:11:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -535,11 +535,11 @@ }, { "constant": false, - "id": 727, + "id": 908, "name": "operator", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "819:23:3", + "scope": 1204, + "src": "819:23:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -547,10 +547,10 @@ "typeString": "address" }, "typeName": { - "id": 726, + "id": 907, "name": "address", "nodeType": "ElementaryTypeName", - "src": "819:7:3", + "src": "819:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -562,9 +562,9 @@ }, { "body": { - "id": 738, + "id": 919, "nodeType": "Block", - "src": "868:90:3", + "src": "868:90:8", "statements": [ { "expression": { @@ -576,7 +576,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 733, + "id": 914, "isConstant": false, "isLValue": false, "isPure": false, @@ -585,18 +585,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 730, + "id": 911, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "882:3:3", + "referencedDeclaration": 3270, + "src": "882:3:8", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 731, + "id": 912, "isConstant": false, "isLValue": false, "isPure": false, @@ -604,7 +604,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "882:10:3", + "src": "882:10:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -614,18 +614,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 732, + "id": 913, "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "896:8:3", + "referencedDeclaration": 908, + "src": "896:8:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "882:22:3", + "src": "882:22:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -634,14 +634,14 @@ { "argumentTypes": null, "hexValue": "4f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2e", - "id": 734, + "id": 915, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "906:39:3", + "src": "906:39:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e8393660073679be7a6133571fe2ca8983a31a683c72e9055f401ac33a2efffc", @@ -661,21 +661,21 @@ "typeString": "literal_string \"Only operator can call this function.\"" } ], - "id": 729, + "id": 910, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "874:7:3", + "referencedDeclaration": 3274, + "src": "874:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 735, + "id": 916, "isConstant": false, "isLValue": false, "isPure": false, @@ -683,54 +683,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "874:72:3", + "src": "874:72:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 736, + "id": 917, "nodeType": "ExpressionStatement", - "src": "874:72:3" + "src": "874:72:8" }, { - "id": 737, + "id": 918, "nodeType": "PlaceholderStatement", - "src": "952:1:3" + "src": "952:1:8" } ] }, "documentation": null, - "id": 739, + "id": 920, "name": "onlyOperator", "nodeType": "ModifierDefinition", "parameters": { - "id": 728, + "id": 909, "nodeType": "ParameterList", "parameters": [], - "src": "868:0:3" + "src": "868:0:8" }, - "src": "846:112:3", + "src": "846:112:8", "visibility": "internal" }, { "anonymous": false, "documentation": null, - "id": 747, + "id": 928, "name": "Deposit", "nodeType": "EventDefinition", "parameters": { - "id": 746, + "id": 927, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 741, + "id": 922, "indexed": true, "name": "commitment", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "976:26:3", + "scope": 928, + "src": "976:26:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -738,10 +738,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 740, + "id": 921, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "976:7:3", + "src": "976:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -752,12 +752,12 @@ }, { "constant": false, - "id": 743, + "id": 924, "indexed": false, "name": "leafIndex", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "1004:16:3", + "scope": 928, + "src": "1004:16:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -765,10 +765,10 @@ "typeString": "uint32" }, "typeName": { - "id": 742, + "id": 923, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1004:6:3", + "src": "1004:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -779,12 +779,12 @@ }, { "constant": false, - "id": 745, + "id": 926, "indexed": false, "name": "timestamp", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "1022:17:3", + "scope": 928, + "src": "1022:17:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -792,10 +792,10 @@ "typeString": "uint256" }, "typeName": { - "id": 744, + "id": 925, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1022:7:3", + "src": "1022:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -805,28 +805,28 @@ "visibility": "internal" } ], - "src": "975:65:3" + "src": "975:65:8" }, - "src": "962:79:3" + "src": "962:79:8" }, { "anonymous": false, "documentation": null, - "id": 757, + "id": 938, "name": "Withdrawal", "nodeType": "EventDefinition", "parameters": { - "id": 756, + "id": 937, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 749, + "id": 930, "indexed": false, "name": "to", "nodeType": "VariableDeclaration", - "scope": 757, - "src": "1061:10:3", + "scope": 938, + "src": "1061:10:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -834,10 +834,10 @@ "typeString": "address" }, "typeName": { - "id": 748, + "id": 929, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1061:7:3", + "src": "1061:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -849,12 +849,12 @@ }, { "constant": false, - "id": 751, + "id": 932, "indexed": false, "name": "nullifierHash", "nodeType": "VariableDeclaration", - "scope": 757, - "src": "1073:21:3", + "scope": 938, + "src": "1073:21:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -862,10 +862,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 750, + "id": 931, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1073:7:3", + "src": "1073:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -876,12 +876,12 @@ }, { "constant": false, - "id": 753, + "id": 934, "indexed": true, "name": "relayer", "nodeType": "VariableDeclaration", - "scope": 757, - "src": "1096:23:3", + "scope": 938, + "src": "1096:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -889,10 +889,10 @@ "typeString": "address" }, "typeName": { - "id": 752, + "id": 933, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1096:7:3", + "src": "1096:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -904,12 +904,12 @@ }, { "constant": false, - "id": 755, + "id": 936, "indexed": false, "name": "fee", "nodeType": "VariableDeclaration", - "scope": 757, - "src": "1121:11:3", + "scope": 938, + "src": "1121:11:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -917,10 +917,10 @@ "typeString": "uint256" }, "typeName": { - "id": 754, + "id": 935, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1121:7:3", + "src": "1121:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -930,15 +930,15 @@ "visibility": "internal" } ], - "src": "1060:73:3" + "src": "1060:73:8" }, - "src": "1044:90:3" + "src": "1044:90:8" }, { "body": { - "id": 796, + "id": 977, "nodeType": "Block", - "src": "1631:194:3", + "src": "1631:194:8", "statements": [ { "expression": { @@ -950,19 +950,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 776, + "id": 957, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 774, + "id": 955, "name": "_denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 763, - "src": "1645:13:3", + "referencedDeclaration": 944, + "src": "1645:13:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -973,14 +973,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 775, + "id": 956, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1661:1:3", + "src": "1661:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -988,7 +988,7 @@ }, "value": "0" }, - "src": "1645:17:3", + "src": "1645:17:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -997,14 +997,14 @@ { "argumentTypes": null, "hexValue": "64656e6f6d696e6174696f6e2073686f756c642062652067726561746572207468616e2030", - "id": 777, + "id": 958, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1664:39:3", + "src": "1664:39:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_04818fb803bf7e7ff6c9059d97eae335b77b108931ead0a529924d35ccaf3fc8", @@ -1024,21 +1024,21 @@ "typeString": "literal_string \"denomination should be greater than 0\"" } ], - "id": 773, + "id": 954, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "1637:7:3", + "referencedDeclaration": 3274, + "src": "1637:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 778, + "id": 959, "isConstant": false, "isLValue": false, "isPure": false, @@ -1046,34 +1046,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1637:67:3", + "src": "1637:67:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 779, + "id": 960, "nodeType": "ExpressionStatement", - "src": "1637:67:3" + "src": "1637:67:8" }, { "expression": { "argumentTypes": null, - "id": 782, + "id": 963, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 780, + "id": 961, "name": "verifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "1710:8:3", + "referencedDeclaration": 904, + "src": "1710:8:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -1081,45 +1081,45 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 781, + "id": 962, "name": "_verifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 759, - "src": "1721:9:3", + "referencedDeclaration": 940, + "src": "1721:9:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, - "src": "1710:20:3", + "src": "1710:20:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, - "id": 783, + "id": 964, "nodeType": "ExpressionStatement", - "src": "1710:20:3" + "src": "1710:20:8" }, { "expression": { "argumentTypes": null, - "id": 786, + "id": 967, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 784, + "id": 965, "name": "feeManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "1736:10:3", + "referencedDeclaration": 906, + "src": "1736:10:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -1127,43 +1127,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 785, + "id": 966, "name": "_feeManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 761, - "src": "1749:11:3", + "referencedDeclaration": 942, + "src": "1749:11:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, - "src": "1736:24:3", + "src": "1736:24:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, - "id": 787, + "id": 968, "nodeType": "ExpressionStatement", - "src": "1736:24:3" + "src": "1736:24:8" }, { "expression": { "argumentTypes": null, - "id": 790, + "id": 971, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 788, + "id": 969, "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "1766:8:3", + "referencedDeclaration": 908, + "src": "1766:8:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1173,43 +1173,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 789, + "id": 970, "name": "_operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 767, - "src": "1777:9:3", + "referencedDeclaration": 948, + "src": "1777:9:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1766:20:3", + "src": "1766:20:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 791, + "id": 972, "nodeType": "ExpressionStatement", - "src": "1766:20:3" + "src": "1766:20:8" }, { "expression": { "argumentTypes": null, - "id": 794, + "id": 975, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 792, + "id": 973, "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "1792:12:3", + "referencedDeclaration": 894, + "src": "1792:12:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1219,31 +1219,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 793, + "id": 974, "name": "_denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 763, - "src": "1807:13:3", + "referencedDeclaration": 944, + "src": "1807:13:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1792:28:3", + "src": "1792:28:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 795, + "id": 976, "nodeType": "ExpressionStatement", - "src": "1792:28:3" + "src": "1792:28:8" } ] }, "documentation": "@dev The constructor\n@param _verifier the address of SNARK verifier for this contract\n@param _denomination transfer amount for each deposit\n@param _merkleTreeHeight the height of deposits' Merkle Tree\n@param _operator operator address (see operator comment above)", - "id": 797, + "id": 978, "implemented": true, "kind": "constructor", "modifiers": [ @@ -1251,64 +1251,64 @@ "arguments": [ { "argumentTypes": null, - "id": 770, + "id": 951, "name": "_merkleTreeHeight", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 765, - "src": "1605:17:3", + "referencedDeclaration": 946, + "src": "1605:17:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } } ], - "id": 771, + "id": 952, "modifierName": { "argumentTypes": null, - "id": 769, + "id": 950, "name": "MerkleTreeWithHistory", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 685, - "src": "1583:21:3", + "src": "1583:21:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_MerkleTreeWithHistory_$685_$", "typeString": "type(contract MerkleTreeWithHistory)" } }, "nodeType": "ModifierInvocation", - "src": "1583:40:3" + "src": "1583:40:8" } ], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 768, + "id": 949, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 759, + "id": 940, "name": "_verifier", "nodeType": "VariableDeclaration", - "scope": 797, - "src": "1450:19:3", + "scope": 978, + "src": "1450:19:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" }, "typeName": { "contractScope": null, - "id": 758, + "id": 939, "name": "IVerifier", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 701, - "src": "1450:9:3", + "referencedDeclaration": 882, + "src": "1450:9:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -1317,26 +1317,26 @@ }, { "constant": false, - "id": 761, + "id": 942, "name": "_feeManager", "nodeType": "VariableDeclaration", - "scope": 797, - "src": "1475:23:3", + "scope": 978, + "src": "1475:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" }, "typeName": { "contractScope": null, - "id": 760, + "id": 941, "name": "IFeeManager", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 707, - "src": "1475:11:3", + "referencedDeclaration": 888, + "src": "1475:11:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -1345,11 +1345,11 @@ }, { "constant": false, - "id": 763, + "id": 944, "name": "_denomination", "nodeType": "VariableDeclaration", - "scope": 797, - "src": "1504:21:3", + "scope": 978, + "src": "1504:21:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1357,10 +1357,10 @@ "typeString": "uint256" }, "typeName": { - "id": 762, + "id": 943, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1504:7:3", + "src": "1504:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1371,11 +1371,11 @@ }, { "constant": false, - "id": 765, + "id": 946, "name": "_merkleTreeHeight", "nodeType": "VariableDeclaration", - "scope": 797, - "src": "1531:24:3", + "scope": 978, + "src": "1531:24:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1383,10 +1383,10 @@ "typeString": "uint32" }, "typeName": { - "id": 764, + "id": 945, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1531:6:3", + "src": "1531:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1397,11 +1397,11 @@ }, { "constant": false, - "id": 767, + "id": 948, "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 797, - "src": "1561:17:3", + "scope": 978, + "src": "1561:17:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1409,10 +1409,10 @@ "typeString": "address" }, "typeName": { - "id": 766, + "id": 947, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1561:7:3", + "src": "1561:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1423,25 +1423,25 @@ "visibility": "internal" } ], - "src": "1444:138:3" + "src": "1444:138:8" }, "returnParameters": { - "id": 772, + "id": 953, "nodeType": "ParameterList", "parameters": [], - "src": "1631:0:3" + "src": "1631:0:8" }, - "scope": 1023, - "src": "1433:392:3", + "scope": 1204, + "src": "1433:392:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 834, + "id": 1015, "nodeType": "Block", - "src": "2141:256:3", + "src": "2141:256:8", "statements": [ { "expression": { @@ -1449,7 +1449,7 @@ "arguments": [ { "argumentTypes": null, - "id": 808, + "id": 989, "isConstant": false, "isLValue": false, "isPure": false, @@ -1457,31 +1457,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "2155:25:3", + "src": "2155:25:8", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 805, + "id": 986, "name": "commitments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "2156:11:3", + "referencedDeclaration": 902, + "src": "2156:11:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 807, + "id": 988, "indexExpression": { "argumentTypes": null, - "id": 806, + "id": 987, "name": "_commitment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 799, - "src": "2168:11:3", + "referencedDeclaration": 980, + "src": "2168:11:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1492,7 +1492,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2156:24:3", + "src": "2156:24:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1506,14 +1506,14 @@ { "argumentTypes": null, "hexValue": "54686520636f6d6d69746d656e7420686173206265656e207375626d6974746564", - "id": 809, + "id": 990, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2182:35:3", + "src": "2182:35:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ae5f231636554c1cb3bf839359e4dfbb338ccb221c7c5dbdf2da91ddc6e2ee6b", @@ -1533,21 +1533,21 @@ "typeString": "literal_string \"The commitment has been submitted\"" } ], - "id": 804, + "id": 985, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "2147:7:3", + "referencedDeclaration": 3274, + "src": "2147:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 810, + "id": 991, "isConstant": false, "isLValue": false, "isPure": false, @@ -1555,28 +1555,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2147:71:3", + "src": "2147:71:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 811, + "id": 992, "nodeType": "ExpressionStatement", - "src": "2147:71:3" + "src": "2147:71:8" }, { "assignments": [ - 813 + 994 ], "declarations": [ { "constant": false, - "id": 813, + "id": 994, "name": "insertedIndex", "nodeType": "VariableDeclaration", - "scope": 834, - "src": "2225:20:3", + "scope": 1015, + "src": "2225:20:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1584,10 +1584,10 @@ "typeString": "uint32" }, "typeName": { - "id": 812, + "id": 993, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "2225:6:3", + "src": "2225:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1597,18 +1597,18 @@ "visibility": "internal" } ], - "id": 817, + "id": 998, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 815, + "id": 996, "name": "_commitment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 799, - "src": "2256:11:3", + "referencedDeclaration": 980, + "src": "2256:11:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1622,18 +1622,18 @@ "typeString": "bytes32" } ], - "id": 814, + "id": 995, "name": "_insert", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 627, - "src": "2248:7:3", + "src": "2248:7:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_uint32_$", "typeString": "function (bytes32) returns (uint32)" } }, - "id": 816, + "id": 997, "isConstant": false, "isLValue": false, "isPure": false, @@ -1641,19 +1641,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2248:20:3", + "src": "2248:20:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "nodeType": "VariableDeclarationStatement", - "src": "2225:43:3" + "src": "2225:43:8" }, { "expression": { "argumentTypes": null, - "id": 822, + "id": 1003, "isConstant": false, "isLValue": false, "isPure": false, @@ -1662,26 +1662,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 818, + "id": 999, "name": "commitments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "2274:11:3", + "referencedDeclaration": 902, + "src": "2274:11:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 820, + "id": 1001, "indexExpression": { "argumentTypes": null, - "id": 819, + "id": 1000, "name": "_commitment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 799, - "src": "2286:11:3", + "referencedDeclaration": 980, + "src": "2286:11:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1692,7 +1692,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2274:24:3", + "src": "2274:24:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1703,14 +1703,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 821, + "id": 1002, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2301:4:3", + "src": "2301:4:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1718,15 +1718,15 @@ }, "value": "true" }, - "src": "2274:31:3", + "src": "2274:31:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 823, + "id": 1004, "nodeType": "ExpressionStatement", - "src": "2274:31:3" + "src": "2274:31:8" }, { "expression": { @@ -1734,18 +1734,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 824, + "id": 1005, "name": "_processDeposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "2311:15:3", + "referencedDeclaration": 1019, + "src": "2311:15:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 825, + "id": 1006, "isConstant": false, "isLValue": false, "isPure": false, @@ -1753,15 +1753,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2311:17:3", + "src": "2311:17:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 826, + "id": 1007, "nodeType": "ExpressionStatement", - "src": "2311:17:3" + "src": "2311:17:8" }, { "eventCall": { @@ -1769,12 +1769,12 @@ "arguments": [ { "argumentTypes": null, - "id": 828, + "id": 1009, "name": "_commitment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 799, - "src": "2348:11:3", + "referencedDeclaration": 980, + "src": "2348:11:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1782,12 +1782,12 @@ }, { "argumentTypes": null, - "id": 829, + "id": 1010, "name": "insertedIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 813, - "src": "2361:13:3", + "referencedDeclaration": 994, + "src": "2361:13:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1797,18 +1797,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 830, + "id": 1011, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "2376:5:3", + "referencedDeclaration": 3260, + "src": "2376:5:8", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 831, + "id": 1012, "isConstant": false, "isLValue": false, "isPure": false, @@ -1816,7 +1816,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2376:15:3", + "src": "2376:15:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1838,18 +1838,18 @@ "typeString": "uint256" } ], - "id": 827, + "id": 1008, "name": "Deposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 747, - "src": "2340:7:3", + "referencedDeclaration": 928, + "src": "2340:7:8", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint32,uint256)" } }, - "id": 832, + "id": 1013, "isConstant": false, "isLValue": false, "isPure": false, @@ -1857,56 +1857,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2340:52:3", + "src": "2340:52:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 833, + "id": 1014, "nodeType": "EmitStatement", - "src": "2335:57:3" + "src": "2335:57:8" } ] }, "documentation": "@dev Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\n@param _commitment the note commitment, which is PedersenHash(nullifier + secret)", - "id": 835, + "id": 1016, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 802, + "id": 983, "modifierName": { "argumentTypes": null, - "id": 801, + "id": 982, "name": "nonReentrant", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "2128:12:3", + "referencedDeclaration": 3254, + "src": "2128:12:8", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2128:12:3" + "src": "2128:12:8" } ], "name": "deposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 800, + "id": 981, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 799, + "id": 980, "name": "_commitment", "nodeType": "VariableDeclaration", - "scope": 835, - "src": "2090:19:3", + "scope": 1016, + "src": "2090:19:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1914,10 +1914,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 798, + "id": 979, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2090:7:3", + "src": "2090:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1927,16 +1927,16 @@ "visibility": "internal" } ], - "src": "2089:21:3" + "src": "2089:21:8" }, "returnParameters": { - "id": 803, + "id": 984, "nodeType": "ParameterList", "parameters": [], - "src": "2141:0:3" + "src": "2141:0:8" }, - "scope": 1023, - "src": "2073:324:3", + "scope": 1204, + "src": "2073:324:8", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -1944,35 +1944,35 @@ { "body": null, "documentation": "@dev this function is defined in a child contract ", - "id": 838, + "id": 1019, "implemented": false, "kind": "function", "modifiers": [], "name": "_processDeposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 836, + "id": 1017, "nodeType": "ParameterList", "parameters": [], - "src": "2484:2:3" + "src": "2484:2:8" }, "returnParameters": { - "id": 837, + "id": 1018, "nodeType": "ParameterList", "parameters": [], - "src": "2495:0:3" + "src": "2495:0:8" }, - "scope": 1023, - "src": "2460:36:3", + "scope": 1204, + "src": "2460:36:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 925, + "id": 1106, "nodeType": "Block", - "src": "3088:606:3", + "src": "3088:606:8", "statements": [ { "expression": { @@ -1984,19 +1984,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 860, + "id": 1041, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 858, + "id": 1039, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 850, - "src": "3102:4:3", + "referencedDeclaration": 1031, + "src": "3102:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2006,18 +2006,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 859, + "id": 1040, "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "3110:12:3", + "referencedDeclaration": 894, + "src": "3110:12:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3102:20:3", + "src": "3102:20:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2026,14 +2026,14 @@ { "argumentTypes": null, "hexValue": "4665652065786365656473207472616e736665722076616c7565", - "id": 861, + "id": 1042, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3124:28:3", + "src": "3124:28:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2ce218df547d416f80ea8a5deadaf9453d23523ffa5f2e880a48adfdb4053a9c", @@ -2053,21 +2053,21 @@ "typeString": "literal_string \"Fee exceeds transfer value\"" } ], - "id": 857, + "id": 1038, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "3094:7:3", + "referencedDeclaration": 3274, + "src": "3094:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 862, + "id": 1043, "isConstant": false, "isLValue": false, "isPure": false, @@ -2075,15 +2075,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3094:59:3", + "src": "3094:59:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 863, + "id": 1044, "nodeType": "ExpressionStatement", - "src": "3094:59:3" + "src": "3094:59:8" }, { "expression": { @@ -2091,7 +2091,7 @@ "arguments": [ { "argumentTypes": null, - "id": 868, + "id": 1049, "isConstant": false, "isLValue": false, "isPure": false, @@ -2099,31 +2099,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "3167:32:3", + "src": "3167:32:8", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 865, + "id": 1046, "name": "nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 717, - "src": "3168:15:3", + "referencedDeclaration": 898, + "src": "3168:15:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 867, + "id": 1048, "indexExpression": { "argumentTypes": null, - "id": 866, + "id": 1047, "name": "_nullifierHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "3184:14:3", + "referencedDeclaration": 1025, + "src": "3184:14:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2134,7 +2134,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3168:31:3", + "src": "3168:31:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2148,14 +2148,14 @@ { "argumentTypes": null, "hexValue": "546865206e6f746520686173206265656e20616c7265616479207370656e74", - "id": 869, + "id": 1050, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3201:33:3", + "src": "3201:33:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a1bef92d7a18b1c6975dc8de68df6140a52afea05a2c6c91da2b1562c617e896", @@ -2175,21 +2175,21 @@ "typeString": "literal_string \"The note has been already spent\"" } ], - "id": 864, + "id": 1045, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "3159:7:3", + "referencedDeclaration": 3274, + "src": "3159:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 870, + "id": 1051, "isConstant": false, "isLValue": false, "isPure": false, @@ -2197,15 +2197,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3159:76:3", + "src": "3159:76:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 871, + "id": 1052, "nodeType": "ExpressionStatement", - "src": "3159:76:3" + "src": "3159:76:8" }, { "expression": { @@ -2216,12 +2216,12 @@ "arguments": [ { "argumentTypes": null, - "id": 874, + "id": 1055, "name": "_root", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 842, - "src": "3261:5:3", + "referencedDeclaration": 1023, + "src": "3261:5:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2235,18 +2235,18 @@ "typeString": "bytes32" } ], - "id": 873, + "id": 1054, "name": "isKnownRoot", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 674, - "src": "3249:11:3", + "src": "3249:11:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32) view returns (bool)" } }, - "id": 875, + "id": 1056, "isConstant": false, "isLValue": false, "isPure": false, @@ -2254,7 +2254,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3249:18:3", + "src": "3249:18:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2263,14 +2263,14 @@ { "argumentTypes": null, "hexValue": "43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f74", - "id": 876, + "id": 1057, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3269:30:3", + "src": "3269:30:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2a69086763073955418d2fd7dfee3d2f1fbc5b21047a216b7855d3f313d8e204", @@ -2290,21 +2290,21 @@ "typeString": "literal_string \"Cannot find your merkle root\"" } ], - "id": 872, + "id": 1053, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "3241:7:3", + "referencedDeclaration": 3274, + "src": "3241:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 877, + "id": 1058, "isConstant": false, "isLValue": false, "isPure": false, @@ -2312,15 +2312,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3241:59:3", + "src": "3241:59:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 878, + "id": 1059, "nodeType": "ExpressionStatement", - "src": "3241:59:3" + "src": "3241:59:8" }, { "expression": { @@ -2331,12 +2331,12 @@ "arguments": [ { "argumentTypes": null, - "id": 882, + "id": 1063, "name": "_proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 840, - "src": "3368:6:3", + "referencedDeclaration": 1021, + "src": "3368:6:8", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -2350,12 +2350,12 @@ "arguments": [ { "argumentTypes": null, - "id": 884, + "id": 1065, "name": "_root", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 842, - "src": "3385:5:3", + "referencedDeclaration": 1023, + "src": "3385:5:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2369,20 +2369,20 @@ "typeString": "bytes32" } ], - "id": 883, + "id": 1064, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3377:7:3", + "src": "3377:7:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 885, + "id": 1066, "isConstant": false, "isLValue": false, "isPure": false, @@ -2390,7 +2390,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3377:14:3", + "src": "3377:14:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2401,12 +2401,12 @@ "arguments": [ { "argumentTypes": null, - "id": 887, + "id": 1068, "name": "_nullifierHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "3401:14:3", + "referencedDeclaration": 1025, + "src": "3401:14:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2420,20 +2420,20 @@ "typeString": "bytes32" } ], - "id": 886, + "id": 1067, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3393:7:3", + "src": "3393:7:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 888, + "id": 1069, "isConstant": false, "isLValue": false, "isPure": false, @@ -2441,7 +2441,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3393:23:3", + "src": "3393:23:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2452,12 +2452,12 @@ "arguments": [ { "argumentTypes": null, - "id": 890, + "id": 1071, "name": "_recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 846, - "src": "3426:10:3", + "referencedDeclaration": 1027, + "src": "3426:10:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2471,20 +2471,20 @@ "typeString": "address payable" } ], - "id": 889, + "id": 1070, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3418:7:3", + "src": "3418:7:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 891, + "id": 1072, "isConstant": false, "isLValue": false, "isPure": false, @@ -2492,7 +2492,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3418:19:3", + "src": "3418:19:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2503,12 +2503,12 @@ "arguments": [ { "argumentTypes": null, - "id": 893, + "id": 1074, "name": "_relayer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 848, - "src": "3447:8:3", + "referencedDeclaration": 1029, + "src": "3447:8:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2522,20 +2522,20 @@ "typeString": "address payable" } ], - "id": 892, + "id": 1073, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3439:7:3", + "src": "3439:7:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 894, + "id": 1075, "isConstant": false, "isLValue": false, "isPure": false, @@ -2543,7 +2543,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3439:17:3", + "src": "3439:17:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2551,12 +2551,12 @@ }, { "argumentTypes": null, - "id": 895, + "id": 1076, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 850, - "src": "3458:4:3", + "referencedDeclaration": 1031, + "src": "3458:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2564,26 +2564,26 @@ }, { "argumentTypes": null, - "id": 896, + "id": 1077, "name": "_refund", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 852, - "src": "3464:7:3", + "referencedDeclaration": 1033, + "src": "3464:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 897, + "id": 1078, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "3376:96:3", + "src": "3376:96:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -2603,32 +2603,32 @@ ], "expression": { "argumentTypes": null, - "id": 880, + "id": 1061, "name": "verifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "3347:8:3", + "referencedDeclaration": 904, + "src": "3347:8:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, - "id": 881, + "id": 1062, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verifyProof", "nodeType": "MemberAccess", - "referencedDeclaration": 700, - "src": "3347:20:3", + "referencedDeclaration": 881, + "src": "3347:20:8", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_array$_t_uint256_$6_memory_ptr_$returns$_t_bool_$", "typeString": "function (bytes memory,uint256[6] memory) external returns (bool)" } }, - "id": 898, + "id": 1079, "isConstant": false, "isLValue": false, "isPure": false, @@ -2636,7 +2636,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3347:126:3", + "src": "3347:126:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2645,14 +2645,14 @@ { "argumentTypes": null, "hexValue": "496e76616c69642077697468647261772070726f6f66", - "id": 899, + "id": 1080, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3475:24:3", + "src": "3475:24:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_7021ea58137dba96e572e94936410b0b0e4cbc344e1ab2ee7f47660768b81ff4", @@ -2672,21 +2672,21 @@ "typeString": "literal_string \"Invalid withdraw proof\"" } ], - "id": 879, + "id": 1060, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "3339:7:3", + "referencedDeclaration": 3274, + "src": "3339:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 900, + "id": 1081, "isConstant": false, "isLValue": false, "isPure": false, @@ -2694,20 +2694,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3339:161:3", + "src": "3339:161:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 901, + "id": 1082, "nodeType": "ExpressionStatement", - "src": "3339:161:3" + "src": "3339:161:8" }, { "expression": { "argumentTypes": null, - "id": 906, + "id": 1087, "isConstant": false, "isLValue": false, "isPure": false, @@ -2716,26 +2716,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 902, + "id": 1083, "name": "nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 717, - "src": "3507:15:3", + "referencedDeclaration": 898, + "src": "3507:15:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 904, + "id": 1085, "indexExpression": { "argumentTypes": null, - "id": 903, + "id": 1084, "name": "_nullifierHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "3523:14:3", + "referencedDeclaration": 1025, + "src": "3523:14:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2746,7 +2746,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3507:31:3", + "src": "3507:31:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2757,14 +2757,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 905, + "id": 1086, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3541:4:3", + "src": "3541:4:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2772,15 +2772,15 @@ }, "value": "true" }, - "src": "3507:38:3", + "src": "3507:38:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 907, + "id": 1088, "nodeType": "ExpressionStatement", - "src": "3507:38:3" + "src": "3507:38:8" }, { "expression": { @@ -2788,12 +2788,12 @@ "arguments": [ { "argumentTypes": null, - "id": 909, + "id": 1090, "name": "_recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 846, - "src": "3568:10:3", + "referencedDeclaration": 1027, + "src": "3568:10:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2801,12 +2801,12 @@ }, { "argumentTypes": null, - "id": 910, + "id": 1091, "name": "_relayer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 848, - "src": "3580:8:3", + "referencedDeclaration": 1029, + "src": "3580:8:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2814,12 +2814,12 @@ }, { "argumentTypes": null, - "id": 911, + "id": 1092, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 850, - "src": "3590:4:3", + "referencedDeclaration": 1031, + "src": "3590:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2827,12 +2827,12 @@ }, { "argumentTypes": null, - "id": 912, + "id": 1093, "name": "_refund", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 852, - "src": "3596:7:3", + "referencedDeclaration": 1033, + "src": "3596:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2845,32 +2845,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 913, + "id": 1094, "name": "feeManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "3605:10:3", + "referencedDeclaration": 906, + "src": "3605:10:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, - "id": 914, + "id": 1095, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "feeTo", "nodeType": "MemberAccess", - "referencedDeclaration": 706, - "src": "3605:16:3", + "referencedDeclaration": 887, + "src": "3605:16:8", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 915, + "id": 1096, "isConstant": false, "isLValue": false, "isPure": false, @@ -2878,7 +2878,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3605:18:3", + "src": "3605:18:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2908,18 +2908,18 @@ "typeString": "address" } ], - "id": 908, + "id": 1089, "name": "_processWithdraw", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "3551:16:3", + "referencedDeclaration": 1120, + "src": "3551:16:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_payable_$_t_address_payable_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", "typeString": "function (address payable,address payable,uint256,uint256,address)" } }, - "id": 916, + "id": 1097, "isConstant": false, "isLValue": false, "isPure": false, @@ -2927,15 +2927,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3551:73:3", + "src": "3551:73:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 917, + "id": 1098, "nodeType": "ExpressionStatement", - "src": "3551:73:3" + "src": "3551:73:8" }, { "eventCall": { @@ -2943,12 +2943,12 @@ "arguments": [ { "argumentTypes": null, - "id": 919, + "id": 1100, "name": "_recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 846, - "src": "3646:10:3", + "referencedDeclaration": 1027, + "src": "3646:10:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2956,12 +2956,12 @@ }, { "argumentTypes": null, - "id": 920, + "id": 1101, "name": "_nullifierHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "3658:14:3", + "referencedDeclaration": 1025, + "src": "3658:14:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2969,12 +2969,12 @@ }, { "argumentTypes": null, - "id": 921, + "id": 1102, "name": "_relayer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 848, - "src": "3674:8:3", + "referencedDeclaration": 1029, + "src": "3674:8:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2982,12 +2982,12 @@ }, { "argumentTypes": null, - "id": 922, + "id": 1103, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 850, - "src": "3684:4:3", + "referencedDeclaration": 1031, + "src": "3684:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3013,18 +3013,18 @@ "typeString": "uint256" } ], - "id": 918, + "id": 1099, "name": "Withdrawal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 757, - "src": "3635:10:3", + "referencedDeclaration": 938, + "src": "3635:10:8", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,bytes32,address,uint256)" } }, - "id": 923, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": false, @@ -3032,56 +3032,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3635:54:3", + "src": "3635:54:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 924, + "id": 1105, "nodeType": "EmitStatement", - "src": "3630:59:3" + "src": "3630:59:8" } ] }, "documentation": "@dev Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs\n`input` array consists of:\n- merkle root of all deposits in the contract\n- hash of unique deposit nullifier to prevent double spends\n- the recipient of funds\n- optional fee that goes to the transaction sender (usually a relay)", - "id": 926, + "id": 1107, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 855, + "id": 1036, "modifierName": { "argumentTypes": null, - "id": 854, + "id": 1035, "name": "nonReentrant", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "3075:12:3", + "referencedDeclaration": 3254, + "src": "3075:12:8", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3075:12:3" + "src": "3075:12:8" } ], "name": "withdraw", "nodeType": "FunctionDefinition", "parameters": { - "id": 853, + "id": 1034, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 840, + "id": 1021, "name": "_proof", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "2911:21:3", + "scope": 1107, + "src": "2911:21:8", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3089,10 +3089,10 @@ "typeString": "bytes" }, "typeName": { - "id": 839, + "id": 1020, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2911:5:3", + "src": "2911:5:8", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3103,11 +3103,11 @@ }, { "constant": false, - "id": 842, + "id": 1023, "name": "_root", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "2934:13:3", + "scope": 1107, + "src": "2934:13:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3115,10 +3115,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 841, + "id": 1022, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2934:7:3", + "src": "2934:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3129,11 +3129,11 @@ }, { "constant": false, - "id": 844, + "id": 1025, "name": "_nullifierHash", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "2949:22:3", + "scope": 1107, + "src": "2949:22:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3141,10 +3141,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 843, + "id": 1024, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2949:7:3", + "src": "2949:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3155,11 +3155,11 @@ }, { "constant": false, - "id": 846, + "id": 1027, "name": "_recipient", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "2973:26:3", + "scope": 1107, + "src": "2973:26:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3167,10 +3167,10 @@ "typeString": "address payable" }, "typeName": { - "id": 845, + "id": 1026, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2973:15:3", + "src": "2973:15:8", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3182,11 +3182,11 @@ }, { "constant": false, - "id": 848, + "id": 1029, "name": "_relayer", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "3001:24:3", + "scope": 1107, + "src": "3001:24:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3194,10 +3194,10 @@ "typeString": "address payable" }, "typeName": { - "id": 847, + "id": 1028, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3001:15:3", + "src": "3001:15:8", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3209,11 +3209,11 @@ }, { "constant": false, - "id": 850, + "id": 1031, "name": "_fee", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "3027:12:3", + "scope": 1107, + "src": "3027:12:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3221,10 +3221,10 @@ "typeString": "uint256" }, "typeName": { - "id": 849, + "id": 1030, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3027:7:3", + "src": "3027:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3235,11 +3235,11 @@ }, { "constant": false, - "id": 852, + "id": 1033, "name": "_refund", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "3041:15:3", + "scope": 1107, + "src": "3041:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3247,10 +3247,10 @@ "typeString": "uint256" }, "typeName": { - "id": 851, + "id": 1032, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3041:7:3", + "src": "3041:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3260,16 +3260,16 @@ "visibility": "internal" } ], - "src": "2910:147:3" + "src": "2910:147:8" }, "returnParameters": { - "id": 856, + "id": 1037, "nodeType": "ParameterList", "parameters": [], - "src": "3088:0:3" + "src": "3088:0:8" }, - "scope": 1023, - "src": "2893:801:3", + "scope": 1204, + "src": "2893:801:8", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -3277,23 +3277,23 @@ { "body": null, "documentation": "@dev this function is defined in a child contract ", - "id": 939, + "id": 1120, "implemented": false, "kind": "function", "modifiers": [], "name": "_processWithdraw", "nodeType": "FunctionDefinition", "parameters": { - "id": 937, + "id": 1118, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 928, + "id": 1109, "name": "_recipient", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "3783:26:3", + "scope": 1120, + "src": "3783:26:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3301,10 +3301,10 @@ "typeString": "address payable" }, "typeName": { - "id": 927, + "id": 1108, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3783:15:3", + "src": "3783:15:8", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3316,11 +3316,11 @@ }, { "constant": false, - "id": 930, + "id": 1111, "name": "_relayer", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "3811:24:3", + "scope": 1120, + "src": "3811:24:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3328,10 +3328,10 @@ "typeString": "address payable" }, "typeName": { - "id": 929, + "id": 1110, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3811:15:3", + "src": "3811:15:8", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3343,11 +3343,11 @@ }, { "constant": false, - "id": 932, + "id": 1113, "name": "_relayer_fee", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "3837:20:3", + "scope": 1120, + "src": "3837:20:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3355,10 +3355,10 @@ "typeString": "uint256" }, "typeName": { - "id": 931, + "id": 1112, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3837:7:3", + "src": "3837:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3369,11 +3369,11 @@ }, { "constant": false, - "id": 934, + "id": 1115, "name": "_refund", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "3859:15:3", + "scope": 1120, + "src": "3859:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3381,10 +3381,10 @@ "typeString": "uint256" }, "typeName": { - "id": 933, + "id": 1114, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3859:7:3", + "src": "3859:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3395,11 +3395,11 @@ }, { "constant": false, - "id": 936, + "id": 1117, "name": "_feeTo", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "3876:14:3", + "scope": 1120, + "src": "3876:14:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3407,10 +3407,10 @@ "typeString": "address" }, "typeName": { - "id": 935, + "id": 1116, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3876:7:3", + "src": "3876:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3421,51 +3421,51 @@ "visibility": "internal" } ], - "src": "3782:109:3" + "src": "3782:109:8" }, "returnParameters": { - "id": 938, + "id": 1119, "nodeType": "ParameterList", "parameters": [], - "src": "3900:0:3" + "src": "3900:0:8" }, - "scope": 1023, - "src": "3757:144:3", + "scope": 1204, + "src": "3757:144:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 950, + "id": 1131, "nodeType": "Block", - "src": "4018:49:3", + "src": "4018:49:8", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 946, + "id": 1127, "name": "nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 717, - "src": "4031:15:3", + "referencedDeclaration": 898, + "src": "4031:15:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 948, + "id": 1129, "indexExpression": { "argumentTypes": null, - "id": 947, + "id": 1128, "name": "_nullifierHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "4047:14:3", + "referencedDeclaration": 1122, + "src": "4047:14:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3476,37 +3476,37 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4031:31:3", + "src": "4031:31:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 945, - "id": 949, + "functionReturnParameters": 1126, + "id": 1130, "nodeType": "Return", - "src": "4024:38:3" + "src": "4024:38:8" } ] }, "documentation": "@dev whether a note is already spent ", - "id": 951, + "id": 1132, "implemented": true, "kind": "function", "modifiers": [], "name": "isSpent", "nodeType": "FunctionDefinition", "parameters": { - "id": 942, + "id": 1123, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 941, + "id": 1122, "name": "_nullifierHash", "nodeType": "VariableDeclaration", - "scope": 951, - "src": "3968:22:3", + "scope": 1132, + "src": "3968:22:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3514,10 +3514,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 940, + "id": 1121, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3968:7:3", + "src": "3968:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3527,19 +3527,19 @@ "visibility": "internal" } ], - "src": "3967:24:3" + "src": "3967:24:8" }, "returnParameters": { - "id": 945, + "id": 1126, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 944, + "id": 1125, "name": "", "nodeType": "VariableDeclaration", - "scope": 951, - "src": "4012:4:3", + "scope": 1132, + "src": "4012:4:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3547,10 +3547,10 @@ "typeString": "bool" }, "typeName": { - "id": 943, + "id": 1124, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4012:4:3", + "src": "4012:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3560,36 +3560,36 @@ "visibility": "internal" } ], - "src": "4011:6:3" + "src": "4011:6:8" }, - "scope": 1023, - "src": "3951:116:3", + "scope": 1204, + "src": "3951:116:8", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 995, + "id": 1176, "nodeType": "Block", - "src": "4230:191:3", + "src": "4230:191:8", "statements": [ { "expression": { "argumentTypes": null, - "id": 967, + "id": 1148, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 960, + "id": 1141, "name": "spent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "4236:5:3", + "referencedDeclaration": 1139, + "src": "4236:5:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", "typeString": "bool[] memory" @@ -3604,18 +3604,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 964, + "id": 1145, "name": "_nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 954, - "src": "4255:16:3", + "referencedDeclaration": 1135, + "src": "4255:16:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" } }, - "id": 965, + "id": 1146, "isConstant": false, "isLValue": false, "isPure": false, @@ -3623,7 +3623,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4255:23:3", + "src": "4255:23:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3637,39 +3637,39 @@ "typeString": "uint256" } ], - "id": 963, + "id": 1144, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "4244:10:3", + "src": "4244:10:8", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bool_$dyn_memory_$", "typeString": "function (uint256) pure returns (bool[] memory)" }, "typeName": { "baseType": { - "id": 961, + "id": 1142, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4248:4:3", + "src": "4248:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 962, + "id": 1143, "length": null, "nodeType": "ArrayTypeName", - "src": "4248:6:3", + "src": "4248:6:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", "typeString": "bool[]" } } }, - "id": 966, + "id": 1147, "isConstant": false, "isLValue": false, "isPure": false, @@ -3677,27 +3677,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4244:35:3", + "src": "4244:35:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_memory", "typeString": "bool[] memory" } }, - "src": "4236:43:3", + "src": "4236:43:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", "typeString": "bool[] memory" } }, - "id": 968, + "id": 1149, "nodeType": "ExpressionStatement", - "src": "4236:43:3" + "src": "4236:43:8" }, { "body": { - "id": 993, + "id": 1174, "nodeType": "Block", - "src": "4335:82:3", + "src": "4335:82:8", "statements": [ { "condition": { @@ -3707,26 +3707,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 981, + "id": 1162, "name": "_nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 954, - "src": "4355:16:3", + "referencedDeclaration": 1135, + "src": "4355:16:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" } }, - "id": 983, + "id": 1164, "indexExpression": { "argumentTypes": null, - "id": 982, + "id": 1163, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4372:1:3", + "referencedDeclaration": 1151, + "src": "4372:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3737,7 +3737,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4355:19:3", + "src": "4355:19:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3751,18 +3751,18 @@ "typeString": "bytes32" } ], - "id": 980, + "id": 1161, "name": "isSpent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 951, - "src": "4347:7:3", + "referencedDeclaration": 1132, + "src": "4347:7:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32) view returns (bool)" } }, - "id": 984, + "id": 1165, "isConstant": false, "isLValue": false, "isPure": false, @@ -3770,25 +3770,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4347:28:3", + "src": "4347:28:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 992, + "id": 1173, "nodeType": "IfStatement", - "src": "4343:68:3", + "src": "4343:68:8", "trueBody": { - "id": 991, + "id": 1172, "nodeType": "Block", - "src": "4377:34:3", + "src": "4377:34:8", "statements": [ { "expression": { "argumentTypes": null, - "id": 989, + "id": 1170, "isConstant": false, "isLValue": false, "isPure": false, @@ -3797,26 +3797,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 985, + "id": 1166, "name": "spent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "4387:5:3", + "referencedDeclaration": 1139, + "src": "4387:5:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", "typeString": "bool[] memory" } }, - "id": 987, + "id": 1168, "indexExpression": { "argumentTypes": null, - "id": 986, + "id": 1167, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4393:1:3", + "referencedDeclaration": 1151, + "src": "4393:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3827,7 +3827,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4387:8:3", + "src": "4387:8:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3838,14 +3838,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 988, + "id": 1169, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4398:4:3", + "src": "4398:4:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3853,15 +3853,15 @@ }, "value": "true" }, - "src": "4387:15:3", + "src": "4387:15:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 990, + "id": 1171, "nodeType": "ExpressionStatement", - "src": "4387:15:3" + "src": "4387:15:8" } ] } @@ -3874,19 +3874,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 976, + "id": 1157, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 973, + "id": 1154, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4301:1:3", + "referencedDeclaration": 1151, + "src": "4301:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3898,18 +3898,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 974, + "id": 1155, "name": "_nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 954, - "src": "4305:16:3", + "referencedDeclaration": 1135, + "src": "4305:16:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" } }, - "id": 975, + "id": 1156, "isConstant": false, "isLValue": false, "isPure": false, @@ -3917,31 +3917,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4305:23:3", + "src": "4305:23:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4301:27:3", + "src": "4301:27:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 994, + "id": 1175, "initializationExpression": { "assignments": [ - 970 + 1151 ], "declarations": [ { "constant": false, - "id": 970, + "id": 1151, "name": "i", "nodeType": "VariableDeclaration", - "scope": 994, - "src": "4289:6:3", + "scope": 1175, + "src": "4289:6:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3949,10 +3949,10 @@ "typeString": "uint256" }, "typeName": { - "id": 969, + "id": 1150, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4289:4:3", + "src": "4289:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3962,18 +3962,18 @@ "visibility": "internal" } ], - "id": 972, + "id": 1153, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 971, + "id": 1152, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4298:1:3", + "src": "4298:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3982,12 +3982,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "4289:10:3" + "src": "4289:10:8" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 978, + "id": 1159, "isConstant": false, "isLValue": false, "isPure": false, @@ -3995,15 +3995,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4330:3:3", + "src": "4330:3:8", "subExpression": { "argumentTypes": null, - "id": 977, + "id": 1158, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4330:1:3", + "referencedDeclaration": 1151, + "src": "4330:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4014,33 +4014,33 @@ "typeString": "uint256" } }, - "id": 979, + "id": 1160, "nodeType": "ExpressionStatement", - "src": "4330:3:3" + "src": "4330:3:8" }, "nodeType": "ForStatement", - "src": "4285:132:3" + "src": "4285:132:8" } ] }, "documentation": "@dev whether an array of notes is already spent ", - "id": 996, + "id": 1177, "implemented": true, "kind": "function", "modifiers": [], "name": "isSpentArray", "nodeType": "FunctionDefinition", "parameters": { - "id": 955, + "id": 1136, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 954, + "id": 1135, "name": "_nullifierHashes", "nodeType": "VariableDeclaration", - "scope": 996, - "src": "4150:35:3", + "scope": 1177, + "src": "4150:35:8", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -4049,19 +4049,19 @@ }, "typeName": { "baseType": { - "id": 952, + "id": 1133, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4150:7:3", + "src": "4150:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 953, + "id": 1134, "length": null, "nodeType": "ArrayTypeName", - "src": "4150:9:3", + "src": "4150:9:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -4071,19 +4071,19 @@ "visibility": "internal" } ], - "src": "4149:37:3" + "src": "4149:37:8" }, "returnParameters": { - "id": 959, + "id": 1140, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 958, + "id": 1139, "name": "spent", "nodeType": "VariableDeclaration", - "scope": 996, - "src": "4209:19:3", + "scope": 1177, + "src": "4209:19:8", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4092,19 +4092,19 @@ }, "typeName": { "baseType": { - "id": 956, + "id": 1137, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4209:4:3", + "src": "4209:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 957, + "id": 1138, "length": null, "nodeType": "ArrayTypeName", - "src": "4209:6:3", + "src": "4209:6:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", "typeString": "bool[]" @@ -4114,38 +4114,38 @@ "visibility": "internal" } ], - "src": "4208:21:3" + "src": "4208:21:8" }, - "scope": 1023, - "src": "4128:293:3", + "scope": 1204, + "src": "4128:293:8", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 1009, + "id": 1190, "nodeType": "Block", - "src": "4719:45:3", + "src": "4719:45:8", "statements": [ { "expression": { "argumentTypes": null, - "id": 1007, + "id": 1188, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1003, + "id": 1184, "name": "verifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "4725:8:3", + "referencedDeclaration": 904, + "src": "4725:8:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -4156,12 +4156,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1005, + "id": 1186, "name": "_newVerifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "4746:12:3", + "referencedDeclaration": 1179, + "src": "4746:12:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4175,18 +4175,18 @@ "typeString": "address" } ], - "id": 1004, + "id": 1185, "name": "IVerifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 701, - "src": "4736:9:3", + "referencedDeclaration": 882, + "src": "4736:9:8", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IVerifier_$701_$", + "typeIdentifier": "t_type$_t_contract$_IVerifier_$882_$", "typeString": "type(contract IVerifier)" } }, - "id": 1006, + "id": 1187, "isConstant": false, "isLValue": false, "isPure": false, @@ -4194,62 +4194,62 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4736:23:3", + "src": "4736:23:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, - "src": "4725:34:3", + "src": "4725:34:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, - "id": 1008, + "id": 1189, "nodeType": "ExpressionStatement", - "src": "4725:34:3" + "src": "4725:34:8" } ] }, "documentation": "@dev allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held.\nAfter that operator rights are supposed to be transferred to zero address", - "id": 1010, + "id": 1191, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1001, + "id": 1182, "modifierName": { "argumentTypes": null, - "id": 1000, + "id": 1181, "name": "onlyOperator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "4706:12:3", + "referencedDeclaration": 920, + "src": "4706:12:8", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4706:12:3" + "src": "4706:12:8" } ], "name": "updateVerifier", "nodeType": "FunctionDefinition", "parameters": { - "id": 999, + "id": 1180, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 998, + "id": 1179, "name": "_newVerifier", "nodeType": "VariableDeclaration", - "scope": 1010, - "src": "4675:20:3", + "scope": 1191, + "src": "4675:20:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4257,10 +4257,10 @@ "typeString": "address" }, "typeName": { - "id": 997, + "id": 1178, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4675:7:3", + "src": "4675:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4271,42 +4271,42 @@ "visibility": "internal" } ], - "src": "4674:22:3" + "src": "4674:22:8" }, "returnParameters": { - "id": 1002, + "id": 1183, "nodeType": "ParameterList", "parameters": [], - "src": "4719:0:3" + "src": "4719:0:8" }, - "scope": 1023, - "src": "4651:113:3", + "scope": 1204, + "src": "4651:113:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 1021, + "id": 1202, "nodeType": "Block", - "src": "4882:34:3", + "src": "4882:34:8", "statements": [ { "expression": { "argumentTypes": null, - "id": 1019, + "id": 1200, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1017, + "id": 1198, "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "4888:8:3", + "referencedDeclaration": 908, + "src": "4888:8:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4316,67 +4316,67 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1018, + "id": 1199, "name": "_newOperator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1012, - "src": "4899:12:3", + "referencedDeclaration": 1193, + "src": "4899:12:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "4888:23:3", + "src": "4888:23:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1020, + "id": 1201, "nodeType": "ExpressionStatement", - "src": "4888:23:3" + "src": "4888:23:8" } ] }, "documentation": "@dev operator can change his address ", - "id": 1022, + "id": 1203, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1015, + "id": 1196, "modifierName": { "argumentTypes": null, - "id": 1014, + "id": 1195, "name": "onlyOperator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "4869:12:3", + "referencedDeclaration": 920, + "src": "4869:12:8", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4869:12:3" + "src": "4869:12:8" } ], "name": "changeOperator", "nodeType": "FunctionDefinition", "parameters": { - "id": 1013, + "id": 1194, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1012, + "id": 1193, "name": "_newOperator", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "4838:20:3", + "scope": 1203, + "src": "4838:20:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4384,10 +4384,10 @@ "typeString": "address" }, "typeName": { - "id": 1011, + "id": 1192, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4838:7:3", + "src": "4838:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4398,39 +4398,39 @@ "visibility": "internal" } ], - "src": "4837:22:3" + "src": "4837:22:8" }, "returnParameters": { - "id": 1016, + "id": 1197, "nodeType": "ParameterList", "parameters": [], - "src": "4882:0:3" + "src": "4882:0:8" }, - "scope": 1023, - "src": "4814:102:3", + "scope": 1204, + "src": "4814:102:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1024, - "src": "318:4600:3" + "scope": 1205, + "src": "318:4600:8" } ], - "src": "0:4919:3" + "src": "0:4919:8" }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "exportedSymbols": { "IFeeManager": [ - 707 + 888 ], "IVerifier": [ - 701 + 882 ], "Tornado": [ - 1023 + 1204 ] } }, @@ -4443,39 +4443,39 @@ ".17" ] }, - "id": 687, + "id": 868, "name": "PragmaDirective", - "src": "0:23:3" + "src": "0:23:8" }, { "attributes": { "SourceUnit": 686, - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", "file": "./MerkleTreeWithHistory.sol", - "scope": 1024, + "scope": 1205, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 688, + "id": 869, "name": "ImportDirective", - "src": "25:37:3" + "src": "25:37:8" }, { "attributes": { - "SourceUnit": 1054, + "SourceUnit": 3256, "absolutePath": "@openzeppelin/contracts/utils/ReentrancyGuard.sol", "file": "@openzeppelin/contracts/utils/ReentrancyGuard.sol", - "scope": 1024, + "scope": 1205, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 689, + "id": 870, "name": "ImportDirective", - "src": "63:59:3" + "src": "63:59:8" }, { "attributes": { @@ -4489,10 +4489,10 @@ "documentation": null, "fullyImplemented": false, "linearizedBaseContracts": [ - 701 + 882 ], "name": "IVerifier", - "scope": 1024 + "scope": 1205 }, "children": [ { @@ -4506,7 +4506,7 @@ null ], "name": "verifyProof", - "scope": 701, + "scope": 882, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -4518,7 +4518,7 @@ "attributes": { "constant": false, "name": "_proof", - "scope": 700, + "scope": 881, "stateVariable": false, "storageLocation": "memory", "type": "bytes", @@ -4531,20 +4531,20 @@ "name": "bytes", "type": "bytes" }, - "id": 690, + "id": 871, "name": "ElementaryTypeName", - "src": "168:5:3" + "src": "168:5:8" } ], - "id": 691, + "id": 872, "name": "VariableDeclaration", - "src": "168:19:3" + "src": "168:19:8" }, { "attributes": { "constant": false, "name": "_input", - "scope": 700, + "scope": 881, "stateVariable": false, "storageLocation": "memory", "type": "uint256[6]", @@ -4562,9 +4562,9 @@ "name": "uint256", "type": "uint256" }, - "id": 692, + "id": 873, "name": "ElementaryTypeName", - "src": "189:7:3" + "src": "189:7:8" }, { "attributes": { @@ -4579,24 +4579,24 @@ "type": "int_const 6", "value": "6" }, - "id": 693, + "id": 874, "name": "Literal", - "src": "197:1:3" + "src": "197:1:8" } ], - "id": 694, + "id": 875, "name": "ArrayTypeName", - "src": "189:10:3" + "src": "189:10:8" } ], - "id": 695, + "id": 876, "name": "VariableDeclaration", - "src": "189:24:3" + "src": "189:24:8" } ], - "id": 696, + "id": 877, "name": "ParameterList", - "src": "167:47:3" + "src": "167:47:8" }, { "children": [ @@ -4604,7 +4604,7 @@ "attributes": { "constant": false, "name": "", - "scope": 700, + "scope": 881, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -4617,29 +4617,29 @@ "name": "bool", "type": "bool" }, - "id": 697, + "id": 878, "name": "ElementaryTypeName", - "src": "230:4:3" + "src": "230:4:8" } ], - "id": 698, + "id": 879, "name": "VariableDeclaration", - "src": "230:4:3" + "src": "230:4:8" } ], - "id": 699, + "id": 880, "name": "ParameterList", - "src": "229:6:3" + "src": "229:6:8" } ], - "id": 700, + "id": 881, "name": "FunctionDefinition", - "src": "147:89:3" + "src": "147:89:8" } ], - "id": 701, + "id": 882, "name": "ContractDefinition", - "src": "124:114:3" + "src": "124:114:8" }, { "attributes": { @@ -4653,10 +4653,10 @@ "documentation": null, "fullyImplemented": false, "linearizedBaseContracts": [ - 707 + 888 ], "name": "IFeeManager", - "scope": 1024 + "scope": 1205 }, "children": [ { @@ -4670,7 +4670,7 @@ null ], "name": "feeTo", - "scope": 707, + "scope": 888, "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -4683,9 +4683,9 @@ ] }, "children": [], - "id": 702, + "id": 883, "name": "ParameterList", - "src": "279:2:3" + "src": "279:2:8" }, { "children": [ @@ -4693,7 +4693,7 @@ "attributes": { "constant": false, "name": "", - "scope": 706, + "scope": 887, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -4707,46 +4707,46 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 703, + "id": 884, "name": "ElementaryTypeName", - "src": "305:7:3" + "src": "305:7:8" } ], - "id": 704, + "id": 885, "name": "VariableDeclaration", - "src": "305:7:3" + "src": "305:7:8" } ], - "id": 705, + "id": 886, "name": "ParameterList", - "src": "304:9:3" + "src": "304:9:8" } ], - "id": 706, + "id": 887, "name": "FunctionDefinition", - "src": "265:49:3" + "src": "265:49:8" } ], - "id": 707, + "id": 888, "name": "ContractDefinition", - "src": "240:76:3" + "src": "240:76:8" }, { "attributes": { "contractDependencies": [ 685, - 1053 + 3255 ], "contractKind": "contract", "documentation": null, "fullyImplemented": false, "linearizedBaseContracts": [ - 1023, - 1053, + 1204, + 3255, 685 ], "name": "Tornado", - "scope": 1024 + "scope": 1205 }, "children": [ { @@ -4761,14 +4761,14 @@ "referencedDeclaration": 685, "type": "contract MerkleTreeWithHistory" }, - "id": 708, + "id": 889, "name": "UserDefinedTypeName", - "src": "338:21:3" + "src": "338:21:8" } ], - "id": 709, + "id": 890, "name": "InheritanceSpecifier", - "src": "338:21:3" + "src": "338:21:8" }, { "attributes": { @@ -4779,23 +4779,23 @@ "attributes": { "contractScope": null, "name": "ReentrancyGuard", - "referencedDeclaration": 1053, + "referencedDeclaration": 3255, "type": "contract ReentrancyGuard" }, - "id": 710, + "id": 891, "name": "UserDefinedTypeName", - "src": "361:15:3" + "src": "361:15:8" } ], - "id": 711, + "id": 892, "name": "InheritanceSpecifier", - "src": "361:15:3" + "src": "361:15:8" }, { "attributes": { "constant": false, "name": "denomination", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "uint256", @@ -4808,20 +4808,20 @@ "name": "uint256", "type": "uint256" }, - "id": 712, + "id": 893, "name": "ElementaryTypeName", - "src": "381:7:3" + "src": "381:7:8" } ], - "id": 713, + "id": 894, "name": "VariableDeclaration", - "src": "381:27:3" + "src": "381:27:8" }, { "attributes": { "constant": false, "name": "nullifierHashes", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "mapping(bytes32 => bool)", @@ -4839,34 +4839,34 @@ "name": "bytes32", "type": "bytes32" }, - "id": 714, + "id": 895, "name": "ElementaryTypeName", - "src": "420:7:3" + "src": "420:7:8" }, { "attributes": { "name": "bool", "type": "bool" }, - "id": 715, + "id": 896, "name": "ElementaryTypeName", - "src": "431:4:3" + "src": "431:4:8" } ], - "id": 716, + "id": 897, "name": "Mapping", - "src": "412:24:3" + "src": "412:24:8" } ], - "id": 717, + "id": 898, "name": "VariableDeclaration", - "src": "412:47:3" + "src": "412:47:8" }, { "attributes": { "constant": false, "name": "commitments", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "mapping(bytes32 => bool)", @@ -4884,34 +4884,34 @@ "name": "bytes32", "type": "bytes32" }, - "id": 718, + "id": 899, "name": "ElementaryTypeName", - "src": "562:7:3" + "src": "562:7:8" }, { "attributes": { "name": "bool", "type": "bool" }, - "id": 719, + "id": 900, "name": "ElementaryTypeName", - "src": "573:4:3" + "src": "573:4:8" } ], - "id": 720, + "id": 901, "name": "Mapping", - "src": "554:24:3" + "src": "554:24:8" } ], - "id": 721, + "id": 902, "name": "VariableDeclaration", - "src": "554:43:3" + "src": "554:43:8" }, { "attributes": { "constant": false, "name": "verifier", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "contract IVerifier", @@ -4923,23 +4923,23 @@ "attributes": { "contractScope": null, "name": "IVerifier", - "referencedDeclaration": 701, + "referencedDeclaration": 882, "type": "contract IVerifier" }, - "id": 722, + "id": 903, "name": "UserDefinedTypeName", - "src": "601:9:3" + "src": "601:9:8" } ], - "id": 723, + "id": 904, "name": "VariableDeclaration", - "src": "601:25:3" + "src": "601:25:8" }, { "attributes": { "constant": false, "name": "feeManager", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "contract IFeeManager", @@ -4951,23 +4951,23 @@ "attributes": { "contractScope": null, "name": "IFeeManager", - "referencedDeclaration": 707, + "referencedDeclaration": 888, "type": "contract IFeeManager" }, - "id": 724, + "id": 905, "name": "UserDefinedTypeName", - "src": "630:11:3" + "src": "630:11:8" } ], - "id": 725, + "id": 906, "name": "VariableDeclaration", - "src": "630:29:3" + "src": "630:29:8" }, { "attributes": { "constant": false, "name": "operator", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "address", @@ -4981,14 +4981,14 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 726, + "id": 907, "name": "ElementaryTypeName", - "src": "819:7:3" + "src": "819:7:8" } ], - "id": 727, + "id": 908, "name": "VariableDeclaration", - "src": "819:23:3" + "src": "819:23:8" }, { "attributes": { @@ -5004,9 +5004,9 @@ ] }, "children": [], - "id": 728, + "id": 909, "name": "ParameterList", - "src": "868:0:3" + "src": "868:0:8" }, { "children": [ @@ -5040,16 +5040,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 729, + "id": 910, "name": "Identifier", - "src": "874:7:3" + "src": "874:7:8" }, { "attributes": { @@ -5084,18 +5084,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1068, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, - "id": 730, + "id": 911, "name": "Identifier", - "src": "882:3:3" + "src": "882:3:8" } ], - "id": 731, + "id": 912, "name": "MemberAccess", - "src": "882:10:3" + "src": "882:10:8" }, { "attributes": { @@ -5103,18 +5103,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 727, + "referencedDeclaration": 908, "type": "address", "value": "operator" }, - "id": 732, + "id": 913, "name": "Identifier", - "src": "896:8:3" + "src": "896:8:8" } ], - "id": 733, + "id": 914, "name": "BinaryOperation", - "src": "882:22:3" + "src": "882:22:8" }, { "attributes": { @@ -5129,34 +5129,34 @@ "type": "literal_string \"Only operator can call this function.\"", "value": "Only operator can call this function." }, - "id": 734, + "id": 915, "name": "Literal", - "src": "906:39:3" + "src": "906:39:8" } ], - "id": 735, + "id": 916, "name": "FunctionCall", - "src": "874:72:3" + "src": "874:72:8" } ], - "id": 736, + "id": 917, "name": "ExpressionStatement", - "src": "874:72:3" + "src": "874:72:8" }, { - "id": 737, + "id": 918, "name": "PlaceholderStatement", - "src": "952:1:3" + "src": "952:1:8" } ], - "id": 738, + "id": 919, "name": "Block", - "src": "868:90:3" + "src": "868:90:8" } ], - "id": 739, + "id": 920, "name": "ModifierDefinition", - "src": "846:112:3" + "src": "846:112:8" }, { "attributes": { @@ -5172,7 +5172,7 @@ "constant": false, "indexed": true, "name": "commitment", - "scope": 747, + "scope": 928, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -5185,21 +5185,21 @@ "name": "bytes32", "type": "bytes32" }, - "id": 740, + "id": 921, "name": "ElementaryTypeName", - "src": "976:7:3" + "src": "976:7:8" } ], - "id": 741, + "id": 922, "name": "VariableDeclaration", - "src": "976:26:3" + "src": "976:26:8" }, { "attributes": { "constant": false, "indexed": false, "name": "leafIndex", - "scope": 747, + "scope": 928, "stateVariable": false, "storageLocation": "default", "type": "uint32", @@ -5212,21 +5212,21 @@ "name": "uint32", "type": "uint32" }, - "id": 742, + "id": 923, "name": "ElementaryTypeName", - "src": "1004:6:3" + "src": "1004:6:8" } ], - "id": 743, + "id": 924, "name": "VariableDeclaration", - "src": "1004:16:3" + "src": "1004:16:8" }, { "attributes": { "constant": false, "indexed": false, "name": "timestamp", - "scope": 747, + "scope": 928, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -5239,24 +5239,24 @@ "name": "uint256", "type": "uint256" }, - "id": 744, + "id": 925, "name": "ElementaryTypeName", - "src": "1022:7:3" + "src": "1022:7:8" } ], - "id": 745, + "id": 926, "name": "VariableDeclaration", - "src": "1022:17:3" + "src": "1022:17:8" } ], - "id": 746, + "id": 927, "name": "ParameterList", - "src": "975:65:3" + "src": "975:65:8" } ], - "id": 747, + "id": 928, "name": "EventDefinition", - "src": "962:79:3" + "src": "962:79:8" }, { "attributes": { @@ -5272,7 +5272,7 @@ "constant": false, "indexed": false, "name": "to", - "scope": 757, + "scope": 938, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -5286,21 +5286,21 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 748, + "id": 929, "name": "ElementaryTypeName", - "src": "1061:7:3" + "src": "1061:7:8" } ], - "id": 749, + "id": 930, "name": "VariableDeclaration", - "src": "1061:10:3" + "src": "1061:10:8" }, { "attributes": { "constant": false, "indexed": false, "name": "nullifierHash", - "scope": 757, + "scope": 938, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -5313,21 +5313,21 @@ "name": "bytes32", "type": "bytes32" }, - "id": 750, + "id": 931, "name": "ElementaryTypeName", - "src": "1073:7:3" + "src": "1073:7:8" } ], - "id": 751, + "id": 932, "name": "VariableDeclaration", - "src": "1073:21:3" + "src": "1073:21:8" }, { "attributes": { "constant": false, "indexed": true, "name": "relayer", - "scope": 757, + "scope": 938, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -5341,21 +5341,21 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 752, + "id": 933, "name": "ElementaryTypeName", - "src": "1096:7:3" + "src": "1096:7:8" } ], - "id": 753, + "id": 934, "name": "VariableDeclaration", - "src": "1096:23:3" + "src": "1096:23:8" }, { "attributes": { "constant": false, "indexed": false, "name": "fee", - "scope": 757, + "scope": 938, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -5368,24 +5368,24 @@ "name": "uint256", "type": "uint256" }, - "id": 754, + "id": 935, "name": "ElementaryTypeName", - "src": "1121:7:3" + "src": "1121:7:8" } ], - "id": 755, + "id": 936, "name": "VariableDeclaration", - "src": "1121:11:3" + "src": "1121:11:8" } ], - "id": 756, + "id": 937, "name": "ParameterList", - "src": "1060:73:3" + "src": "1060:73:8" } ], - "id": 757, + "id": 938, "name": "EventDefinition", - "src": "1044:90:3" + "src": "1044:90:8" }, { "attributes": { @@ -5394,7 +5394,7 @@ "isConstructor": true, "kind": "constructor", "name": "", - "scope": 1023, + "scope": 1204, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -5406,7 +5406,7 @@ "attributes": { "constant": false, "name": "_verifier", - "scope": 797, + "scope": 978, "stateVariable": false, "storageLocation": "default", "type": "contract IVerifier", @@ -5418,23 +5418,23 @@ "attributes": { "contractScope": null, "name": "IVerifier", - "referencedDeclaration": 701, + "referencedDeclaration": 882, "type": "contract IVerifier" }, - "id": 758, + "id": 939, "name": "UserDefinedTypeName", - "src": "1450:9:3" + "src": "1450:9:8" } ], - "id": 759, + "id": 940, "name": "VariableDeclaration", - "src": "1450:19:3" + "src": "1450:19:8" }, { "attributes": { "constant": false, "name": "_feeManager", - "scope": 797, + "scope": 978, "stateVariable": false, "storageLocation": "default", "type": "contract IFeeManager", @@ -5446,23 +5446,23 @@ "attributes": { "contractScope": null, "name": "IFeeManager", - "referencedDeclaration": 707, + "referencedDeclaration": 888, "type": "contract IFeeManager" }, - "id": 760, + "id": 941, "name": "UserDefinedTypeName", - "src": "1475:11:3" + "src": "1475:11:8" } ], - "id": 761, + "id": 942, "name": "VariableDeclaration", - "src": "1475:23:3" + "src": "1475:23:8" }, { "attributes": { "constant": false, "name": "_denomination", - "scope": 797, + "scope": 978, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -5475,20 +5475,20 @@ "name": "uint256", "type": "uint256" }, - "id": 762, + "id": 943, "name": "ElementaryTypeName", - "src": "1504:7:3" + "src": "1504:7:8" } ], - "id": 763, + "id": 944, "name": "VariableDeclaration", - "src": "1504:21:3" + "src": "1504:21:8" }, { "attributes": { "constant": false, "name": "_merkleTreeHeight", - "scope": 797, + "scope": 978, "stateVariable": false, "storageLocation": "default", "type": "uint32", @@ -5501,20 +5501,20 @@ "name": "uint32", "type": "uint32" }, - "id": 764, + "id": 945, "name": "ElementaryTypeName", - "src": "1531:6:3" + "src": "1531:6:8" } ], - "id": 765, + "id": 946, "name": "VariableDeclaration", - "src": "1531:24:3" + "src": "1531:24:8" }, { "attributes": { "constant": false, "name": "_operator", - "scope": 797, + "scope": 978, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -5528,19 +5528,19 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 766, + "id": 947, "name": "ElementaryTypeName", - "src": "1561:7:3" + "src": "1561:7:8" } ], - "id": 767, + "id": 948, "name": "VariableDeclaration", - "src": "1561:17:3" + "src": "1561:17:8" } ], - "id": 768, + "id": 949, "name": "ParameterList", - "src": "1444:138:3" + "src": "1444:138:8" }, { "attributes": { @@ -5549,9 +5549,9 @@ ] }, "children": [], - "id": 772, + "id": 953, "name": "ParameterList", - "src": "1631:0:3" + "src": "1631:0:8" }, { "children": [ @@ -5565,9 +5565,9 @@ "type": "type(contract MerkleTreeWithHistory)", "value": "MerkleTreeWithHistory" }, - "id": 769, + "id": 950, "name": "Identifier", - "src": "1583:21:3" + "src": "1583:21:8" }, { "attributes": { @@ -5575,18 +5575,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 765, + "referencedDeclaration": 946, "type": "uint32", "value": "_merkleTreeHeight" }, - "id": 770, + "id": 951, "name": "Identifier", - "src": "1605:17:3" + "src": "1605:17:8" } ], - "id": 771, + "id": 952, "name": "ModifierInvocation", - "src": "1583:40:3" + "src": "1583:40:8" }, { "children": [ @@ -5620,16 +5620,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 773, + "id": 954, "name": "Identifier", - "src": "1637:7:3" + "src": "1637:7:8" }, { "attributes": { @@ -5652,13 +5652,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 763, + "referencedDeclaration": 944, "type": "uint256", "value": "_denomination" }, - "id": 774, + "id": 955, "name": "Identifier", - "src": "1645:13:3" + "src": "1645:13:8" }, { "attributes": { @@ -5673,14 +5673,14 @@ "type": "int_const 0", "value": "0" }, - "id": 775, + "id": 956, "name": "Literal", - "src": "1661:1:3" + "src": "1661:1:8" } ], - "id": 776, + "id": 957, "name": "BinaryOperation", - "src": "1645:17:3" + "src": "1645:17:8" }, { "attributes": { @@ -5695,19 +5695,19 @@ "type": "literal_string \"denomination should be greater than 0\"", "value": "denomination should be greater than 0" }, - "id": 777, + "id": 958, "name": "Literal", - "src": "1664:39:3" + "src": "1664:39:8" } ], - "id": 778, + "id": 959, "name": "FunctionCall", - "src": "1637:67:3" + "src": "1637:67:8" } ], - "id": 779, + "id": 960, "name": "ExpressionStatement", - "src": "1637:67:3" + "src": "1637:67:8" }, { "children": [ @@ -5728,13 +5728,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 723, + "referencedDeclaration": 904, "type": "contract IVerifier", "value": "verifier" }, - "id": 780, + "id": 961, "name": "Identifier", - "src": "1710:8:3" + "src": "1710:8:8" }, { "attributes": { @@ -5742,23 +5742,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 759, + "referencedDeclaration": 940, "type": "contract IVerifier", "value": "_verifier" }, - "id": 781, + "id": 962, "name": "Identifier", - "src": "1721:9:3" + "src": "1721:9:8" } ], - "id": 782, + "id": 963, "name": "Assignment", - "src": "1710:20:3" + "src": "1710:20:8" } ], - "id": 783, + "id": 964, "name": "ExpressionStatement", - "src": "1710:20:3" + "src": "1710:20:8" }, { "children": [ @@ -5779,13 +5779,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 725, + "referencedDeclaration": 906, "type": "contract IFeeManager", "value": "feeManager" }, - "id": 784, + "id": 965, "name": "Identifier", - "src": "1736:10:3" + "src": "1736:10:8" }, { "attributes": { @@ -5793,23 +5793,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 761, + "referencedDeclaration": 942, "type": "contract IFeeManager", "value": "_feeManager" }, - "id": 785, + "id": 966, "name": "Identifier", - "src": "1749:11:3" + "src": "1749:11:8" } ], - "id": 786, + "id": 967, "name": "Assignment", - "src": "1736:24:3" + "src": "1736:24:8" } ], - "id": 787, + "id": 968, "name": "ExpressionStatement", - "src": "1736:24:3" + "src": "1736:24:8" }, { "children": [ @@ -5830,13 +5830,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 727, + "referencedDeclaration": 908, "type": "address", "value": "operator" }, - "id": 788, + "id": 969, "name": "Identifier", - "src": "1766:8:3" + "src": "1766:8:8" }, { "attributes": { @@ -5844,23 +5844,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 767, + "referencedDeclaration": 948, "type": "address", "value": "_operator" }, - "id": 789, + "id": 970, "name": "Identifier", - "src": "1777:9:3" + "src": "1777:9:8" } ], - "id": 790, + "id": 971, "name": "Assignment", - "src": "1766:20:3" + "src": "1766:20:8" } ], - "id": 791, + "id": 972, "name": "ExpressionStatement", - "src": "1766:20:3" + "src": "1766:20:8" }, { "children": [ @@ -5881,13 +5881,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 713, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, - "id": 792, + "id": 973, "name": "Identifier", - "src": "1792:12:3" + "src": "1792:12:8" }, { "attributes": { @@ -5895,33 +5895,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 763, + "referencedDeclaration": 944, "type": "uint256", "value": "_denomination" }, - "id": 793, + "id": 974, "name": "Identifier", - "src": "1807:13:3" + "src": "1807:13:8" } ], - "id": 794, + "id": 975, "name": "Assignment", - "src": "1792:28:3" + "src": "1792:28:8" } ], - "id": 795, + "id": 976, "name": "ExpressionStatement", - "src": "1792:28:3" + "src": "1792:28:8" } ], - "id": 796, + "id": 977, "name": "Block", - "src": "1631:194:3" + "src": "1631:194:8" } ], - "id": 797, + "id": 978, "name": "FunctionDefinition", - "src": "1433:392:3" + "src": "1433:392:8" }, { "attributes": { @@ -5930,7 +5930,7 @@ "isConstructor": false, "kind": "function", "name": "deposit", - "scope": 1023, + "scope": 1204, "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -5942,7 +5942,7 @@ "attributes": { "constant": false, "name": "_commitment", - "scope": 835, + "scope": 1016, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -5955,19 +5955,19 @@ "name": "bytes32", "type": "bytes32" }, - "id": 798, + "id": 979, "name": "ElementaryTypeName", - "src": "2090:7:3" + "src": "2090:7:8" } ], - "id": 799, + "id": 980, "name": "VariableDeclaration", - "src": "2090:19:3" + "src": "2090:19:8" } ], - "id": 800, + "id": 981, "name": "ParameterList", - "src": "2089:21:3" + "src": "2089:21:8" }, { "attributes": { @@ -5976,9 +5976,9 @@ ] }, "children": [], - "id": 803, + "id": 984, "name": "ParameterList", - "src": "2141:0:3" + "src": "2141:0:8" }, { "attributes": { @@ -5991,18 +5991,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1052, + "referencedDeclaration": 3254, "type": "modifier ()", "value": "nonReentrant" }, - "id": 801, + "id": 982, "name": "Identifier", - "src": "2128:12:3" + "src": "2128:12:8" } ], - "id": 802, + "id": 983, "name": "ModifierInvocation", - "src": "2128:12:3" + "src": "2128:12:8" }, { "children": [ @@ -6036,16 +6036,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 804, + "id": 985, "name": "Identifier", - "src": "2147:7:3" + "src": "2147:7:8" }, { "attributes": { @@ -6075,13 +6075,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 721, + "referencedDeclaration": 902, "type": "mapping(bytes32 => bool)", "value": "commitments" }, - "id": 805, + "id": 986, "name": "Identifier", - "src": "2156:11:3" + "src": "2156:11:8" }, { "attributes": { @@ -6089,23 +6089,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 799, + "referencedDeclaration": 980, "type": "bytes32", "value": "_commitment" }, - "id": 806, + "id": 987, "name": "Identifier", - "src": "2168:11:3" + "src": "2168:11:8" } ], - "id": 807, + "id": 988, "name": "IndexAccess", - "src": "2156:24:3" + "src": "2156:24:8" } ], - "id": 808, + "id": 989, "name": "UnaryOperation", - "src": "2155:25:3" + "src": "2155:25:8" }, { "attributes": { @@ -6120,24 +6120,24 @@ "type": "literal_string \"The commitment has been submitted\"", "value": "The commitment has been submitted" }, - "id": 809, + "id": 990, "name": "Literal", - "src": "2182:35:3" + "src": "2182:35:8" } ], - "id": 810, + "id": 991, "name": "FunctionCall", - "src": "2147:71:3" + "src": "2147:71:8" } ], - "id": 811, + "id": 992, "name": "ExpressionStatement", - "src": "2147:71:3" + "src": "2147:71:8" }, { "attributes": { "assignments": [ - 813 + 994 ] }, "children": [ @@ -6145,7 +6145,7 @@ "attributes": { "constant": false, "name": "insertedIndex", - "scope": 834, + "scope": 1015, "stateVariable": false, "storageLocation": "default", "type": "uint32", @@ -6158,14 +6158,14 @@ "name": "uint32", "type": "uint32" }, - "id": 812, + "id": 993, "name": "ElementaryTypeName", - "src": "2225:6:3" + "src": "2225:6:8" } ], - "id": 813, + "id": 994, "name": "VariableDeclaration", - "src": "2225:20:3" + "src": "2225:20:8" }, { "attributes": { @@ -6197,9 +6197,9 @@ "type": "function (bytes32) returns (uint32)", "value": "_insert" }, - "id": 814, + "id": 995, "name": "Identifier", - "src": "2248:7:3" + "src": "2248:7:8" }, { "attributes": { @@ -6207,23 +6207,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 799, + "referencedDeclaration": 980, "type": "bytes32", "value": "_commitment" }, - "id": 815, + "id": 996, "name": "Identifier", - "src": "2256:11:3" + "src": "2256:11:8" } ], - "id": 816, + "id": 997, "name": "FunctionCall", - "src": "2248:20:3" + "src": "2248:20:8" } ], - "id": 817, + "id": 998, "name": "VariableDeclarationStatement", - "src": "2225:43:3" + "src": "2225:43:8" }, { "children": [ @@ -6254,13 +6254,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 721, + "referencedDeclaration": 902, "type": "mapping(bytes32 => bool)", "value": "commitments" }, - "id": 818, + "id": 999, "name": "Identifier", - "src": "2274:11:3" + "src": "2274:11:8" }, { "attributes": { @@ -6268,18 +6268,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 799, + "referencedDeclaration": 980, "type": "bytes32", "value": "_commitment" }, - "id": 819, + "id": 1000, "name": "Identifier", - "src": "2286:11:3" + "src": "2286:11:8" } ], - "id": 820, + "id": 1001, "name": "IndexAccess", - "src": "2274:24:3" + "src": "2274:24:8" }, { "attributes": { @@ -6294,19 +6294,19 @@ "type": "bool", "value": "true" }, - "id": 821, + "id": 1002, "name": "Literal", - "src": "2301:4:3" + "src": "2301:4:8" } ], - "id": 822, + "id": 1003, "name": "Assignment", - "src": "2274:31:3" + "src": "2274:31:8" } ], - "id": 823, + "id": 1004, "name": "ExpressionStatement", - "src": "2274:31:3" + "src": "2274:31:8" }, { "children": [ @@ -6336,23 +6336,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 838, + "referencedDeclaration": 1019, "type": "function ()", "value": "_processDeposit" }, - "id": 824, + "id": 1005, "name": "Identifier", - "src": "2311:15:3" + "src": "2311:15:8" } ], - "id": 825, + "id": 1006, "name": "FunctionCall", - "src": "2311:17:3" + "src": "2311:17:8" } ], - "id": 826, + "id": 1007, "name": "ExpressionStatement", - "src": "2311:17:3" + "src": "2311:17:8" }, { "children": [ @@ -6390,13 +6390,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 747, + "referencedDeclaration": 928, "type": "function (bytes32,uint32,uint256)", "value": "Deposit" }, - "id": 827, + "id": 1008, "name": "Identifier", - "src": "2340:7:3" + "src": "2340:7:8" }, { "attributes": { @@ -6404,13 +6404,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 799, + "referencedDeclaration": 980, "type": "bytes32", "value": "_commitment" }, - "id": 828, + "id": 1009, "name": "Identifier", - "src": "2348:11:3" + "src": "2348:11:8" }, { "attributes": { @@ -6418,13 +6418,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 813, + "referencedDeclaration": 994, "type": "uint32", "value": "insertedIndex" }, - "id": 829, + "id": 1010, "name": "Identifier", - "src": "2361:13:3" + "src": "2361:13:8" }, { "attributes": { @@ -6444,38 +6444,38 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1058, + "referencedDeclaration": 3260, "type": "block", "value": "block" }, - "id": 830, + "id": 1011, "name": "Identifier", - "src": "2376:5:3" + "src": "2376:5:8" } ], - "id": 831, + "id": 1012, "name": "MemberAccess", - "src": "2376:15:3" + "src": "2376:15:8" } ], - "id": 832, + "id": 1013, "name": "FunctionCall", - "src": "2340:52:3" + "src": "2340:52:8" } ], - "id": 833, + "id": 1014, "name": "EmitStatement", - "src": "2335:57:3" + "src": "2335:57:8" } ], - "id": 834, + "id": 1015, "name": "Block", - "src": "2141:256:3" + "src": "2141:256:8" } ], - "id": 835, + "id": 1016, "name": "FunctionDefinition", - "src": "2073:324:3" + "src": "2073:324:8" }, { "attributes": { @@ -6488,7 +6488,7 @@ null ], "name": "_processDeposit", - "scope": 1023, + "scope": 1204, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -6501,9 +6501,9 @@ ] }, "children": [], - "id": 836, + "id": 1017, "name": "ParameterList", - "src": "2484:2:3" + "src": "2484:2:8" }, { "attributes": { @@ -6512,14 +6512,14 @@ ] }, "children": [], - "id": 837, + "id": 1018, "name": "ParameterList", - "src": "2495:0:3" + "src": "2495:0:8" } ], - "id": 838, + "id": 1019, "name": "FunctionDefinition", - "src": "2460:36:3" + "src": "2460:36:8" }, { "attributes": { @@ -6528,7 +6528,7 @@ "isConstructor": false, "kind": "function", "name": "withdraw", - "scope": 1023, + "scope": 1204, "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -6540,7 +6540,7 @@ "attributes": { "constant": false, "name": "_proof", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "calldata", "type": "bytes", @@ -6553,20 +6553,20 @@ "name": "bytes", "type": "bytes" }, - "id": 839, + "id": 1020, "name": "ElementaryTypeName", - "src": "2911:5:3" + "src": "2911:5:8" } ], - "id": 840, + "id": 1021, "name": "VariableDeclaration", - "src": "2911:21:3" + "src": "2911:21:8" }, { "attributes": { "constant": false, "name": "_root", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -6579,20 +6579,20 @@ "name": "bytes32", "type": "bytes32" }, - "id": 841, + "id": 1022, "name": "ElementaryTypeName", - "src": "2934:7:3" + "src": "2934:7:8" } ], - "id": 842, + "id": 1023, "name": "VariableDeclaration", - "src": "2934:13:3" + "src": "2934:13:8" }, { "attributes": { "constant": false, "name": "_nullifierHash", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -6605,20 +6605,20 @@ "name": "bytes32", "type": "bytes32" }, - "id": 843, + "id": 1024, "name": "ElementaryTypeName", - "src": "2949:7:3" + "src": "2949:7:8" } ], - "id": 844, + "id": 1025, "name": "VariableDeclaration", - "src": "2949:22:3" + "src": "2949:22:8" }, { "attributes": { "constant": false, "name": "_recipient", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "address payable", @@ -6632,20 +6632,20 @@ "stateMutability": "payable", "type": "address payable" }, - "id": 845, + "id": 1026, "name": "ElementaryTypeName", - "src": "2973:15:3" + "src": "2973:15:8" } ], - "id": 846, + "id": 1027, "name": "VariableDeclaration", - "src": "2973:26:3" + "src": "2973:26:8" }, { "attributes": { "constant": false, "name": "_relayer", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "address payable", @@ -6659,20 +6659,20 @@ "stateMutability": "payable", "type": "address payable" }, - "id": 847, + "id": 1028, "name": "ElementaryTypeName", - "src": "3001:15:3" + "src": "3001:15:8" } ], - "id": 848, + "id": 1029, "name": "VariableDeclaration", - "src": "3001:24:3" + "src": "3001:24:8" }, { "attributes": { "constant": false, "name": "_fee", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -6685,20 +6685,20 @@ "name": "uint256", "type": "uint256" }, - "id": 849, + "id": 1030, "name": "ElementaryTypeName", - "src": "3027:7:3" + "src": "3027:7:8" } ], - "id": 850, + "id": 1031, "name": "VariableDeclaration", - "src": "3027:12:3" + "src": "3027:12:8" }, { "attributes": { "constant": false, "name": "_refund", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -6711,19 +6711,19 @@ "name": "uint256", "type": "uint256" }, - "id": 851, + "id": 1032, "name": "ElementaryTypeName", - "src": "3041:7:3" + "src": "3041:7:8" } ], - "id": 852, + "id": 1033, "name": "VariableDeclaration", - "src": "3041:15:3" + "src": "3041:15:8" } ], - "id": 853, + "id": 1034, "name": "ParameterList", - "src": "2910:147:3" + "src": "2910:147:8" }, { "attributes": { @@ -6732,9 +6732,9 @@ ] }, "children": [], - "id": 856, + "id": 1037, "name": "ParameterList", - "src": "3088:0:3" + "src": "3088:0:8" }, { "attributes": { @@ -6747,18 +6747,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1052, + "referencedDeclaration": 3254, "type": "modifier ()", "value": "nonReentrant" }, - "id": 854, + "id": 1035, "name": "Identifier", - "src": "3075:12:3" + "src": "3075:12:8" } ], - "id": 855, + "id": 1036, "name": "ModifierInvocation", - "src": "3075:12:3" + "src": "3075:12:8" }, { "children": [ @@ -6792,16 +6792,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 857, + "id": 1038, "name": "Identifier", - "src": "3094:7:3" + "src": "3094:7:8" }, { "attributes": { @@ -6824,13 +6824,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 850, + "referencedDeclaration": 1031, "type": "uint256", "value": "_fee" }, - "id": 858, + "id": 1039, "name": "Identifier", - "src": "3102:4:3" + "src": "3102:4:8" }, { "attributes": { @@ -6838,18 +6838,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 713, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, - "id": 859, + "id": 1040, "name": "Identifier", - "src": "3110:12:3" + "src": "3110:12:8" } ], - "id": 860, + "id": 1041, "name": "BinaryOperation", - "src": "3102:20:3" + "src": "3102:20:8" }, { "attributes": { @@ -6864,19 +6864,19 @@ "type": "literal_string \"Fee exceeds transfer value\"", "value": "Fee exceeds transfer value" }, - "id": 861, + "id": 1042, "name": "Literal", - "src": "3124:28:3" + "src": "3124:28:8" } ], - "id": 862, + "id": 1043, "name": "FunctionCall", - "src": "3094:59:3" + "src": "3094:59:8" } ], - "id": 863, + "id": 1044, "name": "ExpressionStatement", - "src": "3094:59:3" + "src": "3094:59:8" }, { "children": [ @@ -6908,16 +6908,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 864, + "id": 1045, "name": "Identifier", - "src": "3159:7:3" + "src": "3159:7:8" }, { "attributes": { @@ -6947,13 +6947,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 717, + "referencedDeclaration": 898, "type": "mapping(bytes32 => bool)", "value": "nullifierHashes" }, - "id": 865, + "id": 1046, "name": "Identifier", - "src": "3168:15:3" + "src": "3168:15:8" }, { "attributes": { @@ -6961,23 +6961,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 844, + "referencedDeclaration": 1025, "type": "bytes32", "value": "_nullifierHash" }, - "id": 866, + "id": 1047, "name": "Identifier", - "src": "3184:14:3" + "src": "3184:14:8" } ], - "id": 867, + "id": 1048, "name": "IndexAccess", - "src": "3168:31:3" + "src": "3168:31:8" } ], - "id": 868, + "id": 1049, "name": "UnaryOperation", - "src": "3167:32:3" + "src": "3167:32:8" }, { "attributes": { @@ -6992,19 +6992,19 @@ "type": "literal_string \"The note has been already spent\"", "value": "The note has been already spent" }, - "id": 869, + "id": 1050, "name": "Literal", - "src": "3201:33:3" + "src": "3201:33:8" } ], - "id": 870, + "id": 1051, "name": "FunctionCall", - "src": "3159:76:3" + "src": "3159:76:8" } ], - "id": 871, + "id": 1052, "name": "ExpressionStatement", - "src": "3159:76:3" + "src": "3159:76:8" }, { "children": [ @@ -7036,16 +7036,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 872, + "id": 1053, "name": "Identifier", - "src": "3241:7:3" + "src": "3241:7:8" }, { "attributes": { @@ -7077,9 +7077,9 @@ "type": "function (bytes32) view returns (bool)", "value": "isKnownRoot" }, - "id": 873, + "id": 1054, "name": "Identifier", - "src": "3249:11:3" + "src": "3249:11:8" }, { "attributes": { @@ -7087,18 +7087,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 842, + "referencedDeclaration": 1023, "type": "bytes32", "value": "_root" }, - "id": 874, + "id": 1055, "name": "Identifier", - "src": "3261:5:3" + "src": "3261:5:8" } ], - "id": 875, + "id": 1056, "name": "FunctionCall", - "src": "3249:18:3" + "src": "3249:18:8" }, { "attributes": { @@ -7113,19 +7113,19 @@ "type": "literal_string \"Cannot find your merkle root\"", "value": "Cannot find your merkle root" }, - "id": 876, + "id": 1057, "name": "Literal", - "src": "3269:30:3" + "src": "3269:30:8" } ], - "id": 877, + "id": 1058, "name": "FunctionCall", - "src": "3241:59:3" + "src": "3241:59:8" } ], - "id": 878, + "id": 1059, "name": "ExpressionStatement", - "src": "3241:59:3" + "src": "3241:59:8" }, { "children": [ @@ -7157,16 +7157,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 879, + "id": 1060, "name": "Identifier", - "src": "3339:7:3" + "src": "3339:7:8" }, { "attributes": { @@ -7200,7 +7200,7 @@ "isPure": false, "lValueRequested": false, "member_name": "verifyProof", - "referencedDeclaration": 700, + "referencedDeclaration": 881, "type": "function (bytes memory,uint256[6] memory) external returns (bool)" }, "children": [ @@ -7210,18 +7210,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 723, + "referencedDeclaration": 904, "type": "contract IVerifier", "value": "verifier" }, - "id": 880, + "id": 1061, "name": "Identifier", - "src": "3347:8:3" + "src": "3347:8:8" } ], - "id": 881, + "id": 1062, "name": "MemberAccess", - "src": "3347:20:3" + "src": "3347:20:8" }, { "attributes": { @@ -7229,13 +7229,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 840, + "referencedDeclaration": 1021, "type": "bytes calldata", "value": "_proof" }, - "id": 882, + "id": 1063, "name": "Identifier", - "src": "3368:6:3" + "src": "3368:6:8" }, { "attributes": { @@ -7278,9 +7278,9 @@ "type": "type(uint256)", "value": "uint256" }, - "id": 883, + "id": 1064, "name": "ElementaryTypeNameExpression", - "src": "3377:7:3" + "src": "3377:7:8" }, { "attributes": { @@ -7288,18 +7288,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 842, + "referencedDeclaration": 1023, "type": "bytes32", "value": "_root" }, - "id": 884, + "id": 1065, "name": "Identifier", - "src": "3385:5:3" + "src": "3385:5:8" } ], - "id": 885, + "id": 1066, "name": "FunctionCall", - "src": "3377:14:3" + "src": "3377:14:8" }, { "attributes": { @@ -7331,9 +7331,9 @@ "type": "type(uint256)", "value": "uint256" }, - "id": 886, + "id": 1067, "name": "ElementaryTypeNameExpression", - "src": "3393:7:3" + "src": "3393:7:8" }, { "attributes": { @@ -7341,18 +7341,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 844, + "referencedDeclaration": 1025, "type": "bytes32", "value": "_nullifierHash" }, - "id": 887, + "id": 1068, "name": "Identifier", - "src": "3401:14:3" + "src": "3401:14:8" } ], - "id": 888, + "id": 1069, "name": "FunctionCall", - "src": "3393:23:3" + "src": "3393:23:8" }, { "attributes": { @@ -7384,9 +7384,9 @@ "type": "type(uint256)", "value": "uint256" }, - "id": 889, + "id": 1070, "name": "ElementaryTypeNameExpression", - "src": "3418:7:3" + "src": "3418:7:8" }, { "attributes": { @@ -7394,18 +7394,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 846, + "referencedDeclaration": 1027, "type": "address payable", "value": "_recipient" }, - "id": 890, + "id": 1071, "name": "Identifier", - "src": "3426:10:3" + "src": "3426:10:8" } ], - "id": 891, + "id": 1072, "name": "FunctionCall", - "src": "3418:19:3" + "src": "3418:19:8" }, { "attributes": { @@ -7437,9 +7437,9 @@ "type": "type(uint256)", "value": "uint256" }, - "id": 892, + "id": 1073, "name": "ElementaryTypeNameExpression", - "src": "3439:7:3" + "src": "3439:7:8" }, { "attributes": { @@ -7447,18 +7447,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 848, + "referencedDeclaration": 1029, "type": "address payable", "value": "_relayer" }, - "id": 893, + "id": 1074, "name": "Identifier", - "src": "3447:8:3" + "src": "3447:8:8" } ], - "id": 894, + "id": 1075, "name": "FunctionCall", - "src": "3439:17:3" + "src": "3439:17:8" }, { "attributes": { @@ -7466,13 +7466,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 850, + "referencedDeclaration": 1031, "type": "uint256", "value": "_fee" }, - "id": 895, + "id": 1076, "name": "Identifier", - "src": "3458:4:3" + "src": "3458:4:8" }, { "attributes": { @@ -7480,23 +7480,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 852, + "referencedDeclaration": 1033, "type": "uint256", "value": "_refund" }, - "id": 896, + "id": 1077, "name": "Identifier", - "src": "3464:7:3" + "src": "3464:7:8" } ], - "id": 897, + "id": 1078, "name": "TupleExpression", - "src": "3376:96:3" + "src": "3376:96:8" } ], - "id": 898, + "id": 1079, "name": "FunctionCall", - "src": "3347:126:3" + "src": "3347:126:8" }, { "attributes": { @@ -7511,19 +7511,19 @@ "type": "literal_string \"Invalid withdraw proof\"", "value": "Invalid withdraw proof" }, - "id": 899, + "id": 1080, "name": "Literal", - "src": "3475:24:3" + "src": "3475:24:8" } ], - "id": 900, + "id": 1081, "name": "FunctionCall", - "src": "3339:161:3" + "src": "3339:161:8" } ], - "id": 901, + "id": 1082, "name": "ExpressionStatement", - "src": "3339:161:3" + "src": "3339:161:8" }, { "children": [ @@ -7554,13 +7554,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 717, + "referencedDeclaration": 898, "type": "mapping(bytes32 => bool)", "value": "nullifierHashes" }, - "id": 902, + "id": 1083, "name": "Identifier", - "src": "3507:15:3" + "src": "3507:15:8" }, { "attributes": { @@ -7568,18 +7568,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 844, + "referencedDeclaration": 1025, "type": "bytes32", "value": "_nullifierHash" }, - "id": 903, + "id": 1084, "name": "Identifier", - "src": "3523:14:3" + "src": "3523:14:8" } ], - "id": 904, + "id": 1085, "name": "IndexAccess", - "src": "3507:31:3" + "src": "3507:31:8" }, { "attributes": { @@ -7594,19 +7594,19 @@ "type": "bool", "value": "true" }, - "id": 905, + "id": 1086, "name": "Literal", - "src": "3541:4:3" + "src": "3541:4:8" } ], - "id": 906, + "id": 1087, "name": "Assignment", - "src": "3507:38:3" + "src": "3507:38:8" } ], - "id": 907, + "id": 1088, "name": "ExpressionStatement", - "src": "3507:38:3" + "src": "3507:38:8" }, { "children": [ @@ -7652,13 +7652,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 939, + "referencedDeclaration": 1120, "type": "function (address payable,address payable,uint256,uint256,address)", "value": "_processWithdraw" }, - "id": 908, + "id": 1089, "name": "Identifier", - "src": "3551:16:3" + "src": "3551:16:8" }, { "attributes": { @@ -7666,13 +7666,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 846, + "referencedDeclaration": 1027, "type": "address payable", "value": "_recipient" }, - "id": 909, + "id": 1090, "name": "Identifier", - "src": "3568:10:3" + "src": "3568:10:8" }, { "attributes": { @@ -7680,13 +7680,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 848, + "referencedDeclaration": 1029, "type": "address payable", "value": "_relayer" }, - "id": 910, + "id": 1091, "name": "Identifier", - "src": "3580:8:3" + "src": "3580:8:8" }, { "attributes": { @@ -7694,13 +7694,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 850, + "referencedDeclaration": 1031, "type": "uint256", "value": "_fee" }, - "id": 911, + "id": 1092, "name": "Identifier", - "src": "3590:4:3" + "src": "3590:4:8" }, { "attributes": { @@ -7708,13 +7708,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 852, + "referencedDeclaration": 1033, "type": "uint256", "value": "_refund" }, - "id": 912, + "id": 1093, "name": "Identifier", - "src": "3596:7:3" + "src": "3596:7:8" }, { "attributes": { @@ -7744,7 +7744,7 @@ "isPure": false, "lValueRequested": false, "member_name": "feeTo", - "referencedDeclaration": 706, + "referencedDeclaration": 887, "type": "function () view external returns (address)" }, "children": [ @@ -7754,33 +7754,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 725, + "referencedDeclaration": 906, "type": "contract IFeeManager", "value": "feeManager" }, - "id": 913, + "id": 1094, "name": "Identifier", - "src": "3605:10:3" + "src": "3605:10:8" } ], - "id": 914, + "id": 1095, "name": "MemberAccess", - "src": "3605:16:3" + "src": "3605:16:8" } ], - "id": 915, + "id": 1096, "name": "FunctionCall", - "src": "3605:18:3" + "src": "3605:18:8" } ], - "id": 916, + "id": 1097, "name": "FunctionCall", - "src": "3551:73:3" + "src": "3551:73:8" } ], - "id": 917, + "id": 1098, "name": "ExpressionStatement", - "src": "3551:73:3" + "src": "3551:73:8" }, { "children": [ @@ -7822,13 +7822,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 757, + "referencedDeclaration": 938, "type": "function (address,bytes32,address,uint256)", "value": "Withdrawal" }, - "id": 918, + "id": 1099, "name": "Identifier", - "src": "3635:10:3" + "src": "3635:10:8" }, { "attributes": { @@ -7836,13 +7836,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 846, + "referencedDeclaration": 1027, "type": "address payable", "value": "_recipient" }, - "id": 919, + "id": 1100, "name": "Identifier", - "src": "3646:10:3" + "src": "3646:10:8" }, { "attributes": { @@ -7850,13 +7850,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 844, + "referencedDeclaration": 1025, "type": "bytes32", "value": "_nullifierHash" }, - "id": 920, + "id": 1101, "name": "Identifier", - "src": "3658:14:3" + "src": "3658:14:8" }, { "attributes": { @@ -7864,13 +7864,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 848, + "referencedDeclaration": 1029, "type": "address payable", "value": "_relayer" }, - "id": 921, + "id": 1102, "name": "Identifier", - "src": "3674:8:3" + "src": "3674:8:8" }, { "attributes": { @@ -7878,33 +7878,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 850, + "referencedDeclaration": 1031, "type": "uint256", "value": "_fee" }, - "id": 922, + "id": 1103, "name": "Identifier", - "src": "3684:4:3" + "src": "3684:4:8" } ], - "id": 923, + "id": 1104, "name": "FunctionCall", - "src": "3635:54:3" + "src": "3635:54:8" } ], - "id": 924, + "id": 1105, "name": "EmitStatement", - "src": "3630:59:3" + "src": "3630:59:8" } ], - "id": 925, + "id": 1106, "name": "Block", - "src": "3088:606:3" + "src": "3088:606:8" } ], - "id": 926, + "id": 1107, "name": "FunctionDefinition", - "src": "2893:801:3" + "src": "2893:801:8" }, { "attributes": { @@ -7917,7 +7917,7 @@ null ], "name": "_processWithdraw", - "scope": 1023, + "scope": 1204, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -7929,7 +7929,7 @@ "attributes": { "constant": false, "name": "_recipient", - "scope": 939, + "scope": 1120, "stateVariable": false, "storageLocation": "default", "type": "address payable", @@ -7943,20 +7943,20 @@ "stateMutability": "payable", "type": "address payable" }, - "id": 927, + "id": 1108, "name": "ElementaryTypeName", - "src": "3783:15:3" + "src": "3783:15:8" } ], - "id": 928, + "id": 1109, "name": "VariableDeclaration", - "src": "3783:26:3" + "src": "3783:26:8" }, { "attributes": { "constant": false, "name": "_relayer", - "scope": 939, + "scope": 1120, "stateVariable": false, "storageLocation": "default", "type": "address payable", @@ -7970,20 +7970,20 @@ "stateMutability": "payable", "type": "address payable" }, - "id": 929, + "id": 1110, "name": "ElementaryTypeName", - "src": "3811:15:3" + "src": "3811:15:8" } ], - "id": 930, + "id": 1111, "name": "VariableDeclaration", - "src": "3811:24:3" + "src": "3811:24:8" }, { "attributes": { "constant": false, "name": "_relayer_fee", - "scope": 939, + "scope": 1120, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -7996,20 +7996,20 @@ "name": "uint256", "type": "uint256" }, - "id": 931, + "id": 1112, "name": "ElementaryTypeName", - "src": "3837:7:3" + "src": "3837:7:8" } ], - "id": 932, + "id": 1113, "name": "VariableDeclaration", - "src": "3837:20:3" + "src": "3837:20:8" }, { "attributes": { "constant": false, "name": "_refund", - "scope": 939, + "scope": 1120, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -8022,20 +8022,20 @@ "name": "uint256", "type": "uint256" }, - "id": 933, + "id": 1114, "name": "ElementaryTypeName", - "src": "3859:7:3" + "src": "3859:7:8" } ], - "id": 934, + "id": 1115, "name": "VariableDeclaration", - "src": "3859:15:3" + "src": "3859:15:8" }, { "attributes": { "constant": false, "name": "_feeTo", - "scope": 939, + "scope": 1120, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -8049,19 +8049,19 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 935, + "id": 1116, "name": "ElementaryTypeName", - "src": "3876:7:3" + "src": "3876:7:8" } ], - "id": 936, + "id": 1117, "name": "VariableDeclaration", - "src": "3876:14:3" + "src": "3876:14:8" } ], - "id": 937, + "id": 1118, "name": "ParameterList", - "src": "3782:109:3" + "src": "3782:109:8" }, { "attributes": { @@ -8070,14 +8070,14 @@ ] }, "children": [], - "id": 938, + "id": 1119, "name": "ParameterList", - "src": "3900:0:3" + "src": "3900:0:8" } ], - "id": 939, + "id": 1120, "name": "FunctionDefinition", - "src": "3757:144:3" + "src": "3757:144:8" }, { "attributes": { @@ -8089,7 +8089,7 @@ null ], "name": "isSpent", - "scope": 1023, + "scope": 1204, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -8101,7 +8101,7 @@ "attributes": { "constant": false, "name": "_nullifierHash", - "scope": 951, + "scope": 1132, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -8114,19 +8114,19 @@ "name": "bytes32", "type": "bytes32" }, - "id": 940, + "id": 1121, "name": "ElementaryTypeName", - "src": "3968:7:3" + "src": "3968:7:8" } ], - "id": 941, + "id": 1122, "name": "VariableDeclaration", - "src": "3968:22:3" + "src": "3968:22:8" } ], - "id": 942, + "id": 1123, "name": "ParameterList", - "src": "3967:24:3" + "src": "3967:24:8" }, { "children": [ @@ -8134,7 +8134,7 @@ "attributes": { "constant": false, "name": "", - "scope": 951, + "scope": 1132, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -8147,25 +8147,25 @@ "name": "bool", "type": "bool" }, - "id": 943, + "id": 1124, "name": "ElementaryTypeName", - "src": "4012:4:3" + "src": "4012:4:8" } ], - "id": 944, + "id": 1125, "name": "VariableDeclaration", - "src": "4012:4:3" + "src": "4012:4:8" } ], - "id": 945, + "id": 1126, "name": "ParameterList", - "src": "4011:6:3" + "src": "4011:6:8" }, { "children": [ { "attributes": { - "functionReturnParameters": 945 + "functionReturnParameters": 1126 }, "children": [ { @@ -8184,13 +8184,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 717, + "referencedDeclaration": 898, "type": "mapping(bytes32 => bool)", "value": "nullifierHashes" }, - "id": 946, + "id": 1127, "name": "Identifier", - "src": "4031:15:3" + "src": "4031:15:8" }, { "attributes": { @@ -8198,33 +8198,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 941, + "referencedDeclaration": 1122, "type": "bytes32", "value": "_nullifierHash" }, - "id": 947, + "id": 1128, "name": "Identifier", - "src": "4047:14:3" + "src": "4047:14:8" } ], - "id": 948, + "id": 1129, "name": "IndexAccess", - "src": "4031:31:3" + "src": "4031:31:8" } ], - "id": 949, + "id": 1130, "name": "Return", - "src": "4024:38:3" + "src": "4024:38:8" } ], - "id": 950, + "id": 1131, "name": "Block", - "src": "4018:49:3" + "src": "4018:49:8" } ], - "id": 951, + "id": 1132, "name": "FunctionDefinition", - "src": "3951:116:3" + "src": "3951:116:8" }, { "attributes": { @@ -8236,7 +8236,7 @@ null ], "name": "isSpentArray", - "scope": 1023, + "scope": 1204, "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -8248,7 +8248,7 @@ "attributes": { "constant": false, "name": "_nullifierHashes", - "scope": 996, + "scope": 1177, "stateVariable": false, "storageLocation": "calldata", "type": "bytes32[]", @@ -8267,24 +8267,24 @@ "name": "bytes32", "type": "bytes32" }, - "id": 952, + "id": 1133, "name": "ElementaryTypeName", - "src": "4150:7:3" + "src": "4150:7:8" } ], - "id": 953, + "id": 1134, "name": "ArrayTypeName", - "src": "4150:9:3" + "src": "4150:9:8" } ], - "id": 954, + "id": 1135, "name": "VariableDeclaration", - "src": "4150:35:3" + "src": "4150:35:8" } ], - "id": 955, + "id": 1136, "name": "ParameterList", - "src": "4149:37:3" + "src": "4149:37:8" }, { "children": [ @@ -8292,7 +8292,7 @@ "attributes": { "constant": false, "name": "spent", - "scope": 996, + "scope": 1177, "stateVariable": false, "storageLocation": "memory", "type": "bool[]", @@ -8311,24 +8311,24 @@ "name": "bool", "type": "bool" }, - "id": 956, + "id": 1137, "name": "ElementaryTypeName", - "src": "4209:4:3" + "src": "4209:4:8" } ], - "id": 957, + "id": 1138, "name": "ArrayTypeName", - "src": "4209:6:3" + "src": "4209:6:8" } ], - "id": 958, + "id": 1139, "name": "VariableDeclaration", - "src": "4209:19:3" + "src": "4209:19:8" } ], - "id": 959, + "id": 1140, "name": "ParameterList", - "src": "4208:21:3" + "src": "4208:21:8" }, { "children": [ @@ -8351,13 +8351,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 958, + "referencedDeclaration": 1139, "type": "bool[] memory", "value": "spent" }, - "id": 960, + "id": 1141, "name": "Identifier", - "src": "4236:5:3" + "src": "4236:5:8" }, { "attributes": { @@ -8400,19 +8400,19 @@ "name": "bool", "type": "bool" }, - "id": 961, + "id": 1142, "name": "ElementaryTypeName", - "src": "4248:4:3" + "src": "4248:4:8" } ], - "id": 962, + "id": 1143, "name": "ArrayTypeName", - "src": "4248:6:3" + "src": "4248:6:8" } ], - "id": 963, + "id": 1144, "name": "NewExpression", - "src": "4244:10:3" + "src": "4244:10:8" }, { "attributes": { @@ -8432,40 +8432,40 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 954, + "referencedDeclaration": 1135, "type": "bytes32[] calldata", "value": "_nullifierHashes" }, - "id": 964, + "id": 1145, "name": "Identifier", - "src": "4255:16:3" + "src": "4255:16:8" } ], - "id": 965, + "id": 1146, "name": "MemberAccess", - "src": "4255:23:3" + "src": "4255:23:8" } ], - "id": 966, + "id": 1147, "name": "FunctionCall", - "src": "4244:35:3" + "src": "4244:35:8" } ], - "id": 967, + "id": 1148, "name": "Assignment", - "src": "4236:43:3" + "src": "4236:43:8" } ], - "id": 968, + "id": 1149, "name": "ExpressionStatement", - "src": "4236:43:3" + "src": "4236:43:8" }, { "children": [ { "attributes": { "assignments": [ - 970 + 1151 ] }, "children": [ @@ -8473,7 +8473,7 @@ "attributes": { "constant": false, "name": "i", - "scope": 994, + "scope": 1175, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -8486,14 +8486,14 @@ "name": "uint", "type": "uint256" }, - "id": 969, + "id": 1150, "name": "ElementaryTypeName", - "src": "4289:4:3" + "src": "4289:4:8" } ], - "id": 970, + "id": 1151, "name": "VariableDeclaration", - "src": "4289:6:3" + "src": "4289:6:8" }, { "attributes": { @@ -8508,14 +8508,14 @@ "type": "int_const 0", "value": "0" }, - "id": 971, + "id": 1152, "name": "Literal", - "src": "4298:1:3" + "src": "4298:1:8" } ], - "id": 972, + "id": 1153, "name": "VariableDeclarationStatement", - "src": "4289:10:3" + "src": "4289:10:8" }, { "attributes": { @@ -8538,13 +8538,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 970, + "referencedDeclaration": 1151, "type": "uint256", "value": "i" }, - "id": 973, + "id": 1154, "name": "Identifier", - "src": "4301:1:3" + "src": "4301:1:8" }, { "attributes": { @@ -8564,23 +8564,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 954, + "referencedDeclaration": 1135, "type": "bytes32[] calldata", "value": "_nullifierHashes" }, - "id": 974, + "id": 1155, "name": "Identifier", - "src": "4305:16:3" + "src": "4305:16:8" } ], - "id": 975, + "id": 1156, "name": "MemberAccess", - "src": "4305:23:3" + "src": "4305:23:8" } ], - "id": 976, + "id": 1157, "name": "BinaryOperation", - "src": "4301:27:3" + "src": "4301:27:8" }, { "children": [ @@ -8602,23 +8602,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 970, + "referencedDeclaration": 1151, "type": "uint256", "value": "i" }, - "id": 977, + "id": 1158, "name": "Identifier", - "src": "4330:1:3" + "src": "4330:1:8" } ], - "id": 978, + "id": 1159, "name": "UnaryOperation", - "src": "4330:3:3" + "src": "4330:3:8" } ], - "id": 979, + "id": 1160, "name": "ExpressionStatement", - "src": "4330:3:3" + "src": "4330:3:8" }, { "children": [ @@ -8653,13 +8653,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 951, + "referencedDeclaration": 1132, "type": "function (bytes32) view returns (bool)", "value": "isSpent" }, - "id": 980, + "id": 1161, "name": "Identifier", - "src": "4347:7:3" + "src": "4347:7:8" }, { "attributes": { @@ -8677,13 +8677,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 954, + "referencedDeclaration": 1135, "type": "bytes32[] calldata", "value": "_nullifierHashes" }, - "id": 981, + "id": 1162, "name": "Identifier", - "src": "4355:16:3" + "src": "4355:16:8" }, { "attributes": { @@ -8691,23 +8691,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 970, + "referencedDeclaration": 1151, "type": "uint256", "value": "i" }, - "id": 982, + "id": 1163, "name": "Identifier", - "src": "4372:1:3" + "src": "4372:1:8" } ], - "id": 983, + "id": 1164, "name": "IndexAccess", - "src": "4355:19:3" + "src": "4355:19:8" } ], - "id": 984, + "id": 1165, "name": "FunctionCall", - "src": "4347:28:3" + "src": "4347:28:8" }, { "children": [ @@ -8740,13 +8740,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 958, + "referencedDeclaration": 1139, "type": "bool[] memory", "value": "spent" }, - "id": 985, + "id": 1166, "name": "Identifier", - "src": "4387:5:3" + "src": "4387:5:8" }, { "attributes": { @@ -8754,18 +8754,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 970, + "referencedDeclaration": 1151, "type": "uint256", "value": "i" }, - "id": 986, + "id": 1167, "name": "Identifier", - "src": "4393:1:3" + "src": "4393:1:8" } ], - "id": 987, + "id": 1168, "name": "IndexAccess", - "src": "4387:8:3" + "src": "4387:8:8" }, { "attributes": { @@ -8780,49 +8780,49 @@ "type": "bool", "value": "true" }, - "id": 988, + "id": 1169, "name": "Literal", - "src": "4398:4:3" + "src": "4398:4:8" } ], - "id": 989, + "id": 1170, "name": "Assignment", - "src": "4387:15:3" + "src": "4387:15:8" } ], - "id": 990, + "id": 1171, "name": "ExpressionStatement", - "src": "4387:15:3" + "src": "4387:15:8" } ], - "id": 991, + "id": 1172, "name": "Block", - "src": "4377:34:3" + "src": "4377:34:8" } ], - "id": 992, + "id": 1173, "name": "IfStatement", - "src": "4343:68:3" + "src": "4343:68:8" } ], - "id": 993, + "id": 1174, "name": "Block", - "src": "4335:82:3" + "src": "4335:82:8" } ], - "id": 994, + "id": 1175, "name": "ForStatement", - "src": "4285:132:3" + "src": "4285:132:8" } ], - "id": 995, + "id": 1176, "name": "Block", - "src": "4230:191:3" + "src": "4230:191:8" } ], - "id": 996, + "id": 1177, "name": "FunctionDefinition", - "src": "4128:293:3" + "src": "4128:293:8" }, { "attributes": { @@ -8831,7 +8831,7 @@ "isConstructor": false, "kind": "function", "name": "updateVerifier", - "scope": 1023, + "scope": 1204, "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -8843,7 +8843,7 @@ "attributes": { "constant": false, "name": "_newVerifier", - "scope": 1010, + "scope": 1191, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -8857,19 +8857,19 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 997, + "id": 1178, "name": "ElementaryTypeName", - "src": "4675:7:3" + "src": "4675:7:8" } ], - "id": 998, + "id": 1179, "name": "VariableDeclaration", - "src": "4675:20:3" + "src": "4675:20:8" } ], - "id": 999, + "id": 1180, "name": "ParameterList", - "src": "4674:22:3" + "src": "4674:22:8" }, { "attributes": { @@ -8878,9 +8878,9 @@ ] }, "children": [], - "id": 1002, + "id": 1183, "name": "ParameterList", - "src": "4719:0:3" + "src": "4719:0:8" }, { "attributes": { @@ -8893,18 +8893,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 739, + "referencedDeclaration": 920, "type": "modifier ()", "value": "onlyOperator" }, - "id": 1000, + "id": 1181, "name": "Identifier", - "src": "4706:12:3" + "src": "4706:12:8" } ], - "id": 1001, + "id": 1182, "name": "ModifierInvocation", - "src": "4706:12:3" + "src": "4706:12:8" }, { "children": [ @@ -8927,13 +8927,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 723, + "referencedDeclaration": 904, "type": "contract IVerifier", "value": "verifier" }, - "id": 1003, + "id": 1184, "name": "Identifier", - "src": "4725:8:3" + "src": "4725:8:8" }, { "attributes": { @@ -8961,13 +8961,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 701, + "referencedDeclaration": 882, "type": "type(contract IVerifier)", "value": "IVerifier" }, - "id": 1004, + "id": 1185, "name": "Identifier", - "src": "4736:9:3" + "src": "4736:9:8" }, { "attributes": { @@ -8975,38 +8975,38 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 998, + "referencedDeclaration": 1179, "type": "address", "value": "_newVerifier" }, - "id": 1005, + "id": 1186, "name": "Identifier", - "src": "4746:12:3" + "src": "4746:12:8" } ], - "id": 1006, + "id": 1187, "name": "FunctionCall", - "src": "4736:23:3" + "src": "4736:23:8" } ], - "id": 1007, + "id": 1188, "name": "Assignment", - "src": "4725:34:3" + "src": "4725:34:8" } ], - "id": 1008, + "id": 1189, "name": "ExpressionStatement", - "src": "4725:34:3" + "src": "4725:34:8" } ], - "id": 1009, + "id": 1190, "name": "Block", - "src": "4719:45:3" + "src": "4719:45:8" } ], - "id": 1010, + "id": 1191, "name": "FunctionDefinition", - "src": "4651:113:3" + "src": "4651:113:8" }, { "attributes": { @@ -9015,7 +9015,7 @@ "isConstructor": false, "kind": "function", "name": "changeOperator", - "scope": 1023, + "scope": 1204, "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -9027,7 +9027,7 @@ "attributes": { "constant": false, "name": "_newOperator", - "scope": 1022, + "scope": 1203, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -9041,19 +9041,19 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 1011, + "id": 1192, "name": "ElementaryTypeName", - "src": "4838:7:3" + "src": "4838:7:8" } ], - "id": 1012, + "id": 1193, "name": "VariableDeclaration", - "src": "4838:20:3" + "src": "4838:20:8" } ], - "id": 1013, + "id": 1194, "name": "ParameterList", - "src": "4837:22:3" + "src": "4837:22:8" }, { "attributes": { @@ -9062,9 +9062,9 @@ ] }, "children": [], - "id": 1016, + "id": 1197, "name": "ParameterList", - "src": "4882:0:3" + "src": "4882:0:8" }, { "attributes": { @@ -9077,18 +9077,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 739, + "referencedDeclaration": 920, "type": "modifier ()", "value": "onlyOperator" }, - "id": 1014, + "id": 1195, "name": "Identifier", - "src": "4869:12:3" + "src": "4869:12:8" } ], - "id": 1015, + "id": 1196, "name": "ModifierInvocation", - "src": "4869:12:3" + "src": "4869:12:8" }, { "children": [ @@ -9111,13 +9111,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 727, + "referencedDeclaration": 908, "type": "address", "value": "operator" }, - "id": 1017, + "id": 1198, "name": "Identifier", - "src": "4888:8:3" + "src": "4888:8:8" }, { "attributes": { @@ -9125,43 +9125,43 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1012, + "referencedDeclaration": 1193, "type": "address", "value": "_newOperator" }, - "id": 1018, + "id": 1199, "name": "Identifier", - "src": "4899:12:3" + "src": "4899:12:8" } ], - "id": 1019, + "id": 1200, "name": "Assignment", - "src": "4888:23:3" + "src": "4888:23:8" } ], - "id": 1020, + "id": 1201, "name": "ExpressionStatement", - "src": "4888:23:3" + "src": "4888:23:8" } ], - "id": 1021, + "id": 1202, "name": "Block", - "src": "4882:34:3" + "src": "4882:34:8" } ], - "id": 1022, + "id": 1203, "name": "FunctionDefinition", - "src": "4814:102:3" + "src": "4814:102:8" } ], - "id": 1023, + "id": 1204, "name": "ContractDefinition", - "src": "318:4600:3" + "src": "318:4600:8" } ], - "id": 1024, + "id": 1205, "name": "SourceUnit", - "src": "0:4919:3" + "src": "0:4919:8" }, "compiler": { "name": "solc", @@ -9169,7 +9169,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-04-02T22:52:06.040Z", + "updatedAt": "2021-04-04T20:21:29.873Z", "devdoc": { "methods": {} }, diff --git a/client/contracts/MerkleTreeWithHistory.json b/client/contracts/MerkleTreeWithHistory.json index 5ca58f8..16f8c1a 100644 --- a/client/contracts/MerkleTreeWithHistory.json +++ b/client/contracts/MerkleTreeWithHistory.json @@ -229,28 +229,28 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_treeLevels\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"FIELD_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ROOT_HISTORY_SIZE\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ZERO_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentRootIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"filledSubtrees\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_right\",\"type\":\"bytes32\"}],\"name\":\"hashLeftRight\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"isKnownRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"levels\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roots\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"zeros\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"getLastRoot()\":{\"details\":\"Returns the last root\"},\"hashLeftRight(bytes32,bytes32)\":{\"details\":\"Hash 2 tree leaves, returns MiMC(_left, _right)\"},\"isKnownRoot(bytes32)\":{\"details\":\"Whether the root is present in the root history\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":\"MerkleTreeWithHistory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]}},\"version\":1}", - "bytecode": "0x6080604052600380546001600160401b031916905534801561002057600080fd5b506040516109e23803806109e28339818101604052602081101561004357600080fd5b505163ffffffff81166100875760405162461bcd60e51b81526004018080602001828103825260278152602001806109596027913960400191505060405180910390fd5b60208163ffffffff16106100cc5760405162461bcd60e51b81526004018080602001828103825260228152602001806109a06022913960400191505060405180910390fd5b6000805463ffffffff191663ffffffff83161781556002805460018181019092557f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60008051602061091883398151915290910181905581548083018355928290526000805160206109c28339815191529092018290555b60005463ffffffff90811690821610156101b25761016b82806001600160e01b036101d116565b600280546001818101909255600080516020610918833981519152018290558054808201825560008290526000805160206109c28339815191520182905590925001610144565b506101c681806001600160e01b036101d116565b600455506103b29050565b60006000805160206109808339815191528310610235576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602061098083398151915282106102815760405162461bcd60e51b81526004018080602001828103825260218152602001806109386021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b1580156102db57600080fd5b505af41580156102ef573d6000803e3d6000fd5b505050506040513d604081101561030557600080fd5b5080516020909101519092509050600080516020610980833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b15801561037d57600080fd5b505af4158015610391573d6000803e3d6000fd5b505050506040513d60408110156103a757600080fd5b505195945050505050565b610557806103c16000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063c2b40ae411610071578063c2b40ae414610158578063cd87a3b414610175578063e82955881461017d578063ec7329591461019a578063f178e47c146101a2578063fc7e9c6f146101bf576100b4565b806338bf282e146100b9578063414a37ba146100ee5780634ecf518b146100f65780636d9833e31461011757806390eeb02b14610148578063ba70f75714610150575b600080fd5b6100dc600480360360408110156100cf57600080fd5b50803590602001356101c7565b60408051918252519081900360200190f35b6100dc6103a8565b6100fe6103ba565b6040805163ffffffff9092168252519081900360200190f35b6101346004803603602081101561012d57600080fd5b50356103c6565b604080519115158252519081900360200190f35b6100fe610439565b6100dc610445565b6100dc6004803603602081101561016e57600080fd5b5035610465565b6100fe610479565b6100dc6004803603602081101561019357600080fd5b503561047e565b6100dc61049c565b6100dc600480360360208110156101b857600080fd5b50356104c0565b6100fe6104cd565b6000600080516020610503833981519152831061022b576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602061050383398151915282106102775760405162461bcd60e51b81526004018080602001828103825260218152602001806104e26021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b1580156102d157600080fd5b505af41580156102e5573d6000803e3d6000fd5b505050506040513d60408110156102fb57600080fd5b5080516020909101519092509050600080516020610503833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b15801561037357600080fd5b505af4158015610387573d6000803e3d6000fd5b505050506040513d604081101561039d57600080fd5b505195945050505050565b60008051602061050383398151915281565b60005463ffffffff1681565b6000816103d557506000610434565b60035463ffffffff165b60048163ffffffff16606481106103f257fe5b0154831415610405576001915050610434565b63ffffffff8116610414575060645b6003546000199091019063ffffffff808316911614156103df5760009150505b919050565b60035463ffffffff1681565b60035460009060049063ffffffff166064811061045e57fe5b0154905090565b6004816064811061047257fe5b0154905081565b606481565b6002818154811061048b57fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b6001818154811061048b57fe5b600354640100000000900463ffffffff168156fe5f72696768742073686f756c6420626520696e7369646520746865206669656c6430644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a265627a7a72315820d7800896967c4dcba9e47a457dd30bfc2ae8f0bc58a55316d17db29bad08889f64736f6c63430005110032405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5f72696768742073686f756c6420626520696e7369646520746865206669656c645f747265654c6576656c732073686f756c642062652067726561746572207468616e207a65726f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000015f747265654c6576656c732073686f756c64206265206c657373207468616e203332b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063c2b40ae411610071578063c2b40ae414610158578063cd87a3b414610175578063e82955881461017d578063ec7329591461019a578063f178e47c146101a2578063fc7e9c6f146101bf576100b4565b806338bf282e146100b9578063414a37ba146100ee5780634ecf518b146100f65780636d9833e31461011757806390eeb02b14610148578063ba70f75714610150575b600080fd5b6100dc600480360360408110156100cf57600080fd5b50803590602001356101c7565b60408051918252519081900360200190f35b6100dc6103a8565b6100fe6103ba565b6040805163ffffffff9092168252519081900360200190f35b6101346004803603602081101561012d57600080fd5b50356103c6565b604080519115158252519081900360200190f35b6100fe610439565b6100dc610445565b6100dc6004803603602081101561016e57600080fd5b5035610465565b6100fe610479565b6100dc6004803603602081101561019357600080fd5b503561047e565b6100dc61049c565b6100dc600480360360208110156101b857600080fd5b50356104c0565b6100fe6104cd565b6000600080516020610503833981519152831061022b576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602061050383398151915282106102775760405162461bcd60e51b81526004018080602001828103825260218152602001806104e26021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b1580156102d157600080fd5b505af41580156102e5573d6000803e3d6000fd5b505050506040513d60408110156102fb57600080fd5b5080516020909101519092509050600080516020610503833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b15801561037357600080fd5b505af4158015610387573d6000803e3d6000fd5b505050506040513d604081101561039d57600080fd5b505195945050505050565b60008051602061050383398151915281565b60005463ffffffff1681565b6000816103d557506000610434565b60035463ffffffff165b60048163ffffffff16606481106103f257fe5b0154831415610405576001915050610434565b63ffffffff8116610414575060645b6003546000199091019063ffffffff808316911614156103df5760009150505b919050565b60035463ffffffff1681565b60035460009060049063ffffffff166064811061045e57fe5b0154905090565b6004816064811061047257fe5b0154905081565b606481565b6002818154811061048b57fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b6001818154811061048b57fe5b600354640100000000900463ffffffff168156fe5f72696768742073686f756c6420626520696e7369646520746865206669656c6430644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a265627a7a72315820d7800896967c4dcba9e47a457dd30bfc2ae8f0bc58a55316d17db29bad08889f64736f6c63430005110032", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_treeLevels\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"FIELD_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ROOT_HISTORY_SIZE\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ZERO_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentRootIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"filledSubtrees\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_right\",\"type\":\"bytes32\"}],\"name\":\"hashLeftRight\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"isKnownRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"levels\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roots\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"zeros\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"getLastRoot()\":{\"details\":\"Returns the last root\"},\"hashLeftRight(bytes32,bytes32)\":{\"details\":\"Hash 2 tree leaves, returns MiMC(_left, _right)\"},\"isKnownRoot(bytes32)\":{\"details\":\"Whether the root is present in the root history\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":\"MerkleTreeWithHistory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]}},\"version\":1}", + "bytecode": "0x6080604052600380546001600160401b031916905534801561002057600080fd5b506040516109e23803806109e28339818101604052602081101561004357600080fd5b505163ffffffff81166100875760405162461bcd60e51b81526004018080602001828103825260278152602001806109596027913960400191505060405180910390fd5b60208163ffffffff16106100cc5760405162461bcd60e51b81526004018080602001828103825260228152602001806109a06022913960400191505060405180910390fd5b6000805463ffffffff191663ffffffff83161781556002805460018181019092557f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60008051602061091883398151915290910181905581548083018355928290526000805160206109c28339815191529092018290555b60005463ffffffff90811690821610156101b25761016b82806001600160e01b036101d116565b600280546001818101909255600080516020610918833981519152018290558054808201825560008290526000805160206109c28339815191520182905590925001610144565b506101c681806001600160e01b036101d116565b600455506103b29050565b60006000805160206109808339815191528310610235576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602061098083398151915282106102815760405162461bcd60e51b81526004018080602001828103825260218152602001806109386021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b1580156102db57600080fd5b505af41580156102ef573d6000803e3d6000fd5b505050506040513d604081101561030557600080fd5b5080516020909101519092509050600080516020610980833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b15801561037d57600080fd5b505af4158015610391573d6000803e3d6000fd5b505050506040513d60408110156103a757600080fd5b505195945050505050565b610557806103c16000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063c2b40ae411610071578063c2b40ae414610158578063cd87a3b414610175578063e82955881461017d578063ec7329591461019a578063f178e47c146101a2578063fc7e9c6f146101bf576100b4565b806338bf282e146100b9578063414a37ba146100ee5780634ecf518b146100f65780636d9833e31461011757806390eeb02b14610148578063ba70f75714610150575b600080fd5b6100dc600480360360408110156100cf57600080fd5b50803590602001356101c7565b60408051918252519081900360200190f35b6100dc6103a8565b6100fe6103ba565b6040805163ffffffff9092168252519081900360200190f35b6101346004803603602081101561012d57600080fd5b50356103c6565b604080519115158252519081900360200190f35b6100fe610439565b6100dc610445565b6100dc6004803603602081101561016e57600080fd5b5035610465565b6100fe610479565b6100dc6004803603602081101561019357600080fd5b503561047e565b6100dc61049c565b6100dc600480360360208110156101b857600080fd5b50356104c0565b6100fe6104cd565b6000600080516020610503833981519152831061022b576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602061050383398151915282106102775760405162461bcd60e51b81526004018080602001828103825260218152602001806104e26021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b1580156102d157600080fd5b505af41580156102e5573d6000803e3d6000fd5b505050506040513d60408110156102fb57600080fd5b5080516020909101519092509050600080516020610503833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b15801561037357600080fd5b505af4158015610387573d6000803e3d6000fd5b505050506040513d604081101561039d57600080fd5b505195945050505050565b60008051602061050383398151915281565b60005463ffffffff1681565b6000816103d557506000610434565b60035463ffffffff165b60048163ffffffff16606481106103f257fe5b0154831415610405576001915050610434565b63ffffffff8116610414575060645b6003546000199091019063ffffffff808316911614156103df5760009150505b919050565b60035463ffffffff1681565b60035460009060049063ffffffff166064811061045e57fe5b0154905090565b6004816064811061047257fe5b0154905081565b606481565b6002818154811061048b57fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b6001818154811061048b57fe5b600354640100000000900463ffffffff168156fe5f72696768742073686f756c6420626520696e7369646520746865206669656c6430644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a265627a7a723158203e34e6889fcd55a3259a105355d3cf84f390aff07d8d72e13a720ee1b898209464736f6c63430005110032405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5f72696768742073686f756c6420626520696e7369646520746865206669656c645f747265654c6576656c732073686f756c642062652067726561746572207468616e207a65726f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000015f747265654c6576656c732073686f756c64206265206c657373207468616e203332b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063c2b40ae411610071578063c2b40ae414610158578063cd87a3b414610175578063e82955881461017d578063ec7329591461019a578063f178e47c146101a2578063fc7e9c6f146101bf576100b4565b806338bf282e146100b9578063414a37ba146100ee5780634ecf518b146100f65780636d9833e31461011757806390eeb02b14610148578063ba70f75714610150575b600080fd5b6100dc600480360360408110156100cf57600080fd5b50803590602001356101c7565b60408051918252519081900360200190f35b6100dc6103a8565b6100fe6103ba565b6040805163ffffffff9092168252519081900360200190f35b6101346004803603602081101561012d57600080fd5b50356103c6565b604080519115158252519081900360200190f35b6100fe610439565b6100dc610445565b6100dc6004803603602081101561016e57600080fd5b5035610465565b6100fe610479565b6100dc6004803603602081101561019357600080fd5b503561047e565b6100dc61049c565b6100dc600480360360208110156101b857600080fd5b50356104c0565b6100fe6104cd565b6000600080516020610503833981519152831061022b576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602061050383398151915282106102775760405162461bcd60e51b81526004018080602001828103825260218152602001806104e26021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b1580156102d157600080fd5b505af41580156102e5573d6000803e3d6000fd5b505050506040513d60408110156102fb57600080fd5b5080516020909101519092509050600080516020610503833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b15801561037357600080fd5b505af4158015610387573d6000803e3d6000fd5b505050506040513d604081101561039d57600080fd5b505195945050505050565b60008051602061050383398151915281565b60005463ffffffff1681565b6000816103d557506000610434565b60035463ffffffff165b60048163ffffffff16606481106103f257fe5b0154831415610405576001915050610434565b63ffffffff8116610414575060645b6003546000199091019063ffffffff808316911614156103df5760009150505b919050565b60035463ffffffff1681565b60035460009060049063ffffffff166064811061045e57fe5b0154905090565b6004816064811061047257fe5b0154905081565b606481565b6002818154811061048b57fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b6001818154811061048b57fe5b600354640100000000900463ffffffff168156fe5f72696768742073686f756c6420626520696e7369646520746865206669656c6430644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a265627a7a723158203e34e6889fcd55a3259a105355d3cf84f390aff07d8d72e13a720ee1b898209464736f6c63430005110032", "sourceMap": "898:3138:2:-;;;1430:34;;;-1:-1:-1;;;;;;1468:27:2;;;1593:565;5:2:-1;;;;30:1;27;20:12;5:2;1593:565:2;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1593:565:2;1646:15;;;1638:67;;;;-1:-1:-1;;;1638:67:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:2;1719:11;:16;;;1711:63;;;;-1:-1:-1;;;1711:63:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:6;:20;;-1:-1:-1;;1780:20:2;;;;;;;1854:5;27:10:-1;;-1:-1;23:18;;;45:23;;;1088:77:2;-1:-1:-1;;;;;;;;;;;1854:23:2;;;;;;27:10:-1;;23:18;;;45:23;;1883:32:2;;;;-1:-1:-1;;;;;;;;;;;1883:32:2;;;;;;1922:175;1945:6;;;;;;1941:10;;;;1922:175;;;1980:39;1994:11;;-1:-1:-1;;;;;1980:13:2;:39;:::i;:::-;2027:5;27:10:-1;;39:1;23:18;;;45:23;;;-1:-1;;;;;;;;;;;2027:23:2;;;;27:10:-1;;23:18;;;45:23;;-1:-1;2058:32:2;;;-1:-1:-1;;;;;;;;;;;2058:32:2;;;;1966:53;;-1:-1:-1;1953:3:2;1922:175;;;-1:-1:-1;2114:39:2;2128:11;;-1:-1:-1;;;;;2114:13:2;:39;:::i;:::-;2103:5;:50;-1:-1:-1;898:3138:2;;-1:-1:-1;898:3138:2;2230:445;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:2;;2320:72;;;;;-1:-1:-1;;;2320:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:2;;2398:74;;;;-1:-1:-1;;;2398:74:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:2;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:2;;;;;;;;;-1:-1:-1;2538:23:2;-1:-1:-1;;;;;;;;;;;;2589:6:2;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:2;;2230:445;-1:-1:-1;;;;;2230:445:2:o;898:3138::-;;;;;;;", "deployedSourceMap": "898:3138:2:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;898:3138:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2230:445;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2230:445:2;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;933:114;;;:::i;1209:20::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3553:342;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3553:342:2;;:::i;:::-;;;;;;;;;;;;;;;;;;1430:34;;;:::i;3941:93::-;;;:::i;1549:39::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1549:39:2;;:::i;1499:46::-;;;:::i;1404:22::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1404:22:2;;:::i;1051:114::-;;;:::i;1369:31::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1369:31:2;;:::i;1468:27::-;;;:::i;2230:445::-;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:2;;2320:72;;;;;-1:-1:-1;;;2320:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:2;;2398:74;;;;-1:-1:-1;;;2398:74:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:2;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:2;;;;;;;;;-1:-1:-1;2538:23:2;-1:-1:-1;;;;;;;;;;;;2589:6:2;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:2;;2230:445;-1:-1:-1;;;;;2230:445:2:o;933:114::-;-1:-1:-1;;;;;;;;;;;933:114:2;:::o;1209:20::-;;;;;;:::o;3553:342::-;3609:4;3625:10;3621:43;;-1:-1:-1;3652:5:2;3645:12;;3621:43;3680:16;;;;3702:171;3726:5;3732:1;3726:8;;;;;;;;;;;3717:5;:17;3713:53;;;3753:4;3746:11;;;;;3713:53;3777:6;;;3773:52;;-1:-1:-1;1542:3:2;3773:52;3855:16;;-1:-1:-1;;3832:3:2;;;;3855:16;3850:21;;;3855:16;;3850:21;;3702:171;;3885:5;3878:12;;;3553:342;;;;:::o;1430:34::-;;;;;;:::o;3941:93::-;4012:16;;3984:7;;4006:5;;4012:16;;4006:23;;;;;;;;;3999:30;;3941:93;:::o;1549:39::-;;;;;;;;;;;;;-1:-1:-1;1549:39:2;:::o;1499:46::-;1542:3;1499:46;:::o;1404:22::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1404:22:2;:::o;1051:114::-;1088:77;1051:114;:::o;1369:31::-;;;;;;;;;;1468:27;;;;;;;;;:::o", "source": "// https://tornado.cash\n/*\n* d888888P dP a88888b. dP\n* 88 88 d8' `88 88\n* 88 .d8888b. 88d888b. 88d888b. .d8888b. .d888b88 .d8888b. 88 .d8888b. .d8888b. 88d888b.\n* 88 88' `88 88' `88 88' `88 88' `88 88' `88 88' `88 88 88' `88 Y8ooooo. 88' `88\n* 88 88. .88 88 88 88 88. .88 88. .88 88. .88 dP Y8. .88 88. .88 88 88 88\n* dP `88888P' dP dP dP `88888P8 `88888P8 `88888P' 88 Y88888P' `88888P8 `88888P' dP dP\n* ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\n*/\n\npragma solidity 0.5.17;\n\nlibrary Hasher {\n function MiMCSponge(uint256 in_xL, uint256 in_xR) public pure returns (uint256 xL, uint256 xR);\n}\n\ncontract MerkleTreeWithHistory {\n uint256 public constant FIELD_SIZE = 21888242871839275222246405745257275088548364400416034343698204186575808495617;\n uint256 public constant ZERO_VALUE = 21663839004416932945382355908790599225266501822907911457504978515578255421292; // = keccak256(\"tornado\") % FIELD_SIZE\n\n uint32 public levels;\n\n // the following variables are made public for easier testing and debugging and\n // are not supposed to be accessed in regular code\n bytes32[] public filledSubtrees;\n bytes32[] public zeros;\n uint32 public currentRootIndex = 0;\n uint32 public nextIndex = 0;\n uint32 public constant ROOT_HISTORY_SIZE = 100;\n bytes32[ROOT_HISTORY_SIZE] public roots;\n\n constructor(uint32 _treeLevels) public {\n require(_treeLevels > 0, \"_treeLevels should be greater than zero\");\n require(_treeLevels < 32, \"_treeLevels should be less than 32\");\n levels = _treeLevels;\n\n bytes32 currentZero = bytes32(ZERO_VALUE);\n zeros.push(currentZero);\n filledSubtrees.push(currentZero);\n\n for (uint32 i = 1; i < levels; i++) {\n currentZero = hashLeftRight(currentZero, currentZero);\n zeros.push(currentZero);\n filledSubtrees.push(currentZero);\n }\n\n roots[0] = hashLeftRight(currentZero, currentZero);\n }\n\n /**\n @dev Hash 2 tree leaves, returns MiMC(_left, _right)\n */\n function hashLeftRight(bytes32 _left, bytes32 _right) public pure returns (bytes32) {\n require(uint256(_left) < FIELD_SIZE, \"_left should be inside the field\");\n require(uint256(_right) < FIELD_SIZE, \"_right should be inside the field\");\n uint256 R = uint256(_left);\n uint256 C = 0;\n (R, C) = Hasher.MiMCSponge(R, C);\n R = addmod(R, uint256(_right), FIELD_SIZE);\n (R, C) = Hasher.MiMCSponge(R, C);\n return bytes32(R);\n }\n\n function _insert(bytes32 _leaf) internal returns(uint32 index) {\n uint32 currentIndex = nextIndex;\n require(currentIndex != uint32(2)**levels, \"Merkle tree is full. No more leafs can be added\");\n nextIndex += 1;\n bytes32 currentLevelHash = _leaf;\n bytes32 left;\n bytes32 right;\n\n for (uint32 i = 0; i < levels; i++) {\n if (currentIndex % 2 == 0) {\n left = currentLevelHash;\n right = zeros[i];\n\n filledSubtrees[i] = currentLevelHash;\n } else {\n left = filledSubtrees[i];\n right = currentLevelHash;\n }\n\n currentLevelHash = hashLeftRight(left, right);\n\n currentIndex /= 2;\n }\n\n currentRootIndex = (currentRootIndex + 1) % ROOT_HISTORY_SIZE;\n roots[currentRootIndex] = currentLevelHash;\n return nextIndex - 1;\n }\n\n /**\n @dev Whether the root is present in the root history\n */\n function isKnownRoot(bytes32 _root) public view returns(bool) {\n if (_root == 0) {\n return false;\n }\n uint32 i = currentRootIndex;\n do {\n if (_root == roots[i]) {\n return true;\n }\n if (i == 0) {\n i = ROOT_HISTORY_SIZE;\n }\n i--;\n } while (i != currentRootIndex);\n return false;\n }\n\n /**\n @dev Returns the last root\n */\n function getLastRoot() public view returns(bytes32) {\n return roots[currentRootIndex];\n }\n}\n", - "sourcePath": "/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", "exportedSymbols": { "Hasher": [ - 342 + 333 ], "MerkleTreeWithHistory": [ - 694 + 685 ] }, - "id": 695, + "id": 686, "nodeType": "SourceUnit", "nodes": [ { - "id": 330, + "id": 321, "literals": [ "solidity", "0.5", @@ -265,9 +265,9 @@ "contractKind": "library", "documentation": null, "fullyImplemented": false, - "id": 342, + "id": 333, "linearizedBaseContracts": [ - 342 + 333 ], "name": "Hasher", "nodeType": "ContractDefinition", @@ -275,22 +275,22 @@ { "body": null, "documentation": null, - "id": 341, + "id": 332, "implemented": false, "kind": "function", "modifiers": [], "name": "MiMCSponge", "nodeType": "FunctionDefinition", "parameters": { - "id": 335, + "id": 326, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 332, + "id": 323, "name": "in_xL", "nodeType": "VariableDeclaration", - "scope": 341, + "scope": 332, "src": "819:13:2", "stateVariable": false, "storageLocation": "default", @@ -299,7 +299,7 @@ "typeString": "uint256" }, "typeName": { - "id": 331, + "id": 322, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "819:7:2", @@ -313,10 +313,10 @@ }, { "constant": false, - "id": 334, + "id": 325, "name": "in_xR", "nodeType": "VariableDeclaration", - "scope": 341, + "scope": 332, "src": "834:13:2", "stateVariable": false, "storageLocation": "default", @@ -325,7 +325,7 @@ "typeString": "uint256" }, "typeName": { - "id": 333, + "id": 324, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "834:7:2", @@ -341,15 +341,15 @@ "src": "818:30:2" }, "returnParameters": { - "id": 340, + "id": 331, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 337, + "id": 328, "name": "xL", "nodeType": "VariableDeclaration", - "scope": 341, + "scope": 332, "src": "870:10:2", "stateVariable": false, "storageLocation": "default", @@ -358,7 +358,7 @@ "typeString": "uint256" }, "typeName": { - "id": 336, + "id": 327, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "870:7:2", @@ -372,10 +372,10 @@ }, { "constant": false, - "id": 339, + "id": 330, "name": "xR", "nodeType": "VariableDeclaration", - "scope": 341, + "scope": 332, "src": "882:10:2", "stateVariable": false, "storageLocation": "default", @@ -384,7 +384,7 @@ "typeString": "uint256" }, "typeName": { - "id": 338, + "id": 329, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "882:7:2", @@ -399,14 +399,14 @@ ], "src": "869:24:2" }, - "scope": 342, + "scope": 333, "src": "799:95:2", "stateMutability": "pure", "superFunction": null, "visibility": "public" } ], - "scope": 695, + "scope": 686, "src": "780:116:2" }, { @@ -415,19 +415,19 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 694, + "id": 685, "linearizedBaseContracts": [ - 694 + 685 ], "name": "MerkleTreeWithHistory", "nodeType": "ContractDefinition", "nodes": [ { "constant": true, - "id": 345, + "id": 336, "name": "FIELD_SIZE", "nodeType": "VariableDeclaration", - "scope": 694, + "scope": 685, "src": "933:114:2", "stateVariable": true, "storageLocation": "default", @@ -436,7 +436,7 @@ "typeString": "uint256" }, "typeName": { - "id": 343, + "id": 334, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "933:7:2", @@ -448,7 +448,7 @@ "value": { "argumentTypes": null, "hexValue": "3231383838323432383731383339323735323232323436343035373435323537323735303838353438333634343030343136303334333433363938323034313836353735383038343935363137", - "id": 344, + "id": 335, "isConstant": false, "isLValue": false, "isPure": true, @@ -467,10 +467,10 @@ }, { "constant": true, - "id": 348, + "id": 339, "name": "ZERO_VALUE", "nodeType": "VariableDeclaration", - "scope": 694, + "scope": 685, "src": "1051:114:2", "stateVariable": true, "storageLocation": "default", @@ -479,7 +479,7 @@ "typeString": "uint256" }, "typeName": { - "id": 346, + "id": 337, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1051:7:2", @@ -491,7 +491,7 @@ "value": { "argumentTypes": null, "hexValue": "3231363633383339303034343136393332393435333832333535393038373930353939323235323636353031383232393037393131343537353034393738353135353738323535343231323932", - "id": 347, + "id": 338, "isConstant": false, "isLValue": false, "isPure": true, @@ -510,10 +510,10 @@ }, { "constant": false, - "id": 350, + "id": 341, "name": "levels", "nodeType": "VariableDeclaration", - "scope": 694, + "scope": 685, "src": "1209:20:2", "stateVariable": true, "storageLocation": "default", @@ -522,7 +522,7 @@ "typeString": "uint32" }, "typeName": { - "id": 349, + "id": 340, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1209:6:2", @@ -536,10 +536,10 @@ }, { "constant": false, - "id": 353, + "id": 344, "name": "filledSubtrees", "nodeType": "VariableDeclaration", - "scope": 694, + "scope": 685, "src": "1369:31:2", "stateVariable": true, "storageLocation": "default", @@ -549,7 +549,7 @@ }, "typeName": { "baseType": { - "id": 351, + "id": 342, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1369:7:2", @@ -558,7 +558,7 @@ "typeString": "bytes32" } }, - "id": 352, + "id": 343, "length": null, "nodeType": "ArrayTypeName", "src": "1369:9:2", @@ -572,10 +572,10 @@ }, { "constant": false, - "id": 356, + "id": 347, "name": "zeros", "nodeType": "VariableDeclaration", - "scope": 694, + "scope": 685, "src": "1404:22:2", "stateVariable": true, "storageLocation": "default", @@ -585,7 +585,7 @@ }, "typeName": { "baseType": { - "id": 354, + "id": 345, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1404:7:2", @@ -594,7 +594,7 @@ "typeString": "bytes32" } }, - "id": 355, + "id": 346, "length": null, "nodeType": "ArrayTypeName", "src": "1404:9:2", @@ -608,10 +608,10 @@ }, { "constant": false, - "id": 359, + "id": 350, "name": "currentRootIndex", "nodeType": "VariableDeclaration", - "scope": 694, + "scope": 685, "src": "1430:34:2", "stateVariable": true, "storageLocation": "default", @@ -620,7 +620,7 @@ "typeString": "uint32" }, "typeName": { - "id": 357, + "id": 348, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1430:6:2", @@ -632,7 +632,7 @@ "value": { "argumentTypes": null, "hexValue": "30", - "id": 358, + "id": 349, "isConstant": false, "isLValue": false, "isPure": true, @@ -651,10 +651,10 @@ }, { "constant": false, - "id": 362, + "id": 353, "name": "nextIndex", "nodeType": "VariableDeclaration", - "scope": 694, + "scope": 685, "src": "1468:27:2", "stateVariable": true, "storageLocation": "default", @@ -663,7 +663,7 @@ "typeString": "uint32" }, "typeName": { - "id": 360, + "id": 351, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1468:6:2", @@ -675,7 +675,7 @@ "value": { "argumentTypes": null, "hexValue": "30", - "id": 361, + "id": 352, "isConstant": false, "isLValue": false, "isPure": true, @@ -694,10 +694,10 @@ }, { "constant": true, - "id": 365, + "id": 356, "name": "ROOT_HISTORY_SIZE", "nodeType": "VariableDeclaration", - "scope": 694, + "scope": 685, "src": "1499:46:2", "stateVariable": true, "storageLocation": "default", @@ -706,7 +706,7 @@ "typeString": "uint32" }, "typeName": { - "id": 363, + "id": 354, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1499:6:2", @@ -718,7 +718,7 @@ "value": { "argumentTypes": null, "hexValue": "313030", - "id": 364, + "id": 355, "isConstant": false, "isLValue": false, "isPure": true, @@ -737,10 +737,10 @@ }, { "constant": false, - "id": 369, + "id": 360, "name": "roots", "nodeType": "VariableDeclaration", - "scope": 694, + "scope": 685, "src": "1549:39:2", "stateVariable": true, "storageLocation": "default", @@ -750,7 +750,7 @@ }, "typeName": { "baseType": { - "id": 366, + "id": 357, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1549:7:2", @@ -759,14 +759,14 @@ "typeString": "bytes32" } }, - "id": 368, + "id": 359, "length": { "argumentTypes": null, - "id": 367, + "id": 358, "name": "ROOT_HISTORY_SIZE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 365, + "referencedDeclaration": 356, "src": "1557:17:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -785,7 +785,7 @@ }, { "body": { - "id": 450, + "id": 441, "nodeType": "Block", "src": "1632:526:2", "statements": [ @@ -799,18 +799,18 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 377, + "id": 368, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 375, + "id": 366, "name": "_treeLevels", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 371, + "referencedDeclaration": 362, "src": "1646:11:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -822,7 +822,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 376, + "id": 367, "isConstant": false, "isLValue": false, "isPure": true, @@ -846,7 +846,7 @@ { "argumentTypes": null, "hexValue": "5f747265654c6576656c732073686f756c642062652067726561746572207468616e207a65726f", - "id": 378, + "id": 369, "isConstant": false, "isLValue": false, "isPure": true, @@ -873,21 +873,21 @@ "typeString": "literal_string \"_treeLevels should be greater than zero\"" } ], - "id": 374, + "id": 365, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "1638:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 379, + "id": 370, "isConstant": false, "isLValue": false, "isPure": false, @@ -901,7 +901,7 @@ "typeString": "tuple()" } }, - "id": 380, + "id": 371, "nodeType": "ExpressionStatement", "src": "1638:67:2" }, @@ -915,18 +915,18 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 384, + "id": 375, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 382, + "id": 373, "name": "_treeLevels", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 371, + "referencedDeclaration": 362, "src": "1719:11:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -938,7 +938,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "3332", - "id": 383, + "id": 374, "isConstant": false, "isLValue": false, "isPure": true, @@ -962,7 +962,7 @@ { "argumentTypes": null, "hexValue": "5f747265654c6576656c732073686f756c64206265206c657373207468616e203332", - "id": 385, + "id": 376, "isConstant": false, "isLValue": false, "isPure": true, @@ -989,21 +989,21 @@ "typeString": "literal_string \"_treeLevels should be less than 32\"" } ], - "id": 381, + "id": 372, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "1711:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 386, + "id": 377, "isConstant": false, "isLValue": false, "isPure": false, @@ -1017,25 +1017,25 @@ "typeString": "tuple()" } }, - "id": 387, + "id": 378, "nodeType": "ExpressionStatement", "src": "1711:63:2" }, { "expression": { "argumentTypes": null, - "id": 390, + "id": 381, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 388, + "id": 379, "name": "levels", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 350, + "referencedDeclaration": 341, "src": "1780:6:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -1046,11 +1046,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 389, + "id": 380, "name": "_treeLevels", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 371, + "referencedDeclaration": 362, "src": "1789:11:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -1063,21 +1063,21 @@ "typeString": "uint32" } }, - "id": 391, + "id": 382, "nodeType": "ExpressionStatement", "src": "1780:20:2" }, { "assignments": [ - 393 + 384 ], "declarations": [ { "constant": false, - "id": 393, + "id": 384, "name": "currentZero", "nodeType": "VariableDeclaration", - "scope": 450, + "scope": 441, "src": "1807:19:2", "stateVariable": false, "storageLocation": "default", @@ -1086,7 +1086,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 392, + "id": 383, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1807:7:2", @@ -1099,17 +1099,17 @@ "visibility": "internal" } ], - "id": 397, + "id": 388, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 395, + "id": 386, "name": "ZERO_VALUE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 348, + "referencedDeclaration": 339, "src": "1837:10:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1124,7 +1124,7 @@ "typeString": "uint256" } ], - "id": 394, + "id": 385, "isConstant": false, "isLValue": false, "isPure": true, @@ -1137,7 +1137,7 @@ }, "typeName": "bytes32" }, - "id": 396, + "id": 387, "isConstant": false, "isLValue": false, "isPure": true, @@ -1160,11 +1160,11 @@ "arguments": [ { "argumentTypes": null, - "id": 401, + "id": 392, "name": "currentZero", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "src": "1865:11:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1181,18 +1181,18 @@ ], "expression": { "argumentTypes": null, - "id": 398, + "id": 389, "name": "zeros", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 356, + "referencedDeclaration": 347, "src": "1854:5:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 400, + "id": 391, "isConstant": false, "isLValue": false, "isPure": false, @@ -1206,7 +1206,7 @@ "typeString": "function (bytes32) returns (uint256)" } }, - "id": 402, + "id": 393, "isConstant": false, "isLValue": false, "isPure": false, @@ -1220,7 +1220,7 @@ "typeString": "uint256" } }, - "id": 403, + "id": 394, "nodeType": "ExpressionStatement", "src": "1854:23:2" }, @@ -1230,11 +1230,11 @@ "arguments": [ { "argumentTypes": null, - "id": 407, + "id": 398, "name": "currentZero", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "src": "1903:11:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1251,18 +1251,18 @@ ], "expression": { "argumentTypes": null, - "id": 404, + "id": 395, "name": "filledSubtrees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 353, + "referencedDeclaration": 344, "src": "1883:14:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 406, + "id": 397, "isConstant": false, "isLValue": false, "isPure": false, @@ -1276,7 +1276,7 @@ "typeString": "function (bytes32) returns (uint256)" } }, - "id": 408, + "id": 399, "isConstant": false, "isLValue": false, "isPure": false, @@ -1290,31 +1290,31 @@ "typeString": "uint256" } }, - "id": 409, + "id": 400, "nodeType": "ExpressionStatement", "src": "1883:32:2" }, { "body": { - "id": 439, + "id": 430, "nodeType": "Block", "src": "1958:139:2", "statements": [ { "expression": { "argumentTypes": null, - "id": 425, + "id": 416, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 420, + "id": 411, "name": "currentZero", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "src": "1966:11:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1328,11 +1328,11 @@ "arguments": [ { "argumentTypes": null, - "id": 422, + "id": 413, "name": "currentZero", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "src": "1994:11:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1341,11 +1341,11 @@ }, { "argumentTypes": null, - "id": 423, + "id": 414, "name": "currentZero", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "src": "2007:11:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1364,18 +1364,18 @@ "typeString": "bytes32" } ], - "id": 421, + "id": 412, "name": "hashLeftRight", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 523, + "referencedDeclaration": 514, "src": "1980:13:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32,bytes32) pure returns (bytes32)" } }, - "id": 424, + "id": 415, "isConstant": false, "isLValue": false, "isPure": false, @@ -1395,7 +1395,7 @@ "typeString": "bytes32" } }, - "id": 426, + "id": 417, "nodeType": "ExpressionStatement", "src": "1966:53:2" }, @@ -1405,11 +1405,11 @@ "arguments": [ { "argumentTypes": null, - "id": 430, + "id": 421, "name": "currentZero", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "src": "2038:11:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1426,18 +1426,18 @@ ], "expression": { "argumentTypes": null, - "id": 427, + "id": 418, "name": "zeros", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 356, + "referencedDeclaration": 347, "src": "2027:5:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 429, + "id": 420, "isConstant": false, "isLValue": false, "isPure": false, @@ -1451,7 +1451,7 @@ "typeString": "function (bytes32) returns (uint256)" } }, - "id": 431, + "id": 422, "isConstant": false, "isLValue": false, "isPure": false, @@ -1465,7 +1465,7 @@ "typeString": "uint256" } }, - "id": 432, + "id": 423, "nodeType": "ExpressionStatement", "src": "2027:23:2" }, @@ -1475,11 +1475,11 @@ "arguments": [ { "argumentTypes": null, - "id": 436, + "id": 427, "name": "currentZero", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "src": "2078:11:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1496,18 +1496,18 @@ ], "expression": { "argumentTypes": null, - "id": 433, + "id": 424, "name": "filledSubtrees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 353, + "referencedDeclaration": 344, "src": "2058:14:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 435, + "id": 426, "isConstant": false, "isLValue": false, "isPure": false, @@ -1521,7 +1521,7 @@ "typeString": "function (bytes32) returns (uint256)" } }, - "id": 437, + "id": 428, "isConstant": false, "isLValue": false, "isPure": false, @@ -1535,7 +1535,7 @@ "typeString": "uint256" } }, - "id": 438, + "id": 429, "nodeType": "ExpressionStatement", "src": "2058:32:2" } @@ -1547,18 +1547,18 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 416, + "id": 407, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 414, + "id": 405, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, + "referencedDeclaration": 402, "src": "1941:1:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -1569,11 +1569,11 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 415, + "id": 406, "name": "levels", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 350, + "referencedDeclaration": 341, "src": "1945:6:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -1586,18 +1586,18 @@ "typeString": "bool" } }, - "id": 440, + "id": 431, "initializationExpression": { "assignments": [ - 411 + 402 ], "declarations": [ { "constant": false, - "id": 411, + "id": 402, "name": "i", "nodeType": "VariableDeclaration", - "scope": 440, + "scope": 431, "src": "1927:8:2", "stateVariable": false, "storageLocation": "default", @@ -1606,7 +1606,7 @@ "typeString": "uint32" }, "typeName": { - "id": 410, + "id": 401, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1927:6:2", @@ -1619,11 +1619,11 @@ "visibility": "internal" } ], - "id": 413, + "id": 404, "initialValue": { "argumentTypes": null, "hexValue": "31", - "id": 412, + "id": 403, "isConstant": false, "isLValue": false, "isPure": true, @@ -1644,7 +1644,7 @@ "loopExpression": { "expression": { "argumentTypes": null, - "id": 418, + "id": 409, "isConstant": false, "isLValue": false, "isPure": false, @@ -1655,11 +1655,11 @@ "src": "1953:3:2", "subExpression": { "argumentTypes": null, - "id": 417, + "id": 408, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 411, + "referencedDeclaration": 402, "src": "1953:1:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -1671,7 +1671,7 @@ "typeString": "uint32" } }, - "id": 419, + "id": 410, "nodeType": "ExpressionStatement", "src": "1953:3:2" }, @@ -1681,7 +1681,7 @@ { "expression": { "argumentTypes": null, - "id": 448, + "id": 439, "isConstant": false, "isLValue": false, "isPure": false, @@ -1690,22 +1690,22 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 441, + "id": 432, "name": "roots", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 369, + "referencedDeclaration": 360, "src": "2103:5:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$100_storage", "typeString": "bytes32[100] storage ref" } }, - "id": 443, + "id": 434, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 442, + "id": 433, "isConstant": false, "isLValue": false, "isPure": true, @@ -1738,11 +1738,11 @@ "arguments": [ { "argumentTypes": null, - "id": 445, + "id": 436, "name": "currentZero", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "src": "2128:11:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1751,11 +1751,11 @@ }, { "argumentTypes": null, - "id": 446, + "id": 437, "name": "currentZero", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "src": "2141:11:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1774,18 +1774,18 @@ "typeString": "bytes32" } ], - "id": 444, + "id": 435, "name": "hashLeftRight", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 523, + "referencedDeclaration": 514, "src": "2114:13:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32,bytes32) pure returns (bytes32)" } }, - "id": 447, + "id": 438, "isConstant": false, "isLValue": false, "isPure": false, @@ -1805,29 +1805,29 @@ "typeString": "bytes32" } }, - "id": 449, + "id": 440, "nodeType": "ExpressionStatement", "src": "2103:50:2" } ] }, "documentation": null, - "id": 451, + "id": 442, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 372, + "id": 363, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 371, + "id": 362, "name": "_treeLevels", "nodeType": "VariableDeclaration", - "scope": 451, + "scope": 442, "src": "1605:18:2", "stateVariable": false, "storageLocation": "default", @@ -1836,7 +1836,7 @@ "typeString": "uint32" }, "typeName": { - "id": 370, + "id": 361, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "1605:6:2", @@ -1852,12 +1852,12 @@ "src": "1604:20:2" }, "returnParameters": { - "id": 373, + "id": 364, "nodeType": "ParameterList", "parameters": [], "src": "1632:0:2" }, - "scope": 694, + "scope": 685, "src": "1593:565:2", "stateMutability": "nonpayable", "superFunction": null, @@ -1865,7 +1865,7 @@ }, { "body": { - "id": 522, + "id": 513, "nodeType": "Block", "src": "2314:361:2", "statements": [ @@ -1879,7 +1879,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 465, + "id": 456, "isConstant": false, "isLValue": false, "isPure": false, @@ -1889,11 +1889,11 @@ "arguments": [ { "argumentTypes": null, - "id": 462, + "id": 453, "name": "_left", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 453, + "referencedDeclaration": 444, "src": "2336:5:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1908,7 +1908,7 @@ "typeString": "bytes32" } ], - "id": 461, + "id": 452, "isConstant": false, "isLValue": false, "isPure": true, @@ -1921,7 +1921,7 @@ }, "typeName": "uint256" }, - "id": 463, + "id": 454, "isConstant": false, "isLValue": false, "isPure": false, @@ -1939,11 +1939,11 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 464, + "id": 455, "name": "FIELD_SIZE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 345, + "referencedDeclaration": 336, "src": "2345:10:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1959,7 +1959,7 @@ { "argumentTypes": null, "hexValue": "5f6c6566742073686f756c6420626520696e7369646520746865206669656c64", - "id": 466, + "id": 457, "isConstant": false, "isLValue": false, "isPure": true, @@ -1986,21 +1986,21 @@ "typeString": "literal_string \"_left should be inside the field\"" } ], - "id": 460, + "id": 451, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "2320:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 467, + "id": 458, "isConstant": false, "isLValue": false, "isPure": false, @@ -2014,7 +2014,7 @@ "typeString": "tuple()" } }, - "id": 468, + "id": 459, "nodeType": "ExpressionStatement", "src": "2320:72:2" }, @@ -2028,7 +2028,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 474, + "id": 465, "isConstant": false, "isLValue": false, "isPure": false, @@ -2038,11 +2038,11 @@ "arguments": [ { "argumentTypes": null, - "id": 471, + "id": 462, "name": "_right", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 455, + "referencedDeclaration": 446, "src": "2414:6:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -2057,7 +2057,7 @@ "typeString": "bytes32" } ], - "id": 470, + "id": 461, "isConstant": false, "isLValue": false, "isPure": true, @@ -2070,7 +2070,7 @@ }, "typeName": "uint256" }, - "id": 472, + "id": 463, "isConstant": false, "isLValue": false, "isPure": false, @@ -2088,11 +2088,11 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 473, + "id": 464, "name": "FIELD_SIZE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 345, + "referencedDeclaration": 336, "src": "2424:10:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2108,7 +2108,7 @@ { "argumentTypes": null, "hexValue": "5f72696768742073686f756c6420626520696e7369646520746865206669656c64", - "id": 475, + "id": 466, "isConstant": false, "isLValue": false, "isPure": true, @@ -2135,21 +2135,21 @@ "typeString": "literal_string \"_right should be inside the field\"" } ], - "id": 469, + "id": 460, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "2398:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 476, + "id": 467, "isConstant": false, "isLValue": false, "isPure": false, @@ -2163,21 +2163,21 @@ "typeString": "tuple()" } }, - "id": 477, + "id": 468, "nodeType": "ExpressionStatement", "src": "2398:74:2" }, { "assignments": [ - 479 + 470 ], "declarations": [ { "constant": false, - "id": 479, + "id": 470, "name": "R", "nodeType": "VariableDeclaration", - "scope": 522, + "scope": 513, "src": "2478:9:2", "stateVariable": false, "storageLocation": "default", @@ -2186,7 +2186,7 @@ "typeString": "uint256" }, "typeName": { - "id": 478, + "id": 469, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2478:7:2", @@ -2199,17 +2199,17 @@ "visibility": "internal" } ], - "id": 483, + "id": 474, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 481, + "id": 472, "name": "_left", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 453, + "referencedDeclaration": 444, "src": "2498:5:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -2224,7 +2224,7 @@ "typeString": "bytes32" } ], - "id": 480, + "id": 471, "isConstant": false, "isLValue": false, "isPure": true, @@ -2237,7 +2237,7 @@ }, "typeName": "uint256" }, - "id": 482, + "id": 473, "isConstant": false, "isLValue": false, "isPure": false, @@ -2256,15 +2256,15 @@ }, { "assignments": [ - 485 + 476 ], "declarations": [ { "constant": false, - "id": 485, + "id": 476, "name": "C", "nodeType": "VariableDeclaration", - "scope": 522, + "scope": 513, "src": "2510:9:2", "stateVariable": false, "storageLocation": "default", @@ -2273,7 +2273,7 @@ "typeString": "uint256" }, "typeName": { - "id": 484, + "id": 475, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2510:7:2", @@ -2286,11 +2286,11 @@ "visibility": "internal" } ], - "id": 487, + "id": 478, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 486, + "id": 477, "isConstant": false, "isLValue": false, "isPure": true, @@ -2311,7 +2311,7 @@ { "expression": { "argumentTypes": null, - "id": 496, + "id": 487, "isConstant": false, "isLValue": false, "isPure": false, @@ -2321,11 +2321,11 @@ "components": [ { "argumentTypes": null, - "id": 488, + "id": 479, "name": "R", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 479, + "referencedDeclaration": 470, "src": "2530:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2334,11 +2334,11 @@ }, { "argumentTypes": null, - "id": 489, + "id": 480, "name": "C", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 485, + "referencedDeclaration": 476, "src": "2533:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2346,7 +2346,7 @@ } } ], - "id": 490, + "id": 481, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -2366,11 +2366,11 @@ "arguments": [ { "argumentTypes": null, - "id": 493, + "id": 484, "name": "R", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 479, + "referencedDeclaration": 470, "src": "2556:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2379,11 +2379,11 @@ }, { "argumentTypes": null, - "id": 494, + "id": 485, "name": "C", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 485, + "referencedDeclaration": 476, "src": "2559:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2404,32 +2404,32 @@ ], "expression": { "argumentTypes": null, - "id": 491, + "id": 482, "name": "Hasher", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, + "referencedDeclaration": 333, "src": "2538:6:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Hasher_$342_$", + "typeIdentifier": "t_type$_t_contract$_Hasher_$333_$", "typeString": "type(library Hasher)" } }, - "id": 492, + "id": 483, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "MiMCSponge", "nodeType": "MemberAccess", - "referencedDeclaration": 341, + "referencedDeclaration": 332, "src": "2538:17:2", "typeDescriptions": { "typeIdentifier": "t_function_delegatecall_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256,uint256)" } }, - "id": 495, + "id": 486, "isConstant": false, "isLValue": false, "isPure": false, @@ -2449,25 +2449,25 @@ "typeString": "tuple()" } }, - "id": 497, + "id": 488, "nodeType": "ExpressionStatement", "src": "2529:32:2" }, { "expression": { "argumentTypes": null, - "id": 506, + "id": 497, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 498, + "id": 489, "name": "R", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 479, + "referencedDeclaration": 470, "src": "2567:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2481,11 +2481,11 @@ "arguments": [ { "argumentTypes": null, - "id": 500, + "id": 491, "name": "R", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 479, + "referencedDeclaration": 470, "src": "2578:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2497,11 +2497,11 @@ "arguments": [ { "argumentTypes": null, - "id": 502, + "id": 493, "name": "_right", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 455, + "referencedDeclaration": 446, "src": "2589:6:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -2516,7 +2516,7 @@ "typeString": "bytes32" } ], - "id": 501, + "id": 492, "isConstant": false, "isLValue": false, "isPure": true, @@ -2529,7 +2529,7 @@ }, "typeName": "uint256" }, - "id": 503, + "id": 494, "isConstant": false, "isLValue": false, "isPure": false, @@ -2545,11 +2545,11 @@ }, { "argumentTypes": null, - "id": 504, + "id": 495, "name": "FIELD_SIZE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 345, + "referencedDeclaration": 336, "src": "2598:10:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2572,18 +2572,18 @@ "typeString": "uint256" } ], - "id": 499, + "id": 490, "name": "addmod", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3248, + "referencedDeclaration": 3258, "src": "2571:6:2", "typeDescriptions": { "typeIdentifier": "t_function_addmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" } }, - "id": 505, + "id": 496, "isConstant": false, "isLValue": false, "isPure": false, @@ -2603,14 +2603,14 @@ "typeString": "uint256" } }, - "id": 507, + "id": 498, "nodeType": "ExpressionStatement", "src": "2567:42:2" }, { "expression": { "argumentTypes": null, - "id": 516, + "id": 507, "isConstant": false, "isLValue": false, "isPure": false, @@ -2620,11 +2620,11 @@ "components": [ { "argumentTypes": null, - "id": 508, + "id": 499, "name": "R", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 479, + "referencedDeclaration": 470, "src": "2616:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2633,11 +2633,11 @@ }, { "argumentTypes": null, - "id": 509, + "id": 500, "name": "C", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 485, + "referencedDeclaration": 476, "src": "2619:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2645,7 +2645,7 @@ } } ], - "id": 510, + "id": 501, "isConstant": false, "isInlineArray": false, "isLValue": true, @@ -2665,11 +2665,11 @@ "arguments": [ { "argumentTypes": null, - "id": 513, + "id": 504, "name": "R", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 479, + "referencedDeclaration": 470, "src": "2642:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2678,11 +2678,11 @@ }, { "argumentTypes": null, - "id": 514, + "id": 505, "name": "C", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 485, + "referencedDeclaration": 476, "src": "2645:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2703,32 +2703,32 @@ ], "expression": { "argumentTypes": null, - "id": 511, + "id": 502, "name": "Hasher", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 342, + "referencedDeclaration": 333, "src": "2624:6:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Hasher_$342_$", + "typeIdentifier": "t_type$_t_contract$_Hasher_$333_$", "typeString": "type(library Hasher)" } }, - "id": 512, + "id": 503, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "MiMCSponge", "nodeType": "MemberAccess", - "referencedDeclaration": 341, + "referencedDeclaration": 332, "src": "2624:17:2", "typeDescriptions": { "typeIdentifier": "t_function_delegatecall_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256,uint256)" } }, - "id": 515, + "id": 506, "isConstant": false, "isLValue": false, "isPure": false, @@ -2748,7 +2748,7 @@ "typeString": "tuple()" } }, - "id": 517, + "id": 508, "nodeType": "ExpressionStatement", "src": "2615:32:2" }, @@ -2758,11 +2758,11 @@ "arguments": [ { "argumentTypes": null, - "id": 519, + "id": 510, "name": "R", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 479, + "referencedDeclaration": 470, "src": "2668:1:2", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2777,7 +2777,7 @@ "typeString": "uint256" } ], - "id": 518, + "id": 509, "isConstant": false, "isLValue": false, "isPure": true, @@ -2790,7 +2790,7 @@ }, "typeName": "bytes32" }, - "id": 520, + "id": 511, "isConstant": false, "isLValue": false, "isPure": false, @@ -2804,30 +2804,30 @@ "typeString": "bytes32" } }, - "functionReturnParameters": 459, - "id": 521, + "functionReturnParameters": 450, + "id": 512, "nodeType": "Return", "src": "2653:17:2" } ] }, "documentation": "@dev Hash 2 tree leaves, returns MiMC(_left, _right)", - "id": 523, + "id": 514, "implemented": true, "kind": "function", "modifiers": [], "name": "hashLeftRight", "nodeType": "FunctionDefinition", "parameters": { - "id": 456, + "id": 447, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 453, + "id": 444, "name": "_left", "nodeType": "VariableDeclaration", - "scope": 523, + "scope": 514, "src": "2253:13:2", "stateVariable": false, "storageLocation": "default", @@ -2836,7 +2836,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 452, + "id": 443, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2253:7:2", @@ -2850,10 +2850,10 @@ }, { "constant": false, - "id": 455, + "id": 446, "name": "_right", "nodeType": "VariableDeclaration", - "scope": 523, + "scope": 514, "src": "2268:14:2", "stateVariable": false, "storageLocation": "default", @@ -2862,7 +2862,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 454, + "id": 445, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2268:7:2", @@ -2878,15 +2878,15 @@ "src": "2252:31:2" }, "returnParameters": { - "id": 459, + "id": 450, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 458, + "id": 449, "name": "", "nodeType": "VariableDeclaration", - "scope": 523, + "scope": 514, "src": "2305:7:2", "stateVariable": false, "storageLocation": "default", @@ -2895,7 +2895,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 457, + "id": 448, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2305:7:2", @@ -2910,7 +2910,7 @@ ], "src": "2304:9:2" }, - "scope": 694, + "scope": 685, "src": "2230:445:2", "stateMutability": "pure", "superFunction": null, @@ -2918,21 +2918,21 @@ }, { "body": { - "id": 635, + "id": 626, "nodeType": "Block", "src": "2742:739:2", "statements": [ { "assignments": [ - 531 + 522 ], "declarations": [ { "constant": false, - "id": 531, + "id": 522, "name": "currentIndex", "nodeType": "VariableDeclaration", - "scope": 635, + "scope": 626, "src": "2748:19:2", "stateVariable": false, "storageLocation": "default", @@ -2941,7 +2941,7 @@ "typeString": "uint32" }, "typeName": { - "id": 530, + "id": 521, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "2748:6:2", @@ -2954,14 +2954,14 @@ "visibility": "internal" } ], - "id": 533, + "id": 524, "initialValue": { "argumentTypes": null, - "id": 532, + "id": 523, "name": "nextIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 362, + "referencedDeclaration": 353, "src": "2770:9:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -2981,18 +2981,18 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 541, + "id": 532, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 535, + "id": 526, "name": "currentIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 531, + "referencedDeclaration": 522, "src": "2793:12:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -3007,7 +3007,7 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 540, + "id": 531, "isConstant": false, "isLValue": false, "isPure": false, @@ -3018,7 +3018,7 @@ { "argumentTypes": null, "hexValue": "32", - "id": 537, + "id": 528, "isConstant": false, "isLValue": false, "isPure": true, @@ -3041,7 +3041,7 @@ "typeString": "int_const 2" } ], - "id": 536, + "id": 527, "isConstant": false, "isLValue": false, "isPure": true, @@ -3054,7 +3054,7 @@ }, "typeName": "uint32" }, - "id": 538, + "id": 529, "isConstant": false, "isLValue": false, "isPure": true, @@ -3072,11 +3072,11 @@ "operator": "**", "rightExpression": { "argumentTypes": null, - "id": 539, + "id": 530, "name": "levels", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 350, + "referencedDeclaration": 341, "src": "2820:6:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -3098,7 +3098,7 @@ { "argumentTypes": null, "hexValue": "4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e206265206164646564", - "id": 542, + "id": 533, "isConstant": false, "isLValue": false, "isPure": true, @@ -3125,21 +3125,21 @@ "typeString": "literal_string \"Merkle tree is full. No more leafs can be added\"" } ], - "id": 534, + "id": 525, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "2785:7:2", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 543, + "id": 534, "isConstant": false, "isLValue": false, "isPure": false, @@ -3153,25 +3153,25 @@ "typeString": "tuple()" } }, - "id": 544, + "id": 535, "nodeType": "ExpressionStatement", "src": "2785:93:2" }, { "expression": { "argumentTypes": null, - "id": 547, + "id": 538, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 545, + "id": 536, "name": "nextIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 362, + "referencedDeclaration": 353, "src": "2884:9:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -3183,7 +3183,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "31", - "id": 546, + "id": 537, "isConstant": false, "isLValue": false, "isPure": true, @@ -3204,21 +3204,21 @@ "typeString": "uint32" } }, - "id": 548, + "id": 539, "nodeType": "ExpressionStatement", "src": "2884:14:2" }, { "assignments": [ - 550 + 541 ], "declarations": [ { "constant": false, - "id": 550, + "id": 541, "name": "currentLevelHash", "nodeType": "VariableDeclaration", - "scope": 635, + "scope": 626, "src": "2904:24:2", "stateVariable": false, "storageLocation": "default", @@ -3227,7 +3227,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 549, + "id": 540, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2904:7:2", @@ -3240,14 +3240,14 @@ "visibility": "internal" } ], - "id": 552, + "id": 543, "initialValue": { "argumentTypes": null, - "id": 551, + "id": 542, "name": "_leaf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 525, + "referencedDeclaration": 516, "src": "2931:5:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3259,15 +3259,15 @@ }, { "assignments": [ - 554 + 545 ], "declarations": [ { "constant": false, - "id": 554, + "id": 545, "name": "left", "nodeType": "VariableDeclaration", - "scope": 635, + "scope": 626, "src": "2942:12:2", "stateVariable": false, "storageLocation": "default", @@ -3276,7 +3276,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 553, + "id": 544, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2942:7:2", @@ -3289,22 +3289,22 @@ "visibility": "internal" } ], - "id": 555, + "id": 546, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "2942:12:2" }, { "assignments": [ - 557 + 548 ], "declarations": [ { "constant": false, - "id": 557, + "id": 548, "name": "right", "nodeType": "VariableDeclaration", - "scope": 635, + "scope": 626, "src": "2960:13:2", "stateVariable": false, "storageLocation": "default", @@ -3313,7 +3313,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 556, + "id": 547, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2960:7:2", @@ -3326,14 +3326,14 @@ "visibility": "internal" } ], - "id": 558, + "id": 549, "initialValue": null, "nodeType": "VariableDeclarationStatement", "src": "2960:13:2" }, { "body": { - "id": 614, + "id": 605, "nodeType": "Block", "src": "3016:319:2", "statements": [ @@ -3344,7 +3344,7 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 573, + "id": 564, "isConstant": false, "isLValue": false, "isPure": false, @@ -3355,18 +3355,18 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 571, + "id": 562, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 569, + "id": 560, "name": "currentIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 531, + "referencedDeclaration": 522, "src": "3028:12:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -3378,7 +3378,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 570, + "id": 561, "isConstant": false, "isLValue": false, "isPure": true, @@ -3404,7 +3404,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 572, + "id": 563, "isConstant": false, "isLValue": false, "isPure": true, @@ -3426,25 +3426,25 @@ } }, "falseBody": { - "id": 601, + "id": 592, "nodeType": "Block", "src": "3172:77:2", "statements": [ { "expression": { "argumentTypes": null, - "id": 595, + "id": 586, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 591, + "id": 582, "name": "left", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 554, + "referencedDeclaration": 545, "src": "3182:4:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3457,25 +3457,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 592, + "id": 583, "name": "filledSubtrees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 353, + "referencedDeclaration": 344, "src": "3189:14:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 594, + "id": 585, "indexExpression": { "argumentTypes": null, - "id": 593, + "id": 584, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 560, + "referencedDeclaration": 551, "src": "3204:1:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -3499,25 +3499,25 @@ "typeString": "bytes32" } }, - "id": 596, + "id": 587, "nodeType": "ExpressionStatement", "src": "3182:24:2" }, { "expression": { "argumentTypes": null, - "id": 599, + "id": 590, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 597, + "id": 588, "name": "right", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 557, + "referencedDeclaration": 548, "src": "3216:5:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3528,11 +3528,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 598, + "id": 589, "name": "currentLevelHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 550, + "referencedDeclaration": 541, "src": "3224:16:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3545,35 +3545,35 @@ "typeString": "bytes32" } }, - "id": 600, + "id": 591, "nodeType": "ExpressionStatement", "src": "3216:24:2" } ] }, - "id": 602, + "id": 593, "nodeType": "IfStatement", "src": "3024:225:2", "trueBody": { - "id": 590, + "id": 581, "nodeType": "Block", "src": "3051:115:2", "statements": [ { "expression": { "argumentTypes": null, - "id": 576, + "id": 567, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 574, + "id": 565, "name": "left", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 554, + "referencedDeclaration": 545, "src": "3061:4:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3584,11 +3584,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 575, + "id": 566, "name": "currentLevelHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 550, + "referencedDeclaration": 541, "src": "3068:16:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3601,25 +3601,25 @@ "typeString": "bytes32" } }, - "id": 577, + "id": 568, "nodeType": "ExpressionStatement", "src": "3061:23:2" }, { "expression": { "argumentTypes": null, - "id": 582, + "id": 573, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 578, + "id": 569, "name": "right", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 557, + "referencedDeclaration": 548, "src": "3094:5:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3632,25 +3632,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 579, + "id": 570, "name": "zeros", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 356, + "referencedDeclaration": 347, "src": "3102:5:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 581, + "id": 572, "indexExpression": { "argumentTypes": null, - "id": 580, + "id": 571, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 560, + "referencedDeclaration": 551, "src": "3108:1:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -3674,14 +3674,14 @@ "typeString": "bytes32" } }, - "id": 583, + "id": 574, "nodeType": "ExpressionStatement", "src": "3094:16:2" }, { "expression": { "argumentTypes": null, - "id": 588, + "id": 579, "isConstant": false, "isLValue": false, "isPure": false, @@ -3690,25 +3690,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 584, + "id": 575, "name": "filledSubtrees", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 353, + "referencedDeclaration": 344, "src": "3121:14:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", "typeString": "bytes32[] storage ref" } }, - "id": 586, + "id": 577, "indexExpression": { "argumentTypes": null, - "id": 585, + "id": 576, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 560, + "referencedDeclaration": 551, "src": "3136:1:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -3730,11 +3730,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 587, + "id": 578, "name": "currentLevelHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 550, + "referencedDeclaration": 541, "src": "3141:16:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3747,7 +3747,7 @@ "typeString": "bytes32" } }, - "id": 589, + "id": 580, "nodeType": "ExpressionStatement", "src": "3121:36:2" } @@ -3757,18 +3757,18 @@ { "expression": { "argumentTypes": null, - "id": 608, + "id": 599, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 603, + "id": 594, "name": "currentLevelHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 550, + "referencedDeclaration": 541, "src": "3257:16:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3782,11 +3782,11 @@ "arguments": [ { "argumentTypes": null, - "id": 605, + "id": 596, "name": "left", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 554, + "referencedDeclaration": 545, "src": "3290:4:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3795,11 +3795,11 @@ }, { "argumentTypes": null, - "id": 606, + "id": 597, "name": "right", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 557, + "referencedDeclaration": 548, "src": "3296:5:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -3818,18 +3818,18 @@ "typeString": "bytes32" } ], - "id": 604, + "id": 595, "name": "hashLeftRight", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 523, + "referencedDeclaration": 514, "src": "3276:13:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32,bytes32) pure returns (bytes32)" } }, - "id": 607, + "id": 598, "isConstant": false, "isLValue": false, "isPure": false, @@ -3849,25 +3849,25 @@ "typeString": "bytes32" } }, - "id": 609, + "id": 600, "nodeType": "ExpressionStatement", "src": "3257:45:2" }, { "expression": { "argumentTypes": null, - "id": 612, + "id": 603, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 610, + "id": 601, "name": "currentIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 531, + "referencedDeclaration": 522, "src": "3311:12:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -3879,7 +3879,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "32", - "id": 611, + "id": 602, "isConstant": false, "isLValue": false, "isPure": true, @@ -3900,7 +3900,7 @@ "typeString": "uint32" } }, - "id": 613, + "id": 604, "nodeType": "ExpressionStatement", "src": "3311:17:2" } @@ -3912,18 +3912,18 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 565, + "id": 556, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 563, + "id": 554, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 560, + "referencedDeclaration": 551, "src": "2999:1:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -3934,11 +3934,11 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 564, + "id": 555, "name": "levels", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 350, + "referencedDeclaration": 341, "src": "3003:6:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -3951,18 +3951,18 @@ "typeString": "bool" } }, - "id": 615, + "id": 606, "initializationExpression": { "assignments": [ - 560 + 551 ], "declarations": [ { "constant": false, - "id": 560, + "id": 551, "name": "i", "nodeType": "VariableDeclaration", - "scope": 615, + "scope": 606, "src": "2985:8:2", "stateVariable": false, "storageLocation": "default", @@ -3971,7 +3971,7 @@ "typeString": "uint32" }, "typeName": { - "id": 559, + "id": 550, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "2985:6:2", @@ -3984,11 +3984,11 @@ "visibility": "internal" } ], - "id": 562, + "id": 553, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 561, + "id": 552, "isConstant": false, "isLValue": false, "isPure": true, @@ -4009,7 +4009,7 @@ "loopExpression": { "expression": { "argumentTypes": null, - "id": 567, + "id": 558, "isConstant": false, "isLValue": false, "isPure": false, @@ -4020,11 +4020,11 @@ "src": "3011:3:2", "subExpression": { "argumentTypes": null, - "id": 566, + "id": 557, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 560, + "referencedDeclaration": 551, "src": "3011:1:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -4036,7 +4036,7 @@ "typeString": "uint32" } }, - "id": 568, + "id": 559, "nodeType": "ExpressionStatement", "src": "3011:3:2" }, @@ -4046,18 +4046,18 @@ { "expression": { "argumentTypes": null, - "id": 623, + "id": 614, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 616, + "id": 607, "name": "currentRootIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 359, + "referencedDeclaration": 350, "src": "3341:16:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -4072,7 +4072,7 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 622, + "id": 613, "isConstant": false, "isLValue": false, "isPure": false, @@ -4086,18 +4086,18 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 619, + "id": 610, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 617, + "id": 608, "name": "currentRootIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 359, + "referencedDeclaration": 350, "src": "3361:16:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -4109,7 +4109,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 618, + "id": 609, "isConstant": false, "isLValue": false, "isPure": true, @@ -4131,7 +4131,7 @@ } } ], - "id": 620, + "id": 611, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -4148,11 +4148,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 621, + "id": 612, "name": "ROOT_HISTORY_SIZE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 365, + "referencedDeclaration": 356, "src": "3385:17:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -4171,14 +4171,14 @@ "typeString": "uint32" } }, - "id": 624, + "id": 615, "nodeType": "ExpressionStatement", "src": "3341:61:2" }, { "expression": { "argumentTypes": null, - "id": 629, + "id": 620, "isConstant": false, "isLValue": false, "isPure": false, @@ -4187,25 +4187,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 625, + "id": 616, "name": "roots", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 369, + "referencedDeclaration": 360, "src": "3408:5:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$100_storage", "typeString": "bytes32[100] storage ref" } }, - "id": 627, + "id": 618, "indexExpression": { "argumentTypes": null, - "id": 626, + "id": 617, "name": "currentRootIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 359, + "referencedDeclaration": 350, "src": "3414:16:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -4227,11 +4227,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 628, + "id": 619, "name": "currentLevelHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 550, + "referencedDeclaration": 541, "src": "3434:16:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -4244,7 +4244,7 @@ "typeString": "bytes32" } }, - "id": 630, + "id": 621, "nodeType": "ExpressionStatement", "src": "3408:42:2" }, @@ -4255,18 +4255,18 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 633, + "id": 624, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 631, + "id": 622, "name": "nextIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 362, + "referencedDeclaration": 353, "src": "3463:9:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -4278,7 +4278,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 632, + "id": 623, "isConstant": false, "isLValue": false, "isPure": true, @@ -4299,30 +4299,30 @@ "typeString": "uint32" } }, - "functionReturnParameters": 529, - "id": 634, + "functionReturnParameters": 520, + "id": 625, "nodeType": "Return", "src": "3456:20:2" } ] }, "documentation": null, - "id": 636, + "id": 627, "implemented": true, "kind": "function", "modifiers": [], "name": "_insert", "nodeType": "FunctionDefinition", "parameters": { - "id": 526, + "id": 517, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 525, + "id": 516, "name": "_leaf", "nodeType": "VariableDeclaration", - "scope": 636, + "scope": 627, "src": "2696:13:2", "stateVariable": false, "storageLocation": "default", @@ -4331,7 +4331,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 524, + "id": 515, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2696:7:2", @@ -4347,15 +4347,15 @@ "src": "2695:15:2" }, "returnParameters": { - "id": 529, + "id": 520, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 528, + "id": 519, "name": "index", "nodeType": "VariableDeclaration", - "scope": 636, + "scope": 627, "src": "2728:12:2", "stateVariable": false, "storageLocation": "default", @@ -4364,7 +4364,7 @@ "typeString": "uint32" }, "typeName": { - "id": 527, + "id": 518, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "2728:6:2", @@ -4379,7 +4379,7 @@ ], "src": "2727:14:2" }, - "scope": 694, + "scope": 685, "src": "2679:802:2", "stateMutability": "nonpayable", "superFunction": null, @@ -4387,7 +4387,7 @@ }, { "body": { - "id": 682, + "id": 673, "nodeType": "Block", "src": "3615:280:2", "statements": [ @@ -4398,18 +4398,18 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 645, + "id": 636, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 643, + "id": 634, "name": "_root", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 638, + "referencedDeclaration": 629, "src": "3625:5:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -4421,7 +4421,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 644, + "id": 635, "isConstant": false, "isLValue": false, "isPure": true, @@ -4443,11 +4443,11 @@ } }, "falseBody": null, - "id": 649, + "id": 640, "nodeType": "IfStatement", "src": "3621:43:2", "trueBody": { - "id": 648, + "id": 639, "nodeType": "Block", "src": "3637:27:2", "statements": [ @@ -4455,7 +4455,7 @@ "expression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 646, + "id": 637, "isConstant": false, "isLValue": false, "isPure": true, @@ -4470,8 +4470,8 @@ }, "value": "false" }, - "functionReturnParameters": 642, - "id": 647, + "functionReturnParameters": 633, + "id": 638, "nodeType": "Return", "src": "3645:12:2" } @@ -4480,15 +4480,15 @@ }, { "assignments": [ - 651 + 642 ], "declarations": [ { "constant": false, - "id": 651, + "id": 642, "name": "i", "nodeType": "VariableDeclaration", - "scope": 682, + "scope": 673, "src": "3669:8:2", "stateVariable": false, "storageLocation": "default", @@ -4497,7 +4497,7 @@ "typeString": "uint32" }, "typeName": { - "id": 650, + "id": 641, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "3669:6:2", @@ -4510,14 +4510,14 @@ "visibility": "internal" } ], - "id": 653, + "id": 644, "initialValue": { "argumentTypes": null, - "id": 652, + "id": 643, "name": "currentRootIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 359, + "referencedDeclaration": 350, "src": "3680:16:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -4529,7 +4529,7 @@ }, { "body": { - "id": 675, + "id": 666, "nodeType": "Block", "src": "3705:137:2", "statements": [ @@ -4540,18 +4540,18 @@ "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, - "id": 658, + "id": 649, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 654, + "id": 645, "name": "_root", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 638, + "referencedDeclaration": 629, "src": "3717:5:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -4564,25 +4564,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 655, + "id": 646, "name": "roots", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 369, + "referencedDeclaration": 360, "src": "3726:5:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$100_storage", "typeString": "bytes32[100] storage ref" } }, - "id": 657, + "id": 648, "indexExpression": { "argumentTypes": null, - "id": 656, + "id": 647, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 651, + "referencedDeclaration": 642, "src": "3732:1:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -4607,11 +4607,11 @@ } }, "falseBody": null, - "id": 662, + "id": 653, "nodeType": "IfStatement", "src": "3713:53:2", "trueBody": { - "id": 661, + "id": 652, "nodeType": "Block", "src": "3736:30:2", "statements": [ @@ -4619,7 +4619,7 @@ "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 659, + "id": 650, "isConstant": false, "isLValue": false, "isPure": true, @@ -4634,8 +4634,8 @@ }, "value": "true" }, - "functionReturnParameters": 642, - "id": 660, + "functionReturnParameters": 633, + "id": 651, "nodeType": "Return", "src": "3746:11:2" } @@ -4649,18 +4649,18 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 665, + "id": 656, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 663, + "id": 654, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 651, + "referencedDeclaration": 642, "src": "3777:1:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -4672,7 +4672,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 664, + "id": 655, "isConstant": false, "isLValue": false, "isPure": true, @@ -4694,29 +4694,29 @@ } }, "falseBody": null, - "id": 671, + "id": 662, "nodeType": "IfStatement", "src": "3773:52:2", "trueBody": { - "id": 670, + "id": 661, "nodeType": "Block", "src": "3785:40:2", "statements": [ { "expression": { "argumentTypes": null, - "id": 668, + "id": 659, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 666, + "id": 657, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 651, + "referencedDeclaration": 642, "src": "3795:1:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -4727,11 +4727,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 667, + "id": 658, "name": "ROOT_HISTORY_SIZE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 365, + "referencedDeclaration": 356, "src": "3799:17:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -4744,7 +4744,7 @@ "typeString": "uint32" } }, - "id": 669, + "id": 660, "nodeType": "ExpressionStatement", "src": "3795:21:2" } @@ -4754,7 +4754,7 @@ { "expression": { "argumentTypes": null, - "id": 673, + "id": 664, "isConstant": false, "isLValue": false, "isPure": false, @@ -4765,11 +4765,11 @@ "src": "3832:3:2", "subExpression": { "argumentTypes": null, - "id": 672, + "id": 663, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 651, + "referencedDeclaration": 642, "src": "3832:1:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -4781,7 +4781,7 @@ "typeString": "uint32" } }, - "id": 674, + "id": 665, "nodeType": "ExpressionStatement", "src": "3832:3:2" } @@ -4793,18 +4793,18 @@ "typeIdentifier": "t_uint32", "typeString": "uint32" }, - "id": 678, + "id": 669, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 676, + "id": 667, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 651, + "referencedDeclaration": 642, "src": "3850:1:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -4815,11 +4815,11 @@ "operator": "!=", "rightExpression": { "argumentTypes": null, - "id": 677, + "id": 668, "name": "currentRootIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 359, + "referencedDeclaration": 350, "src": "3855:16:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -4832,7 +4832,7 @@ "typeString": "bool" } }, - "id": 679, + "id": 670, "nodeType": "DoWhileStatement", "src": "3702:171:2" }, @@ -4840,7 +4840,7 @@ "expression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 680, + "id": 671, "isConstant": false, "isLValue": false, "isPure": true, @@ -4855,30 +4855,30 @@ }, "value": "false" }, - "functionReturnParameters": 642, - "id": 681, + "functionReturnParameters": 633, + "id": 672, "nodeType": "Return", "src": "3878:12:2" } ] }, "documentation": "@dev Whether the root is present in the root history", - "id": 683, + "id": 674, "implemented": true, "kind": "function", "modifiers": [], "name": "isKnownRoot", "nodeType": "FunctionDefinition", "parameters": { - "id": 639, + "id": 630, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 638, + "id": 629, "name": "_root", "nodeType": "VariableDeclaration", - "scope": 683, + "scope": 674, "src": "3574:13:2", "stateVariable": false, "storageLocation": "default", @@ -4887,7 +4887,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 637, + "id": 628, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3574:7:2", @@ -4903,15 +4903,15 @@ "src": "3573:15:2" }, "returnParameters": { - "id": 642, + "id": 633, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 641, + "id": 632, "name": "", "nodeType": "VariableDeclaration", - "scope": 683, + "scope": 674, "src": "3609:4:2", "stateVariable": false, "storageLocation": "default", @@ -4920,7 +4920,7 @@ "typeString": "bool" }, "typeName": { - "id": 640, + "id": 631, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3609:4:2", @@ -4935,7 +4935,7 @@ ], "src": "3608:6:2" }, - "scope": 694, + "scope": 685, "src": "3553:342:2", "stateMutability": "view", "superFunction": null, @@ -4943,7 +4943,7 @@ }, { "body": { - "id": 692, + "id": 683, "nodeType": "Block", "src": "3993:41:2", "statements": [ @@ -4952,25 +4952,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 688, + "id": 679, "name": "roots", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 369, + "referencedDeclaration": 360, "src": "4006:5:2", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$100_storage", "typeString": "bytes32[100] storage ref" } }, - "id": 690, + "id": 681, "indexExpression": { "argumentTypes": null, - "id": 689, + "id": 680, "name": "currentRootIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 359, + "referencedDeclaration": 350, "src": "4012:16:2", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -4988,36 +4988,36 @@ "typeString": "bytes32" } }, - "functionReturnParameters": 687, - "id": 691, + "functionReturnParameters": 678, + "id": 682, "nodeType": "Return", "src": "3999:30:2" } ] }, "documentation": "@dev Returns the last root", - "id": 693, + "id": 684, "implemented": true, "kind": "function", "modifiers": [], "name": "getLastRoot", "nodeType": "FunctionDefinition", "parameters": { - "id": 684, + "id": 675, "nodeType": "ParameterList", "parameters": [], "src": "3961:2:2" }, "returnParameters": { - "id": 687, + "id": 678, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 686, + "id": 677, "name": "", "nodeType": "VariableDeclaration", - "scope": 693, + "scope": 684, "src": "3984:7:2", "stateVariable": false, "storageLocation": "default", @@ -5026,7 +5026,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 685, + "id": 676, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3984:7:2", @@ -5041,14 +5041,14 @@ ], "src": "3983:9:2" }, - "scope": 694, + "scope": 685, "src": "3941:93:2", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], - "scope": 695, + "scope": 686, "src": "898:3138:2" } ], @@ -5056,13 +5056,13 @@ }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", "exportedSymbols": { "Hasher": [ - 342 + 333 ], "MerkleTreeWithHistory": [ - 694 + 685 ] } }, @@ -5075,7 +5075,7 @@ ".17" ] }, - "id": 330, + "id": 321, "name": "PragmaDirective", "src": "755:23:2" }, @@ -5091,10 +5091,10 @@ "documentation": null, "fullyImplemented": false, "linearizedBaseContracts": [ - 342 + 333 ], "name": "Hasher", - "scope": 695 + "scope": 686 }, "children": [ { @@ -5108,7 +5108,7 @@ null ], "name": "MiMCSponge", - "scope": 342, + "scope": 333, "stateMutability": "pure", "superFunction": null, "visibility": "public" @@ -5120,7 +5120,7 @@ "attributes": { "constant": false, "name": "in_xL", - "scope": 341, + "scope": 332, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -5133,12 +5133,12 @@ "name": "uint256", "type": "uint256" }, - "id": 331, + "id": 322, "name": "ElementaryTypeName", "src": "819:7:2" } ], - "id": 332, + "id": 323, "name": "VariableDeclaration", "src": "819:13:2" }, @@ -5146,7 +5146,7 @@ "attributes": { "constant": false, "name": "in_xR", - "scope": 341, + "scope": 332, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -5159,17 +5159,17 @@ "name": "uint256", "type": "uint256" }, - "id": 333, + "id": 324, "name": "ElementaryTypeName", "src": "834:7:2" } ], - "id": 334, + "id": 325, "name": "VariableDeclaration", "src": "834:13:2" } ], - "id": 335, + "id": 326, "name": "ParameterList", "src": "818:30:2" }, @@ -5179,7 +5179,7 @@ "attributes": { "constant": false, "name": "xL", - "scope": 341, + "scope": 332, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -5192,12 +5192,12 @@ "name": "uint256", "type": "uint256" }, - "id": 336, + "id": 327, "name": "ElementaryTypeName", "src": "870:7:2" } ], - "id": 337, + "id": 328, "name": "VariableDeclaration", "src": "870:10:2" }, @@ -5205,7 +5205,7 @@ "attributes": { "constant": false, "name": "xR", - "scope": 341, + "scope": 332, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -5218,27 +5218,27 @@ "name": "uint256", "type": "uint256" }, - "id": 338, + "id": 329, "name": "ElementaryTypeName", "src": "882:7:2" } ], - "id": 339, + "id": 330, "name": "VariableDeclaration", "src": "882:10:2" } ], - "id": 340, + "id": 331, "name": "ParameterList", "src": "869:24:2" } ], - "id": 341, + "id": 332, "name": "FunctionDefinition", "src": "799:95:2" } ], - "id": 342, + "id": 333, "name": "ContractDefinition", "src": "780:116:2" }, @@ -5254,17 +5254,17 @@ "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ - 694 + 685 ], "name": "MerkleTreeWithHistory", - "scope": 695 + "scope": 686 }, "children": [ { "attributes": { "constant": true, "name": "FIELD_SIZE", - "scope": 694, + "scope": 685, "stateVariable": true, "storageLocation": "default", "type": "uint256", @@ -5276,7 +5276,7 @@ "name": "uint256", "type": "uint256" }, - "id": 343, + "id": 334, "name": "ElementaryTypeName", "src": "933:7:2" }, @@ -5293,12 +5293,12 @@ "type": "int_const 2188...(69 digits omitted)...5617", "value": "21888242871839275222246405745257275088548364400416034343698204186575808495617" }, - "id": 344, + "id": 335, "name": "Literal", "src": "970:77:2" } ], - "id": 345, + "id": 336, "name": "VariableDeclaration", "src": "933:114:2" }, @@ -5306,7 +5306,7 @@ "attributes": { "constant": true, "name": "ZERO_VALUE", - "scope": 694, + "scope": 685, "stateVariable": true, "storageLocation": "default", "type": "uint256", @@ -5318,7 +5318,7 @@ "name": "uint256", "type": "uint256" }, - "id": 346, + "id": 337, "name": "ElementaryTypeName", "src": "1051:7:2" }, @@ -5335,12 +5335,12 @@ "type": "int_const 2166...(69 digits omitted)...1292", "value": "21663839004416932945382355908790599225266501822907911457504978515578255421292" }, - "id": 347, + "id": 338, "name": "Literal", "src": "1088:77:2" } ], - "id": 348, + "id": 339, "name": "VariableDeclaration", "src": "1051:114:2" }, @@ -5348,7 +5348,7 @@ "attributes": { "constant": false, "name": "levels", - "scope": 694, + "scope": 685, "stateVariable": true, "storageLocation": "default", "type": "uint32", @@ -5361,12 +5361,12 @@ "name": "uint32", "type": "uint32" }, - "id": 349, + "id": 340, "name": "ElementaryTypeName", "src": "1209:6:2" } ], - "id": 350, + "id": 341, "name": "VariableDeclaration", "src": "1209:20:2" }, @@ -5374,7 +5374,7 @@ "attributes": { "constant": false, "name": "filledSubtrees", - "scope": 694, + "scope": 685, "stateVariable": true, "storageLocation": "default", "type": "bytes32[]", @@ -5393,17 +5393,17 @@ "name": "bytes32", "type": "bytes32" }, - "id": 351, + "id": 342, "name": "ElementaryTypeName", "src": "1369:7:2" } ], - "id": 352, + "id": 343, "name": "ArrayTypeName", "src": "1369:9:2" } ], - "id": 353, + "id": 344, "name": "VariableDeclaration", "src": "1369:31:2" }, @@ -5411,7 +5411,7 @@ "attributes": { "constant": false, "name": "zeros", - "scope": 694, + "scope": 685, "stateVariable": true, "storageLocation": "default", "type": "bytes32[]", @@ -5430,17 +5430,17 @@ "name": "bytes32", "type": "bytes32" }, - "id": 354, + "id": 345, "name": "ElementaryTypeName", "src": "1404:7:2" } ], - "id": 355, + "id": 346, "name": "ArrayTypeName", "src": "1404:9:2" } ], - "id": 356, + "id": 347, "name": "VariableDeclaration", "src": "1404:22:2" }, @@ -5448,7 +5448,7 @@ "attributes": { "constant": false, "name": "currentRootIndex", - "scope": 694, + "scope": 685, "stateVariable": true, "storageLocation": "default", "type": "uint32", @@ -5460,7 +5460,7 @@ "name": "uint32", "type": "uint32" }, - "id": 357, + "id": 348, "name": "ElementaryTypeName", "src": "1430:6:2" }, @@ -5477,12 +5477,12 @@ "type": "int_const 0", "value": "0" }, - "id": 358, + "id": 349, "name": "Literal", "src": "1463:1:2" } ], - "id": 359, + "id": 350, "name": "VariableDeclaration", "src": "1430:34:2" }, @@ -5490,7 +5490,7 @@ "attributes": { "constant": false, "name": "nextIndex", - "scope": 694, + "scope": 685, "stateVariable": true, "storageLocation": "default", "type": "uint32", @@ -5502,7 +5502,7 @@ "name": "uint32", "type": "uint32" }, - "id": 360, + "id": 351, "name": "ElementaryTypeName", "src": "1468:6:2" }, @@ -5519,12 +5519,12 @@ "type": "int_const 0", "value": "0" }, - "id": 361, + "id": 352, "name": "Literal", "src": "1494:1:2" } ], - "id": 362, + "id": 353, "name": "VariableDeclaration", "src": "1468:27:2" }, @@ -5532,7 +5532,7 @@ "attributes": { "constant": true, "name": "ROOT_HISTORY_SIZE", - "scope": 694, + "scope": 685, "stateVariable": true, "storageLocation": "default", "type": "uint32", @@ -5544,7 +5544,7 @@ "name": "uint32", "type": "uint32" }, - "id": 363, + "id": 354, "name": "ElementaryTypeName", "src": "1499:6:2" }, @@ -5561,12 +5561,12 @@ "type": "int_const 100", "value": "100" }, - "id": 364, + "id": 355, "name": "Literal", "src": "1542:3:2" } ], - "id": 365, + "id": 356, "name": "VariableDeclaration", "src": "1499:46:2" }, @@ -5574,7 +5574,7 @@ "attributes": { "constant": false, "name": "roots", - "scope": 694, + "scope": 685, "stateVariable": true, "storageLocation": "default", "type": "bytes32[100]", @@ -5592,7 +5592,7 @@ "name": "bytes32", "type": "bytes32" }, - "id": 366, + "id": 357, "name": "ElementaryTypeName", "src": "1549:7:2" }, @@ -5602,21 +5602,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 365, + "referencedDeclaration": 356, "type": "uint32", "value": "ROOT_HISTORY_SIZE" }, - "id": 367, + "id": 358, "name": "Identifier", "src": "1557:17:2" } ], - "id": 368, + "id": 359, "name": "ArrayTypeName", "src": "1549:26:2" } ], - "id": 369, + "id": 360, "name": "VariableDeclaration", "src": "1549:39:2" }, @@ -5630,7 +5630,7 @@ null ], "name": "", - "scope": 694, + "scope": 685, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -5642,7 +5642,7 @@ "attributes": { "constant": false, "name": "_treeLevels", - "scope": 451, + "scope": 442, "stateVariable": false, "storageLocation": "default", "type": "uint32", @@ -5655,17 +5655,17 @@ "name": "uint32", "type": "uint32" }, - "id": 370, + "id": 361, "name": "ElementaryTypeName", "src": "1605:6:2" } ], - "id": 371, + "id": 362, "name": "VariableDeclaration", "src": "1605:18:2" } ], - "id": 372, + "id": 363, "name": "ParameterList", "src": "1604:20:2" }, @@ -5676,7 +5676,7 @@ ] }, "children": [], - "id": 373, + "id": 364, "name": "ParameterList", "src": "1632:0:2" }, @@ -5712,14 +5712,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 374, + "id": 365, "name": "Identifier", "src": "1638:7:2" }, @@ -5744,11 +5744,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 371, + "referencedDeclaration": 362, "type": "uint32", "value": "_treeLevels" }, - "id": 375, + "id": 366, "name": "Identifier", "src": "1646:11:2" }, @@ -5765,12 +5765,12 @@ "type": "int_const 0", "value": "0" }, - "id": 376, + "id": 367, "name": "Literal", "src": "1660:1:2" } ], - "id": 377, + "id": 368, "name": "BinaryOperation", "src": "1646:15:2" }, @@ -5787,17 +5787,17 @@ "type": "literal_string \"_treeLevels should be greater than zero\"", "value": "_treeLevels should be greater than zero" }, - "id": 378, + "id": 369, "name": "Literal", "src": "1663:41:2" } ], - "id": 379, + "id": 370, "name": "FunctionCall", "src": "1638:67:2" } ], - "id": 380, + "id": 371, "name": "ExpressionStatement", "src": "1638:67:2" }, @@ -5831,14 +5831,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 381, + "id": 372, "name": "Identifier", "src": "1711:7:2" }, @@ -5863,11 +5863,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 371, + "referencedDeclaration": 362, "type": "uint32", "value": "_treeLevels" }, - "id": 382, + "id": 373, "name": "Identifier", "src": "1719:11:2" }, @@ -5884,12 +5884,12 @@ "type": "int_const 32", "value": "32" }, - "id": 383, + "id": 374, "name": "Literal", "src": "1733:2:2" } ], - "id": 384, + "id": 375, "name": "BinaryOperation", "src": "1719:16:2" }, @@ -5906,17 +5906,17 @@ "type": "literal_string \"_treeLevels should be less than 32\"", "value": "_treeLevels should be less than 32" }, - "id": 385, + "id": 376, "name": "Literal", "src": "1737:36:2" } ], - "id": 386, + "id": 377, "name": "FunctionCall", "src": "1711:63:2" } ], - "id": 387, + "id": 378, "name": "ExpressionStatement", "src": "1711:63:2" }, @@ -5939,11 +5939,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 350, + "referencedDeclaration": 341, "type": "uint32", "value": "levels" }, - "id": 388, + "id": 379, "name": "Identifier", "src": "1780:6:2" }, @@ -5953,28 +5953,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 371, + "referencedDeclaration": 362, "type": "uint32", "value": "_treeLevels" }, - "id": 389, + "id": 380, "name": "Identifier", "src": "1789:11:2" } ], - "id": 390, + "id": 381, "name": "Assignment", "src": "1780:20:2" } ], - "id": 391, + "id": 382, "name": "ExpressionStatement", "src": "1780:20:2" }, { "attributes": { "assignments": [ - 393 + 384 ] }, "children": [ @@ -5982,7 +5982,7 @@ "attributes": { "constant": false, "name": "currentZero", - "scope": 450, + "scope": 441, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -5995,12 +5995,12 @@ "name": "bytes32", "type": "bytes32" }, - "id": 392, + "id": 383, "name": "ElementaryTypeName", "src": "1807:7:2" } ], - "id": 393, + "id": 384, "name": "VariableDeclaration", "src": "1807:19:2" }, @@ -6034,7 +6034,7 @@ "type": "type(bytes32)", "value": "bytes32" }, - "id": 394, + "id": 385, "name": "ElementaryTypeNameExpression", "src": "1829:7:2" }, @@ -6044,21 +6044,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 348, + "referencedDeclaration": 339, "type": "uint256", "value": "ZERO_VALUE" }, - "id": 395, + "id": 386, "name": "Identifier", "src": "1837:10:2" } ], - "id": 396, + "id": 387, "name": "FunctionCall", "src": "1829:19:2" } ], - "id": 397, + "id": 388, "name": "VariableDeclarationStatement", "src": "1807:41:2" }, @@ -6102,16 +6102,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 356, + "referencedDeclaration": 347, "type": "bytes32[] storage ref", "value": "zeros" }, - "id": 398, + "id": 389, "name": "Identifier", "src": "1854:5:2" } ], - "id": 400, + "id": 391, "name": "MemberAccess", "src": "1854:10:2" }, @@ -6121,21 +6121,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "type": "bytes32", "value": "currentZero" }, - "id": 401, + "id": 392, "name": "Identifier", "src": "1865:11:2" } ], - "id": 402, + "id": 393, "name": "FunctionCall", "src": "1854:23:2" } ], - "id": 403, + "id": 394, "name": "ExpressionStatement", "src": "1854:23:2" }, @@ -6179,16 +6179,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 353, + "referencedDeclaration": 344, "type": "bytes32[] storage ref", "value": "filledSubtrees" }, - "id": 404, + "id": 395, "name": "Identifier", "src": "1883:14:2" } ], - "id": 406, + "id": 397, "name": "MemberAccess", "src": "1883:19:2" }, @@ -6198,21 +6198,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "type": "bytes32", "value": "currentZero" }, - "id": 407, + "id": 398, "name": "Identifier", "src": "1903:11:2" } ], - "id": 408, + "id": 399, "name": "FunctionCall", "src": "1883:32:2" } ], - "id": 409, + "id": 400, "name": "ExpressionStatement", "src": "1883:32:2" }, @@ -6221,7 +6221,7 @@ { "attributes": { "assignments": [ - 411 + 402 ] }, "children": [ @@ -6229,7 +6229,7 @@ "attributes": { "constant": false, "name": "i", - "scope": 440, + "scope": 431, "stateVariable": false, "storageLocation": "default", "type": "uint32", @@ -6242,12 +6242,12 @@ "name": "uint32", "type": "uint32" }, - "id": 410, + "id": 401, "name": "ElementaryTypeName", "src": "1927:6:2" } ], - "id": 411, + "id": 402, "name": "VariableDeclaration", "src": "1927:8:2" }, @@ -6264,12 +6264,12 @@ "type": "int_const 1", "value": "1" }, - "id": 412, + "id": 403, "name": "Literal", "src": "1938:1:2" } ], - "id": 413, + "id": 404, "name": "VariableDeclarationStatement", "src": "1927:12:2" }, @@ -6294,11 +6294,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 411, + "referencedDeclaration": 402, "type": "uint32", "value": "i" }, - "id": 414, + "id": 405, "name": "Identifier", "src": "1941:1:2" }, @@ -6308,16 +6308,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 350, + "referencedDeclaration": 341, "type": "uint32", "value": "levels" }, - "id": 415, + "id": 406, "name": "Identifier", "src": "1945:6:2" } ], - "id": 416, + "id": 407, "name": "BinaryOperation", "src": "1941:10:2" }, @@ -6341,21 +6341,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 411, + "referencedDeclaration": 402, "type": "uint32", "value": "i" }, - "id": 417, + "id": 408, "name": "Identifier", "src": "1953:1:2" } ], - "id": 418, + "id": 409, "name": "UnaryOperation", "src": "1953:3:2" } ], - "id": 419, + "id": 410, "name": "ExpressionStatement", "src": "1953:3:2" }, @@ -6380,11 +6380,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "type": "bytes32", "value": "currentZero" }, - "id": 420, + "id": 411, "name": "Identifier", "src": "1966:11:2" }, @@ -6418,11 +6418,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 523, + "referencedDeclaration": 514, "type": "function (bytes32,bytes32) pure returns (bytes32)", "value": "hashLeftRight" }, - "id": 421, + "id": 412, "name": "Identifier", "src": "1980:13:2" }, @@ -6432,11 +6432,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "type": "bytes32", "value": "currentZero" }, - "id": 422, + "id": 413, "name": "Identifier", "src": "1994:11:2" }, @@ -6446,26 +6446,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "type": "bytes32", "value": "currentZero" }, - "id": 423, + "id": 414, "name": "Identifier", "src": "2007:11:2" } ], - "id": 424, + "id": 415, "name": "FunctionCall", "src": "1980:39:2" } ], - "id": 425, + "id": 416, "name": "Assignment", "src": "1966:53:2" } ], - "id": 426, + "id": 417, "name": "ExpressionStatement", "src": "1966:53:2" }, @@ -6509,16 +6509,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 356, + "referencedDeclaration": 347, "type": "bytes32[] storage ref", "value": "zeros" }, - "id": 427, + "id": 418, "name": "Identifier", "src": "2027:5:2" } ], - "id": 429, + "id": 420, "name": "MemberAccess", "src": "2027:10:2" }, @@ -6528,21 +6528,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "type": "bytes32", "value": "currentZero" }, - "id": 430, + "id": 421, "name": "Identifier", "src": "2038:11:2" } ], - "id": 431, + "id": 422, "name": "FunctionCall", "src": "2027:23:2" } ], - "id": 432, + "id": 423, "name": "ExpressionStatement", "src": "2027:23:2" }, @@ -6586,16 +6586,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 353, + "referencedDeclaration": 344, "type": "bytes32[] storage ref", "value": "filledSubtrees" }, - "id": 433, + "id": 424, "name": "Identifier", "src": "2058:14:2" } ], - "id": 435, + "id": 426, "name": "MemberAccess", "src": "2058:19:2" }, @@ -6605,31 +6605,31 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "type": "bytes32", "value": "currentZero" }, - "id": 436, + "id": 427, "name": "Identifier", "src": "2078:11:2" } ], - "id": 437, + "id": 428, "name": "FunctionCall", "src": "2058:32:2" } ], - "id": 438, + "id": 429, "name": "ExpressionStatement", "src": "2058:32:2" } ], - "id": 439, + "id": 430, "name": "Block", "src": "1958:139:2" } ], - "id": 440, + "id": 431, "name": "ForStatement", "src": "1922:175:2" }, @@ -6662,11 +6662,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 369, + "referencedDeclaration": 360, "type": "bytes32[100] storage ref", "value": "roots" }, - "id": 441, + "id": 432, "name": "Identifier", "src": "2103:5:2" }, @@ -6683,12 +6683,12 @@ "type": "int_const 0", "value": "0" }, - "id": 442, + "id": 433, "name": "Literal", "src": "2109:1:2" } ], - "id": 443, + "id": 434, "name": "IndexAccess", "src": "2103:8:2" }, @@ -6722,11 +6722,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 523, + "referencedDeclaration": 514, "type": "function (bytes32,bytes32) pure returns (bytes32)", "value": "hashLeftRight" }, - "id": 444, + "id": 435, "name": "Identifier", "src": "2114:13:2" }, @@ -6736,11 +6736,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "type": "bytes32", "value": "currentZero" }, - "id": 445, + "id": 436, "name": "Identifier", "src": "2128:11:2" }, @@ -6750,36 +6750,36 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 393, + "referencedDeclaration": 384, "type": "bytes32", "value": "currentZero" }, - "id": 446, + "id": 437, "name": "Identifier", "src": "2141:11:2" } ], - "id": 447, + "id": 438, "name": "FunctionCall", "src": "2114:39:2" } ], - "id": 448, + "id": 439, "name": "Assignment", "src": "2103:50:2" } ], - "id": 449, + "id": 440, "name": "ExpressionStatement", "src": "2103:50:2" } ], - "id": 450, + "id": 441, "name": "Block", "src": "1632:526:2" } ], - "id": 451, + "id": 442, "name": "FunctionDefinition", "src": "1593:565:2" }, @@ -6793,7 +6793,7 @@ null ], "name": "hashLeftRight", - "scope": 694, + "scope": 685, "stateMutability": "pure", "superFunction": null, "visibility": "public" @@ -6805,7 +6805,7 @@ "attributes": { "constant": false, "name": "_left", - "scope": 523, + "scope": 514, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -6818,12 +6818,12 @@ "name": "bytes32", "type": "bytes32" }, - "id": 452, + "id": 443, "name": "ElementaryTypeName", "src": "2253:7:2" } ], - "id": 453, + "id": 444, "name": "VariableDeclaration", "src": "2253:13:2" }, @@ -6831,7 +6831,7 @@ "attributes": { "constant": false, "name": "_right", - "scope": 523, + "scope": 514, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -6844,17 +6844,17 @@ "name": "bytes32", "type": "bytes32" }, - "id": 454, + "id": 445, "name": "ElementaryTypeName", "src": "2268:7:2" } ], - "id": 455, + "id": 446, "name": "VariableDeclaration", "src": "2268:14:2" } ], - "id": 456, + "id": 447, "name": "ParameterList", "src": "2252:31:2" }, @@ -6864,7 +6864,7 @@ "attributes": { "constant": false, "name": "", - "scope": 523, + "scope": 514, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -6877,17 +6877,17 @@ "name": "bytes32", "type": "bytes32" }, - "id": 457, + "id": 448, "name": "ElementaryTypeName", "src": "2305:7:2" } ], - "id": 458, + "id": 449, "name": "VariableDeclaration", "src": "2305:7:2" } ], - "id": 459, + "id": 450, "name": "ParameterList", "src": "2304:9:2" }, @@ -6923,14 +6923,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 460, + "id": 451, "name": "Identifier", "src": "2320:7:2" }, @@ -6979,7 +6979,7 @@ "type": "type(uint256)", "value": "uint256" }, - "id": 461, + "id": 452, "name": "ElementaryTypeNameExpression", "src": "2328:7:2" }, @@ -6989,16 +6989,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 453, + "referencedDeclaration": 444, "type": "bytes32", "value": "_left" }, - "id": 462, + "id": 453, "name": "Identifier", "src": "2336:5:2" } ], - "id": 463, + "id": 454, "name": "FunctionCall", "src": "2328:14:2" }, @@ -7008,16 +7008,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 345, + "referencedDeclaration": 336, "type": "uint256", "value": "FIELD_SIZE" }, - "id": 464, + "id": 455, "name": "Identifier", "src": "2345:10:2" } ], - "id": 465, + "id": 456, "name": "BinaryOperation", "src": "2328:27:2" }, @@ -7034,17 +7034,17 @@ "type": "literal_string \"_left should be inside the field\"", "value": "_left should be inside the field" }, - "id": 466, + "id": 457, "name": "Literal", "src": "2357:34:2" } ], - "id": 467, + "id": 458, "name": "FunctionCall", "src": "2320:72:2" } ], - "id": 468, + "id": 459, "name": "ExpressionStatement", "src": "2320:72:2" }, @@ -7078,14 +7078,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 469, + "id": 460, "name": "Identifier", "src": "2398:7:2" }, @@ -7134,7 +7134,7 @@ "type": "type(uint256)", "value": "uint256" }, - "id": 470, + "id": 461, "name": "ElementaryTypeNameExpression", "src": "2406:7:2" }, @@ -7144,16 +7144,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 455, + "referencedDeclaration": 446, "type": "bytes32", "value": "_right" }, - "id": 471, + "id": 462, "name": "Identifier", "src": "2414:6:2" } ], - "id": 472, + "id": 463, "name": "FunctionCall", "src": "2406:15:2" }, @@ -7163,16 +7163,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 345, + "referencedDeclaration": 336, "type": "uint256", "value": "FIELD_SIZE" }, - "id": 473, + "id": 464, "name": "Identifier", "src": "2424:10:2" } ], - "id": 474, + "id": 465, "name": "BinaryOperation", "src": "2406:28:2" }, @@ -7189,24 +7189,24 @@ "type": "literal_string \"_right should be inside the field\"", "value": "_right should be inside the field" }, - "id": 475, + "id": 466, "name": "Literal", "src": "2436:35:2" } ], - "id": 476, + "id": 467, "name": "FunctionCall", "src": "2398:74:2" } ], - "id": 477, + "id": 468, "name": "ExpressionStatement", "src": "2398:74:2" }, { "attributes": { "assignments": [ - 479 + 470 ] }, "children": [ @@ -7214,7 +7214,7 @@ "attributes": { "constant": false, "name": "R", - "scope": 522, + "scope": 513, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -7227,12 +7227,12 @@ "name": "uint256", "type": "uint256" }, - "id": 478, + "id": 469, "name": "ElementaryTypeName", "src": "2478:7:2" } ], - "id": 479, + "id": 470, "name": "VariableDeclaration", "src": "2478:9:2" }, @@ -7266,7 +7266,7 @@ "type": "type(uint256)", "value": "uint256" }, - "id": 480, + "id": 471, "name": "ElementaryTypeNameExpression", "src": "2490:7:2" }, @@ -7276,28 +7276,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 453, + "referencedDeclaration": 444, "type": "bytes32", "value": "_left" }, - "id": 481, + "id": 472, "name": "Identifier", "src": "2498:5:2" } ], - "id": 482, + "id": 473, "name": "FunctionCall", "src": "2490:14:2" } ], - "id": 483, + "id": 474, "name": "VariableDeclarationStatement", "src": "2478:26:2" }, { "attributes": { "assignments": [ - 485 + 476 ] }, "children": [ @@ -7305,7 +7305,7 @@ "attributes": { "constant": false, "name": "C", - "scope": 522, + "scope": 513, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -7318,12 +7318,12 @@ "name": "uint256", "type": "uint256" }, - "id": 484, + "id": 475, "name": "ElementaryTypeName", "src": "2510:7:2" } ], - "id": 485, + "id": 476, "name": "VariableDeclaration", "src": "2510:9:2" }, @@ -7340,12 +7340,12 @@ "type": "int_const 0", "value": "0" }, - "id": 486, + "id": 477, "name": "Literal", "src": "2522:1:2" } ], - "id": 487, + "id": 478, "name": "VariableDeclarationStatement", "src": "2510:13:2" }, @@ -7379,11 +7379,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 479, + "referencedDeclaration": 470, "type": "uint256", "value": "R" }, - "id": 488, + "id": 479, "name": "Identifier", "src": "2530:1:2" }, @@ -7393,16 +7393,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 485, + "referencedDeclaration": 476, "type": "uint256", "value": "C" }, - "id": 489, + "id": 480, "name": "Identifier", "src": "2533:1:2" } ], - "id": 490, + "id": 481, "name": "TupleExpression", "src": "2529:6:2" }, @@ -7438,7 +7438,7 @@ "isPure": false, "lValueRequested": false, "member_name": "MiMCSponge", - "referencedDeclaration": 341, + "referencedDeclaration": 332, "type": "function (uint256,uint256) pure returns (uint256,uint256)" }, "children": [ @@ -7448,16 +7448,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 342, + "referencedDeclaration": 333, "type": "type(library Hasher)", "value": "Hasher" }, - "id": 491, + "id": 482, "name": "Identifier", "src": "2538:6:2" } ], - "id": 492, + "id": 483, "name": "MemberAccess", "src": "2538:17:2" }, @@ -7467,11 +7467,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 479, + "referencedDeclaration": 470, "type": "uint256", "value": "R" }, - "id": 493, + "id": 484, "name": "Identifier", "src": "2556:1:2" }, @@ -7481,26 +7481,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 485, + "referencedDeclaration": 476, "type": "uint256", "value": "C" }, - "id": 494, + "id": 485, "name": "Identifier", "src": "2559:1:2" } ], - "id": 495, + "id": 486, "name": "FunctionCall", "src": "2538:23:2" } ], - "id": 496, + "id": 487, "name": "Assignment", "src": "2529:32:2" } ], - "id": 497, + "id": 488, "name": "ExpressionStatement", "src": "2529:32:2" }, @@ -7523,11 +7523,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 479, + "referencedDeclaration": 470, "type": "uint256", "value": "R" }, - "id": 498, + "id": 489, "name": "Identifier", "src": "2567:1:2" }, @@ -7565,11 +7565,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3248, + "referencedDeclaration": 3258, "type": "function (uint256,uint256,uint256) pure returns (uint256)", "value": "addmod" }, - "id": 499, + "id": 490, "name": "Identifier", "src": "2571:6:2" }, @@ -7579,11 +7579,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 479, + "referencedDeclaration": 470, "type": "uint256", "value": "R" }, - "id": 500, + "id": 491, "name": "Identifier", "src": "2578:1:2" }, @@ -7617,7 +7617,7 @@ "type": "type(uint256)", "value": "uint256" }, - "id": 501, + "id": 492, "name": "ElementaryTypeNameExpression", "src": "2581:7:2" }, @@ -7627,16 +7627,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 455, + "referencedDeclaration": 446, "type": "bytes32", "value": "_right" }, - "id": 502, + "id": 493, "name": "Identifier", "src": "2589:6:2" } ], - "id": 503, + "id": 494, "name": "FunctionCall", "src": "2581:15:2" }, @@ -7646,26 +7646,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 345, + "referencedDeclaration": 336, "type": "uint256", "value": "FIELD_SIZE" }, - "id": 504, + "id": 495, "name": "Identifier", "src": "2598:10:2" } ], - "id": 505, + "id": 496, "name": "FunctionCall", "src": "2571:38:2" } ], - "id": 506, + "id": 497, "name": "Assignment", "src": "2567:42:2" } ], - "id": 507, + "id": 498, "name": "ExpressionStatement", "src": "2567:42:2" }, @@ -7699,11 +7699,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 479, + "referencedDeclaration": 470, "type": "uint256", "value": "R" }, - "id": 508, + "id": 499, "name": "Identifier", "src": "2616:1:2" }, @@ -7713,16 +7713,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 485, + "referencedDeclaration": 476, "type": "uint256", "value": "C" }, - "id": 509, + "id": 500, "name": "Identifier", "src": "2619:1:2" } ], - "id": 510, + "id": 501, "name": "TupleExpression", "src": "2615:6:2" }, @@ -7758,7 +7758,7 @@ "isPure": false, "lValueRequested": false, "member_name": "MiMCSponge", - "referencedDeclaration": 341, + "referencedDeclaration": 332, "type": "function (uint256,uint256) pure returns (uint256,uint256)" }, "children": [ @@ -7768,16 +7768,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 342, + "referencedDeclaration": 333, "type": "type(library Hasher)", "value": "Hasher" }, - "id": 511, + "id": 502, "name": "Identifier", "src": "2624:6:2" } ], - "id": 512, + "id": 503, "name": "MemberAccess", "src": "2624:17:2" }, @@ -7787,11 +7787,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 479, + "referencedDeclaration": 470, "type": "uint256", "value": "R" }, - "id": 513, + "id": 504, "name": "Identifier", "src": "2642:1:2" }, @@ -7801,32 +7801,32 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 485, + "referencedDeclaration": 476, "type": "uint256", "value": "C" }, - "id": 514, + "id": 505, "name": "Identifier", "src": "2645:1:2" } ], - "id": 515, + "id": 506, "name": "FunctionCall", "src": "2624:23:2" } ], - "id": 516, + "id": 507, "name": "Assignment", "src": "2615:32:2" } ], - "id": 517, + "id": 508, "name": "ExpressionStatement", "src": "2615:32:2" }, { "attributes": { - "functionReturnParameters": 459 + "functionReturnParameters": 450 }, "children": [ { @@ -7859,7 +7859,7 @@ "type": "type(bytes32)", "value": "bytes32" }, - "id": 518, + "id": 509, "name": "ElementaryTypeNameExpression", "src": "2660:7:2" }, @@ -7869,31 +7869,31 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 479, + "referencedDeclaration": 470, "type": "uint256", "value": "R" }, - "id": 519, + "id": 510, "name": "Identifier", "src": "2668:1:2" } ], - "id": 520, + "id": 511, "name": "FunctionCall", "src": "2660:10:2" } ], - "id": 521, + "id": 512, "name": "Return", "src": "2653:17:2" } ], - "id": 522, + "id": 513, "name": "Block", "src": "2314:361:2" } ], - "id": 523, + "id": 514, "name": "FunctionDefinition", "src": "2230:445:2" }, @@ -7907,7 +7907,7 @@ null ], "name": "_insert", - "scope": 694, + "scope": 685, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -7919,7 +7919,7 @@ "attributes": { "constant": false, "name": "_leaf", - "scope": 636, + "scope": 627, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -7932,17 +7932,17 @@ "name": "bytes32", "type": "bytes32" }, - "id": 524, + "id": 515, "name": "ElementaryTypeName", "src": "2696:7:2" } ], - "id": 525, + "id": 516, "name": "VariableDeclaration", "src": "2696:13:2" } ], - "id": 526, + "id": 517, "name": "ParameterList", "src": "2695:15:2" }, @@ -7952,7 +7952,7 @@ "attributes": { "constant": false, "name": "index", - "scope": 636, + "scope": 627, "stateVariable": false, "storageLocation": "default", "type": "uint32", @@ -7965,17 +7965,17 @@ "name": "uint32", "type": "uint32" }, - "id": 527, + "id": 518, "name": "ElementaryTypeName", "src": "2728:6:2" } ], - "id": 528, + "id": 519, "name": "VariableDeclaration", "src": "2728:12:2" } ], - "id": 529, + "id": 520, "name": "ParameterList", "src": "2727:14:2" }, @@ -7984,7 +7984,7 @@ { "attributes": { "assignments": [ - 531 + 522 ] }, "children": [ @@ -7992,7 +7992,7 @@ "attributes": { "constant": false, "name": "currentIndex", - "scope": 635, + "scope": 626, "stateVariable": false, "storageLocation": "default", "type": "uint32", @@ -8005,12 +8005,12 @@ "name": "uint32", "type": "uint32" }, - "id": 530, + "id": 521, "name": "ElementaryTypeName", "src": "2748:6:2" } ], - "id": 531, + "id": 522, "name": "VariableDeclaration", "src": "2748:19:2" }, @@ -8020,16 +8020,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 362, + "referencedDeclaration": 353, "type": "uint32", "value": "nextIndex" }, - "id": 532, + "id": 523, "name": "Identifier", "src": "2770:9:2" } ], - "id": 533, + "id": 524, "name": "VariableDeclarationStatement", "src": "2748:31:2" }, @@ -8063,14 +8063,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 534, + "id": 525, "name": "Identifier", "src": "2785:7:2" }, @@ -8095,11 +8095,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 531, + "referencedDeclaration": 522, "type": "uint32", "value": "currentIndex" }, - "id": 535, + "id": 526, "name": "Identifier", "src": "2793:12:2" }, @@ -8148,7 +8148,7 @@ "type": "type(uint32)", "value": "uint32" }, - "id": 536, + "id": 527, "name": "ElementaryTypeNameExpression", "src": "2809:6:2" }, @@ -8165,12 +8165,12 @@ "type": "int_const 2", "value": "2" }, - "id": 537, + "id": 528, "name": "Literal", "src": "2816:1:2" } ], - "id": 538, + "id": 529, "name": "FunctionCall", "src": "2809:9:2" }, @@ -8180,21 +8180,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 350, + "referencedDeclaration": 341, "type": "uint32", "value": "levels" }, - "id": 539, + "id": 530, "name": "Identifier", "src": "2820:6:2" } ], - "id": 540, + "id": 531, "name": "BinaryOperation", "src": "2809:17:2" } ], - "id": 541, + "id": 532, "name": "BinaryOperation", "src": "2793:33:2" }, @@ -8211,17 +8211,17 @@ "type": "literal_string \"Merkle tree is full. No more leafs can be added\"", "value": "Merkle tree is full. No more leafs can be added" }, - "id": 542, + "id": 533, "name": "Literal", "src": "2828:49:2" } ], - "id": 543, + "id": 534, "name": "FunctionCall", "src": "2785:93:2" } ], - "id": 544, + "id": 535, "name": "ExpressionStatement", "src": "2785:93:2" }, @@ -8244,11 +8244,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 362, + "referencedDeclaration": 353, "type": "uint32", "value": "nextIndex" }, - "id": 545, + "id": 536, "name": "Identifier", "src": "2884:9:2" }, @@ -8265,24 +8265,24 @@ "type": "int_const 1", "value": "1" }, - "id": 546, + "id": 537, "name": "Literal", "src": "2897:1:2" } ], - "id": 547, + "id": 538, "name": "Assignment", "src": "2884:14:2" } ], - "id": 548, + "id": 539, "name": "ExpressionStatement", "src": "2884:14:2" }, { "attributes": { "assignments": [ - 550 + 541 ] }, "children": [ @@ -8290,7 +8290,7 @@ "attributes": { "constant": false, "name": "currentLevelHash", - "scope": 635, + "scope": 626, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -8303,12 +8303,12 @@ "name": "bytes32", "type": "bytes32" }, - "id": 549, + "id": 540, "name": "ElementaryTypeName", "src": "2904:7:2" } ], - "id": 550, + "id": 541, "name": "VariableDeclaration", "src": "2904:24:2" }, @@ -8318,23 +8318,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 525, + "referencedDeclaration": 516, "type": "bytes32", "value": "_leaf" }, - "id": 551, + "id": 542, "name": "Identifier", "src": "2931:5:2" } ], - "id": 552, + "id": 543, "name": "VariableDeclarationStatement", "src": "2904:32:2" }, { "attributes": { "assignments": [ - 554 + 545 ], "initialValue": null }, @@ -8343,7 +8343,7 @@ "attributes": { "constant": false, "name": "left", - "scope": 635, + "scope": 626, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -8356,24 +8356,24 @@ "name": "bytes32", "type": "bytes32" }, - "id": 553, + "id": 544, "name": "ElementaryTypeName", "src": "2942:7:2" } ], - "id": 554, + "id": 545, "name": "VariableDeclaration", "src": "2942:12:2" } ], - "id": 555, + "id": 546, "name": "VariableDeclarationStatement", "src": "2942:12:2" }, { "attributes": { "assignments": [ - 557 + 548 ], "initialValue": null }, @@ -8382,7 +8382,7 @@ "attributes": { "constant": false, "name": "right", - "scope": 635, + "scope": 626, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -8395,17 +8395,17 @@ "name": "bytes32", "type": "bytes32" }, - "id": 556, + "id": 547, "name": "ElementaryTypeName", "src": "2960:7:2" } ], - "id": 557, + "id": 548, "name": "VariableDeclaration", "src": "2960:13:2" } ], - "id": 558, + "id": 549, "name": "VariableDeclarationStatement", "src": "2960:13:2" }, @@ -8414,7 +8414,7 @@ { "attributes": { "assignments": [ - 560 + 551 ] }, "children": [ @@ -8422,7 +8422,7 @@ "attributes": { "constant": false, "name": "i", - "scope": 615, + "scope": 606, "stateVariable": false, "storageLocation": "default", "type": "uint32", @@ -8435,12 +8435,12 @@ "name": "uint32", "type": "uint32" }, - "id": 559, + "id": 550, "name": "ElementaryTypeName", "src": "2985:6:2" } ], - "id": 560, + "id": 551, "name": "VariableDeclaration", "src": "2985:8:2" }, @@ -8457,12 +8457,12 @@ "type": "int_const 0", "value": "0" }, - "id": 561, + "id": 552, "name": "Literal", "src": "2996:1:2" } ], - "id": 562, + "id": 553, "name": "VariableDeclarationStatement", "src": "2985:12:2" }, @@ -8487,11 +8487,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 560, + "referencedDeclaration": 551, "type": "uint32", "value": "i" }, - "id": 563, + "id": 554, "name": "Identifier", "src": "2999:1:2" }, @@ -8501,16 +8501,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 350, + "referencedDeclaration": 341, "type": "uint32", "value": "levels" }, - "id": 564, + "id": 555, "name": "Identifier", "src": "3003:6:2" } ], - "id": 565, + "id": 556, "name": "BinaryOperation", "src": "2999:10:2" }, @@ -8534,21 +8534,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 560, + "referencedDeclaration": 551, "type": "uint32", "value": "i" }, - "id": 566, + "id": 557, "name": "Identifier", "src": "3011:1:2" } ], - "id": 567, + "id": 558, "name": "UnaryOperation", "src": "3011:3:2" } ], - "id": 568, + "id": 559, "name": "ExpressionStatement", "src": "3011:3:2" }, @@ -8592,11 +8592,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 531, + "referencedDeclaration": 522, "type": "uint32", "value": "currentIndex" }, - "id": 569, + "id": 560, "name": "Identifier", "src": "3028:12:2" }, @@ -8613,12 +8613,12 @@ "type": "int_const 2", "value": "2" }, - "id": 570, + "id": 561, "name": "Literal", "src": "3043:1:2" } ], - "id": 571, + "id": 562, "name": "BinaryOperation", "src": "3028:16:2" }, @@ -8635,12 +8635,12 @@ "type": "int_const 0", "value": "0" }, - "id": 572, + "id": 563, "name": "Literal", "src": "3048:1:2" } ], - "id": 573, + "id": 564, "name": "BinaryOperation", "src": "3028:21:2" }, @@ -8665,11 +8665,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 554, + "referencedDeclaration": 545, "type": "bytes32", "value": "left" }, - "id": 574, + "id": 565, "name": "Identifier", "src": "3061:4:2" }, @@ -8679,21 +8679,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 550, + "referencedDeclaration": 541, "type": "bytes32", "value": "currentLevelHash" }, - "id": 575, + "id": 566, "name": "Identifier", "src": "3068:16:2" } ], - "id": 576, + "id": 567, "name": "Assignment", "src": "3061:23:2" } ], - "id": 577, + "id": 568, "name": "ExpressionStatement", "src": "3061:23:2" }, @@ -8716,11 +8716,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 557, + "referencedDeclaration": 548, "type": "bytes32", "value": "right" }, - "id": 578, + "id": 569, "name": "Identifier", "src": "3094:5:2" }, @@ -8740,11 +8740,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 356, + "referencedDeclaration": 347, "type": "bytes32[] storage ref", "value": "zeros" }, - "id": 579, + "id": 570, "name": "Identifier", "src": "3102:5:2" }, @@ -8754,26 +8754,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 560, + "referencedDeclaration": 551, "type": "uint32", "value": "i" }, - "id": 580, + "id": 571, "name": "Identifier", "src": "3108:1:2" } ], - "id": 581, + "id": 572, "name": "IndexAccess", "src": "3102:8:2" } ], - "id": 582, + "id": 573, "name": "Assignment", "src": "3094:16:2" } ], - "id": 583, + "id": 574, "name": "ExpressionStatement", "src": "3094:16:2" }, @@ -8806,11 +8806,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 353, + "referencedDeclaration": 344, "type": "bytes32[] storage ref", "value": "filledSubtrees" }, - "id": 584, + "id": 575, "name": "Identifier", "src": "3121:14:2" }, @@ -8820,16 +8820,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 560, + "referencedDeclaration": 551, "type": "uint32", "value": "i" }, - "id": 585, + "id": 576, "name": "Identifier", "src": "3136:1:2" } ], - "id": 586, + "id": 577, "name": "IndexAccess", "src": "3121:17:2" }, @@ -8839,26 +8839,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 550, + "referencedDeclaration": 541, "type": "bytes32", "value": "currentLevelHash" }, - "id": 587, + "id": 578, "name": "Identifier", "src": "3141:16:2" } ], - "id": 588, + "id": 579, "name": "Assignment", "src": "3121:36:2" } ], - "id": 589, + "id": 580, "name": "ExpressionStatement", "src": "3121:36:2" } ], - "id": 590, + "id": 581, "name": "Block", "src": "3051:115:2" }, @@ -8883,11 +8883,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 554, + "referencedDeclaration": 545, "type": "bytes32", "value": "left" }, - "id": 591, + "id": 582, "name": "Identifier", "src": "3182:4:2" }, @@ -8907,11 +8907,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 353, + "referencedDeclaration": 344, "type": "bytes32[] storage ref", "value": "filledSubtrees" }, - "id": 592, + "id": 583, "name": "Identifier", "src": "3189:14:2" }, @@ -8921,26 +8921,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 560, + "referencedDeclaration": 551, "type": "uint32", "value": "i" }, - "id": 593, + "id": 584, "name": "Identifier", "src": "3204:1:2" } ], - "id": 594, + "id": 585, "name": "IndexAccess", "src": "3189:17:2" } ], - "id": 595, + "id": 586, "name": "Assignment", "src": "3182:24:2" } ], - "id": 596, + "id": 587, "name": "ExpressionStatement", "src": "3182:24:2" }, @@ -8963,11 +8963,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 557, + "referencedDeclaration": 548, "type": "bytes32", "value": "right" }, - "id": 597, + "id": 588, "name": "Identifier", "src": "3216:5:2" }, @@ -8977,31 +8977,31 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 550, + "referencedDeclaration": 541, "type": "bytes32", "value": "currentLevelHash" }, - "id": 598, + "id": 589, "name": "Identifier", "src": "3224:16:2" } ], - "id": 599, + "id": 590, "name": "Assignment", "src": "3216:24:2" } ], - "id": 600, + "id": 591, "name": "ExpressionStatement", "src": "3216:24:2" } ], - "id": 601, + "id": 592, "name": "Block", "src": "3172:77:2" } ], - "id": 602, + "id": 593, "name": "IfStatement", "src": "3024:225:2" }, @@ -9024,11 +9024,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 550, + "referencedDeclaration": 541, "type": "bytes32", "value": "currentLevelHash" }, - "id": 603, + "id": 594, "name": "Identifier", "src": "3257:16:2" }, @@ -9062,11 +9062,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 523, + "referencedDeclaration": 514, "type": "function (bytes32,bytes32) pure returns (bytes32)", "value": "hashLeftRight" }, - "id": 604, + "id": 595, "name": "Identifier", "src": "3276:13:2" }, @@ -9076,11 +9076,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 554, + "referencedDeclaration": 545, "type": "bytes32", "value": "left" }, - "id": 605, + "id": 596, "name": "Identifier", "src": "3290:4:2" }, @@ -9090,26 +9090,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 557, + "referencedDeclaration": 548, "type": "bytes32", "value": "right" }, - "id": 606, + "id": 597, "name": "Identifier", "src": "3296:5:2" } ], - "id": 607, + "id": 598, "name": "FunctionCall", "src": "3276:26:2" } ], - "id": 608, + "id": 599, "name": "Assignment", "src": "3257:45:2" } ], - "id": 609, + "id": 600, "name": "ExpressionStatement", "src": "3257:45:2" }, @@ -9132,11 +9132,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 531, + "referencedDeclaration": 522, "type": "uint32", "value": "currentIndex" }, - "id": 610, + "id": 601, "name": "Identifier", "src": "3311:12:2" }, @@ -9153,27 +9153,27 @@ "type": "int_const 2", "value": "2" }, - "id": 611, + "id": 602, "name": "Literal", "src": "3327:1:2" } ], - "id": 612, + "id": 603, "name": "Assignment", "src": "3311:17:2" } ], - "id": 613, + "id": 604, "name": "ExpressionStatement", "src": "3311:17:2" } ], - "id": 614, + "id": 605, "name": "Block", "src": "3016:319:2" } ], - "id": 615, + "id": 606, "name": "ForStatement", "src": "2980:355:2" }, @@ -9196,11 +9196,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 359, + "referencedDeclaration": 350, "type": "uint32", "value": "currentRootIndex" }, - "id": 616, + "id": 607, "name": "Identifier", "src": "3341:16:2" }, @@ -9251,11 +9251,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 359, + "referencedDeclaration": 350, "type": "uint32", "value": "currentRootIndex" }, - "id": 617, + "id": 608, "name": "Identifier", "src": "3361:16:2" }, @@ -9272,17 +9272,17 @@ "type": "int_const 1", "value": "1" }, - "id": 618, + "id": 609, "name": "Literal", "src": "3380:1:2" } ], - "id": 619, + "id": 610, "name": "BinaryOperation", "src": "3361:20:2" } ], - "id": 620, + "id": 611, "name": "TupleExpression", "src": "3360:22:2" }, @@ -9292,26 +9292,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 365, + "referencedDeclaration": 356, "type": "uint32", "value": "ROOT_HISTORY_SIZE" }, - "id": 621, + "id": 612, "name": "Identifier", "src": "3385:17:2" } ], - "id": 622, + "id": 613, "name": "BinaryOperation", "src": "3360:42:2" } ], - "id": 623, + "id": 614, "name": "Assignment", "src": "3341:61:2" } ], - "id": 624, + "id": 615, "name": "ExpressionStatement", "src": "3341:61:2" }, @@ -9344,11 +9344,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 369, + "referencedDeclaration": 360, "type": "bytes32[100] storage ref", "value": "roots" }, - "id": 625, + "id": 616, "name": "Identifier", "src": "3408:5:2" }, @@ -9358,16 +9358,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 359, + "referencedDeclaration": 350, "type": "uint32", "value": "currentRootIndex" }, - "id": 626, + "id": 617, "name": "Identifier", "src": "3414:16:2" } ], - "id": 627, + "id": 618, "name": "IndexAccess", "src": "3408:23:2" }, @@ -9377,27 +9377,27 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 550, + "referencedDeclaration": 541, "type": "bytes32", "value": "currentLevelHash" }, - "id": 628, + "id": 619, "name": "Identifier", "src": "3434:16:2" } ], - "id": 629, + "id": 620, "name": "Assignment", "src": "3408:42:2" } ], - "id": 630, + "id": 621, "name": "ExpressionStatement", "src": "3408:42:2" }, { "attributes": { - "functionReturnParameters": 529 + "functionReturnParameters": 520 }, "children": [ { @@ -9421,11 +9421,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 362, + "referencedDeclaration": 353, "type": "uint32", "value": "nextIndex" }, - "id": 631, + "id": 622, "name": "Identifier", "src": "3463:9:2" }, @@ -9442,27 +9442,27 @@ "type": "int_const 1", "value": "1" }, - "id": 632, + "id": 623, "name": "Literal", "src": "3475:1:2" } ], - "id": 633, + "id": 624, "name": "BinaryOperation", "src": "3463:13:2" } ], - "id": 634, + "id": 625, "name": "Return", "src": "3456:20:2" } ], - "id": 635, + "id": 626, "name": "Block", "src": "2742:739:2" } ], - "id": 636, + "id": 627, "name": "FunctionDefinition", "src": "2679:802:2" }, @@ -9476,7 +9476,7 @@ null ], "name": "isKnownRoot", - "scope": 694, + "scope": 685, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -9488,7 +9488,7 @@ "attributes": { "constant": false, "name": "_root", - "scope": 683, + "scope": 674, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -9501,17 +9501,17 @@ "name": "bytes32", "type": "bytes32" }, - "id": 637, + "id": 628, "name": "ElementaryTypeName", "src": "3574:7:2" } ], - "id": 638, + "id": 629, "name": "VariableDeclaration", "src": "3574:13:2" } ], - "id": 639, + "id": 630, "name": "ParameterList", "src": "3573:15:2" }, @@ -9521,7 +9521,7 @@ "attributes": { "constant": false, "name": "", - "scope": 683, + "scope": 674, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -9534,17 +9534,17 @@ "name": "bool", "type": "bool" }, - "id": 640, + "id": 631, "name": "ElementaryTypeName", "src": "3609:4:2" } ], - "id": 641, + "id": 632, "name": "VariableDeclaration", "src": "3609:4:2" } ], - "id": 642, + "id": 633, "name": "ParameterList", "src": "3608:6:2" }, @@ -9576,11 +9576,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 638, + "referencedDeclaration": 629, "type": "bytes32", "value": "_root" }, - "id": 643, + "id": 634, "name": "Identifier", "src": "3625:5:2" }, @@ -9597,12 +9597,12 @@ "type": "int_const 0", "value": "0" }, - "id": 644, + "id": 635, "name": "Literal", "src": "3634:1:2" } ], - "id": 645, + "id": 636, "name": "BinaryOperation", "src": "3625:10:2" }, @@ -9610,7 +9610,7 @@ "children": [ { "attributes": { - "functionReturnParameters": 642 + "functionReturnParameters": 633 }, "children": [ { @@ -9626,29 +9626,29 @@ "type": "bool", "value": "false" }, - "id": 646, + "id": 637, "name": "Literal", "src": "3652:5:2" } ], - "id": 647, + "id": 638, "name": "Return", "src": "3645:12:2" } ], - "id": 648, + "id": 639, "name": "Block", "src": "3637:27:2" } ], - "id": 649, + "id": 640, "name": "IfStatement", "src": "3621:43:2" }, { "attributes": { "assignments": [ - 651 + 642 ] }, "children": [ @@ -9656,7 +9656,7 @@ "attributes": { "constant": false, "name": "i", - "scope": 682, + "scope": 673, "stateVariable": false, "storageLocation": "default", "type": "uint32", @@ -9669,12 +9669,12 @@ "name": "uint32", "type": "uint32" }, - "id": 650, + "id": 641, "name": "ElementaryTypeName", "src": "3669:6:2" } ], - "id": 651, + "id": 642, "name": "VariableDeclaration", "src": "3669:8:2" }, @@ -9684,16 +9684,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 359, + "referencedDeclaration": 350, "type": "uint32", "value": "currentRootIndex" }, - "id": 652, + "id": 643, "name": "Identifier", "src": "3680:16:2" } ], - "id": 653, + "id": 644, "name": "VariableDeclarationStatement", "src": "3669:27:2" }, @@ -9720,11 +9720,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 651, + "referencedDeclaration": 642, "type": "uint32", "value": "i" }, - "id": 676, + "id": 667, "name": "Identifier", "src": "3850:1:2" }, @@ -9734,16 +9734,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 359, + "referencedDeclaration": 350, "type": "uint32", "value": "currentRootIndex" }, - "id": 677, + "id": 668, "name": "Identifier", "src": "3855:16:2" } ], - "id": 678, + "id": 669, "name": "BinaryOperation", "src": "3850:21:2" }, @@ -9775,11 +9775,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 638, + "referencedDeclaration": 629, "type": "bytes32", "value": "_root" }, - "id": 654, + "id": 645, "name": "Identifier", "src": "3717:5:2" }, @@ -9799,11 +9799,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 369, + "referencedDeclaration": 360, "type": "bytes32[100] storage ref", "value": "roots" }, - "id": 655, + "id": 646, "name": "Identifier", "src": "3726:5:2" }, @@ -9813,21 +9813,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 651, + "referencedDeclaration": 642, "type": "uint32", "value": "i" }, - "id": 656, + "id": 647, "name": "Identifier", "src": "3732:1:2" } ], - "id": 657, + "id": 648, "name": "IndexAccess", "src": "3726:8:2" } ], - "id": 658, + "id": 649, "name": "BinaryOperation", "src": "3717:17:2" }, @@ -9835,7 +9835,7 @@ "children": [ { "attributes": { - "functionReturnParameters": 642 + "functionReturnParameters": 633 }, "children": [ { @@ -9851,22 +9851,22 @@ "type": "bool", "value": "true" }, - "id": 659, + "id": 650, "name": "Literal", "src": "3753:4:2" } ], - "id": 660, + "id": 651, "name": "Return", "src": "3746:11:2" } ], - "id": 661, + "id": 652, "name": "Block", "src": "3736:30:2" } ], - "id": 662, + "id": 653, "name": "IfStatement", "src": "3713:53:2" }, @@ -9896,11 +9896,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 651, + "referencedDeclaration": 642, "type": "uint32", "value": "i" }, - "id": 663, + "id": 654, "name": "Identifier", "src": "3777:1:2" }, @@ -9917,12 +9917,12 @@ "type": "int_const 0", "value": "0" }, - "id": 664, + "id": 655, "name": "Literal", "src": "3782:1:2" } ], - "id": 665, + "id": 656, "name": "BinaryOperation", "src": "3777:6:2" }, @@ -9947,11 +9947,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 651, + "referencedDeclaration": 642, "type": "uint32", "value": "i" }, - "id": 666, + "id": 657, "name": "Identifier", "src": "3795:1:2" }, @@ -9961,31 +9961,31 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 365, + "referencedDeclaration": 356, "type": "uint32", "value": "ROOT_HISTORY_SIZE" }, - "id": 667, + "id": 658, "name": "Identifier", "src": "3799:17:2" } ], - "id": 668, + "id": 659, "name": "Assignment", "src": "3795:21:2" } ], - "id": 669, + "id": 660, "name": "ExpressionStatement", "src": "3795:21:2" } ], - "id": 670, + "id": 661, "name": "Block", "src": "3785:40:2" } ], - "id": 671, + "id": 662, "name": "IfStatement", "src": "3773:52:2" }, @@ -10009,37 +10009,37 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 651, + "referencedDeclaration": 642, "type": "uint32", "value": "i" }, - "id": 672, + "id": 663, "name": "Identifier", "src": "3832:1:2" } ], - "id": 673, + "id": 664, "name": "UnaryOperation", "src": "3832:3:2" } ], - "id": 674, + "id": 665, "name": "ExpressionStatement", "src": "3832:3:2" } ], - "id": 675, + "id": 666, "name": "Block", "src": "3705:137:2" } ], - "id": 679, + "id": 670, "name": "DoWhileStatement", "src": "3702:171:2" }, { "attributes": { - "functionReturnParameters": 642 + "functionReturnParameters": 633 }, "children": [ { @@ -10055,22 +10055,22 @@ "type": "bool", "value": "false" }, - "id": 680, + "id": 671, "name": "Literal", "src": "3885:5:2" } ], - "id": 681, + "id": 672, "name": "Return", "src": "3878:12:2" } ], - "id": 682, + "id": 673, "name": "Block", "src": "3615:280:2" } ], - "id": 683, + "id": 674, "name": "FunctionDefinition", "src": "3553:342:2" }, @@ -10084,7 +10084,7 @@ null ], "name": "getLastRoot", - "scope": 694, + "scope": 685, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -10097,7 +10097,7 @@ ] }, "children": [], - "id": 684, + "id": 675, "name": "ParameterList", "src": "3961:2:2" }, @@ -10107,7 +10107,7 @@ "attributes": { "constant": false, "name": "", - "scope": 693, + "scope": 684, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -10120,17 +10120,17 @@ "name": "bytes32", "type": "bytes32" }, - "id": 685, + "id": 676, "name": "ElementaryTypeName", "src": "3984:7:2" } ], - "id": 686, + "id": 677, "name": "VariableDeclaration", "src": "3984:7:2" } ], - "id": 687, + "id": 678, "name": "ParameterList", "src": "3983:9:2" }, @@ -10138,7 +10138,7 @@ "children": [ { "attributes": { - "functionReturnParameters": 687 + "functionReturnParameters": 678 }, "children": [ { @@ -10157,11 +10157,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 369, + "referencedDeclaration": 360, "type": "bytes32[100] storage ref", "value": "roots" }, - "id": 688, + "id": 679, "name": "Identifier", "src": "4006:5:2" }, @@ -10171,41 +10171,41 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 359, + "referencedDeclaration": 350, "type": "uint32", "value": "currentRootIndex" }, - "id": 689, + "id": 680, "name": "Identifier", "src": "4012:16:2" } ], - "id": 690, + "id": 681, "name": "IndexAccess", "src": "4006:23:2" } ], - "id": 691, + "id": 682, "name": "Return", "src": "3999:30:2" } ], - "id": 692, + "id": 683, "name": "Block", "src": "3993:41:2" } ], - "id": 693, + "id": 684, "name": "FunctionDefinition", "src": "3941:93:2" } ], - "id": 694, + "id": 685, "name": "ContractDefinition", "src": "898:3138:2" } ], - "id": 695, + "id": 686, "name": "SourceUnit", "src": "755:3282:2" }, @@ -10215,7 +10215,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-03-14T02:18:33.075Z", + "updatedAt": "2021-04-04T20:21:29.859Z", "devdoc": { "methods": { "getLastRoot()": { diff --git a/client/contracts/MerkleTreeWithHistoryMock.json b/client/contracts/MerkleTreeWithHistoryMock.json index aa12a58..787a7da 100644 --- a/client/contracts/MerkleTreeWithHistoryMock.json +++ b/client/contracts/MerkleTreeWithHistoryMock.json @@ -244,25 +244,25 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_treeLevels\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"FIELD_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ROOT_HISTORY_SIZE\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ZERO_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentRootIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"filledSubtrees\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_right\",\"type\":\"bytes32\"}],\"name\":\"hashLeftRight\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_leaf\",\"type\":\"bytes32\"}],\"name\":\"insert\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"isKnownRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"levels\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roots\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"zeros\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"getLastRoot()\":{\"details\":\"Returns the last root\"},\"hashLeftRight(bytes32,bytes32)\":{\"details\":\"Hash 2 tree leaves, returns MiMC(_left, _right)\"},\"isKnownRoot(bytes32)\":{\"details\":\"Whether the root is present in the root history\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Mocks/MerkleTreeWithHistoryMock.sol\":\"MerkleTreeWithHistoryMock\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/Users/brianli/dotfiles/tornado-core/contracts/Mocks/MerkleTreeWithHistoryMock.sol\":{\"keccak256\":\"0x312301e4c45f6344d9e22fc82bd282d0fe1049574b7b5b6c69e4883b3f4670da\",\"urls\":[\"bzz-raw://ffeb2d0f89ba9ab544cad3a2642b28e915fab7a1a5c8dda822667094889b1395\",\"dweb:/ipfs/QmRhCosnje2aoxyrTdTFGZwy35FVgzYWSeJhfkU5VD4gB9\"]}},\"version\":1}", - "bytecode": "0x6080604052600380546001600160401b031916905534801561002057600080fd5b50604051610bf4380380610bf48339818101604052602081101561004357600080fd5b50518063ffffffff81166100885760405162461bcd60e51b8152600401808060200182810382526027815260200180610b6b6027913960400191505060405180910390fd5b60208163ffffffff16106100cd5760405162461bcd60e51b8152600401808060200182810382526022815260200180610bb26022913960400191505060405180910390fd5b6000805463ffffffff191663ffffffff83161781556002805460018181019092557f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c600080516020610b2a8339815191529091018190558154808301835592829052600080516020610bd48339815191529092018290555b60005463ffffffff90811690821610156101b35761016c82806001600160e01b036101d316565b600280546001818101909255600080516020610b2a83398151915201829055805480820182556000829052600080516020610bd48339815191520182905590925001610145565b506101c781806001600160e01b036101d316565b600455506103b4915050565b6000600080516020610b928339815191528310610237576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b600080516020610b9283398151915282106102835760405162461bcd60e51b8152600401808060200182810382526021815260200180610b4a6021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b1580156102dd57600080fd5b505af41580156102f1573d6000803e3d6000fd5b505050506040513d604081101561030757600080fd5b5080516020909101519092509050600080516020610b92833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b15801561037f57600080fd5b505af4158015610393573d6000803e3d6000fd5b505050506040513d60408110156103a957600080fd5b505195945050505050565b610767806103c36000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063ba70f7571161008c578063e829558811610066578063e8295588146101b7578063ec732959146101d4578063f178e47c146101dc578063fc7e9c6f146101f9576100cf565b8063ba70f7571461018a578063c2b40ae414610192578063cd87a3b4146101af576100cf565b80632d287e43146100d457806338bf282e146100f3578063414a37ba146101285780634ecf518b146101305780636d9833e31461015157806390eeb02b14610182575b600080fd5b6100f1600480360360208110156100ea57600080fd5b5035610201565b005b6101166004803603604081101561010957600080fd5b508035906020013561020e565b60408051918252519081900360200190f35b6101166103ef565b610138610401565b6040805163ffffffff9092168252519081900360200190f35b61016e6004803603602081101561016757600080fd5b503561040d565b604080519115158252519081900360200190f35b610138610480565b61011661048c565b610116600480360360208110156101a857600080fd5b50356104ac565b6101386104c0565b610116600480360360208110156101cd57600080fd5b50356104c5565b6101166104e3565b610116600480360360208110156101f257600080fd5b5035610507565b610138610514565b61020a81610528565b5050565b60006000805160206107138339815191528310610272576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602061071383398151915282106102be5760405162461bcd60e51b81526004018080602001828103825260218152602001806106f26021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b15801561031857600080fd5b505af415801561032c573d6000803e3d6000fd5b505050506040513d604081101561034257600080fd5b5080516020909101519092509050600080516020610713833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b1580156103ba57600080fd5b505af41580156103ce573d6000803e3d6000fd5b505050506040513d60408110156103e457600080fd5b505195945050505050565b60008051602061071383398151915281565b60005463ffffffff1681565b60008161041c5750600061047b565b60035463ffffffff165b60048163ffffffff166064811061043957fe5b015483141561044c57600191505061047b565b63ffffffff811661045b575060645b6003546000199091019063ffffffff808316911614156104265760009150505b919050565b60035463ffffffff1681565b60035460009060049063ffffffff16606481106104a557fe5b0154905090565b600481606481106104b957fe5b0154905081565b606481565b600281815481106104d257fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b600181815481106104d257fe5b600354640100000000900463ffffffff1681565b60035460008054909163ffffffff640100000000909104811691811660020a168114156105865760405162461bcd60e51b815260040180806020018281038252602f8152602001806106c3602f913960400191505060405180910390fd5b6003805463ffffffff64010000000080830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff908116908216101561065f576001851661061b5783925060028163ffffffff16815481106105e957fe5b906000526020600020015491508360018263ffffffff168154811061060a57fe5b60009182526020909120015561063f565b60018163ffffffff168154811061062e57fe5b906000526020600020015492508391505b610649838361020e565b9350600263ffffffff86160494506001016105b7565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106106a157fe5b01555050600354640100000000900463ffffffff166000190194935050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e2062652061646465645f72696768742073686f756c6420626520696e7369646520746865206669656c6430644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a265627a7a72315820007dba4ddee23273020e7af0c562827a4bdc3a6c5b27d9fb8c832f39a54700cb64736f6c63430005110032405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5f72696768742073686f756c6420626520696e7369646520746865206669656c645f747265654c6576656c732073686f756c642062652067726561746572207468616e207a65726f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000015f747265654c6576656c732073686f756c64206265206c657373207468616e203332b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063ba70f7571161008c578063e829558811610066578063e8295588146101b7578063ec732959146101d4578063f178e47c146101dc578063fc7e9c6f146101f9576100cf565b8063ba70f7571461018a578063c2b40ae414610192578063cd87a3b4146101af576100cf565b80632d287e43146100d457806338bf282e146100f3578063414a37ba146101285780634ecf518b146101305780636d9833e31461015157806390eeb02b14610182575b600080fd5b6100f1600480360360208110156100ea57600080fd5b5035610201565b005b6101166004803603604081101561010957600080fd5b508035906020013561020e565b60408051918252519081900360200190f35b6101166103ef565b610138610401565b6040805163ffffffff9092168252519081900360200190f35b61016e6004803603602081101561016757600080fd5b503561040d565b604080519115158252519081900360200190f35b610138610480565b61011661048c565b610116600480360360208110156101a857600080fd5b50356104ac565b6101386104c0565b610116600480360360208110156101cd57600080fd5b50356104c5565b6101166104e3565b610116600480360360208110156101f257600080fd5b5035610507565b610138610514565b61020a81610528565b5050565b60006000805160206107138339815191528310610272576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602061071383398151915282106102be5760405162461bcd60e51b81526004018080602001828103825260218152602001806106f26021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b15801561031857600080fd5b505af415801561032c573d6000803e3d6000fd5b505050506040513d604081101561034257600080fd5b5080516020909101519092509050600080516020610713833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b1580156103ba57600080fd5b505af41580156103ce573d6000803e3d6000fd5b505050506040513d60408110156103e457600080fd5b505195945050505050565b60008051602061071383398151915281565b60005463ffffffff1681565b60008161041c5750600061047b565b60035463ffffffff165b60048163ffffffff166064811061043957fe5b015483141561044c57600191505061047b565b63ffffffff811661045b575060645b6003546000199091019063ffffffff808316911614156104265760009150505b919050565b60035463ffffffff1681565b60035460009060049063ffffffff16606481106104a557fe5b0154905090565b600481606481106104b957fe5b0154905081565b606481565b600281815481106104d257fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b600181815481106104d257fe5b600354640100000000900463ffffffff1681565b60035460008054909163ffffffff640100000000909104811691811660020a168114156105865760405162461bcd60e51b815260040180806020018281038252602f8152602001806106c3602f913960400191505060405180910390fd5b6003805463ffffffff64010000000080830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff908116908216101561065f576001851661061b5783925060028163ffffffff16815481106105e957fe5b906000526020600020015491508360018263ffffffff168154811061060a57fe5b60009182526020909120015561063f565b60018163ffffffff168154811061062e57fe5b906000526020600020015492508391505b610649838361020e565b9350600263ffffffff86160494506001016105b7565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106106a157fe5b01555050600354640100000000900463ffffffff166000190194935050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e2062652061646465645f72696768742073686f756c6420626520696e7369646520746865206669656c6430644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a265627a7a72315820007dba4ddee23273020e7af0c562827a4bdc3a6c5b27d9fb8c832f39a54700cb64736f6c63430005110032", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_treeLevels\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"FIELD_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ROOT_HISTORY_SIZE\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ZERO_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentRootIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"filledSubtrees\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_right\",\"type\":\"bytes32\"}],\"name\":\"hashLeftRight\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_leaf\",\"type\":\"bytes32\"}],\"name\":\"insert\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"isKnownRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"levels\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roots\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"zeros\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"getLastRoot()\":{\"details\":\"Returns the last root\"},\"hashLeftRight(bytes32,bytes32)\":{\"details\":\"Hash 2 tree leaves, returns MiMC(_left, _right)\"},\"isKnownRoot(bytes32)\":{\"details\":\"Whether the root is present in the root history\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/Mocks/MerkleTreeWithHistoryMock.sol\":\"MerkleTreeWithHistoryMock\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/home/home/dotfiles/tornado-core/contracts/Mocks/MerkleTreeWithHistoryMock.sol\":{\"keccak256\":\"0x312301e4c45f6344d9e22fc82bd282d0fe1049574b7b5b6c69e4883b3f4670da\",\"urls\":[\"bzz-raw://ffeb2d0f89ba9ab544cad3a2642b28e915fab7a1a5c8dda822667094889b1395\",\"dweb:/ipfs/QmRhCosnje2aoxyrTdTFGZwy35FVgzYWSeJhfkU5VD4gB9\"]}},\"version\":1}", + "bytecode": "0x6080604052600380546001600160401b031916905534801561002057600080fd5b50604051610bf4380380610bf48339818101604052602081101561004357600080fd5b50518063ffffffff81166100885760405162461bcd60e51b8152600401808060200182810382526027815260200180610b6b6027913960400191505060405180910390fd5b60208163ffffffff16106100cd5760405162461bcd60e51b8152600401808060200182810382526022815260200180610bb26022913960400191505060405180910390fd5b6000805463ffffffff191663ffffffff83161781556002805460018181019092557f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c600080516020610b2a8339815191529091018190558154808301835592829052600080516020610bd48339815191529092018290555b60005463ffffffff90811690821610156101b35761016c82806001600160e01b036101d316565b600280546001818101909255600080516020610b2a83398151915201829055805480820182556000829052600080516020610bd48339815191520182905590925001610145565b506101c781806001600160e01b036101d316565b600455506103b4915050565b6000600080516020610b928339815191528310610237576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b600080516020610b9283398151915282106102835760405162461bcd60e51b8152600401808060200182810382526021815260200180610b4a6021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b1580156102dd57600080fd5b505af41580156102f1573d6000803e3d6000fd5b505050506040513d604081101561030757600080fd5b5080516020909101519092509050600080516020610b92833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b15801561037f57600080fd5b505af4158015610393573d6000803e3d6000fd5b505050506040513d60408110156103a957600080fd5b505195945050505050565b610767806103c36000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063ba70f7571161008c578063e829558811610066578063e8295588146101b7578063ec732959146101d4578063f178e47c146101dc578063fc7e9c6f146101f9576100cf565b8063ba70f7571461018a578063c2b40ae414610192578063cd87a3b4146101af576100cf565b80632d287e43146100d457806338bf282e146100f3578063414a37ba146101285780634ecf518b146101305780636d9833e31461015157806390eeb02b14610182575b600080fd5b6100f1600480360360208110156100ea57600080fd5b5035610201565b005b6101166004803603604081101561010957600080fd5b508035906020013561020e565b60408051918252519081900360200190f35b6101166103ef565b610138610401565b6040805163ffffffff9092168252519081900360200190f35b61016e6004803603602081101561016757600080fd5b503561040d565b604080519115158252519081900360200190f35b610138610480565b61011661048c565b610116600480360360208110156101a857600080fd5b50356104ac565b6101386104c0565b610116600480360360208110156101cd57600080fd5b50356104c5565b6101166104e3565b610116600480360360208110156101f257600080fd5b5035610507565b610138610514565b61020a81610528565b5050565b60006000805160206107138339815191528310610272576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602061071383398151915282106102be5760405162461bcd60e51b81526004018080602001828103825260218152602001806106f26021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b15801561031857600080fd5b505af415801561032c573d6000803e3d6000fd5b505050506040513d604081101561034257600080fd5b5080516020909101519092509050600080516020610713833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b1580156103ba57600080fd5b505af41580156103ce573d6000803e3d6000fd5b505050506040513d60408110156103e457600080fd5b505195945050505050565b60008051602061071383398151915281565b60005463ffffffff1681565b60008161041c5750600061047b565b60035463ffffffff165b60048163ffffffff166064811061043957fe5b015483141561044c57600191505061047b565b63ffffffff811661045b575060645b6003546000199091019063ffffffff808316911614156104265760009150505b919050565b60035463ffffffff1681565b60035460009060049063ffffffff16606481106104a557fe5b0154905090565b600481606481106104b957fe5b0154905081565b606481565b600281815481106104d257fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b600181815481106104d257fe5b600354640100000000900463ffffffff1681565b60035460008054909163ffffffff640100000000909104811691811660020a168114156105865760405162461bcd60e51b815260040180806020018281038252602f8152602001806106c3602f913960400191505060405180910390fd5b6003805463ffffffff64010000000080830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff908116908216101561065f576001851661061b5783925060028163ffffffff16815481106105e957fe5b906000526020600020015491508360018263ffffffff168154811061060a57fe5b60009182526020909120015561063f565b60018163ffffffff168154811061062e57fe5b906000526020600020015492508391505b610649838361020e565b9350600263ffffffff86160494506001016105b7565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106106a157fe5b01555050600354640100000000900463ffffffff166000190194935050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e2062652061646465645f72696768742073686f756c6420626520696e7369646520746865206669656c6430644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a265627a7a723158205ed33b70136b5cf0db4f05b69679e2bb9e6c6467a5dae6bfb95fe7e35024fb1364736f6c63430005110032405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5f72696768742073686f756c6420626520696e7369646520746865206669656c645f747265654c6576656c732073686f756c642062652067726561746572207468616e207a65726f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000015f747265654c6576656c732073686f756c64206265206c657373207468616e203332b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063ba70f7571161008c578063e829558811610066578063e8295588146101b7578063ec732959146101d4578063f178e47c146101dc578063fc7e9c6f146101f9576100cf565b8063ba70f7571461018a578063c2b40ae414610192578063cd87a3b4146101af576100cf565b80632d287e43146100d457806338bf282e146100f3578063414a37ba146101285780634ecf518b146101305780636d9833e31461015157806390eeb02b14610182575b600080fd5b6100f1600480360360208110156100ea57600080fd5b5035610201565b005b6101166004803603604081101561010957600080fd5b508035906020013561020e565b60408051918252519081900360200190f35b6101166103ef565b610138610401565b6040805163ffffffff9092168252519081900360200190f35b61016e6004803603602081101561016757600080fd5b503561040d565b604080519115158252519081900360200190f35b610138610480565b61011661048c565b610116600480360360208110156101a857600080fd5b50356104ac565b6101386104c0565b610116600480360360208110156101cd57600080fd5b50356104c5565b6101166104e3565b610116600480360360208110156101f257600080fd5b5035610507565b610138610514565b61020a81610528565b5050565b60006000805160206107138339815191528310610272576040805162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015290519081900360640190fd5b60008051602061071383398151915282106102be5760405162461bcd60e51b81526004018080602001828103825260218152602001806106f26021913960400191505060405180910390fd5b6040805163f47d33b560e01b81526004810185905260006024820181905282518693919273__Hasher________________________________9263f47d33b592604480840193829003018186803b15801561031857600080fd5b505af415801561032c573d6000803e3d6000fd5b505050506040513d604081101561034257600080fd5b5080516020909101519092509050600080516020610713833981519152848308915073__Hasher________________________________63f47d33b583836040518363ffffffff1660e01b81526004018083815260200182815260200192505050604080518083038186803b1580156103ba57600080fd5b505af41580156103ce573d6000803e3d6000fd5b505050506040513d60408110156103e457600080fd5b505195945050505050565b60008051602061071383398151915281565b60005463ffffffff1681565b60008161041c5750600061047b565b60035463ffffffff165b60048163ffffffff166064811061043957fe5b015483141561044c57600191505061047b565b63ffffffff811661045b575060645b6003546000199091019063ffffffff808316911614156104265760009150505b919050565b60035463ffffffff1681565b60035460009060049063ffffffff16606481106104a557fe5b0154905090565b600481606481106104b957fe5b0154905081565b606481565b600281815481106104d257fe5b600091825260209091200154905081565b7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b600181815481106104d257fe5b600354640100000000900463ffffffff1681565b60035460008054909163ffffffff640100000000909104811691811660020a168114156105865760405162461bcd60e51b815260040180806020018281038252602f8152602001806106c3602f913960400191505060405180910390fd5b6003805463ffffffff64010000000080830482166001019091160267ffffffff000000001990911617905582600080805b60005463ffffffff908116908216101561065f576001851661061b5783925060028163ffffffff16815481106105e957fe5b906000526020600020015491508360018263ffffffff168154811061060a57fe5b60009182526020909120015561063f565b60018163ffffffff168154811061062e57fe5b906000526020600020015492508391505b610649838361020e565b9350600263ffffffff86160494506001016105b7565b5060035460649063ffffffff908116600101166003805463ffffffff19169290910663ffffffff9081169290921790819055849160049116606481106106a157fe5b01555050600354640100000000900463ffffffff166000190194935050505056fe4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656166732063616e2062652061646465645f72696768742073686f756c6420626520696e7369646520746865206669656c6430644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a265627a7a723158205ed33b70136b5cf0db4f05b69679e2bb9e6c6467a5dae6bfb95fe7e35024fb1364736f6c63430005110032", "sourceMap": "65:213:7:-;;;1430:34:2;;;-1:-1:-1;;;;;;1468:27:2;;;130:77:7;5:2:-1;;;;30:1;27;20:12;5:2;130:77:7;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;130:77:7;;1646:15:2;;;1638:67;;;;-1:-1:-1;;;1638:67:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:2;1719:11;:16;;;1711:63;;;;-1:-1:-1;;;1711:63:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:6;:20;;-1:-1:-1;;1780:20:2;;;;;;;1854:5;27:10:-1;;-1:-1;23:18;;;45:23;;;1088:77:2;-1:-1:-1;;;;;;;;;;;1854:23:2;;;;;;27:10:-1;;23:18;;;45:23;;1883:32:2;;;;-1:-1:-1;;;;;;;;;;;1883:32:2;;;;;;1922:175;1945:6;;;;;;1941:10;;;;1922:175;;;1980:39;1994:11;;-1:-1:-1;;;;;1980:13:2;:39;:::i;:::-;2027:5;27:10:-1;;39:1;23:18;;;45:23;;;-1:-1;;;;;;;;;;;2027:23:2;;;;27:10:-1;;23:18;;;45:23;;-1:-1;2058:32:2;;;-1:-1:-1;;;;;;;;;;;2058:32:2;;;;1966:53;;-1:-1:-1;1953:3:2;1922:175;;;-1:-1:-1;2114:39:2;2128:11;;-1:-1:-1;;;;;2114:13:2;:39;:::i;:::-;2103:5;:50;-1:-1:-1;65:213:7;;-1:-1:-1;;65:213:7;2230:445:2;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:2;;2320:72;;;;;-1:-1:-1;;;2320:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:2;;2398:74;;;;-1:-1:-1;;;2398:74:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:2;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:2;;;;;;;;;-1:-1:-1;2538:23:2;-1:-1:-1;;;;;;;;;;;;2589:6:2;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:2;;2230:445;-1:-1:-1;;;;;2230:445:2:o;65:213:7:-;;;;;;;", "deployedSourceMap": "65:213:7:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;65:213:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;211:65;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;211:65:7;;:::i;:::-;;2230:445:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2230:445:2;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;933:114;;;:::i;1209:20::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3553:342;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3553:342:2;;:::i;:::-;;;;;;;;;;;;;;;;;;1430:34;;;:::i;3941:93::-;;;:::i;1549:39::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1549:39:2;;:::i;1499:46::-;;;:::i;1404:22::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1404:22:2;;:::i;1051:114::-;;;:::i;1369:31::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1369:31:2;;:::i;1468:27::-;;;:::i;211:65:7:-;257:14;265:5;257:7;:14::i;:::-;;211:65;:::o;2230:445:2:-;2305:7;-1:-1:-1;;;;;;;;;;;2328:27:2;;2320:72;;;;;-1:-1:-1;;;2320:72:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2406:28:2;;2398:74;;;;-1:-1:-1;;;2398:74:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:23;;;-1:-1:-1;;;2538:23:2;;;;;;;;2478:9;2538:23;;;;;;;;2498:5;;2478:9;;2538:6;;:17;;:23;;;;;;;;;;:6;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;2538:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2538:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2538:23:2;;;;;;;;;-1:-1:-1;2538:23:2;-1:-1:-1;;;;;;;;;;;;2589:6:2;2578:1;2571:38;2567:42;;2624:6;:17;2642:1;2645;2624:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2624:23:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2624:23:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2624:23:2;;2230:445;-1:-1:-1;;;;;2230:445:2:o;933:114::-;-1:-1:-1;;;;;;;;;;;933:114:2;:::o;1209:20::-;;;;;;:::o;3553:342::-;3609:4;3625:10;3621:43;;-1:-1:-1;3652:5:2;3645:12;;3621:43;3680:16;;;;3702:171;3726:5;3732:1;3726:8;;;;;;;;;;;3717:5;:17;3713:53;;;3753:4;3746:11;;;;;3713:53;3777:6;;;3773:52;;-1:-1:-1;1542:3:2;3773:52;3855:16;;-1:-1:-1;;3832:3:2;;;;3855:16;3850:21;;;3855:16;;3850:21;;3702:171;;3885:5;3878:12;;;3553:342;;;;:::o;1430:34::-;;;;;;:::o;3941:93::-;4012:16;;3984:7;;4006:5;;4012:16;;4006:23;;;;;;;;;3999:30;;3941:93;:::o;1549:39::-;;;;;;;;;;;;;-1:-1:-1;1549:39:2;:::o;1499:46::-;1542:3;1499:46;:::o;1404:22::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1404:22:2;:::o;1051:114::-;1088:77;1051:114;:::o;1369:31::-;;;;;;;;;;1468:27;;;;;;;;;:::o;2679:802::-;2770:9;;2728:12;2820:6;;2728:12;;2770:9;;;;;;;;2820:6;;2816:1;2809:17;2793:33;;;;2785:93;;;;-1:-1:-1;;;2785:93:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2884:9;:14;;;;;;;;;2897:1;2884:14;;;;;-1:-1:-1;;2884:14:2;;;;;;2931:5;-1:-1:-1;;;2980:355:2;3003:6;;;;;;2999:10;;;;2980:355;;;3028:16;;;3024:225;;3068:16;3061:23;;3102:5;3108:1;3102:8;;;;;;;;;;;;;;;;;;3094:16;;3141;3121:14;3136:1;3121:17;;;;;;;;;;;;;;;;;;;:36;3024:225;;;3189:14;3204:1;3189:17;;;;;;;;;;;;;;;;;;3182:24;;3224:16;3216:24;;3024:225;3276:26;3290:4;3296:5;3276:13;:26::i;:::-;3257:45;-1:-1:-1;3327:1:2;3311:17;;;;;-1:-1:-1;3011:3:2;;2980:355;;;-1:-1:-1;3361:16:2;;1542:3;;3360:42;3361:16;;;;:20;3360:42;3341:16;:61;;-1:-1:-1;;3341:61:2;3360:42;;;;3341:61;;;;;;;;;;;;3434:16;;3408:5;;3414:16;3408:23;;;;;;;;:42;-1:-1:-1;;3463:9:2;;;;;;;-1:-1:-1;;3463:13:2;;2679:802;-1:-1:-1;;;;2679:802:2:o", "source": "pragma solidity 0.5.17;\n\nimport '../MerkleTreeWithHistory.sol';\n\ncontract MerkleTreeWithHistoryMock is MerkleTreeWithHistory {\n\n constructor (uint32 _treeLevels) MerkleTreeWithHistory(_treeLevels) public {}\n\n function insert(bytes32 _leaf) public {\n _insert(_leaf);\n }\n}\n", - "sourcePath": "/Users/brianli/dotfiles/tornado-core/contracts/Mocks/MerkleTreeWithHistoryMock.sol", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/Mocks/MerkleTreeWithHistoryMock.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Mocks/MerkleTreeWithHistoryMock.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Mocks/MerkleTreeWithHistoryMock.sol", "exportedSymbols": { "MerkleTreeWithHistoryMock": [ - 875 + 866 ] }, - "id": 876, + "id": 867, "nodeType": "SourceUnit", "nodes": [ { - "id": 852, + "id": 843, "literals": [ "solidity", "0.5", @@ -272,12 +272,12 @@ "src": "0:23:7" }, { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", "file": "../MerkleTreeWithHistory.sol", - "id": 853, + "id": 844, "nodeType": "ImportDirective", - "scope": 876, - "sourceUnit": 695, + "scope": 867, + "sourceUnit": 686, "src": "25:38:7", "symbolAliases": [], "unitAlias": "" @@ -288,44 +288,44 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 854, + "id": 845, "name": "MerkleTreeWithHistory", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 694, + "referencedDeclaration": 685, "src": "103:21:7", "typeDescriptions": { - "typeIdentifier": "t_contract$_MerkleTreeWithHistory_$694", + "typeIdentifier": "t_contract$_MerkleTreeWithHistory_$685", "typeString": "contract MerkleTreeWithHistory" } }, - "id": 855, + "id": 846, "nodeType": "InheritanceSpecifier", "src": "103:21:7" } ], "contractDependencies": [ - 694 + 685 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 875, + "id": 866, "linearizedBaseContracts": [ - 875, - 694 + 866, + 685 ], "name": "MerkleTreeWithHistoryMock", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 863, + "id": 854, "nodeType": "Block", "src": "205:2:7", "statements": [] }, "documentation": null, - "id": 864, + "id": 855, "implemented": true, "kind": "constructor", "modifiers": [ @@ -333,11 +333,11 @@ "arguments": [ { "argumentTypes": null, - "id": 860, + "id": 851, "name": "_treeLevels", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 857, + "referencedDeclaration": 848, "src": "185:11:7", "typeDescriptions": { "typeIdentifier": "t_uint32", @@ -345,17 +345,17 @@ } } ], - "id": 861, + "id": 852, "modifierName": { "argumentTypes": null, - "id": 859, + "id": 850, "name": "MerkleTreeWithHistory", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 694, + "referencedDeclaration": 685, "src": "163:21:7", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_MerkleTreeWithHistory_$694_$", + "typeIdentifier": "t_type$_t_contract$_MerkleTreeWithHistory_$685_$", "typeString": "type(contract MerkleTreeWithHistory)" } }, @@ -366,15 +366,15 @@ "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 858, + "id": 849, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 857, + "id": 848, "name": "_treeLevels", "nodeType": "VariableDeclaration", - "scope": 864, + "scope": 855, "src": "143:18:7", "stateVariable": false, "storageLocation": "default", @@ -383,7 +383,7 @@ "typeString": "uint32" }, "typeName": { - "id": 856, + "id": 847, "name": "uint32", "nodeType": "ElementaryTypeName", "src": "143:6:7", @@ -399,12 +399,12 @@ "src": "142:20:7" }, "returnParameters": { - "id": 862, + "id": 853, "nodeType": "ParameterList", "parameters": [], "src": "205:0:7" }, - "scope": 875, + "scope": 866, "src": "130:77:7", "stateMutability": "nonpayable", "superFunction": null, @@ -412,7 +412,7 @@ }, { "body": { - "id": 873, + "id": 864, "nodeType": "Block", "src": "249:27:7", "statements": [ @@ -422,11 +422,11 @@ "arguments": [ { "argumentTypes": null, - "id": 870, + "id": 861, "name": "_leaf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 866, + "referencedDeclaration": 857, "src": "265:5:7", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -441,18 +441,18 @@ "typeString": "bytes32" } ], - "id": 869, + "id": 860, "name": "_insert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 636, + "referencedDeclaration": 627, "src": "257:7:7", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_uint32_$", "typeString": "function (bytes32) returns (uint32)" } }, - "id": 871, + "id": 862, "isConstant": false, "isLValue": false, "isPure": false, @@ -466,29 +466,29 @@ "typeString": "uint32" } }, - "id": 872, + "id": 863, "nodeType": "ExpressionStatement", "src": "257:14:7" } ] }, "documentation": null, - "id": 874, + "id": 865, "implemented": true, "kind": "function", "modifiers": [], "name": "insert", "nodeType": "FunctionDefinition", "parameters": { - "id": 867, + "id": 858, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 866, + "id": 857, "name": "_leaf", "nodeType": "VariableDeclaration", - "scope": 874, + "scope": 865, "src": "227:13:7", "stateVariable": false, "storageLocation": "default", @@ -497,7 +497,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 865, + "id": 856, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "227:7:7", @@ -513,19 +513,19 @@ "src": "226:15:7" }, "returnParameters": { - "id": 868, + "id": 859, "nodeType": "ParameterList", "parameters": [], "src": "249:0:7" }, - "scope": 875, + "scope": 866, "src": "211:65:7", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 876, + "scope": 867, "src": "65:213:7" } ], @@ -533,10 +533,10 @@ }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Mocks/MerkleTreeWithHistoryMock.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Mocks/MerkleTreeWithHistoryMock.sol", "exportedSymbols": { "MerkleTreeWithHistoryMock": [ - 875 + 866 ] } }, @@ -549,39 +549,39 @@ ".17" ] }, - "id": 852, + "id": 843, "name": "PragmaDirective", "src": "0:23:7" }, { "attributes": { - "SourceUnit": 695, - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", + "SourceUnit": 686, + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", "file": "../MerkleTreeWithHistory.sol", - "scope": 876, + "scope": 867, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 853, + "id": 844, "name": "ImportDirective", "src": "25:38:7" }, { "attributes": { "contractDependencies": [ - 694 + 685 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ - 875, - 694 + 866, + 685 ], "name": "MerkleTreeWithHistoryMock", - "scope": 876 + "scope": 867 }, "children": [ { @@ -593,15 +593,15 @@ "attributes": { "contractScope": null, "name": "MerkleTreeWithHistory", - "referencedDeclaration": 694, + "referencedDeclaration": 685, "type": "contract MerkleTreeWithHistory" }, - "id": 854, + "id": 845, "name": "UserDefinedTypeName", "src": "103:21:7" } ], - "id": 855, + "id": 846, "name": "InheritanceSpecifier", "src": "103:21:7" }, @@ -612,7 +612,7 @@ "isConstructor": true, "kind": "constructor", "name": "", - "scope": 875, + "scope": 866, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -624,7 +624,7 @@ "attributes": { "constant": false, "name": "_treeLevels", - "scope": 864, + "scope": 855, "stateVariable": false, "storageLocation": "default", "type": "uint32", @@ -637,17 +637,17 @@ "name": "uint32", "type": "uint32" }, - "id": 856, + "id": 847, "name": "ElementaryTypeName", "src": "143:6:7" } ], - "id": 857, + "id": 848, "name": "VariableDeclaration", "src": "143:18:7" } ], - "id": 858, + "id": 849, "name": "ParameterList", "src": "142:20:7" }, @@ -658,7 +658,7 @@ ] }, "children": [], - "id": 862, + "id": 853, "name": "ParameterList", "src": "205:0:7" }, @@ -670,11 +670,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 694, + "referencedDeclaration": 685, "type": "type(contract MerkleTreeWithHistory)", "value": "MerkleTreeWithHistory" }, - "id": 859, + "id": 850, "name": "Identifier", "src": "163:21:7" }, @@ -684,16 +684,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 857, + "referencedDeclaration": 848, "type": "uint32", "value": "_treeLevels" }, - "id": 860, + "id": 851, "name": "Identifier", "src": "185:11:7" } ], - "id": 861, + "id": 852, "name": "ModifierInvocation", "src": "163:34:7" }, @@ -704,12 +704,12 @@ ] }, "children": [], - "id": 863, + "id": 854, "name": "Block", "src": "205:2:7" } ], - "id": 864, + "id": 855, "name": "FunctionDefinition", "src": "130:77:7" }, @@ -723,7 +723,7 @@ null ], "name": "insert", - "scope": 875, + "scope": 866, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -735,7 +735,7 @@ "attributes": { "constant": false, "name": "_leaf", - "scope": 874, + "scope": 865, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -748,17 +748,17 @@ "name": "bytes32", "type": "bytes32" }, - "id": 865, + "id": 856, "name": "ElementaryTypeName", "src": "227:7:7" } ], - "id": 866, + "id": 857, "name": "VariableDeclaration", "src": "227:13:7" } ], - "id": 867, + "id": 858, "name": "ParameterList", "src": "226:15:7" }, @@ -769,7 +769,7 @@ ] }, "children": [], - "id": 868, + "id": 859, "name": "ParameterList", "src": "249:0:7" }, @@ -803,11 +803,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 636, + "referencedDeclaration": 627, "type": "function (bytes32) returns (uint32)", "value": "_insert" }, - "id": 869, + "id": 860, "name": "Identifier", "src": "257:7:7" }, @@ -817,41 +817,41 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 866, + "referencedDeclaration": 857, "type": "bytes32", "value": "_leaf" }, - "id": 870, + "id": 861, "name": "Identifier", "src": "265:5:7" } ], - "id": 871, + "id": 862, "name": "FunctionCall", "src": "257:14:7" } ], - "id": 872, + "id": 863, "name": "ExpressionStatement", "src": "257:14:7" } ], - "id": 873, + "id": 864, "name": "Block", "src": "249:27:7" } ], - "id": 874, + "id": 865, "name": "FunctionDefinition", "src": "211:65:7" } ], - "id": 875, + "id": 866, "name": "ContractDefinition", "src": "65:213:7" } ], - "id": 876, + "id": 867, "name": "SourceUnit", "src": "0:279:7" }, @@ -861,7 +861,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-03-14T02:18:33.088Z", + "updatedAt": "2021-04-04T20:21:29.866Z", "devdoc": { "methods": { "getLastRoot()": { diff --git a/client/contracts/Migrations.json b/client/contracts/Migrations.json index f827627..819b117 100644 --- a/client/contracts/Migrations.json +++ b/client/contracts/Migrations.json @@ -68,25 +68,25 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"last_completed_migration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"new_address\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Migrations.sol\":{\"keccak256\":\"0xfdb731592344e2a2890faf03baec7b4bee7057ffba18ba6dbb6eec8db85f8f4c\",\"urls\":[\"bzz-raw://f9b488bbb84816dd04c1b155e943319758db16ee943943648fb264bccecc9879\",\"dweb:/ipfs/QmbW34mYrj3uLteyHf3S46pnp9bnwovtCXHbdBHfzMkSZx\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101b3806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100795780638da5cb5b14610093578063fdacd576146100b7575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100d4565b005b610081610151565b60408051918252519081900360200190f35b61009b610157565b604080516001600160a01b039092168252519081900360200190f35b610077600480360360208110156100cd57600080fd5b5035610166565b6000546001600160a01b031633141561014e576000819050806001600160a01b031663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561013457600080fd5b505af1158015610148573d6000803e3d6000fd5b50505050505b50565b60015481565b6000546001600160a01b031681565b6000546001600160a01b031633141561014e5760015556fea265627a7a723158209a6b5459516c8aa973ed4210cc68833f0475c21f171f7de2738387db3f94fbc464736f6c63430005110032", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100795780638da5cb5b14610093578063fdacd576146100b7575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100d4565b005b610081610151565b60408051918252519081900360200190f35b61009b610157565b604080516001600160a01b039092168252519081900360200190f35b610077600480360360208110156100cd57600080fd5b5035610166565b6000546001600160a01b031633141561014e576000819050806001600160a01b031663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561013457600080fd5b505af1158015610148573d6000803e3d6000fd5b50505050505b50565b60015481565b6000546001600160a01b031681565b6000546001600160a01b031633141561014e5760015556fea265627a7a723158209a6b5459516c8aa973ed4210cc68833f0475c21f171f7de2738387db3f94fbc464736f6c63430005110032", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":true,\"inputs\":[],\"name\":\"last_completed_migration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"new_address\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/Migrations.sol\":{\"keccak256\":\"0xfdb731592344e2a2890faf03baec7b4bee7057ffba18ba6dbb6eec8db85f8f4c\",\"urls\":[\"bzz-raw://f9b488bbb84816dd04c1b155e943319758db16ee943943648fb264bccecc9879\",\"dweb:/ipfs/QmbW34mYrj3uLteyHf3S46pnp9bnwovtCXHbdBHfzMkSZx\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101b3806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100795780638da5cb5b14610093578063fdacd576146100b7575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100d4565b005b610081610151565b60408051918252519081900360200190f35b61009b610157565b604080516001600160a01b039092168252519081900360200190f35b610077600480360360208110156100cd57600080fd5b5035610166565b6000546001600160a01b031633141561014e576000819050806001600160a01b031663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561013457600080fd5b505af1158015610148573d6000803e3d6000fd5b50505050505b50565b60015481565b6000546001600160a01b031681565b6000546001600160a01b031633141561014e5760015556fea265627a7a72315820e0c01324c568415022a1fcd7b8a0a45cde13e101f75d53e757266df0e681e50864736f6c63430005110032", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100795780638da5cb5b14610093578063fdacd576146100b7575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100d4565b005b610081610151565b60408051918252519081900360200190f35b61009b610157565b604080516001600160a01b039092168252519081900360200190f35b610077600480360360208110156100cd57600080fd5b5035610166565b6000546001600160a01b031633141561014e576000819050806001600160a01b031663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561013457600080fd5b505af1158015610148573d6000803e3d6000fd5b50505050505b50565b60015481565b6000546001600160a01b031681565b6000546001600160a01b031633141561014e5760015556fea265627a7a72315820e0c01324c568415022a1fcd7b8a0a45cde13e101f75d53e757266df0e681e50864736f6c63430005110032", "sourceMap": "34:480:3:-;;;123:50;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;150:5:3;:18;;-1:-1:-1;;;;;;150:18:3;158:10;150:18;;;34:480;;;;;;", "deployedSourceMap": "34:480:3:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;34:480:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;347:165;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;347:165:3;-1:-1:-1;;;;;347:165:3;;:::i;:::-;;82:36;;;:::i;:::-;;;;;;;;;;;;;;;;58:20;;;:::i;:::-;;;;-1:-1:-1;;;;;58:20:3;;;;;;;;;;;;;;240:103;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;240:103:3;;:::i;347:165::-;223:5;;-1:-1:-1;;;;;223:5:3;209:10;:19;205:26;;;409:19;442:11;409:45;;460:8;-1:-1:-1;;;;;460:21:3;;482:24;;460:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:47:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;460:47:3;;;;230:1;205:26;347:165;:::o;82:36::-;;;;:::o;58:20::-;;;-1:-1:-1;;;;;58:20:3;;:::o;240:103::-;223:5;;-1:-1:-1;;;;;223:5:3;209:10;:19;205:26;;;302:24;:36;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": "/Users/brianli/dotfiles/tornado-core/contracts/Migrations.sol", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/Migrations.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Migrations.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Migrations.sol", "exportedSymbols": { "Migrations": [ - 751 + 742 ] }, - "id": 752, + "id": 743, "nodeType": "SourceUnit", "nodes": [ { - "id": 696, + "id": 687, "literals": [ "solidity", ">=", @@ -105,19 +105,19 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 751, + "id": 742, "linearizedBaseContracts": [ - 751 + 742 ], "name": "Migrations", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 698, + "id": 689, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 751, + "scope": 742, "src": "58:20:3", "stateVariable": true, "storageLocation": "default", @@ -126,7 +126,7 @@ "typeString": "address" }, "typeName": { - "id": 697, + "id": 688, "name": "address", "nodeType": "ElementaryTypeName", "src": "58:7:3", @@ -141,10 +141,10 @@ }, { "constant": false, - "id": 700, + "id": 691, "name": "last_completed_migration", "nodeType": "VariableDeclaration", - "scope": 751, + "scope": 742, "src": "82:36:3", "stateVariable": true, "storageLocation": "default", @@ -153,7 +153,7 @@ "typeString": "uint256" }, "typeName": { - "id": 699, + "id": 690, "name": "uint", "nodeType": "ElementaryTypeName", "src": "82:4:3", @@ -167,25 +167,25 @@ }, { "body": { - "id": 708, + "id": 699, "nodeType": "Block", "src": "144:29:3", "statements": [ { "expression": { "argumentTypes": null, - "id": 706, + "id": 697, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 703, + "id": 694, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 698, + "referencedDeclaration": 689, "src": "150:5:3", "typeDescriptions": { "typeIdentifier": "t_address", @@ -198,18 +198,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 704, + "id": 695, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3260, + "referencedDeclaration": 3270, "src": "158:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 705, + "id": 696, "isConstant": false, "isLValue": false, "isPure": false, @@ -229,32 +229,32 @@ "typeString": "address" } }, - "id": 707, + "id": 698, "nodeType": "ExpressionStatement", "src": "150:18:3" } ] }, "documentation": null, - "id": 709, + "id": 700, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 701, + "id": 692, "nodeType": "ParameterList", "parameters": [], "src": "134:2:3" }, "returnParameters": { - "id": 702, + "id": 693, "nodeType": "ParameterList", "parameters": [], "src": "144:0:3" }, - "scope": 751, + "scope": 742, "src": "123:50:3", "stateMutability": "nonpayable", "superFunction": null, @@ -262,7 +262,7 @@ }, { "body": { - "id": 717, + "id": 708, "nodeType": "Block", "src": "199:37:3", "statements": [ @@ -273,7 +273,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 714, + "id": 705, "isConstant": false, "isLValue": false, "isPure": false, @@ -282,18 +282,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 711, + "id": 702, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3260, + "referencedDeclaration": 3270, "src": "209:3:3", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 712, + "id": 703, "isConstant": false, "isLValue": false, "isPure": false, @@ -311,11 +311,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 713, + "id": 704, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 698, + "referencedDeclaration": 689, "src": "223:5:3", "typeDescriptions": { "typeIdentifier": "t_address", @@ -329,11 +329,11 @@ } }, "falseBody": null, - "id": 716, + "id": 707, "nodeType": "IfStatement", "src": "205:26:3", "trueBody": { - "id": 715, + "id": 706, "nodeType": "PlaceholderStatement", "src": "230:1:3" } @@ -341,11 +341,11 @@ ] }, "documentation": null, - "id": 718, + "id": 709, "name": "restricted", "nodeType": "ModifierDefinition", "parameters": { - "id": 710, + "id": 701, "nodeType": "ParameterList", "parameters": [], "src": "196:2:3" @@ -355,25 +355,25 @@ }, { "body": { - "id": 729, + "id": 720, "nodeType": "Block", "src": "296:47:3", "statements": [ { "expression": { "argumentTypes": null, - "id": 727, + "id": 718, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 725, + "id": 716, "name": "last_completed_migration", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, + "referencedDeclaration": 691, "src": "302:24:3", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -384,11 +384,11 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 726, + "id": 717, "name": "completed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, + "referencedDeclaration": 711, "src": "329:9:3", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -401,27 +401,27 @@ "typeString": "uint256" } }, - "id": 728, + "id": 719, "nodeType": "ExpressionStatement", "src": "302:36:3" } ] }, "documentation": null, - "id": 730, + "id": 721, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 723, + "id": 714, "modifierName": { "argumentTypes": null, - "id": 722, + "id": 713, "name": "restricted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 718, + "referencedDeclaration": 709, "src": "285:10:3", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -435,15 +435,15 @@ "name": "setCompleted", "nodeType": "FunctionDefinition", "parameters": { - "id": 721, + "id": 712, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 720, + "id": 711, "name": "completed", "nodeType": "VariableDeclaration", - "scope": 730, + "scope": 721, "src": "262:14:3", "stateVariable": false, "storageLocation": "default", @@ -452,7 +452,7 @@ "typeString": "uint256" }, "typeName": { - "id": 719, + "id": 710, "name": "uint", "nodeType": "ElementaryTypeName", "src": "262:4:3", @@ -468,12 +468,12 @@ "src": "261:16:3" }, "returnParameters": { - "id": 724, + "id": 715, "nodeType": "ParameterList", "parameters": [], "src": "296:0:3" }, - "scope": 751, + "scope": 742, "src": "240:103:3", "stateMutability": "nonpayable", "superFunction": null, @@ -481,37 +481,37 @@ }, { "body": { - "id": 749, + "id": 740, "nodeType": "Block", "src": "403:109:3", "statements": [ { "assignments": [ - 738 + 729 ], "declarations": [ { "constant": false, - "id": 738, + "id": 729, "name": "upgraded", "nodeType": "VariableDeclaration", - "scope": 749, + "scope": 740, "src": "409:19:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$751", + "typeIdentifier": "t_contract$_Migrations_$742", "typeString": "contract Migrations" }, "typeName": { "contractScope": null, - "id": 737, + "id": 728, "name": "Migrations", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 751, + "referencedDeclaration": 742, "src": "409:10:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$751", + "typeIdentifier": "t_contract$_Migrations_$742", "typeString": "contract Migrations" } }, @@ -519,17 +519,17 @@ "visibility": "internal" } ], - "id": 742, + "id": 733, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 740, + "id": 731, "name": "new_address", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 732, + "referencedDeclaration": 723, "src": "442:11:3", "typeDescriptions": { "typeIdentifier": "t_address", @@ -544,18 +544,18 @@ "typeString": "address" } ], - "id": 739, + "id": 730, "name": "Migrations", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 751, + "referencedDeclaration": 742, "src": "431:10:3", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Migrations_$751_$", + "typeIdentifier": "t_type$_t_contract$_Migrations_$742_$", "typeString": "type(contract Migrations)" } }, - "id": 741, + "id": 732, "isConstant": false, "isLValue": false, "isPure": false, @@ -565,7 +565,7 @@ "nodeType": "FunctionCall", "src": "431:23:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$751", + "typeIdentifier": "t_contract$_Migrations_$742", "typeString": "contract Migrations" } }, @@ -578,11 +578,11 @@ "arguments": [ { "argumentTypes": null, - "id": 746, + "id": 737, "name": "last_completed_migration", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 700, + "referencedDeclaration": 691, "src": "482:24:3", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -599,32 +599,32 @@ ], "expression": { "argumentTypes": null, - "id": 743, + "id": 734, "name": "upgraded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 738, + "referencedDeclaration": 729, "src": "460:8:3", "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$751", + "typeIdentifier": "t_contract$_Migrations_$742", "typeString": "contract Migrations" } }, - "id": 745, + "id": 736, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "setCompleted", "nodeType": "MemberAccess", - "referencedDeclaration": 730, + "referencedDeclaration": 721, "src": "460:21:3", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256) external" } }, - "id": 747, + "id": 738, "isConstant": false, "isLValue": false, "isPure": false, @@ -638,27 +638,27 @@ "typeString": "tuple()" } }, - "id": 748, + "id": 739, "nodeType": "ExpressionStatement", "src": "460:47:3" } ] }, "documentation": null, - "id": 750, + "id": 741, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 735, + "id": 726, "modifierName": { "argumentTypes": null, - "id": 734, + "id": 725, "name": "restricted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 718, + "referencedDeclaration": 709, "src": "392:10:3", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -672,15 +672,15 @@ "name": "upgrade", "nodeType": "FunctionDefinition", "parameters": { - "id": 733, + "id": 724, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 732, + "id": 723, "name": "new_address", "nodeType": "VariableDeclaration", - "scope": 750, + "scope": 741, "src": "364:19:3", "stateVariable": false, "storageLocation": "default", @@ -689,7 +689,7 @@ "typeString": "address" }, "typeName": { - "id": 731, + "id": 722, "name": "address", "nodeType": "ElementaryTypeName", "src": "364:7:3", @@ -706,19 +706,19 @@ "src": "363:21:3" }, "returnParameters": { - "id": 736, + "id": 727, "nodeType": "ParameterList", "parameters": [], "src": "403:0:3" }, - "scope": 751, + "scope": 742, "src": "347:165:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 752, + "scope": 743, "src": "34:480:3" } ], @@ -726,10 +726,10 @@ }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Migrations.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Migrations.sol", "exportedSymbols": { "Migrations": [ - 751 + 742 ] } }, @@ -746,7 +746,7 @@ ".0" ] }, - "id": 696, + "id": 687, "name": "PragmaDirective", "src": "0:32:3" }, @@ -762,17 +762,17 @@ "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ - 751 + 742 ], "name": "Migrations", - "scope": 752 + "scope": 743 }, "children": [ { "attributes": { "constant": false, "name": "owner", - "scope": 751, + "scope": 742, "stateVariable": true, "storageLocation": "default", "type": "address", @@ -786,12 +786,12 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 697, + "id": 688, "name": "ElementaryTypeName", "src": "58:7:3" } ], - "id": 698, + "id": 689, "name": "VariableDeclaration", "src": "58:20:3" }, @@ -799,7 +799,7 @@ "attributes": { "constant": false, "name": "last_completed_migration", - "scope": 751, + "scope": 742, "stateVariable": true, "storageLocation": "default", "type": "uint256", @@ -812,12 +812,12 @@ "name": "uint", "type": "uint256" }, - "id": 699, + "id": 690, "name": "ElementaryTypeName", "src": "82:4:3" } ], - "id": 700, + "id": 691, "name": "VariableDeclaration", "src": "82:36:3" }, @@ -831,7 +831,7 @@ null ], "name": "", - "scope": 751, + "scope": 742, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -844,7 +844,7 @@ ] }, "children": [], - "id": 701, + "id": 692, "name": "ParameterList", "src": "134:2:3" }, @@ -855,7 +855,7 @@ ] }, "children": [], - "id": 702, + "id": 693, "name": "ParameterList", "src": "144:0:3" }, @@ -880,11 +880,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 698, + "referencedDeclaration": 689, "type": "address", "value": "owner" }, - "id": 703, + "id": 694, "name": "Identifier", "src": "150:5:3" }, @@ -906,36 +906,36 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3260, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, - "id": 704, + "id": 695, "name": "Identifier", "src": "158:3:3" } ], - "id": 705, + "id": 696, "name": "MemberAccess", "src": "158:10:3" } ], - "id": 706, + "id": 697, "name": "Assignment", "src": "150:18:3" } ], - "id": 707, + "id": 698, "name": "ExpressionStatement", "src": "150:18:3" } ], - "id": 708, + "id": 699, "name": "Block", "src": "144:29:3" } ], - "id": 709, + "id": 700, "name": "FunctionDefinition", "src": "123:50:3" }, @@ -953,7 +953,7 @@ ] }, "children": [], - "id": 710, + "id": 701, "name": "ParameterList", "src": "196:2:3" }, @@ -997,16 +997,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3260, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, - "id": 711, + "id": 702, "name": "Identifier", "src": "209:3:3" } ], - "id": 712, + "id": 703, "name": "MemberAccess", "src": "209:10:3" }, @@ -1016,36 +1016,36 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 698, + "referencedDeclaration": 689, "type": "address", "value": "owner" }, - "id": 713, + "id": 704, "name": "Identifier", "src": "223:5:3" } ], - "id": 714, + "id": 705, "name": "BinaryOperation", "src": "209:19:3" }, { - "id": 715, + "id": 706, "name": "PlaceholderStatement", "src": "230:1:3" } ], - "id": 716, + "id": 707, "name": "IfStatement", "src": "205:26:3" } ], - "id": 717, + "id": 708, "name": "Block", "src": "199:37:3" } ], - "id": 718, + "id": 709, "name": "ModifierDefinition", "src": "177:59:3" }, @@ -1056,7 +1056,7 @@ "isConstructor": false, "kind": "function", "name": "setCompleted", - "scope": 751, + "scope": 742, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -1068,7 +1068,7 @@ "attributes": { "constant": false, "name": "completed", - "scope": 730, + "scope": 721, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1081,17 +1081,17 @@ "name": "uint", "type": "uint256" }, - "id": 719, + "id": 710, "name": "ElementaryTypeName", "src": "262:4:3" } ], - "id": 720, + "id": 711, "name": "VariableDeclaration", "src": "262:14:3" } ], - "id": 721, + "id": 712, "name": "ParameterList", "src": "261:16:3" }, @@ -1102,7 +1102,7 @@ ] }, "children": [], - "id": 724, + "id": 715, "name": "ParameterList", "src": "296:0:3" }, @@ -1117,16 +1117,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 718, + "referencedDeclaration": 709, "type": "modifier ()", "value": "restricted" }, - "id": 722, + "id": 713, "name": "Identifier", "src": "285:10:3" } ], - "id": 723, + "id": 714, "name": "ModifierInvocation", "src": "285:10:3" }, @@ -1151,11 +1151,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 700, + "referencedDeclaration": 691, "type": "uint256", "value": "last_completed_migration" }, - "id": 725, + "id": 716, "name": "Identifier", "src": "302:24:3" }, @@ -1165,31 +1165,31 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 720, + "referencedDeclaration": 711, "type": "uint256", "value": "completed" }, - "id": 726, + "id": 717, "name": "Identifier", "src": "329:9:3" } ], - "id": 727, + "id": 718, "name": "Assignment", "src": "302:36:3" } ], - "id": 728, + "id": 719, "name": "ExpressionStatement", "src": "302:36:3" } ], - "id": 729, + "id": 720, "name": "Block", "src": "296:47:3" } ], - "id": 730, + "id": 721, "name": "FunctionDefinition", "src": "240:103:3" }, @@ -1200,7 +1200,7 @@ "isConstructor": false, "kind": "function", "name": "upgrade", - "scope": 751, + "scope": 742, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -1212,7 +1212,7 @@ "attributes": { "constant": false, "name": "new_address", - "scope": 750, + "scope": 741, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1226,17 +1226,17 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 731, + "id": 722, "name": "ElementaryTypeName", "src": "364:7:3" } ], - "id": 732, + "id": 723, "name": "VariableDeclaration", "src": "364:19:3" } ], - "id": 733, + "id": 724, "name": "ParameterList", "src": "363:21:3" }, @@ -1247,7 +1247,7 @@ ] }, "children": [], - "id": 736, + "id": 727, "name": "ParameterList", "src": "403:0:3" }, @@ -1262,16 +1262,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 718, + "referencedDeclaration": 709, "type": "modifier ()", "value": "restricted" }, - "id": 734, + "id": 725, "name": "Identifier", "src": "392:10:3" } ], - "id": 735, + "id": 726, "name": "ModifierInvocation", "src": "392:10:3" }, @@ -1280,7 +1280,7 @@ { "attributes": { "assignments": [ - 738 + 729 ] }, "children": [ @@ -1288,7 +1288,7 @@ "attributes": { "constant": false, "name": "upgraded", - "scope": 749, + "scope": 740, "stateVariable": false, "storageLocation": "default", "type": "contract Migrations", @@ -1300,15 +1300,15 @@ "attributes": { "contractScope": null, "name": "Migrations", - "referencedDeclaration": 751, + "referencedDeclaration": 742, "type": "contract Migrations" }, - "id": 737, + "id": 728, "name": "UserDefinedTypeName", "src": "409:10:3" } ], - "id": 738, + "id": 729, "name": "VariableDeclaration", "src": "409:19:3" }, @@ -1338,11 +1338,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 751, + "referencedDeclaration": 742, "type": "type(contract Migrations)", "value": "Migrations" }, - "id": 739, + "id": 730, "name": "Identifier", "src": "431:10:3" }, @@ -1352,21 +1352,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 732, + "referencedDeclaration": 723, "type": "address", "value": "new_address" }, - "id": 740, + "id": 731, "name": "Identifier", "src": "442:11:3" } ], - "id": 741, + "id": 732, "name": "FunctionCall", "src": "431:23:3" } ], - "id": 742, + "id": 733, "name": "VariableDeclarationStatement", "src": "409:45:3" }, @@ -1400,7 +1400,7 @@ "isPure": false, "lValueRequested": false, "member_name": "setCompleted", - "referencedDeclaration": 730, + "referencedDeclaration": 721, "type": "function (uint256) external" }, "children": [ @@ -1410,16 +1410,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 738, + "referencedDeclaration": 729, "type": "contract Migrations", "value": "upgraded" }, - "id": 743, + "id": 734, "name": "Identifier", "src": "460:8:3" } ], - "id": 745, + "id": 736, "name": "MemberAccess", "src": "460:21:3" }, @@ -1429,41 +1429,41 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 700, + "referencedDeclaration": 691, "type": "uint256", "value": "last_completed_migration" }, - "id": 746, + "id": 737, "name": "Identifier", "src": "482:24:3" } ], - "id": 747, + "id": 738, "name": "FunctionCall", "src": "460:47:3" } ], - "id": 748, + "id": 739, "name": "ExpressionStatement", "src": "460:47:3" } ], - "id": 749, + "id": 740, "name": "Block", "src": "403:109:3" } ], - "id": 750, + "id": 741, "name": "FunctionDefinition", "src": "347:165:3" } ], - "id": 751, + "id": 742, "name": "ContractDefinition", "src": "34:480:3" } ], - "id": 752, + "id": 743, "name": "SourceUnit", "src": "0:515:3" }, @@ -1475,12 +1475,12 @@ "44787": { "events": {}, "links": {}, - "address": "0x2BC1eECE80dc8E3Ae1789E7605D18107638Bf4fE", - "transactionHash": "0xfb728331a976f65f5db5ca5ae17eae1fe12855cd6763a9f09fded043c51946ed" + "address": "0x9D5608e844429ca87D6294328e78901bb513d7e1", + "transactionHash": "0x4b9a2af42141a1312352af8b10eef41471f09d99e30c6ccad9e8bc1977bbd858" } }, "schemaVersion": "3.3.4", - "updatedAt": "2021-04-02T22:56:11.661Z", + "updatedAt": "2021-04-04T21:13:13.404Z", "networkType": "ethereum", "devdoc": { "methods": {} diff --git a/client/contracts/MinterRole.json b/client/contracts/MinterRole.json index 485e76d..4a158f0 100644 --- a/client/contracts/MinterRole.json +++ b/client/contracts/MinterRole.json @@ -90,14 +90,14 @@ "absolutePath": "@openzeppelin/contracts/access/roles/MinterRole.sol", "exportedSymbols": { "MinterRole": [ - 2468 + 2478 ] }, - "id": 2469, + "id": 2479, "nodeType": "SourceUnit", "nodes": [ { - "id": 2363, + "id": 2373, "literals": [ "solidity", "^", @@ -110,10 +110,10 @@ { "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", "file": "../../GSN/Context.sol", - "id": 2364, + "id": 2374, "nodeType": "ImportDirective", - "scope": 2469, - "sourceUnit": 2281, + "scope": 2479, + "sourceUnit": 2291, "src": "25:31:12", "symbolAliases": [], "unitAlias": "" @@ -121,10 +121,10 @@ { "absolutePath": "@openzeppelin/contracts/access/Roles.sol", "file": "../Roles.sol", - "id": 2365, + "id": 2375, "nodeType": "ImportDirective", - "scope": 2469, - "sourceUnit": 2362, + "scope": 2479, + "sourceUnit": 2372, "src": "57:22:12", "symbolAliases": [], "unitAlias": "" @@ -135,46 +135,46 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 2366, + "id": 2376, "name": "Context", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2280, + "referencedDeclaration": 2290, "src": "104:7:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$2280", + "typeIdentifier": "t_contract$_Context_$2290", "typeString": "contract Context" } }, - "id": 2367, + "id": 2377, "nodeType": "InheritanceSpecifier", "src": "104:7:12" } ], "contractDependencies": [ - 2280 + 2290 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 2468, + "id": 2478, "linearizedBaseContracts": [ - 2468, - 2280 + 2478, + 2290 ], "name": "MinterRole", "nodeType": "ContractDefinition", "nodes": [ { - "id": 2370, + "id": 2380, "libraryName": { "contractScope": null, - "id": 2368, + "id": 2378, "name": "Roles", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2361, + "referencedDeclaration": 2371, "src": "124:5:12", "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$2361", + "typeIdentifier": "t_contract$_Roles_$2371", "typeString": "library Roles" } }, @@ -182,13 +182,13 @@ "src": "118:27:12", "typeName": { "contractScope": null, - "id": 2369, + "id": 2379, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2287, + "referencedDeclaration": 2297, "src": "134:10:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$2287_storage_ptr", + "typeIdentifier": "t_struct$_Role_$2297_storage_ptr", "typeString": "struct Roles.Role" } } @@ -196,20 +196,20 @@ { "anonymous": false, "documentation": null, - "id": 2374, + "id": 2384, "name": "MinterAdded", "nodeType": "EventDefinition", "parameters": { - "id": 2373, + "id": 2383, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2372, + "id": 2382, "indexed": true, "name": "account", "nodeType": "VariableDeclaration", - "scope": 2374, + "scope": 2384, "src": "169:23:12", "stateVariable": false, "storageLocation": "default", @@ -218,7 +218,7 @@ "typeString": "address" }, "typeName": { - "id": 2371, + "id": 2381, "name": "address", "nodeType": "ElementaryTypeName", "src": "169:7:12", @@ -239,20 +239,20 @@ { "anonymous": false, "documentation": null, - "id": 2378, + "id": 2388, "name": "MinterRemoved", "nodeType": "EventDefinition", "parameters": { - "id": 2377, + "id": 2387, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2376, + "id": 2386, "indexed": true, "name": "account", "nodeType": "VariableDeclaration", - "scope": 2378, + "scope": 2388, "src": "219:23:12", "stateVariable": false, "storageLocation": "default", @@ -261,7 +261,7 @@ "typeString": "address" }, "typeName": { - "id": 2375, + "id": 2385, "name": "address", "nodeType": "ElementaryTypeName", "src": "219:7:12", @@ -281,26 +281,26 @@ }, { "constant": false, - "id": 2380, + "id": 2390, "name": "_minters", "nodeType": "VariableDeclaration", - "scope": 2468, + "scope": 2478, "src": "250:27:12", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$2287_storage", + "typeIdentifier": "t_struct$_Role_$2297_storage", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 2379, + "id": 2389, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2287, + "referencedDeclaration": 2297, "src": "250:10:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$2287_storage_ptr", + "typeIdentifier": "t_struct$_Role_$2297_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -309,7 +309,7 @@ }, { "body": { - "id": 2388, + "id": 2398, "nodeType": "Block", "src": "308:41:12", "statements": [ @@ -322,18 +322,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2384, + "id": 2394, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "src": "329:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 2385, + "id": 2395, "isConstant": false, "isLValue": false, "isPure": false, @@ -355,18 +355,18 @@ "typeString": "address payable" } ], - "id": 2383, + "id": 2393, "name": "_addMinter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2451, + "referencedDeclaration": 2461, "src": "318:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 2386, + "id": 2396, "isConstant": false, "isLValue": false, "isPure": false, @@ -380,32 +380,32 @@ "typeString": "tuple()" } }, - "id": 2387, + "id": 2397, "nodeType": "ExpressionStatement", "src": "318:24:12" } ] }, "documentation": null, - "id": 2389, + "id": 2399, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 2381, + "id": 2391, "nodeType": "ParameterList", "parameters": [], "src": "296:2:12" }, "returnParameters": { - "id": 2382, + "id": 2392, "nodeType": "ParameterList", "parameters": [], "src": "308:0:12" }, - "scope": 2468, + "scope": 2478, "src": "284:65:12", "stateMutability": "nonpayable", "superFunction": null, @@ -413,7 +413,7 @@ }, { "body": { - "id": 2400, + "id": 2410, "nodeType": "Block", "src": "377:111:12", "statements": [ @@ -429,18 +429,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2393, + "id": 2403, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "src": "404:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 2394, + "id": 2404, "isConstant": false, "isLValue": false, "isPure": false, @@ -462,18 +462,18 @@ "typeString": "address payable" } ], - "id": 2392, + "id": 2402, "name": "isMinter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2414, + "referencedDeclaration": 2424, "src": "395:8:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, - "id": 2395, + "id": 2405, "isConstant": false, "isLValue": false, "isPure": false, @@ -490,7 +490,7 @@ { "argumentTypes": null, "hexValue": "4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65", - "id": 2396, + "id": 2406, "isConstant": false, "isLValue": false, "isPure": true, @@ -517,21 +517,21 @@ "typeString": "literal_string \"MinterRole: caller does not have the Minter role\"" } ], - "id": 2391, + "id": 2401, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "387:7:12", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2397, + "id": 2407, "isConstant": false, "isLValue": false, "isPure": false, @@ -545,23 +545,23 @@ "typeString": "tuple()" } }, - "id": 2398, + "id": 2408, "nodeType": "ExpressionStatement", "src": "387:83:12" }, { - "id": 2399, + "id": 2409, "nodeType": "PlaceholderStatement", "src": "480:1:12" } ] }, "documentation": null, - "id": 2401, + "id": 2411, "name": "onlyMinter", "nodeType": "ModifierDefinition", "parameters": { - "id": 2390, + "id": 2400, "nodeType": "ParameterList", "parameters": [], "src": "374:2:12" @@ -571,7 +571,7 @@ }, { "body": { - "id": 2413, + "id": 2423, "nodeType": "Block", "src": "556:45:12", "statements": [ @@ -581,11 +581,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2410, + "id": 2420, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2403, + "referencedDeclaration": 2413, "src": "586:7:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -602,32 +602,32 @@ ], "expression": { "argumentTypes": null, - "id": 2408, + "id": 2418, "name": "_minters", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2380, + "referencedDeclaration": 2390, "src": "573:8:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$2287_storage", + "typeIdentifier": "t_struct$_Role_$2297_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 2409, + "id": 2419, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", - "referencedDeclaration": 2360, + "referencedDeclaration": 2370, "src": "573:12:12", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$2287_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$2287_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$2297_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$2297_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 2411, + "id": 2421, "isConstant": false, "isLValue": false, "isPure": false, @@ -641,30 +641,30 @@ "typeString": "bool" } }, - "functionReturnParameters": 2407, - "id": 2412, + "functionReturnParameters": 2417, + "id": 2422, "nodeType": "Return", "src": "566:28:12" } ] }, "documentation": null, - "id": 2414, + "id": 2424, "implemented": true, "kind": "function", "modifiers": [], "name": "isMinter", "nodeType": "FunctionDefinition", "parameters": { - "id": 2404, + "id": 2414, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2403, + "id": 2413, "name": "account", "nodeType": "VariableDeclaration", - "scope": 2414, + "scope": 2424, "src": "512:15:12", "stateVariable": false, "storageLocation": "default", @@ -673,7 +673,7 @@ "typeString": "address" }, "typeName": { - "id": 2402, + "id": 2412, "name": "address", "nodeType": "ElementaryTypeName", "src": "512:7:12", @@ -690,15 +690,15 @@ "src": "511:17:12" }, "returnParameters": { - "id": 2407, + "id": 2417, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2406, + "id": 2416, "name": "", "nodeType": "VariableDeclaration", - "scope": 2414, + "scope": 2424, "src": "550:4:12", "stateVariable": false, "storageLocation": "default", @@ -707,7 +707,7 @@ "typeString": "bool" }, "typeName": { - "id": 2405, + "id": 2415, "name": "bool", "nodeType": "ElementaryTypeName", "src": "550:4:12", @@ -722,7 +722,7 @@ ], "src": "549:6:12" }, - "scope": 2468, + "scope": 2478, "src": "494:107:12", "stateMutability": "view", "superFunction": null, @@ -730,7 +730,7 @@ }, { "body": { - "id": 2425, + "id": 2435, "nodeType": "Block", "src": "661:36:12", "statements": [ @@ -740,11 +740,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2422, + "id": 2432, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2416, + "referencedDeclaration": 2426, "src": "682:7:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -759,18 +759,18 @@ "typeString": "address" } ], - "id": 2421, + "id": 2431, "name": "_addMinter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2451, + "referencedDeclaration": 2461, "src": "671:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 2423, + "id": 2433, "isConstant": false, "isLValue": false, "isPure": false, @@ -784,27 +784,27 @@ "typeString": "tuple()" } }, - "id": 2424, + "id": 2434, "nodeType": "ExpressionStatement", "src": "671:19:12" } ] }, "documentation": null, - "id": 2426, + "id": 2436, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 2419, + "id": 2429, "modifierName": { "argumentTypes": null, - "id": 2418, + "id": 2428, "name": "onlyMinter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2401, + "referencedDeclaration": 2411, "src": "650:10:12", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", @@ -818,15 +818,15 @@ "name": "addMinter", "nodeType": "FunctionDefinition", "parameters": { - "id": 2417, + "id": 2427, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2416, + "id": 2426, "name": "account", "nodeType": "VariableDeclaration", - "scope": 2426, + "scope": 2436, "src": "626:15:12", "stateVariable": false, "storageLocation": "default", @@ -835,7 +835,7 @@ "typeString": "address" }, "typeName": { - "id": 2415, + "id": 2425, "name": "address", "nodeType": "ElementaryTypeName", "src": "626:7:12", @@ -852,12 +852,12 @@ "src": "625:17:12" }, "returnParameters": { - "id": 2420, + "id": 2430, "nodeType": "ParameterList", "parameters": [], "src": "661:0:12" }, - "scope": 2468, + "scope": 2478, "src": "607:90:12", "stateMutability": "nonpayable", "superFunction": null, @@ -865,7 +865,7 @@ }, { "body": { - "id": 2434, + "id": 2444, "nodeType": "Block", "src": "736:44:12", "statements": [ @@ -878,18 +878,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2430, + "id": 2440, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "src": "760:10:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 2431, + "id": 2441, "isConstant": false, "isLValue": false, "isPure": false, @@ -911,18 +911,18 @@ "typeString": "address payable" } ], - "id": 2429, + "id": 2439, "name": "_removeMinter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2467, + "referencedDeclaration": 2477, "src": "746:13:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 2432, + "id": 2442, "isConstant": false, "isLValue": false, "isPure": false, @@ -936,32 +936,32 @@ "typeString": "tuple()" } }, - "id": 2433, + "id": 2443, "nodeType": "ExpressionStatement", "src": "746:27:12" } ] }, "documentation": null, - "id": 2435, + "id": 2445, "implemented": true, "kind": "function", "modifiers": [], "name": "renounceMinter", "nodeType": "FunctionDefinition", "parameters": { - "id": 2427, + "id": 2437, "nodeType": "ParameterList", "parameters": [], "src": "726:2:12" }, "returnParameters": { - "id": 2428, + "id": 2438, "nodeType": "ParameterList", "parameters": [], "src": "736:0:12" }, - "scope": 2468, + "scope": 2478, "src": "703:77:12", "stateMutability": "nonpayable", "superFunction": null, @@ -969,7 +969,7 @@ }, { "body": { - "id": 2450, + "id": 2460, "nodeType": "Block", "src": "832:73:12", "statements": [ @@ -979,11 +979,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2443, + "id": 2453, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2437, + "referencedDeclaration": 2447, "src": "855:7:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1000,32 +1000,32 @@ ], "expression": { "argumentTypes": null, - "id": 2440, + "id": 2450, "name": "_minters", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2380, + "referencedDeclaration": 2390, "src": "842:8:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$2287_storage", + "typeIdentifier": "t_struct$_Role_$2297_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 2442, + "id": 2452, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", - "referencedDeclaration": 2312, + "referencedDeclaration": 2322, "src": "842:12:12", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$2287_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$2287_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$2297_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$2297_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, - "id": 2444, + "id": 2454, "isConstant": false, "isLValue": false, "isPure": false, @@ -1039,7 +1039,7 @@ "typeString": "tuple()" } }, - "id": 2445, + "id": 2455, "nodeType": "ExpressionStatement", "src": "842:21:12" }, @@ -1049,11 +1049,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2447, + "id": 2457, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2437, + "referencedDeclaration": 2447, "src": "890:7:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1068,18 +1068,18 @@ "typeString": "address" } ], - "id": 2446, + "id": 2456, "name": "MinterAdded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2374, + "referencedDeclaration": 2384, "src": "878:11:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 2448, + "id": 2458, "isConstant": false, "isLValue": false, "isPure": false, @@ -1093,29 +1093,29 @@ "typeString": "tuple()" } }, - "id": 2449, + "id": 2459, "nodeType": "EmitStatement", "src": "873:25:12" } ] }, "documentation": null, - "id": 2451, + "id": 2461, "implemented": true, "kind": "function", "modifiers": [], "name": "_addMinter", "nodeType": "FunctionDefinition", "parameters": { - "id": 2438, + "id": 2448, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2437, + "id": 2447, "name": "account", "nodeType": "VariableDeclaration", - "scope": 2451, + "scope": 2461, "src": "806:15:12", "stateVariable": false, "storageLocation": "default", @@ -1124,7 +1124,7 @@ "typeString": "address" }, "typeName": { - "id": 2436, + "id": 2446, "name": "address", "nodeType": "ElementaryTypeName", "src": "806:7:12", @@ -1141,12 +1141,12 @@ "src": "805:17:12" }, "returnParameters": { - "id": 2439, + "id": 2449, "nodeType": "ParameterList", "parameters": [], "src": "832:0:12" }, - "scope": 2468, + "scope": 2478, "src": "786:119:12", "stateMutability": "nonpayable", "superFunction": null, @@ -1154,7 +1154,7 @@ }, { "body": { - "id": 2466, + "id": 2476, "nodeType": "Block", "src": "960:78:12", "statements": [ @@ -1164,11 +1164,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2459, + "id": 2469, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2453, + "referencedDeclaration": 2463, "src": "986:7:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1185,32 +1185,32 @@ ], "expression": { "argumentTypes": null, - "id": 2456, + "id": 2466, "name": "_minters", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2380, + "referencedDeclaration": 2390, "src": "970:8:12", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$2287_storage", + "typeIdentifier": "t_struct$_Role_$2297_storage", "typeString": "struct Roles.Role storage ref" } }, - "id": 2458, + "id": 2468, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", - "referencedDeclaration": 2336, + "referencedDeclaration": 2346, "src": "970:15:12", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$2287_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$2287_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$2297_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$2297_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, - "id": 2460, + "id": 2470, "isConstant": false, "isLValue": false, "isPure": false, @@ -1224,7 +1224,7 @@ "typeString": "tuple()" } }, - "id": 2461, + "id": 2471, "nodeType": "ExpressionStatement", "src": "970:24:12" }, @@ -1234,11 +1234,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2463, + "id": 2473, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2453, + "referencedDeclaration": 2463, "src": "1023:7:12", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1253,18 +1253,18 @@ "typeString": "address" } ], - "id": 2462, + "id": 2472, "name": "MinterRemoved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2378, + "referencedDeclaration": 2388, "src": "1009:13:12", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 2464, + "id": 2474, "isConstant": false, "isLValue": false, "isPure": false, @@ -1278,29 +1278,29 @@ "typeString": "tuple()" } }, - "id": 2465, + "id": 2475, "nodeType": "EmitStatement", "src": "1004:27:12" } ] }, "documentation": null, - "id": 2467, + "id": 2477, "implemented": true, "kind": "function", "modifiers": [], "name": "_removeMinter", "nodeType": "FunctionDefinition", "parameters": { - "id": 2454, + "id": 2464, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2453, + "id": 2463, "name": "account", "nodeType": "VariableDeclaration", - "scope": 2467, + "scope": 2477, "src": "934:15:12", "stateVariable": false, "storageLocation": "default", @@ -1309,7 +1309,7 @@ "typeString": "address" }, "typeName": { - "id": 2452, + "id": 2462, "name": "address", "nodeType": "ElementaryTypeName", "src": "934:7:12", @@ -1326,19 +1326,19 @@ "src": "933:17:12" }, "returnParameters": { - "id": 2455, + "id": 2465, "nodeType": "ParameterList", "parameters": [], "src": "960:0:12" }, - "scope": 2468, + "scope": 2478, "src": "911:127:12", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], - "scope": 2469, + "scope": 2479, "src": "81:959:12" } ], @@ -1349,7 +1349,7 @@ "absolutePath": "@openzeppelin/contracts/access/roles/MinterRole.sol", "exportedSymbols": { "MinterRole": [ - 2468 + 2478 ] } }, @@ -1363,54 +1363,54 @@ ".0" ] }, - "id": 2363, + "id": 2373, "name": "PragmaDirective", "src": "0:23:12" }, { "attributes": { - "SourceUnit": 2281, + "SourceUnit": 2291, "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", "file": "../../GSN/Context.sol", - "scope": 2469, + "scope": 2479, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 2364, + "id": 2374, "name": "ImportDirective", "src": "25:31:12" }, { "attributes": { - "SourceUnit": 2362, + "SourceUnit": 2372, "absolutePath": "@openzeppelin/contracts/access/Roles.sol", "file": "../Roles.sol", - "scope": 2469, + "scope": 2479, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 2365, + "id": 2375, "name": "ImportDirective", "src": "57:22:12" }, { "attributes": { "contractDependencies": [ - 2280 + 2290 ], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ - 2468, - 2280 + 2478, + 2290 ], "name": "MinterRole", - "scope": 2469 + "scope": 2479 }, "children": [ { @@ -1422,15 +1422,15 @@ "attributes": { "contractScope": null, "name": "Context", - "referencedDeclaration": 2280, + "referencedDeclaration": 2290, "type": "contract Context" }, - "id": 2366, + "id": 2376, "name": "UserDefinedTypeName", "src": "104:7:12" } ], - "id": 2367, + "id": 2377, "name": "InheritanceSpecifier", "src": "104:7:12" }, @@ -1440,10 +1440,10 @@ "attributes": { "contractScope": null, "name": "Roles", - "referencedDeclaration": 2361, + "referencedDeclaration": 2371, "type": "library Roles" }, - "id": 2368, + "id": 2378, "name": "UserDefinedTypeName", "src": "124:5:12" }, @@ -1451,15 +1451,15 @@ "attributes": { "contractScope": null, "name": "Roles.Role", - "referencedDeclaration": 2287, + "referencedDeclaration": 2297, "type": "struct Roles.Role" }, - "id": 2369, + "id": 2379, "name": "UserDefinedTypeName", "src": "134:10:12" } ], - "id": 2370, + "id": 2380, "name": "UsingForDirective", "src": "118:27:12" }, @@ -1477,7 +1477,7 @@ "constant": false, "indexed": true, "name": "account", - "scope": 2374, + "scope": 2384, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1491,22 +1491,22 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2371, + "id": 2381, "name": "ElementaryTypeName", "src": "169:7:12" } ], - "id": 2372, + "id": 2382, "name": "VariableDeclaration", "src": "169:23:12" } ], - "id": 2373, + "id": 2383, "name": "ParameterList", "src": "168:25:12" } ], - "id": 2374, + "id": 2384, "name": "EventDefinition", "src": "151:43:12" }, @@ -1524,7 +1524,7 @@ "constant": false, "indexed": true, "name": "account", - "scope": 2378, + "scope": 2388, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1538,22 +1538,22 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2375, + "id": 2385, "name": "ElementaryTypeName", "src": "219:7:12" } ], - "id": 2376, + "id": 2386, "name": "VariableDeclaration", "src": "219:23:12" } ], - "id": 2377, + "id": 2387, "name": "ParameterList", "src": "218:25:12" } ], - "id": 2378, + "id": 2388, "name": "EventDefinition", "src": "199:45:12" }, @@ -1561,7 +1561,7 @@ "attributes": { "constant": false, "name": "_minters", - "scope": 2468, + "scope": 2478, "stateVariable": true, "storageLocation": "default", "type": "struct Roles.Role", @@ -1573,15 +1573,15 @@ "attributes": { "contractScope": null, "name": "Roles.Role", - "referencedDeclaration": 2287, + "referencedDeclaration": 2297, "type": "struct Roles.Role" }, - "id": 2379, + "id": 2389, "name": "UserDefinedTypeName", "src": "250:10:12" } ], - "id": 2380, + "id": 2390, "name": "VariableDeclaration", "src": "250:27:12" }, @@ -1595,7 +1595,7 @@ null ], "name": "", - "scope": 2468, + "scope": 2478, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -1608,7 +1608,7 @@ ] }, "children": [], - "id": 2381, + "id": 2391, "name": "ParameterList", "src": "296:2:12" }, @@ -1619,7 +1619,7 @@ ] }, "children": [], - "id": 2382, + "id": 2392, "name": "ParameterList", "src": "308:0:12" }, @@ -1653,11 +1653,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2451, + "referencedDeclaration": 2461, "type": "function (address)", "value": "_addMinter" }, - "id": 2383, + "id": 2393, "name": "Identifier", "src": "318:10:12" }, @@ -1687,36 +1687,36 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "type": "function () view returns (address payable)", "value": "_msgSender" }, - "id": 2384, + "id": 2394, "name": "Identifier", "src": "329:10:12" } ], - "id": 2385, + "id": 2395, "name": "FunctionCall", "src": "329:12:12" } ], - "id": 2386, + "id": 2396, "name": "FunctionCall", "src": "318:24:12" } ], - "id": 2387, + "id": 2397, "name": "ExpressionStatement", "src": "318:24:12" } ], - "id": 2388, + "id": 2398, "name": "Block", "src": "308:41:12" } ], - "id": 2389, + "id": 2399, "name": "FunctionDefinition", "src": "284:65:12" }, @@ -1734,7 +1734,7 @@ ] }, "children": [], - "id": 2390, + "id": 2400, "name": "ParameterList", "src": "374:2:12" }, @@ -1770,14 +1770,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 2391, + "id": 2401, "name": "Identifier", "src": "387:7:12" }, @@ -1807,11 +1807,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2414, + "referencedDeclaration": 2424, "type": "function (address) view returns (bool)", "value": "isMinter" }, - "id": 2392, + "id": 2402, "name": "Identifier", "src": "395:8:12" }, @@ -1841,21 +1841,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "type": "function () view returns (address payable)", "value": "_msgSender" }, - "id": 2393, + "id": 2403, "name": "Identifier", "src": "404:10:12" } ], - "id": 2394, + "id": 2404, "name": "FunctionCall", "src": "404:12:12" } ], - "id": 2395, + "id": 2405, "name": "FunctionCall", "src": "395:22:12" }, @@ -1872,32 +1872,32 @@ "type": "literal_string \"MinterRole: caller does not have the Minter role\"", "value": "MinterRole: caller does not have the Minter role" }, - "id": 2396, + "id": 2406, "name": "Literal", "src": "419:50:12" } ], - "id": 2397, + "id": 2407, "name": "FunctionCall", "src": "387:83:12" } ], - "id": 2398, + "id": 2408, "name": "ExpressionStatement", "src": "387:83:12" }, { - "id": 2399, + "id": 2409, "name": "PlaceholderStatement", "src": "480:1:12" } ], - "id": 2400, + "id": 2410, "name": "Block", "src": "377:111:12" } ], - "id": 2401, + "id": 2411, "name": "ModifierDefinition", "src": "355:133:12" }, @@ -1911,7 +1911,7 @@ null ], "name": "isMinter", - "scope": 2468, + "scope": 2478, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1923,7 +1923,7 @@ "attributes": { "constant": false, "name": "account", - "scope": 2414, + "scope": 2424, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1937,17 +1937,17 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2402, + "id": 2412, "name": "ElementaryTypeName", "src": "512:7:12" } ], - "id": 2403, + "id": 2413, "name": "VariableDeclaration", "src": "512:15:12" } ], - "id": 2404, + "id": 2414, "name": "ParameterList", "src": "511:17:12" }, @@ -1957,7 +1957,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2414, + "scope": 2424, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -1970,17 +1970,17 @@ "name": "bool", "type": "bool" }, - "id": 2405, + "id": 2415, "name": "ElementaryTypeName", "src": "550:4:12" } ], - "id": 2406, + "id": 2416, "name": "VariableDeclaration", "src": "550:4:12" } ], - "id": 2407, + "id": 2417, "name": "ParameterList", "src": "549:6:12" }, @@ -1988,7 +1988,7 @@ "children": [ { "attributes": { - "functionReturnParameters": 2407 + "functionReturnParameters": 2417 }, "children": [ { @@ -2019,7 +2019,7 @@ "isPure": false, "lValueRequested": false, "member_name": "has", - "referencedDeclaration": 2360, + "referencedDeclaration": 2370, "type": "function (struct Roles.Role storage pointer,address) view returns (bool)" }, "children": [ @@ -2029,16 +2029,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2380, + "referencedDeclaration": 2390, "type": "struct Roles.Role storage ref", "value": "_minters" }, - "id": 2408, + "id": 2418, "name": "Identifier", "src": "573:8:12" } ], - "id": 2409, + "id": 2419, "name": "MemberAccess", "src": "573:12:12" }, @@ -2048,31 +2048,31 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2403, + "referencedDeclaration": 2413, "type": "address", "value": "account" }, - "id": 2410, + "id": 2420, "name": "Identifier", "src": "586:7:12" } ], - "id": 2411, + "id": 2421, "name": "FunctionCall", "src": "573:21:12" } ], - "id": 2412, + "id": 2422, "name": "Return", "src": "566:28:12" } ], - "id": 2413, + "id": 2423, "name": "Block", "src": "556:45:12" } ], - "id": 2414, + "id": 2424, "name": "FunctionDefinition", "src": "494:107:12" }, @@ -2083,7 +2083,7 @@ "isConstructor": false, "kind": "function", "name": "addMinter", - "scope": 2468, + "scope": 2478, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2095,7 +2095,7 @@ "attributes": { "constant": false, "name": "account", - "scope": 2426, + "scope": 2436, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -2109,17 +2109,17 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2415, + "id": 2425, "name": "ElementaryTypeName", "src": "626:7:12" } ], - "id": 2416, + "id": 2426, "name": "VariableDeclaration", "src": "626:15:12" } ], - "id": 2417, + "id": 2427, "name": "ParameterList", "src": "625:17:12" }, @@ -2130,7 +2130,7 @@ ] }, "children": [], - "id": 2420, + "id": 2430, "name": "ParameterList", "src": "661:0:12" }, @@ -2145,16 +2145,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2401, + "referencedDeclaration": 2411, "type": "modifier ()", "value": "onlyMinter" }, - "id": 2418, + "id": 2428, "name": "Identifier", "src": "650:10:12" } ], - "id": 2419, + "id": 2429, "name": "ModifierInvocation", "src": "650:10:12" }, @@ -2188,11 +2188,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2451, + "referencedDeclaration": 2461, "type": "function (address)", "value": "_addMinter" }, - "id": 2421, + "id": 2431, "name": "Identifier", "src": "671:10:12" }, @@ -2202,31 +2202,31 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2416, + "referencedDeclaration": 2426, "type": "address", "value": "account" }, - "id": 2422, + "id": 2432, "name": "Identifier", "src": "682:7:12" } ], - "id": 2423, + "id": 2433, "name": "FunctionCall", "src": "671:19:12" } ], - "id": 2424, + "id": 2434, "name": "ExpressionStatement", "src": "671:19:12" } ], - "id": 2425, + "id": 2435, "name": "Block", "src": "661:36:12" } ], - "id": 2426, + "id": 2436, "name": "FunctionDefinition", "src": "607:90:12" }, @@ -2240,7 +2240,7 @@ null ], "name": "renounceMinter", - "scope": 2468, + "scope": 2478, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2253,7 +2253,7 @@ ] }, "children": [], - "id": 2427, + "id": 2437, "name": "ParameterList", "src": "726:2:12" }, @@ -2264,7 +2264,7 @@ ] }, "children": [], - "id": 2428, + "id": 2438, "name": "ParameterList", "src": "736:0:12" }, @@ -2298,11 +2298,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2467, + "referencedDeclaration": 2477, "type": "function (address)", "value": "_removeMinter" }, - "id": 2429, + "id": 2439, "name": "Identifier", "src": "746:13:12" }, @@ -2332,36 +2332,36 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2268, + "referencedDeclaration": 2278, "type": "function () view returns (address payable)", "value": "_msgSender" }, - "id": 2430, + "id": 2440, "name": "Identifier", "src": "760:10:12" } ], - "id": 2431, + "id": 2441, "name": "FunctionCall", "src": "760:12:12" } ], - "id": 2432, + "id": 2442, "name": "FunctionCall", "src": "746:27:12" } ], - "id": 2433, + "id": 2443, "name": "ExpressionStatement", "src": "746:27:12" } ], - "id": 2434, + "id": 2444, "name": "Block", "src": "736:44:12" } ], - "id": 2435, + "id": 2445, "name": "FunctionDefinition", "src": "703:77:12" }, @@ -2375,7 +2375,7 @@ null ], "name": "_addMinter", - "scope": 2468, + "scope": 2478, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -2387,7 +2387,7 @@ "attributes": { "constant": false, "name": "account", - "scope": 2451, + "scope": 2461, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -2401,17 +2401,17 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2436, + "id": 2446, "name": "ElementaryTypeName", "src": "806:7:12" } ], - "id": 2437, + "id": 2447, "name": "VariableDeclaration", "src": "806:15:12" } ], - "id": 2438, + "id": 2448, "name": "ParameterList", "src": "805:17:12" }, @@ -2422,7 +2422,7 @@ ] }, "children": [], - "id": 2439, + "id": 2449, "name": "ParameterList", "src": "832:0:12" }, @@ -2458,7 +2458,7 @@ "isPure": false, "lValueRequested": false, "member_name": "add", - "referencedDeclaration": 2312, + "referencedDeclaration": 2322, "type": "function (struct Roles.Role storage pointer,address)" }, "children": [ @@ -2468,16 +2468,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2380, + "referencedDeclaration": 2390, "type": "struct Roles.Role storage ref", "value": "_minters" }, - "id": 2440, + "id": 2450, "name": "Identifier", "src": "842:8:12" } ], - "id": 2442, + "id": 2452, "name": "MemberAccess", "src": "842:12:12" }, @@ -2487,21 +2487,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2437, + "referencedDeclaration": 2447, "type": "address", "value": "account" }, - "id": 2443, + "id": 2453, "name": "Identifier", "src": "855:7:12" } ], - "id": 2444, + "id": 2454, "name": "FunctionCall", "src": "842:21:12" } ], - "id": 2445, + "id": 2455, "name": "ExpressionStatement", "src": "842:21:12" }, @@ -2533,11 +2533,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2374, + "referencedDeclaration": 2384, "type": "function (address)", "value": "MinterAdded" }, - "id": 2446, + "id": 2456, "name": "Identifier", "src": "878:11:12" }, @@ -2547,31 +2547,31 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2437, + "referencedDeclaration": 2447, "type": "address", "value": "account" }, - "id": 2447, + "id": 2457, "name": "Identifier", "src": "890:7:12" } ], - "id": 2448, + "id": 2458, "name": "FunctionCall", "src": "878:20:12" } ], - "id": 2449, + "id": 2459, "name": "EmitStatement", "src": "873:25:12" } ], - "id": 2450, + "id": 2460, "name": "Block", "src": "832:73:12" } ], - "id": 2451, + "id": 2461, "name": "FunctionDefinition", "src": "786:119:12" }, @@ -2585,7 +2585,7 @@ null ], "name": "_removeMinter", - "scope": 2468, + "scope": 2478, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -2597,7 +2597,7 @@ "attributes": { "constant": false, "name": "account", - "scope": 2467, + "scope": 2477, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -2611,17 +2611,17 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2452, + "id": 2462, "name": "ElementaryTypeName", "src": "934:7:12" } ], - "id": 2453, + "id": 2463, "name": "VariableDeclaration", "src": "934:15:12" } ], - "id": 2454, + "id": 2464, "name": "ParameterList", "src": "933:17:12" }, @@ -2632,7 +2632,7 @@ ] }, "children": [], - "id": 2455, + "id": 2465, "name": "ParameterList", "src": "960:0:12" }, @@ -2668,7 +2668,7 @@ "isPure": false, "lValueRequested": false, "member_name": "remove", - "referencedDeclaration": 2336, + "referencedDeclaration": 2346, "type": "function (struct Roles.Role storage pointer,address)" }, "children": [ @@ -2678,16 +2678,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2380, + "referencedDeclaration": 2390, "type": "struct Roles.Role storage ref", "value": "_minters" }, - "id": 2456, + "id": 2466, "name": "Identifier", "src": "970:8:12" } ], - "id": 2458, + "id": 2468, "name": "MemberAccess", "src": "970:15:12" }, @@ -2697,21 +2697,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2453, + "referencedDeclaration": 2463, "type": "address", "value": "account" }, - "id": 2459, + "id": 2469, "name": "Identifier", "src": "986:7:12" } ], - "id": 2460, + "id": 2470, "name": "FunctionCall", "src": "970:24:12" } ], - "id": 2461, + "id": 2471, "name": "ExpressionStatement", "src": "970:24:12" }, @@ -2743,11 +2743,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2378, + "referencedDeclaration": 2388, "type": "function (address)", "value": "MinterRemoved" }, - "id": 2462, + "id": 2472, "name": "Identifier", "src": "1009:13:12" }, @@ -2757,41 +2757,41 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2453, + "referencedDeclaration": 2463, "type": "address", "value": "account" }, - "id": 2463, + "id": 2473, "name": "Identifier", "src": "1023:7:12" } ], - "id": 2464, + "id": 2474, "name": "FunctionCall", "src": "1009:22:12" } ], - "id": 2465, + "id": 2475, "name": "EmitStatement", "src": "1004:27:12" } ], - "id": 2466, + "id": 2476, "name": "Block", "src": "960:78:12" } ], - "id": 2467, + "id": 2477, "name": "FunctionDefinition", "src": "911:127:12" } ], - "id": 2468, + "id": 2478, "name": "ContractDefinition", "src": "81:959:12" } ], - "id": 2469, + "id": 2479, "name": "SourceUnit", "src": "0:1041:12" }, @@ -2801,7 +2801,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-03-14T02:18:33.144Z", + "updatedAt": "2021-04-04T20:21:29.909Z", "devdoc": { "methods": {} }, diff --git a/client/contracts/Pairing.json b/client/contracts/Pairing.json index e227088..e18c21c 100644 --- a/client/contracts/Pairing.json +++ b/client/contracts/Pairing.json @@ -1,28 +1,28 @@ { "contractName": "Pairing", "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Verifier.sol\":\"Pairing\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Verifier.sol\":{\"keccak256\":\"0x2d2106b71c711cca4104f3461070179aaf8be85b69fda7c8dfcd76814485c881\",\"urls\":[\"bzz-raw://7474a6137fdc929a57f92915260c8a3844afba69851cd58dc914b805a959ad5c\",\"dweb:/ipfs/QmRXy5mfEjqEJizefADC5GHC2o7TMD7ZDq2N55WZbSnUwi\"]}},\"version\":1}", - "bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820e8894d6530d5c11645c33663626e06d063ecc27b83867c410b44b13374b07f8b64736f6c63430005110032", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820e8894d6530d5c11645c33663626e06d063ecc27b83867c410b44b13374b07f8b64736f6c63430005110032", - "sourceMap": "1217:5849:4:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", - "deployedSourceMap": "1217:5849:4:-;;;;;;;;", - "source": "//\n// Copyright 2017 Christian Reitwiessner\n// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n//\n// 2019 OKIMS\n// ported to solidity 0.5\n// fixed linter warnings\n// added requiere error messages\n//\npragma solidity ^0.5.0;\nlibrary Pairing {\n struct G1Point {\n uint X;\n uint Y;\n }\n // Encoding of field elements is: X[0] * z + X[1]\n struct G2Point {\n uint[2] X;\n uint[2] Y;\n }\n /// @return the generator of G1\n function P1() internal pure returns (G1Point memory) {\n return G1Point(1, 2);\n }\n /// @return the generator of G2\n function P2() internal pure returns (G2Point memory) {\n // Original code point\n return G2Point(\n [11559732032986387107991004021392285783925812861821192530917403151452391805634,\n 10857046999023057135944570762232829481370756359578518086990519993285655852781],\n [4082367875863433681332203403145435568316851327593401208105741076214120093531,\n 8495653923123431417604973247489272438418190587263600148770280649306958101930]\n );\n\n/*\n // Changed by Jordi point\n return G2Point(\n [10857046999023057135944570762232829481370756359578518086990519993285655852781,\n 11559732032986387107991004021392285783925812861821192530917403151452391805634],\n [8495653923123431417604973247489272438418190587263600148770280649306958101930,\n 4082367875863433681332203403145435568316851327593401208105741076214120093531]\n );\n*/\n }\n /// @return the negation of p, i.e. p.addition(p.negate()) should be zero.\n function negate(G1Point memory p) internal pure returns (G1Point memory) {\n // The prime q in the base field F_q for G1\n uint q = 21888242871839275222246405745257275088696311157297823662689037894645226208583;\n if (p.X == 0 && p.Y == 0)\n return G1Point(0, 0);\n return G1Point(p.X, q - (p.Y % q));\n }\n /// @return the sum of two points of G1\n function addition(G1Point memory p1, G1Point memory p2) internal view returns (G1Point memory r) {\n uint[4] memory input;\n input[0] = p1.X;\n input[1] = p1.Y;\n input[2] = p2.X;\n input[3] = p2.Y;\n bool success;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n success := staticcall(sub(gas, 2000), 6, input, 0xc0, r, 0x60)\n // Use \"invalid\" to make gas estimation work\n switch success case 0 { invalid() }\n }\n require(success,\"pairing-add-failed\");\n }\n /// @return the product of a point on G1 and a scalar, i.e.\n /// p == p.scalar_mul(1) and p.addition(p) == p.scalar_mul(2) for all points p.\n function scalar_mul(G1Point memory p, uint s) internal view returns (G1Point memory r) {\n uint[3] memory input;\n input[0] = p.X;\n input[1] = p.Y;\n input[2] = s;\n bool success;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n success := staticcall(sub(gas, 2000), 7, input, 0x80, r, 0x60)\n // Use \"invalid\" to make gas estimation work\n switch success case 0 { invalid() }\n }\n require (success,\"pairing-mul-failed\");\n }\n /// @return the result of computing the pairing check\n /// e(p1[0], p2[0]) * .... * e(p1[n], p2[n]) == 1\n /// For example pairing([P1(), P1().negate()], [P2(), P2()]) should\n /// return true.\n function pairing(G1Point[] memory p1, G2Point[] memory p2) internal view returns (bool) {\n require(p1.length == p2.length,\"pairing-lengths-failed\");\n uint elements = p1.length;\n uint inputSize = elements * 6;\n uint[] memory input = new uint[](inputSize);\n for (uint i = 0; i < elements; i++)\n {\n input[i * 6 + 0] = p1[i].X;\n input[i * 6 + 1] = p1[i].Y;\n input[i * 6 + 2] = p2[i].X[0];\n input[i * 6 + 3] = p2[i].X[1];\n input[i * 6 + 4] = p2[i].Y[0];\n input[i * 6 + 5] = p2[i].Y[1];\n }\n uint[1] memory out;\n bool success;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n success := staticcall(sub(gas, 2000), 8, add(input, 0x20), mul(inputSize, 0x20), out, 0x20)\n // Use \"invalid\" to make gas estimation work\n switch success case 0 { invalid() }\n }\n require(success,\"pairing-opcode-failed\");\n return out[0] != 0;\n }\n /// Convenience method for a pairing check for two pairs.\n function pairingProd2(G1Point memory a1, G2Point memory a2, G1Point memory b1, G2Point memory b2) internal view returns (bool) {\n G1Point[] memory p1 = new G1Point[](2);\n G2Point[] memory p2 = new G2Point[](2);\n p1[0] = a1;\n p1[1] = b1;\n p2[0] = a2;\n p2[1] = b2;\n return pairing(p1, p2);\n }\n /// Convenience method for a pairing check for three pairs.\n function pairingProd3(\n G1Point memory a1, G2Point memory a2,\n G1Point memory b1, G2Point memory b2,\n G1Point memory c1, G2Point memory c2\n ) internal view returns (bool) {\n G1Point[] memory p1 = new G1Point[](3);\n G2Point[] memory p2 = new G2Point[](3);\n p1[0] = a1;\n p1[1] = b1;\n p1[2] = c1;\n p2[0] = a2;\n p2[1] = b2;\n p2[2] = c2;\n return pairing(p1, p2);\n }\n /// Convenience method for a pairing check for four pairs.\n function pairingProd4(\n G1Point memory a1, G2Point memory a2,\n G1Point memory b1, G2Point memory b2,\n G1Point memory c1, G2Point memory c2,\n G1Point memory d1, G2Point memory d2\n ) internal view returns (bool) {\n G1Point[] memory p1 = new G1Point[](4);\n G2Point[] memory p2 = new G2Point[](4);\n p1[0] = a1;\n p1[1] = b1;\n p1[2] = c1;\n p1[3] = d1;\n p2[0] = a2;\n p2[1] = b2;\n p2[2] = c2;\n p2[3] = d2;\n return pairing(p1, p2);\n }\n}\ncontract Verifier {\n using Pairing for *;\n struct VerifyingKey {\n Pairing.G1Point alfa1;\n Pairing.G2Point beta2;\n Pairing.G2Point gamma2;\n Pairing.G2Point delta2;\n Pairing.G1Point[] IC;\n }\n struct Proof {\n Pairing.G1Point A;\n Pairing.G2Point B;\n Pairing.G1Point C;\n }\n function verifyingKey() internal pure returns (VerifyingKey memory vk) {\n vk.alfa1 = Pairing.G1Point(12460490708279467301202778391127510537683948258096796922127174268009168016746,2044073673724661651577421329709273081857081212805872863635504960509226496242);\n vk.beta2 = Pairing.G2Point([16087490193876161637448045704887923394070749301729401042528207780307353148754,4047315548230716670792711364149480628046544638739431946110837410403922953302], [14263157589925503025528792522444100058771414693273945149032889920775598241518,2403089822051858644985808169464757375250302755592994009294110237616552595758]);\n vk.gamma2 = Pairing.G2Point([18123276304127160438393801088717318781198132961398793760812749257186063014337,17607423105313335525432869667679352624924066595757032717782399822257020503137], [11025581329650047651679757086388724167475219406913114270498430888483526010684,17223042113062030556278816694661970331697234922696012013177194723549528474201]);\n vk.delta2 = Pairing.G2Point([6037623448512168987260566201688122245791371525028098505952259164431847775491,458336575433998506016458017218111862879186139304654606381372583914446959617], [15074747331456849121041477998068795341356504164554362922885862289027940900480,4551717338615761726884555729815737240947234262038677985956844189240908695656]);\n vk.IC = new Pairing.G1Point[](7);\n vk.IC[0] = Pairing.G1Point(3280151354857701104805815107342927006881561188181486049350149056802788902277,4096205864284246892786942491620896521544938058951378408773174891322097316913);\n vk.IC[1] = Pairing.G1Point(886075252733300330869950498066252804027245332188737089899561929180698930798,15570234229151758134113005312914035073446975470656183090215346868677091213005);\n vk.IC[2] = Pairing.G1Point(4803911529229921243819115938814624698011704327571816657368259655263810910424,9421521138574274245916449596797669329387046444348355383899676800456202039055);\n vk.IC[3] = Pairing.G1Point(8556536154095961870679484985871880561903552891231663801453118433906208208634,3050601476829943501968050336923012297384352890508269063303888737139486918441);\n vk.IC[4] = Pairing.G1Point(300970557484518070492531175714788912131243344262805477266806064126958929035,7398530781379870905922247634738956356372326243016843550426084862881205863447);\n vk.IC[5] = Pairing.G1Point(19920099237792867409693124415022100529487012962841642820676567509262507193107,20219544009593389298713776672148908906084007300789292168389787721741450912038);\n vk.IC[6] = Pairing.G1Point(19738468465658587453371819831578835676337686216736310076443477948701915541203,17051611336678940832594719954268295083764993921610290255520015002513439413943);\n\n }\n function verify(uint[] memory input, Proof memory proof) internal view returns (uint) {\n uint256 snark_scalar_field = 21888242871839275222246405745257275088548364400416034343698204186575808495617;\n VerifyingKey memory vk = verifyingKey();\n require(input.length + 1 == vk.IC.length,\"verifier-bad-input\");\n // Compute the linear combination vk_x\n Pairing.G1Point memory vk_x = Pairing.G1Point(0, 0);\n for (uint i = 0; i < input.length; i++) {\n require(input[i] < snark_scalar_field,\"verifier-gte-snark-scalar-field\");\n vk_x = Pairing.addition(vk_x, Pairing.scalar_mul(vk.IC[i + 1], input[i]));\n }\n vk_x = Pairing.addition(vk_x, vk.IC[0]);\n if (!Pairing.pairingProd4(\n Pairing.negate(proof.A), proof.B,\n vk.alfa1, vk.beta2,\n vk_x, vk.gamma2,\n proof.C, vk.delta2\n )) return 1;\n return 0;\n }\n function verifyProof(\n uint[2] memory a,\n uint[2][2] memory b,\n uint[2] memory c,\n uint[6] memory input\n ) public view returns (bool r) {\n Proof memory proof;\n proof.A = Pairing.G1Point(a[0], a[1]);\n proof.B = Pairing.G2Point([b[0][0], b[0][1]], [b[1][0], b[1][1]]);\n proof.C = Pairing.G1Point(c[0], c[1]);\n uint[] memory inputValues = new uint[](input.length);\n for(uint i = 0; i < input.length; i++){\n inputValues[i] = input[i];\n }\n if (verify(inputValues, proof) == 0) {\n return true;\n } else {\n return false;\n }\n }\n function verifyProof(bytes calldata proof, uint[6] calldata inputs) external view returns (bool r) {\n // solidity does not support decoding uint[2][2] yet\n (uint[2] memory a, uint[2] memory b1, uint[2] memory b2, uint[2] memory c) = abi.decode(proof, (uint[2], uint[2], uint[2], uint[2]));\n return verifyProof(a, [b1, b2], c, inputs);\n }\n}\n", - "sourcePath": "/Users/brianli/dotfiles/tornado-core/contracts/Verifier.sol", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/Verifier.sol\":\"Pairing\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/Verifier.sol\":{\"keccak256\":\"0xcb32ba1ec7b98800647b542f6723795b606840e064090bf626d67b7f492bd04a\",\"urls\":[\"bzz-raw://d17d6e473622d3a4795e15bb2ff2ea9972a17547a151c31039d6c1337d34a3b9\",\"dweb:/ipfs/QmaEKFpxyT58AgYp83tFhMQWbzA6fB1eNRSiRqXi63tjcb\"]}},\"version\":1}", + "bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158203e1c2073023102b8f0ccab0ded7a483e0ed4b9254b7a80f5df5e6dd3a3a6091b64736f6c63430005110032", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158203e1c2073023102b8f0ccab0ded7a483e0ed4b9254b7a80f5df5e6dd3a3a6091b64736f6c63430005110032", + "sourceMap": "1217:5849:0:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", + "deployedSourceMap": "1217:5849:0:-;;;;;;;;", + "source": "//\n// Copyright 2017 Christian Reitwiessner\n// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n//\n// 2019 OKIMS\n// ported to solidity 0.5\n// fixed linter warnings\n// added requiere error messages\n//\npragma solidity ^0.5.0;\nlibrary Pairing {\n struct G1Point {\n uint X;\n uint Y;\n }\n // Encoding of field elements is: X[0] * z + X[1]\n struct G2Point {\n uint[2] X;\n uint[2] Y;\n }\n /// @return the generator of G1\n function P1() internal pure returns (G1Point memory) {\n return G1Point(1, 2);\n }\n /// @return the generator of G2\n function P2() internal pure returns (G2Point memory) {\n // Original code point\n return G2Point(\n [11559732032986387107991004021392285783925812861821192530917403151452391805634,\n 10857046999023057135944570762232829481370756359578518086990519993285655852781],\n [4082367875863433681332203403145435568316851327593401208105741076214120093531,\n 8495653923123431417604973247489272438418190587263600148770280649306958101930]\n );\n\n/*\n // Changed by Jordi point\n return G2Point(\n [10857046999023057135944570762232829481370756359578518086990519993285655852781,\n 11559732032986387107991004021392285783925812861821192530917403151452391805634],\n [8495653923123431417604973247489272438418190587263600148770280649306958101930,\n 4082367875863433681332203403145435568316851327593401208105741076214120093531]\n );\n*/\n }\n /// @return the negation of p, i.e. p.addition(p.negate()) should be zero.\n function negate(G1Point memory p) internal pure returns (G1Point memory) {\n // The prime q in the base field F_q for G1\n uint q = 21888242871839275222246405745257275088696311157297823662689037894645226208583;\n if (p.X == 0 && p.Y == 0)\n return G1Point(0, 0);\n return G1Point(p.X, q - (p.Y % q));\n }\n /// @return the sum of two points of G1\n function addition(G1Point memory p1, G1Point memory p2) internal view returns (G1Point memory r) {\n uint[4] memory input;\n input[0] = p1.X;\n input[1] = p1.Y;\n input[2] = p2.X;\n input[3] = p2.Y;\n bool success;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n success := staticcall(sub(gas, 2000), 6, input, 0xc0, r, 0x60)\n // Use \"invalid\" to make gas estimation work\n switch success case 0 { invalid() }\n }\n require(success,\"pairing-add-failed\");\n }\n /// @return the product of a point on G1 and a scalar, i.e.\n /// p == p.scalar_mul(1) and p.addition(p) == p.scalar_mul(2) for all points p.\n function scalar_mul(G1Point memory p, uint s) internal view returns (G1Point memory r) {\n uint[3] memory input;\n input[0] = p.X;\n input[1] = p.Y;\n input[2] = s;\n bool success;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n success := staticcall(sub(gas, 2000), 7, input, 0x80, r, 0x60)\n // Use \"invalid\" to make gas estimation work\n switch success case 0 { invalid() }\n }\n require (success,\"pairing-mul-failed\");\n }\n /// @return the result of computing the pairing check\n /// e(p1[0], p2[0]) * .... * e(p1[n], p2[n]) == 1\n /// For example pairing([P1(), P1().negate()], [P2(), P2()]) should\n /// return true.\n function pairing(G1Point[] memory p1, G2Point[] memory p2) internal view returns (bool) {\n require(p1.length == p2.length,\"pairing-lengths-failed\");\n uint elements = p1.length;\n uint inputSize = elements * 6;\n uint[] memory input = new uint[](inputSize);\n for (uint i = 0; i < elements; i++)\n {\n input[i * 6 + 0] = p1[i].X;\n input[i * 6 + 1] = p1[i].Y;\n input[i * 6 + 2] = p2[i].X[0];\n input[i * 6 + 3] = p2[i].X[1];\n input[i * 6 + 4] = p2[i].Y[0];\n input[i * 6 + 5] = p2[i].Y[1];\n }\n uint[1] memory out;\n bool success;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n success := staticcall(sub(gas, 2000), 8, add(input, 0x20), mul(inputSize, 0x20), out, 0x20)\n // Use \"invalid\" to make gas estimation work\n switch success case 0 { invalid() }\n }\n require(success,\"pairing-opcode-failed\");\n return out[0] != 0;\n }\n /// Convenience method for a pairing check for two pairs.\n function pairingProd2(G1Point memory a1, G2Point memory a2, G1Point memory b1, G2Point memory b2) internal view returns (bool) {\n G1Point[] memory p1 = new G1Point[](2);\n G2Point[] memory p2 = new G2Point[](2);\n p1[0] = a1;\n p1[1] = b1;\n p2[0] = a2;\n p2[1] = b2;\n return pairing(p1, p2);\n }\n /// Convenience method for a pairing check for three pairs.\n function pairingProd3(\n G1Point memory a1, G2Point memory a2,\n G1Point memory b1, G2Point memory b2,\n G1Point memory c1, G2Point memory c2\n ) internal view returns (bool) {\n G1Point[] memory p1 = new G1Point[](3);\n G2Point[] memory p2 = new G2Point[](3);\n p1[0] = a1;\n p1[1] = b1;\n p1[2] = c1;\n p2[0] = a2;\n p2[1] = b2;\n p2[2] = c2;\n return pairing(p1, p2);\n }\n /// Convenience method for a pairing check for four pairs.\n function pairingProd4(\n G1Point memory a1, G2Point memory a2,\n G1Point memory b1, G2Point memory b2,\n G1Point memory c1, G2Point memory c2,\n G1Point memory d1, G2Point memory d2\n ) internal view returns (bool) {\n G1Point[] memory p1 = new G1Point[](4);\n G2Point[] memory p2 = new G2Point[](4);\n p1[0] = a1;\n p1[1] = b1;\n p1[2] = c1;\n p1[3] = d1;\n p2[0] = a2;\n p2[1] = b2;\n p2[2] = c2;\n p2[3] = d2;\n return pairing(p1, p2);\n }\n}\ncontract Verifier {\n using Pairing for *;\n struct VerifyingKey {\n Pairing.G1Point alfa1;\n Pairing.G2Point beta2;\n Pairing.G2Point gamma2;\n Pairing.G2Point delta2;\n Pairing.G1Point[] IC;\n }\n struct Proof {\n Pairing.G1Point A;\n Pairing.G2Point B;\n Pairing.G1Point C;\n }\n function verifyingKey() internal pure returns (VerifyingKey memory vk) {\n vk.alfa1 = Pairing.G1Point(18657542331331594053741415770570506550706569498961410954133033897989591401189,6264260897865443982211421147903875993071737418978097054373843876593191958554);\n vk.beta2 = Pairing.G2Point([16145146493105051731835577431466522777312556712102642258586604156965648489323,1408397907630178084475841628288979560031077923161720290656645690888514900690], [11978935468110936479452540476685650963253543448444491042448602999296500877530,112918063640144403952377835324065916772928630126644486578966192894527844242]);\n vk.gamma2 = Pairing.G2Point([14714161541472190840706407460577570471955020383164127014044969149845099089043,21154405576246819890480857261813245873290117922496461244951437100679802599302], [1840081830277905838744371828531811119637362077753056677334840017658318568390,410971760875258255000700145958941470970464459511247951845295749195541674770]);\n vk.delta2 = Pairing.G2Point([609622496158014325110420558804365410223349280839149569464161962343427764287,8317373424286384092546596992464745037177203788231027221499358270203939798311], [8964380816483194889991669997269927098310306830885265614044859474784301616839,4657156249795161919628914303326963019564805696528481901536526126579308090139]);\n vk.IC = new Pairing.G1Point[](7);\n vk.IC[0] = Pairing.G1Point(20166610602661498805481216064041390370160663060098850035854617107084652933188,1659975302204996438525238174042926887396319013457610086028476512633965956990);\n vk.IC[1] = Pairing.G1Point(4220871189670953026506414371868481831410889010217108719382613726183286975446,1000393167704732207794518371383982711909560731997085626334108036666911896515);\n vk.IC[2] = Pairing.G1Point(12239086110821316935616912649060211038392877351736651065425057336661040984065,5374452082587629349940763802872591986728213630869355796260909357433421532329);\n vk.IC[3] = Pairing.G1Point(10285133610545411845819507508720146823943262881879468951491365404146203175832,2498247655234760266120312262546972165343297120557370090775420013522145792015);\n vk.IC[4] = Pairing.G1Point(18113182104873248546285711585405582060453978828497035767859046179153107375835,6729094613760083456600449536123737034270234634314951752808465378236383530847);\n vk.IC[5] = Pairing.G1Point(2675854458152962472161665122142721791686118092900325507962353336751375645555,12913224302380448616475651904030096179632834250198895128713731772227526103851);\n vk.IC[6] = Pairing.G1Point(6904531203927324497190715701219512027355142032925478416168419557191017067138,3297385619144148685859898508280807841114612552526206265036207895270147740391);\n\n }\n function verify(uint[] memory input, Proof memory proof) internal view returns (uint) {\n uint256 snark_scalar_field = 21888242871839275222246405745257275088548364400416034343698204186575808495617;\n VerifyingKey memory vk = verifyingKey();\n require(input.length + 1 == vk.IC.length,\"verifier-bad-input\");\n // Compute the linear combination vk_x\n Pairing.G1Point memory vk_x = Pairing.G1Point(0, 0);\n for (uint i = 0; i < input.length; i++) {\n require(input[i] < snark_scalar_field,\"verifier-gte-snark-scalar-field\");\n vk_x = Pairing.addition(vk_x, Pairing.scalar_mul(vk.IC[i + 1], input[i]));\n }\n vk_x = Pairing.addition(vk_x, vk.IC[0]);\n if (!Pairing.pairingProd4(\n Pairing.negate(proof.A), proof.B,\n vk.alfa1, vk.beta2,\n vk_x, vk.gamma2,\n proof.C, vk.delta2\n )) return 1;\n return 0;\n }\n function verifyProof(\n uint[2] memory a,\n uint[2][2] memory b,\n uint[2] memory c,\n uint[6] memory input\n ) public view returns (bool r) {\n Proof memory proof;\n proof.A = Pairing.G1Point(a[0], a[1]);\n proof.B = Pairing.G2Point([b[0][0], b[0][1]], [b[1][0], b[1][1]]);\n proof.C = Pairing.G1Point(c[0], c[1]);\n uint[] memory inputValues = new uint[](input.length);\n for(uint i = 0; i < input.length; i++){\n inputValues[i] = input[i];\n }\n if (verify(inputValues, proof) == 0) {\n return true;\n } else {\n return false;\n }\n }\n function verifyProof(bytes calldata proof, uint[6] calldata inputs) external view returns (bool r) {\n // solidity does not support decoding uint[2][2] yet\n (uint[2] memory a, uint[2] memory b1, uint[2] memory b2, uint[2] memory c) = abi.decode(proof, (uint[2], uint[2], uint[2], uint[2]));\n return verifyProof(a, [b1, b2], c, inputs);\n }\n}\n", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/Verifier.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Verifier.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Verifier.sol", "exportedSymbols": { "Pairing": [ - 1605 + 577 ], "Verifier": [ - 2086 + 1058 ] }, - "id": 2087, + "id": 1059, "nodeType": "SourceUnit", "nodes": [ { - "id": 1029, + "id": 1, "literals": [ "solidity", "^", @@ -30,7 +30,7 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "1193:23:4" + "src": "1193:23:0" }, { "baseContracts": [], @@ -38,24 +38,24 @@ "contractKind": "library", "documentation": null, "fullyImplemented": true, - "id": 1605, + "id": 577, "linearizedBaseContracts": [ - 1605 + 577 ], "name": "Pairing", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "Pairing.G1Point", - "id": 1034, + "id": 6, "members": [ { "constant": false, - "id": 1031, + "id": 3, "name": "X", "nodeType": "VariableDeclaration", - "scope": 1034, - "src": "1264:6:4", + "scope": 6, + "src": "1264:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -63,10 +63,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1030, + "id": 2, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1264:4:4", + "src": "1264:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -77,11 +77,11 @@ }, { "constant": false, - "id": 1033, + "id": 5, "name": "Y", "nodeType": "VariableDeclaration", - "scope": 1034, - "src": "1280:6:4", + "scope": 6, + "src": "1280:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -89,10 +89,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1032, + "id": 4, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1280:4:4", + "src": "1280:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -104,21 +104,21 @@ ], "name": "G1Point", "nodeType": "StructDefinition", - "scope": 1605, - "src": "1239:54:4", + "scope": 577, + "src": "1239:54:0", "visibility": "public" }, { "canonicalName": "Pairing.G2Point", - "id": 1043, + "id": 15, "members": [ { "constant": false, - "id": 1038, + "id": 10, "name": "X", "nodeType": "VariableDeclaration", - "scope": 1043, - "src": "1377:9:4", + "scope": 15, + "src": "1377:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -127,27 +127,27 @@ }, "typeName": { "baseType": { - "id": 1035, + "id": 7, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1377:4:4", + "src": "1377:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1037, + "id": 9, "length": { "argumentTypes": null, "hexValue": "32", - "id": 1036, + "id": 8, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1382:1:4", + "src": "1382:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -156,7 +156,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "1377:7:4", + "src": "1377:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -167,11 +167,11 @@ }, { "constant": false, - "id": 1042, + "id": 14, "name": "Y", "nodeType": "VariableDeclaration", - "scope": 1043, - "src": "1396:9:4", + "scope": 15, + "src": "1396:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -180,27 +180,27 @@ }, "typeName": { "baseType": { - "id": 1039, + "id": 11, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1396:4:4", + "src": "1396:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1041, + "id": 13, "length": { "argumentTypes": null, "hexValue": "32", - "id": 1040, + "id": 12, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1401:1:4", + "src": "1401:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -209,7 +209,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "1396:7:4", + "src": "1396:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -221,15 +221,15 @@ ], "name": "G2Point", "nodeType": "StructDefinition", - "scope": 1605, - "src": "1352:60:4", + "scope": 577, + "src": "1352:60:0", "visibility": "public" }, { "body": { - "id": 1053, + "id": 25, "nodeType": "Block", - "src": "1506:37:4", + "src": "1506:37:0", "statements": [ { "expression": { @@ -238,14 +238,14 @@ { "argumentTypes": null, "hexValue": "31", - "id": 1049, + "id": 21, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1531:1:4", + "src": "1531:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -256,14 +256,14 @@ { "argumentTypes": null, "hexValue": "32", - "id": 1050, + "id": 22, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1534:1:4", + "src": "1534:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -283,18 +283,18 @@ "typeString": "int_const 2" } ], - "id": 1048, + "id": 20, "name": "G1Point", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1034, - "src": "1523:7:4", + "referencedDeclaration": 6, + "src": "1523:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1051, + "id": 23, "isConstant": false, "isLValue": false, "isPure": true, @@ -302,58 +302,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1523:13:4", + "src": "1523:13:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "functionReturnParameters": 1047, - "id": 1052, + "functionReturnParameters": 19, + "id": 24, "nodeType": "Return", - "src": "1516:20:4" + "src": "1516:20:0" } ] }, "documentation": "@return the generator of G1", - "id": 1054, + "id": 26, "implemented": true, "kind": "function", "modifiers": [], "name": "P1", "nodeType": "FunctionDefinition", "parameters": { - "id": 1044, + "id": 16, "nodeType": "ParameterList", "parameters": [], - "src": "1464:2:4" + "src": "1464:2:0" }, "returnParameters": { - "id": 1047, + "id": 19, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1046, + "id": 18, "name": "", "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "1490:14:4", + "scope": 26, + "src": "1490:14:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1045, + "id": 17, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "1490:7:4", + "referencedDeclaration": 6, + "src": "1490:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -361,19 +361,19 @@ "visibility": "internal" } ], - "src": "1489:16:4" + "src": "1489:16:0" }, - "scope": 1605, - "src": "1453:90:4", + "scope": 577, + "src": "1453:90:0", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1068, + "id": 40, "nodeType": "Block", - "src": "1637:883:4", + "src": "1637:883:0", "statements": [ { "expression": { @@ -385,14 +385,14 @@ { "argumentTypes": null, "hexValue": "3131353539373332303332393836333837313037393931303034303231333932323835373833393235383132383631383231313932353330393137343033313531343532333931383035363334", - "id": 1060, + "id": 32, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1707:77:4", + "src": "1707:77:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_11559732032986387107991004021392285783925812861821192530917403151452391805634_by_1", @@ -403,14 +403,14 @@ { "argumentTypes": null, "hexValue": "3130383537303436393939303233303537313335393434353730373632323332383239343831333730373536333539353738353138303836393930353139393933323835363535383532373831", - "id": 1061, + "id": 33, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1799:77:4", + "src": "1799:77:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10857046999023057135944570762232829481370756359578518086990519993285655852781_by_1", @@ -419,14 +419,14 @@ "value": "10857046999023057135944570762232829481370756359578518086990519993285655852781" } ], - "id": 1062, + "id": 34, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1706:171:4", + "src": "1706:171:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -438,14 +438,14 @@ { "argumentTypes": null, "hexValue": "34303832333637383735383633343333363831333332323033343033313435343335353638333136383531333237353933343031323038313035373431303736323134313230303933353331", - "id": 1063, + "id": 35, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1892:76:4", + "src": "1892:76:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4082367875863433681332203403145435568316851327593401208105741076214120093531_by_1", @@ -456,14 +456,14 @@ { "argumentTypes": null, "hexValue": "38343935363533393233313233343331343137363034393733323437343839323732343338343138313930353837323633363030313438373730323830363439333036393538313031393330", - "id": 1064, + "id": 36, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1983:76:4", + "src": "1983:76:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_8495653923123431417604973247489272438418190587263600148770280649306958101930_by_1", @@ -472,14 +472,14 @@ "value": "8495653923123431417604973247489272438418190587263600148770280649306958101930" } ], - "id": 1065, + "id": 37, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1891:169:4", + "src": "1891:169:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -497,18 +497,18 @@ "typeString": "uint256[2] memory" } ], - "id": 1059, + "id": 31, "name": "G2Point", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1043, - "src": "1685:7:4", + "referencedDeclaration": 15, + "src": "1685:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$1043_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G2Point_$15_storage_ptr_$", "typeString": "type(struct Pairing.G2Point storage pointer)" } }, - "id": 1066, + "id": 38, "isConstant": false, "isLValue": false, "isPure": true, @@ -516,58 +516,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1685:385:4", + "src": "1685:385:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "functionReturnParameters": 1058, - "id": 1067, + "functionReturnParameters": 30, + "id": 39, "nodeType": "Return", - "src": "1678:392:4" + "src": "1678:392:0" } ] }, "documentation": "@return the generator of G2", - "id": 1069, + "id": 41, "implemented": true, "kind": "function", "modifiers": [], "name": "P2", "nodeType": "FunctionDefinition", "parameters": { - "id": 1055, + "id": 27, "nodeType": "ParameterList", "parameters": [], - "src": "1595:2:4" + "src": "1595:2:0" }, "returnParameters": { - "id": 1058, + "id": 30, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1057, + "id": 29, "name": "", "nodeType": "VariableDeclaration", - "scope": 1069, - "src": "1621:14:4", + "scope": 41, + "src": "1621:14:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1056, + "id": 28, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "1621:7:4", + "referencedDeclaration": 15, + "src": "1621:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -575,32 +575,32 @@ "visibility": "internal" } ], - "src": "1620:16:4" + "src": "1620:16:0" }, - "scope": 1605, - "src": "1584:936:4", + "scope": 577, + "src": "1584:936:0", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1107, + "id": 79, "nodeType": "Block", - "src": "2677:267:4", + "src": "2677:267:0", "statements": [ { "assignments": [ - 1077 + 49 ], "declarations": [ { "constant": false, - "id": 1077, + "id": 49, "name": "q", "nodeType": "VariableDeclaration", - "scope": 1107, - "src": "2739:6:4", + "scope": 79, + "src": "2739:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -608,10 +608,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1076, + "id": 48, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2739:4:4", + "src": "2739:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -621,18 +621,18 @@ "visibility": "internal" } ], - "id": 1079, + "id": 51, "initialValue": { "argumentTypes": null, "hexValue": "3231383838323432383731383339323735323232323436343035373435323537323735303838363936333131313537323937383233363632363839303337383934363435323236323038353833", - "id": 1078, + "id": 50, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2748:77:4", + "src": "2748:77:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_21888242871839275222246405745257275088696311157297823662689037894645226208583_by_1", @@ -641,7 +641,7 @@ "value": "21888242871839275222246405745257275088696311157297823662689037894645226208583" }, "nodeType": "VariableDeclarationStatement", - "src": "2739:86:4" + "src": "2739:86:0" }, { "condition": { @@ -650,7 +650,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1088, + "id": 60, "isConstant": false, "isLValue": false, "isPure": false, @@ -661,7 +661,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1083, + "id": 55, "isConstant": false, "isLValue": false, "isPure": false, @@ -670,26 +670,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1080, + "id": 52, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "2839:1:4", + "referencedDeclaration": 43, + "src": "2839:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1081, + "id": 53, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "X", "nodeType": "MemberAccess", - "referencedDeclaration": 1031, - "src": "2839:3:4", + "referencedDeclaration": 3, + "src": "2839:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -700,14 +700,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1082, + "id": 54, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2846:1:4", + "src": "2846:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -715,7 +715,7 @@ }, "value": "0" }, - "src": "2839:8:4", + "src": "2839:8:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -729,7 +729,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1087, + "id": 59, "isConstant": false, "isLValue": false, "isPure": false, @@ -738,26 +738,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1084, + "id": 56, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "2851:1:4", + "referencedDeclaration": 43, + "src": "2851:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1085, + "id": 57, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Y", "nodeType": "MemberAccess", - "referencedDeclaration": 1033, - "src": "2851:3:4", + "referencedDeclaration": 5, + "src": "2851:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -768,14 +768,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1086, + "id": 58, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2858:1:4", + "src": "2858:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -783,22 +783,22 @@ }, "value": "0" }, - "src": "2851:8:4", + "src": "2851:8:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "2839:20:4", + "src": "2839:20:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1094, + "id": 66, "nodeType": "IfStatement", - "src": "2835:58:4", + "src": "2835:58:0", "trueBody": { "expression": { "argumentTypes": null, @@ -806,14 +806,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1090, + "id": 62, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2888:1:4", + "src": "2888:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -824,14 +824,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1091, + "id": 63, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2891:1:4", + "src": "2891:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -851,18 +851,18 @@ "typeString": "int_const 0" } ], - "id": 1089, + "id": 61, "name": "G1Point", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1034, - "src": "2880:7:4", + "referencedDeclaration": 6, + "src": "2880:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1092, + "id": 64, "isConstant": false, "isLValue": false, "isPure": true, @@ -870,16 +870,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2880:13:4", + "src": "2880:13:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "functionReturnParameters": 1075, - "id": 1093, + "functionReturnParameters": 47, + "id": 65, "nodeType": "Return", - "src": "2873:20:4" + "src": "2873:20:0" } }, { @@ -890,26 +890,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1096, + "id": 68, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "2918:1:4", + "referencedDeclaration": 43, + "src": "2918:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1097, + "id": 69, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "X", "nodeType": "MemberAccess", - "referencedDeclaration": 1031, - "src": "2918:3:4", + "referencedDeclaration": 3, + "src": "2918:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -921,19 +921,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1104, + "id": 76, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1098, + "id": 70, "name": "q", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1077, - "src": "2923:1:4", + "referencedDeclaration": 49, + "src": "2923:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -950,7 +950,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1102, + "id": 74, "isConstant": false, "isLValue": false, "isPure": false, @@ -959,26 +959,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1099, + "id": 71, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "2928:1:4", + "referencedDeclaration": 43, + "src": "2928:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1100, + "id": 72, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Y", "nodeType": "MemberAccess", - "referencedDeclaration": 1033, - "src": "2928:3:4", + "referencedDeclaration": 5, + "src": "2928:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -988,38 +988,38 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1101, + "id": 73, "name": "q", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1077, - "src": "2934:1:4", + "referencedDeclaration": 49, + "src": "2934:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2928:7:4", + "src": "2928:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 1103, + "id": 75, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2927:9:4", + "src": "2927:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2923:13:4", + "src": "2923:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1037,18 +1037,18 @@ "typeString": "uint256" } ], - "id": 1095, + "id": 67, "name": "G1Point", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1034, - "src": "2910:7:4", + "referencedDeclaration": 6, + "src": "2910:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1105, + "id": 77, "isConstant": false, "isLValue": false, "isPure": false, @@ -1056,52 +1056,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2910:27:4", + "src": "2910:27:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "functionReturnParameters": 1075, - "id": 1106, + "functionReturnParameters": 47, + "id": 78, "nodeType": "Return", - "src": "2903:34:4" + "src": "2903:34:0" } ] }, "documentation": "@return the negation of p, i.e. p.addition(p.negate()) should be zero.", - "id": 1108, + "id": 80, "implemented": true, "kind": "function", "modifiers": [], "name": "negate", "nodeType": "FunctionDefinition", "parameters": { - "id": 1072, + "id": 44, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1071, + "id": 43, "name": "p", "nodeType": "VariableDeclaration", - "scope": 1108, - "src": "2620:16:4", + "scope": 80, + "src": "2620:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1070, + "id": 42, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "2620:7:4", + "referencedDeclaration": 6, + "src": "2620:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -1109,34 +1109,34 @@ "visibility": "internal" } ], - "src": "2619:18:4" + "src": "2619:18:0" }, "returnParameters": { - "id": 1075, + "id": 47, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1074, + "id": 46, "name": "", "nodeType": "VariableDeclaration", - "scope": 1108, - "src": "2661:14:4", + "scope": 80, + "src": "2661:14:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1073, + "id": 45, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "2661:7:4", + "referencedDeclaration": 6, + "src": "2661:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -1144,32 +1144,32 @@ "visibility": "internal" } ], - "src": "2660:16:4" + "src": "2660:16:0" }, - "scope": 1605, - "src": "2604:340:4", + "scope": 577, + "src": "2604:340:0", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1160, + "id": 132, "nodeType": "Block", - "src": "3090:479:4", + "src": "3090:479:0", "statements": [ { "assignments": [ - 1121 + 93 ], "declarations": [ { "constant": false, - "id": 1121, + "id": 93, "name": "input", "nodeType": "VariableDeclaration", - "scope": 1160, - "src": "3100:20:4", + "scope": 132, + "src": "3100:20:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1178,27 +1178,27 @@ }, "typeName": { "baseType": { - "id": 1119, + "id": 91, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3100:4:4", + "src": "3100:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1120, + "id": 92, "length": { "argumentTypes": null, "hexValue": "34", - "id": 1118, + "id": 90, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3105:1:4", + "src": "3105:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -1207,7 +1207,7 @@ "value": "4" }, "nodeType": "ArrayTypeName", - "src": "3100:7:4", + "src": "3100:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$4_storage_ptr", "typeString": "uint256[4]" @@ -1217,15 +1217,15 @@ "visibility": "internal" } ], - "id": 1122, + "id": 94, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "3100:20:4" + "src": "3100:20:0" }, { "expression": { "argumentTypes": null, - "id": 1128, + "id": 100, "isConstant": false, "isLValue": false, "isPure": false, @@ -1234,29 +1234,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1123, + "id": 95, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1121, - "src": "3130:5:4", + "referencedDeclaration": 93, + "src": "3130:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", "typeString": "uint256[4] memory" } }, - "id": 1125, + "id": 97, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1124, + "id": 96, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3136:1:4", + "src": "3136:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1269,7 +1269,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3130:8:4", + "src": "3130:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1281,45 +1281,45 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1126, + "id": 98, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1110, - "src": "3141:2:4", + "referencedDeclaration": 82, + "src": "3141:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1127, + "id": 99, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "X", "nodeType": "MemberAccess", - "referencedDeclaration": 1031, - "src": "3141:4:4", + "referencedDeclaration": 3, + "src": "3141:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3130:15:4", + "src": "3130:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1129, + "id": 101, "nodeType": "ExpressionStatement", - "src": "3130:15:4" + "src": "3130:15:0" }, { "expression": { "argumentTypes": null, - "id": 1135, + "id": 107, "isConstant": false, "isLValue": false, "isPure": false, @@ -1328,29 +1328,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1130, + "id": 102, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1121, - "src": "3155:5:4", + "referencedDeclaration": 93, + "src": "3155:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", "typeString": "uint256[4] memory" } }, - "id": 1132, + "id": 104, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1131, + "id": 103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3161:1:4", + "src": "3161:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -1363,7 +1363,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3155:8:4", + "src": "3155:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1375,45 +1375,45 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1133, + "id": 105, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1110, - "src": "3166:2:4", + "referencedDeclaration": 82, + "src": "3166:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1134, + "id": 106, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Y", "nodeType": "MemberAccess", - "referencedDeclaration": 1033, - "src": "3166:4:4", + "referencedDeclaration": 5, + "src": "3166:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3155:15:4", + "src": "3155:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1136, + "id": 108, "nodeType": "ExpressionStatement", - "src": "3155:15:4" + "src": "3155:15:0" }, { "expression": { "argumentTypes": null, - "id": 1142, + "id": 114, "isConstant": false, "isLValue": false, "isPure": false, @@ -1422,29 +1422,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1137, + "id": 109, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1121, - "src": "3180:5:4", + "referencedDeclaration": 93, + "src": "3180:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", "typeString": "uint256[4] memory" } }, - "id": 1139, + "id": 111, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1138, + "id": 110, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3186:1:4", + "src": "3186:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -1457,7 +1457,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3180:8:4", + "src": "3180:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1469,45 +1469,45 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1140, + "id": 112, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1112, - "src": "3191:2:4", + "referencedDeclaration": 84, + "src": "3191:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1141, + "id": 113, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "X", "nodeType": "MemberAccess", - "referencedDeclaration": 1031, - "src": "3191:4:4", + "referencedDeclaration": 3, + "src": "3191:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3180:15:4", + "src": "3180:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1143, + "id": 115, "nodeType": "ExpressionStatement", - "src": "3180:15:4" + "src": "3180:15:0" }, { "expression": { "argumentTypes": null, - "id": 1149, + "id": 121, "isConstant": false, "isLValue": false, "isPure": false, @@ -1516,29 +1516,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1144, + "id": 116, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1121, - "src": "3205:5:4", + "referencedDeclaration": 93, + "src": "3205:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", "typeString": "uint256[4] memory" } }, - "id": 1146, + "id": 118, "indexExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1145, + "id": 117, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3211:1:4", + "src": "3211:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -1551,7 +1551,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3205:8:4", + "src": "3205:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1563,53 +1563,53 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1147, + "id": 119, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1112, - "src": "3216:2:4", + "referencedDeclaration": 84, + "src": "3216:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1148, + "id": 120, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Y", "nodeType": "MemberAccess", - "referencedDeclaration": 1033, - "src": "3216:4:4", + "referencedDeclaration": 5, + "src": "3216:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3205:15:4", + "src": "3205:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1150, + "id": 122, "nodeType": "ExpressionStatement", - "src": "3205:15:4" + "src": "3205:15:0" }, { "assignments": [ - 1152 + 124 ], "declarations": [ { "constant": false, - "id": 1152, + "id": 124, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1160, - "src": "3230:12:4", + "scope": 132, + "src": "3230:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1617,10 +1617,10 @@ "typeString": "bool" }, "typeName": { - "id": 1151, + "id": 123, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3230:4:4", + "src": "3230:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1630,54 +1630,54 @@ "visibility": "internal" } ], - "id": 1153, + "id": 125, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "3230:12:4" + "src": "3230:12:0" }, { "externalReferences": [ - { - "success": { - "declaration": 1152, - "isOffset": false, - "isSlot": false, - "src": "3339:7:4", - "valueSize": 1 - } - }, { "input": { - "declaration": 1121, + "declaration": 93, "isOffset": false, "isSlot": false, - "src": "3380:5:4", + "src": "3380:5:0", "valueSize": 1 } }, { "r": { - "declaration": 1115, + "declaration": 87, "isOffset": false, "isSlot": false, - "src": "3393:1:4", + "src": "3393:1:0", "valueSize": 1 } }, { "success": { - "declaration": 1152, + "declaration": 124, "isOffset": false, "isSlot": false, - "src": "3478:7:4", + "src": "3478:7:0", + "valueSize": 1 + } + }, + { + "success": { + "declaration": 124, + "isOffset": false, + "isSlot": false, + "src": "3339:7:0", "valueSize": 1 } } ], - "id": 1154, + "id": 126, "nodeType": "InlineAssembly", "operations": "{\n success := staticcall(sub(gas(), 2000), 6, input, 0xc0, r, 0x60)\n switch success\n case 0 { invalid() }\n}", - "src": "3316:200:4" + "src": "3316:200:0" }, { "expression": { @@ -1685,12 +1685,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1156, + "id": 128, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1152, - "src": "3533:7:4", + "referencedDeclaration": 124, + "src": "3533:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1699,14 +1699,14 @@ { "argumentTypes": null, "hexValue": "70616972696e672d6164642d6661696c6564", - "id": 1157, + "id": 129, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3541:20:4", + "src": "3541:20:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e428a53e578d13ee2fc3b8849114332d6a94afed893fa747a37e281039728688", @@ -1726,21 +1726,21 @@ "typeString": "literal_string \"pairing-add-failed\"" } ], - "id": 1155, + "id": 127, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, - "src": "3525:7:4", + "referencedDeclaration": 1077, + "src": "3525:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1158, + "id": 130, "isConstant": false, "isLValue": false, "isPure": false, @@ -1748,51 +1748,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3525:37:4", + "src": "3525:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1159, + "id": 131, "nodeType": "ExpressionStatement", - "src": "3525:37:4" + "src": "3525:37:0" } ] }, "documentation": "@return the sum of two points of G1", - "id": 1161, + "id": 133, "implemented": true, "kind": "function", "modifiers": [], "name": "addition", "nodeType": "FunctionDefinition", "parameters": { - "id": 1113, + "id": 85, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1110, + "id": 82, "name": "p1", "nodeType": "VariableDeclaration", - "scope": 1161, - "src": "3011:17:4", + "scope": 133, + "src": "3011:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1109, + "id": 81, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "3011:7:4", + "referencedDeclaration": 6, + "src": "3011:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -1801,26 +1801,26 @@ }, { "constant": false, - "id": 1112, + "id": 84, "name": "p2", "nodeType": "VariableDeclaration", - "scope": 1161, - "src": "3030:17:4", + "scope": 133, + "src": "3030:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1111, + "id": 83, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "3030:7:4", + "referencedDeclaration": 6, + "src": "3030:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -1828,34 +1828,34 @@ "visibility": "internal" } ], - "src": "3010:38:4" + "src": "3010:38:0" }, "returnParameters": { - "id": 1116, + "id": 88, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1115, + "id": 87, "name": "r", "nodeType": "VariableDeclaration", - "scope": 1161, - "src": "3072:16:4", + "scope": 133, + "src": "3072:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1114, + "id": 86, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "3072:7:4", + "referencedDeclaration": 6, + "src": "3072:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -1863,32 +1863,32 @@ "visibility": "internal" } ], - "src": "3071:18:4" + "src": "3071:18:0" }, - "scope": 1605, - "src": "2993:576:4", + "scope": 577, + "src": "2993:576:0", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1205, + "id": 177, "nodeType": "Block", - "src": "3809:450:4", + "src": "3809:450:0", "statements": [ { "assignments": [ - 1174 + 146 ], "declarations": [ { "constant": false, - "id": 1174, + "id": 146, "name": "input", "nodeType": "VariableDeclaration", - "scope": 1205, - "src": "3819:20:4", + "scope": 177, + "src": "3819:20:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1897,27 +1897,27 @@ }, "typeName": { "baseType": { - "id": 1172, + "id": 144, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3819:4:4", + "src": "3819:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1173, + "id": 145, "length": { "argumentTypes": null, "hexValue": "33", - "id": 1171, + "id": 143, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3824:1:4", + "src": "3824:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -1926,7 +1926,7 @@ "value": "3" }, "nodeType": "ArrayTypeName", - "src": "3819:7:4", + "src": "3819:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_storage_ptr", "typeString": "uint256[3]" @@ -1936,15 +1936,15 @@ "visibility": "internal" } ], - "id": 1175, + "id": 147, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "3819:20:4" + "src": "3819:20:0" }, { "expression": { "argumentTypes": null, - "id": 1181, + "id": 153, "isConstant": false, "isLValue": false, "isPure": false, @@ -1953,29 +1953,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1176, + "id": 148, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1174, - "src": "3849:5:4", + "referencedDeclaration": 146, + "src": "3849:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_memory_ptr", "typeString": "uint256[3] memory" } }, - "id": 1178, + "id": 150, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1177, + "id": 149, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3855:1:4", + "src": "3855:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1988,7 +1988,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3849:8:4", + "src": "3849:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2000,45 +2000,45 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1179, + "id": 151, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1163, - "src": "3860:1:4", + "referencedDeclaration": 135, + "src": "3860:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1180, + "id": 152, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "X", "nodeType": "MemberAccess", - "referencedDeclaration": 1031, - "src": "3860:3:4", + "referencedDeclaration": 3, + "src": "3860:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3849:14:4", + "src": "3849:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1182, + "id": 154, "nodeType": "ExpressionStatement", - "src": "3849:14:4" + "src": "3849:14:0" }, { "expression": { "argumentTypes": null, - "id": 1188, + "id": 160, "isConstant": false, "isLValue": false, "isPure": false, @@ -2047,29 +2047,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1183, + "id": 155, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1174, - "src": "3873:5:4", + "referencedDeclaration": 146, + "src": "3873:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_memory_ptr", "typeString": "uint256[3] memory" } }, - "id": 1185, + "id": 157, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1184, + "id": 156, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3879:1:4", + "src": "3879:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -2082,7 +2082,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3873:8:4", + "src": "3873:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2094,45 +2094,45 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1186, + "id": 158, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1163, - "src": "3884:1:4", + "referencedDeclaration": 135, + "src": "3884:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1187, + "id": 159, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Y", "nodeType": "MemberAccess", - "referencedDeclaration": 1033, - "src": "3884:3:4", + "referencedDeclaration": 5, + "src": "3884:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3873:14:4", + "src": "3873:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1189, + "id": 161, "nodeType": "ExpressionStatement", - "src": "3873:14:4" + "src": "3873:14:0" }, { "expression": { "argumentTypes": null, - "id": 1194, + "id": 166, "isConstant": false, "isLValue": false, "isPure": false, @@ -2141,29 +2141,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1190, + "id": 162, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1174, - "src": "3897:5:4", + "referencedDeclaration": 146, + "src": "3897:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_memory_ptr", "typeString": "uint256[3] memory" } }, - "id": 1192, + "id": 164, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1191, + "id": 163, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3903:1:4", + "src": "3903:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -2176,7 +2176,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3897:8:4", + "src": "3897:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2186,39 +2186,39 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1193, + "id": 165, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1165, - "src": "3908:1:4", + "referencedDeclaration": 137, + "src": "3908:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3897:12:4", + "src": "3897:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1195, + "id": 167, "nodeType": "ExpressionStatement", - "src": "3897:12:4" + "src": "3897:12:0" }, { "assignments": [ - 1197 + 169 ], "declarations": [ { "constant": false, - "id": 1197, + "id": 169, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1205, - "src": "3919:12:4", + "scope": 177, + "src": "3919:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2226,10 +2226,10 @@ "typeString": "bool" }, "typeName": { - "id": 1196, + "id": 168, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3919:4:4", + "src": "3919:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2239,54 +2239,54 @@ "visibility": "internal" } ], - "id": 1198, + "id": 170, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "3919:12:4" + "src": "3919:12:0" }, { "externalReferences": [ { "success": { - "declaration": 1197, + "declaration": 169, "isOffset": false, "isSlot": false, - "src": "4028:7:4", - "valueSize": 1 - } - }, - { - "success": { - "declaration": 1197, - "isOffset": false, - "isSlot": false, - "src": "4167:7:4", + "src": "4028:7:0", "valueSize": 1 } }, { "input": { - "declaration": 1174, + "declaration": 146, "isOffset": false, "isSlot": false, - "src": "4069:5:4", + "src": "4069:5:0", "valueSize": 1 } }, { "r": { - "declaration": 1168, + "declaration": 140, "isOffset": false, "isSlot": false, - "src": "4082:1:4", + "src": "4082:1:0", + "valueSize": 1 + } + }, + { + "success": { + "declaration": 169, + "isOffset": false, + "isSlot": false, + "src": "4167:7:0", "valueSize": 1 } } ], - "id": 1199, + "id": 171, "nodeType": "InlineAssembly", "operations": "{\n success := staticcall(sub(gas(), 2000), 7, input, 0x80, r, 0x60)\n switch success\n case 0 { invalid() }\n}", - "src": "4005:200:4" + "src": "4005:200:0" }, { "expression": { @@ -2294,12 +2294,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1201, + "id": 173, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1197, - "src": "4223:7:4", + "referencedDeclaration": 169, + "src": "4223:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2308,14 +2308,14 @@ { "argumentTypes": null, "hexValue": "70616972696e672d6d756c2d6661696c6564", - "id": 1202, + "id": 174, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4231:20:4", + "src": "4231:20:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_63b4943691e0891cf5adcfe6e3eb490783b718accceadc0166bc4e56cf1df5de", @@ -2335,21 +2335,21 @@ "typeString": "literal_string \"pairing-mul-failed\"" } ], - "id": 1200, + "id": 172, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, - "src": "4214:7:4", + "referencedDeclaration": 1077, + "src": "4214:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1203, + "id": 175, "isConstant": false, "isLValue": false, "isPure": false, @@ -2357,51 +2357,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4214:38:4", + "src": "4214:38:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1204, + "id": 176, "nodeType": "ExpressionStatement", - "src": "4214:38:4" + "src": "4214:38:0" } ] }, "documentation": "@return the product of a point on G1 and a scalar, i.e.\n p == p.scalar_mul(1) and p.addition(p) == p.scalar_mul(2) for all points p.", - "id": 1206, + "id": 178, "implemented": true, "kind": "function", "modifiers": [], "name": "scalar_mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1166, + "id": 138, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1163, + "id": 135, "name": "p", "nodeType": "VariableDeclaration", - "scope": 1206, - "src": "3742:16:4", + "scope": 178, + "src": "3742:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1162, + "id": 134, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "3742:7:4", + "referencedDeclaration": 6, + "src": "3742:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -2410,11 +2410,11 @@ }, { "constant": false, - "id": 1165, + "id": 137, "name": "s", "nodeType": "VariableDeclaration", - "scope": 1206, - "src": "3760:6:4", + "scope": 178, + "src": "3760:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2422,10 +2422,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1164, + "id": 136, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3760:4:4", + "src": "3760:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2435,34 +2435,34 @@ "visibility": "internal" } ], - "src": "3741:26:4" + "src": "3741:26:0" }, "returnParameters": { - "id": 1169, + "id": 141, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1168, + "id": 140, "name": "r", "nodeType": "VariableDeclaration", - "scope": 1206, - "src": "3791:16:4", + "scope": 178, + "src": "3791:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1167, + "id": 139, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "3791:7:4", + "referencedDeclaration": 6, + "src": "3791:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -2470,19 +2470,19 @@ "visibility": "internal" } ], - "src": "3790:18:4" + "src": "3790:18:0" }, - "scope": 1605, - "src": "3722:537:4", + "scope": 577, + "src": "3722:537:0", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1366, + "id": 338, "nodeType": "Block", - "src": "4558:946:4", + "src": "4558:946:0", "statements": [ { "expression": { @@ -2494,7 +2494,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1222, + "id": 194, "isConstant": false, "isLValue": false, "isPure": false, @@ -2503,18 +2503,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1218, + "id": 190, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1209, - "src": "4576:2:4", + "referencedDeclaration": 181, + "src": "4576:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1219, + "id": 191, "isConstant": false, "isLValue": false, "isPure": false, @@ -2522,7 +2522,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4576:9:4", + "src": "4576:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2534,18 +2534,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1220, + "id": 192, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, - "src": "4589:2:4", + "referencedDeclaration": 184, + "src": "4589:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1221, + "id": 193, "isConstant": false, "isLValue": false, "isPure": false, @@ -2553,13 +2553,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4589:9:4", + "src": "4589:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4576:22:4", + "src": "4576:22:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2568,14 +2568,14 @@ { "argumentTypes": null, "hexValue": "70616972696e672d6c656e677468732d6661696c6564", - "id": 1223, + "id": 195, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4599:24:4", + "src": "4599:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d4c505601ed3bad1341fbb75434dd6541f91bae974d0b2bc28d5491a5c4a21cc", @@ -2595,21 +2595,21 @@ "typeString": "literal_string \"pairing-lengths-failed\"" } ], - "id": 1217, + "id": 189, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, - "src": "4568:7:4", + "referencedDeclaration": 1077, + "src": "4568:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1224, + "id": 196, "isConstant": false, "isLValue": false, "isPure": false, @@ -2617,28 +2617,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4568:56:4", + "src": "4568:56:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1225, + "id": 197, "nodeType": "ExpressionStatement", - "src": "4568:56:4" + "src": "4568:56:0" }, { "assignments": [ - 1227 + 199 ], "declarations": [ { "constant": false, - "id": 1227, + "id": 199, "name": "elements", "nodeType": "VariableDeclaration", - "scope": 1366, - "src": "4634:13:4", + "scope": 338, + "src": "4634:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2646,10 +2646,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1226, + "id": 198, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4634:4:4", + "src": "4634:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2659,23 +2659,23 @@ "visibility": "internal" } ], - "id": 1230, + "id": 202, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1228, + "id": 200, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1209, - "src": "4650:2:4", + "referencedDeclaration": 181, + "src": "4650:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1229, + "id": 201, "isConstant": false, "isLValue": false, "isPure": false, @@ -2683,27 +2683,27 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4650:9:4", + "src": "4650:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4634:25:4" + "src": "4634:25:0" }, { "assignments": [ - 1232 + 204 ], "declarations": [ { "constant": false, - "id": 1232, + "id": 204, "name": "inputSize", "nodeType": "VariableDeclaration", - "scope": 1366, - "src": "4669:14:4", + "scope": 338, + "src": "4669:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2711,10 +2711,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1231, + "id": 203, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4669:4:4", + "src": "4669:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2724,26 +2724,26 @@ "visibility": "internal" } ], - "id": 1236, + "id": 208, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1235, + "id": 207, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1233, + "id": 205, "name": "elements", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "4686:8:4", + "referencedDeclaration": 199, + "src": "4686:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2754,14 +2754,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "36", - "id": 1234, + "id": 206, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4697:1:4", + "src": "4697:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -2769,27 +2769,27 @@ }, "value": "6" }, - "src": "4686:12:4", + "src": "4686:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4669:29:4" + "src": "4669:29:0" }, { "assignments": [ - 1240 + 212 ], "declarations": [ { "constant": false, - "id": 1240, + "id": 212, "name": "input", "nodeType": "VariableDeclaration", - "scope": 1366, - "src": "4708:19:4", + "scope": 338, + "src": "4708:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2798,19 +2798,19 @@ }, "typeName": { "baseType": { - "id": 1238, + "id": 210, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4708:4:4", + "src": "4708:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1239, + "id": 211, "length": null, "nodeType": "ArrayTypeName", - "src": "4708:6:4", + "src": "4708:6:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -2820,18 +2820,18 @@ "visibility": "internal" } ], - "id": 1246, + "id": 218, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1244, + "id": 216, "name": "inputSize", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1232, - "src": "4741:9:4", + "referencedDeclaration": 204, + "src": "4741:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2845,39 +2845,39 @@ "typeString": "uint256" } ], - "id": 1243, + "id": 215, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "4730:10:4", + "src": "4730:10:0", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", "typeString": "function (uint256) pure returns (uint256[] memory)" }, "typeName": { "baseType": { - "id": 1241, + "id": 213, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4734:4:4", + "src": "4734:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1242, + "id": 214, "length": null, "nodeType": "ArrayTypeName", - "src": "4734:6:4", + "src": "4734:6:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } } }, - "id": 1245, + "id": 217, "isConstant": false, "isLValue": false, "isPure": false, @@ -2885,25 +2885,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4730:21:4", + "src": "4730:21:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory", "typeString": "uint256[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "4708:43:4" + "src": "4708:43:0" }, { "body": { - "id": 1343, + "id": 315, "nodeType": "Block", - "src": "4805:263:4", + "src": "4805:263:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1268, + "id": 240, "isConstant": false, "isLValue": false, "isPure": false, @@ -2912,25 +2912,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1257, + "id": 229, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "4819:5:4", + "referencedDeclaration": 212, + "src": "4819:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1263, + "id": 235, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1262, + "id": 234, "isConstant": false, "isLValue": false, "isPure": false, @@ -2941,19 +2941,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1260, + "id": 232, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1258, + "id": 230, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4825:1:4", + "referencedDeclaration": 220, + "src": "4825:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2964,14 +2964,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "36", - "id": 1259, + "id": 231, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4829:1:4", + "src": "4829:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -2979,7 +2979,7 @@ }, "value": "6" }, - "src": "4825:5:4", + "src": "4825:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2990,14 +2990,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1261, + "id": 233, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4833:1:4", + "src": "4833:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3005,7 +3005,7 @@ }, "value": "0" }, - "src": "4825:9:4", + "src": "4825:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3016,7 +3016,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4819:16:4", + "src": "4819:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3030,26 +3030,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1264, + "id": 236, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1209, - "src": "4838:2:4", + "referencedDeclaration": 181, + "src": "4838:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1266, + "id": 238, "indexExpression": { "argumentTypes": null, - "id": 1265, + "id": 237, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4841:1:4", + "referencedDeclaration": 220, + "src": "4841:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3060,40 +3060,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4838:5:4", + "src": "4838:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1267, + "id": 239, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "X", "nodeType": "MemberAccess", - "referencedDeclaration": 1031, - "src": "4838:7:4", + "referencedDeclaration": 3, + "src": "4838:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4819:26:4", + "src": "4819:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1269, + "id": 241, "nodeType": "ExpressionStatement", - "src": "4819:26:4" + "src": "4819:26:0" }, { "expression": { "argumentTypes": null, - "id": 1281, + "id": 253, "isConstant": false, "isLValue": false, "isPure": false, @@ -3102,25 +3102,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1270, + "id": 242, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "4859:5:4", + "referencedDeclaration": 212, + "src": "4859:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1276, + "id": 248, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1275, + "id": 247, "isConstant": false, "isLValue": false, "isPure": false, @@ -3131,19 +3131,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1273, + "id": 245, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1271, + "id": 243, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4865:1:4", + "referencedDeclaration": 220, + "src": "4865:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3154,14 +3154,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "36", - "id": 1272, + "id": 244, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4869:1:4", + "src": "4869:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -3169,7 +3169,7 @@ }, "value": "6" }, - "src": "4865:5:4", + "src": "4865:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3180,14 +3180,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1274, + "id": 246, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4873:1:4", + "src": "4873:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -3195,7 +3195,7 @@ }, "value": "1" }, - "src": "4865:9:4", + "src": "4865:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3206,7 +3206,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4859:16:4", + "src": "4859:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3220,26 +3220,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1277, + "id": 249, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1209, - "src": "4878:2:4", + "referencedDeclaration": 181, + "src": "4878:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1279, + "id": 251, "indexExpression": { "argumentTypes": null, - "id": 1278, + "id": 250, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4881:1:4", + "referencedDeclaration": 220, + "src": "4881:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3250,40 +3250,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4878:5:4", + "src": "4878:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1280, + "id": 252, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Y", "nodeType": "MemberAccess", - "referencedDeclaration": 1033, - "src": "4878:7:4", + "referencedDeclaration": 5, + "src": "4878:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4859:26:4", + "src": "4859:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1282, + "id": 254, "nodeType": "ExpressionStatement", - "src": "4859:26:4" + "src": "4859:26:0" }, { "expression": { "argumentTypes": null, - "id": 1296, + "id": 268, "isConstant": false, "isLValue": false, "isPure": false, @@ -3292,25 +3292,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1283, + "id": 255, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "4899:5:4", + "referencedDeclaration": 212, + "src": "4899:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1289, + "id": 261, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1288, + "id": 260, "isConstant": false, "isLValue": false, "isPure": false, @@ -3321,19 +3321,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1286, + "id": 258, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1284, + "id": 256, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4905:1:4", + "referencedDeclaration": 220, + "src": "4905:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3344,14 +3344,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "36", - "id": 1285, + "id": 257, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4909:1:4", + "src": "4909:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -3359,7 +3359,7 @@ }, "value": "6" }, - "src": "4905:5:4", + "src": "4905:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3370,14 +3370,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1287, + "id": 259, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4913:1:4", + "src": "4913:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -3385,7 +3385,7 @@ }, "value": "2" }, - "src": "4905:9:4", + "src": "4905:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3396,7 +3396,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4899:16:4", + "src": "4899:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3412,26 +3412,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1290, + "id": 262, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, - "src": "4918:2:4", + "referencedDeclaration": 184, + "src": "4918:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1292, + "id": 264, "indexExpression": { "argumentTypes": null, - "id": 1291, + "id": 263, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4921:1:4", + "referencedDeclaration": 220, + "src": "4921:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3442,38 +3442,38 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4918:5:4", + "src": "4918:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1293, + "id": 265, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "X", "nodeType": "MemberAccess", - "referencedDeclaration": 1038, - "src": "4918:7:4", + "referencedDeclaration": 10, + "src": "4918:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory", "typeString": "uint256[2] memory" } }, - "id": 1295, + "id": 267, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1294, + "id": 266, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4926:1:4", + "src": "4926:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3486,26 +3486,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4918:10:4", + "src": "4918:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4899:29:4", + "src": "4899:29:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1297, + "id": 269, "nodeType": "ExpressionStatement", - "src": "4899:29:4" + "src": "4899:29:0" }, { "expression": { "argumentTypes": null, - "id": 1311, + "id": 283, "isConstant": false, "isLValue": false, "isPure": false, @@ -3514,25 +3514,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1298, + "id": 270, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "4942:5:4", + "referencedDeclaration": 212, + "src": "4942:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1304, + "id": 276, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1303, + "id": 275, "isConstant": false, "isLValue": false, "isPure": false, @@ -3543,19 +3543,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1301, + "id": 273, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1299, + "id": 271, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4948:1:4", + "referencedDeclaration": 220, + "src": "4948:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3566,14 +3566,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "36", - "id": 1300, + "id": 272, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4952:1:4", + "src": "4952:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -3581,7 +3581,7 @@ }, "value": "6" }, - "src": "4948:5:4", + "src": "4948:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3592,14 +3592,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1302, + "id": 274, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4956:1:4", + "src": "4956:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -3607,7 +3607,7 @@ }, "value": "3" }, - "src": "4948:9:4", + "src": "4948:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3618,7 +3618,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4942:16:4", + "src": "4942:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3634,26 +3634,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1305, + "id": 277, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, - "src": "4961:2:4", + "referencedDeclaration": 184, + "src": "4961:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1307, + "id": 279, "indexExpression": { "argumentTypes": null, - "id": 1306, + "id": 278, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4964:1:4", + "referencedDeclaration": 220, + "src": "4964:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3664,38 +3664,38 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4961:5:4", + "src": "4961:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1308, + "id": 280, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "X", "nodeType": "MemberAccess", - "referencedDeclaration": 1038, - "src": "4961:7:4", + "referencedDeclaration": 10, + "src": "4961:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory", "typeString": "uint256[2] memory" } }, - "id": 1310, + "id": 282, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1309, + "id": 281, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4969:1:4", + "src": "4969:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -3708,26 +3708,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4961:10:4", + "src": "4961:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4942:29:4", + "src": "4942:29:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1312, + "id": 284, "nodeType": "ExpressionStatement", - "src": "4942:29:4" + "src": "4942:29:0" }, { "expression": { "argumentTypes": null, - "id": 1326, + "id": 298, "isConstant": false, "isLValue": false, "isPure": false, @@ -3736,25 +3736,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1313, + "id": 285, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "4985:5:4", + "referencedDeclaration": 212, + "src": "4985:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1319, + "id": 291, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1318, + "id": 290, "isConstant": false, "isLValue": false, "isPure": false, @@ -3765,19 +3765,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1316, + "id": 288, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1314, + "id": 286, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4991:1:4", + "referencedDeclaration": 220, + "src": "4991:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3788,14 +3788,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "36", - "id": 1315, + "id": 287, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4995:1:4", + "src": "4995:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -3803,7 +3803,7 @@ }, "value": "6" }, - "src": "4991:5:4", + "src": "4991:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3814,14 +3814,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "34", - "id": 1317, + "id": 289, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4999:1:4", + "src": "4999:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -3829,7 +3829,7 @@ }, "value": "4" }, - "src": "4991:9:4", + "src": "4991:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3840,7 +3840,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4985:16:4", + "src": "4985:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3856,26 +3856,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1320, + "id": 292, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, - "src": "5004:2:4", + "referencedDeclaration": 184, + "src": "5004:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1322, + "id": 294, "indexExpression": { "argumentTypes": null, - "id": 1321, + "id": 293, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "5007:1:4", + "referencedDeclaration": 220, + "src": "5007:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3886,38 +3886,38 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5004:5:4", + "src": "5004:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1323, + "id": 295, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Y", "nodeType": "MemberAccess", - "referencedDeclaration": 1042, - "src": "5004:7:4", + "referencedDeclaration": 14, + "src": "5004:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory", "typeString": "uint256[2] memory" } }, - "id": 1325, + "id": 297, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1324, + "id": 296, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5012:1:4", + "src": "5012:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3930,26 +3930,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5004:10:4", + "src": "5004:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4985:29:4", + "src": "4985:29:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1327, + "id": 299, "nodeType": "ExpressionStatement", - "src": "4985:29:4" + "src": "4985:29:0" }, { "expression": { "argumentTypes": null, - "id": 1341, + "id": 313, "isConstant": false, "isLValue": false, "isPure": false, @@ -3958,25 +3958,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1328, + "id": 300, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "5028:5:4", + "referencedDeclaration": 212, + "src": "5028:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1334, + "id": 306, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1333, + "id": 305, "isConstant": false, "isLValue": false, "isPure": false, @@ -3987,19 +3987,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1331, + "id": 303, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1329, + "id": 301, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "5034:1:4", + "referencedDeclaration": 220, + "src": "5034:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4010,14 +4010,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "36", - "id": 1330, + "id": 302, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5038:1:4", + "src": "5038:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -4025,7 +4025,7 @@ }, "value": "6" }, - "src": "5034:5:4", + "src": "5034:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4036,14 +4036,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "35", - "id": 1332, + "id": 304, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5042:1:4", + "src": "5042:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -4051,7 +4051,7 @@ }, "value": "5" }, - "src": "5034:9:4", + "src": "5034:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4062,7 +4062,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5028:16:4", + "src": "5028:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4078,26 +4078,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1335, + "id": 307, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, - "src": "5047:2:4", + "referencedDeclaration": 184, + "src": "5047:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1337, + "id": 309, "indexExpression": { "argumentTypes": null, - "id": 1336, + "id": 308, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "5050:1:4", + "referencedDeclaration": 220, + "src": "5050:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4108,38 +4108,38 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5047:5:4", + "src": "5047:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1338, + "id": 310, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Y", "nodeType": "MemberAccess", - "referencedDeclaration": 1042, - "src": "5047:7:4", + "referencedDeclaration": 14, + "src": "5047:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory", "typeString": "uint256[2] memory" } }, - "id": 1340, + "id": 312, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1339, + "id": 311, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5055:1:4", + "src": "5055:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4152,21 +4152,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5047:10:4", + "src": "5047:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5028:29:4", + "src": "5028:29:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1342, + "id": 314, "nodeType": "ExpressionStatement", - "src": "5028:29:4" + "src": "5028:29:0" } ] }, @@ -4176,19 +4176,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1253, + "id": 225, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1251, + "id": 223, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4778:1:4", + "referencedDeclaration": 220, + "src": "4778:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4198,36 +4198,36 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 1252, + "id": 224, "name": "elements", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "4782:8:4", + "referencedDeclaration": 199, + "src": "4782:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4778:12:4", + "src": "4778:12:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1344, + "id": 316, "initializationExpression": { "assignments": [ - 1248 + 220 ], "declarations": [ { "constant": false, - "id": 1248, + "id": 220, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1344, - "src": "4766:6:4", + "scope": 316, + "src": "4766:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4235,10 +4235,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1247, + "id": 219, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4766:4:4", + "src": "4766:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4248,18 +4248,18 @@ "visibility": "internal" } ], - "id": 1250, + "id": 222, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 1249, + "id": 221, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4775:1:4", + "src": "4775:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4268,12 +4268,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "4766:10:4" + "src": "4766:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 1255, + "id": 227, "isConstant": false, "isLValue": false, "isPure": false, @@ -4281,15 +4281,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4792:3:4", + "src": "4792:3:0", "subExpression": { "argumentTypes": null, - "id": 1254, + "id": 226, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4792:1:4", + "referencedDeclaration": 220, + "src": "4792:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4300,25 +4300,25 @@ "typeString": "uint256" } }, - "id": 1256, + "id": 228, "nodeType": "ExpressionStatement", - "src": "4792:3:4" + "src": "4792:3:0" }, "nodeType": "ForStatement", - "src": "4761:307:4" + "src": "4761:307:0" }, { "assignments": [ - 1349 + 321 ], "declarations": [ { "constant": false, - "id": 1349, + "id": 321, "name": "out", "nodeType": "VariableDeclaration", - "scope": 1366, - "src": "5077:18:4", + "scope": 338, + "src": "5077:18:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4327,27 +4327,27 @@ }, "typeName": { "baseType": { - "id": 1347, + "id": 319, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5077:4:4", + "src": "5077:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1348, + "id": 320, "length": { "argumentTypes": null, "hexValue": "31", - "id": 1346, + "id": 318, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5082:1:4", + "src": "5082:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4356,7 +4356,7 @@ "value": "1" }, "nodeType": "ArrayTypeName", - "src": "5077:7:4", + "src": "5077:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$1_storage_ptr", "typeString": "uint256[1]" @@ -4366,23 +4366,23 @@ "visibility": "internal" } ], - "id": 1350, + "id": 322, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "5077:18:4" + "src": "5077:18:0" }, { "assignments": [ - 1352 + 324 ], "declarations": [ { "constant": false, - "id": 1352, + "id": 324, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1366, - "src": "5105:12:4", + "scope": 338, + "src": "5105:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4390,10 +4390,10 @@ "typeString": "bool" }, "typeName": { - "id": 1351, + "id": 323, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5105:4:4", + "src": "5105:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4403,63 +4403,63 @@ "visibility": "internal" } ], - "id": 1353, + "id": 325, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "5105:12:4" + "src": "5105:12:0" }, { "externalReferences": [ { "success": { - "declaration": 1352, + "declaration": 324, "isOffset": false, "isSlot": false, - "src": "5214:7:4", + "src": "5214:7:0", "valueSize": 1 } }, { "input": { - "declaration": 1240, + "declaration": 212, "isOffset": false, "isSlot": false, - "src": "5259:5:4", + "src": "5259:5:0", "valueSize": 1 } }, { "success": { - "declaration": 1352, + "declaration": 324, "isOffset": false, "isSlot": false, - "src": "5382:7:4", + "src": "5382:7:0", "valueSize": 1 } }, { "inputSize": { - "declaration": 1232, + "declaration": 204, "isOffset": false, "isSlot": false, - "src": "5277:9:4", + "src": "5277:9:0", "valueSize": 1 } }, { "out": { - "declaration": 1349, + "declaration": 321, "isOffset": false, "isSlot": false, - "src": "5295:3:4", + "src": "5295:3:0", "valueSize": 1 } } ], - "id": 1354, + "id": 326, "nodeType": "InlineAssembly", "operations": "{\n success := staticcall(sub(gas(), 2000), 8, add(input, 0x20), mul(inputSize, 0x20), out, 0x20)\n switch success\n case 0 { invalid() }\n}", - "src": "5191:229:4" + "src": "5191:229:0" }, { "expression": { @@ -4467,12 +4467,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1356, + "id": 328, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1352, - "src": "5437:7:4", + "referencedDeclaration": 324, + "src": "5437:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4481,14 +4481,14 @@ { "argumentTypes": null, "hexValue": "70616972696e672d6f70636f64652d6661696c6564", - "id": 1357, + "id": 329, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5445:23:4", + "src": "5445:23:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f3220b3ef654fc0d9a13e2b6d8c956cb8fb22df61a3a050ded181d8902069fe5", @@ -4508,21 +4508,21 @@ "typeString": "literal_string \"pairing-opcode-failed\"" } ], - "id": 1355, + "id": 327, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, - "src": "5429:7:4", + "referencedDeclaration": 1077, + "src": "5429:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1358, + "id": 330, "isConstant": false, "isLValue": false, "isPure": false, @@ -4530,15 +4530,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5429:40:4", + "src": "5429:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1359, + "id": 331, "nodeType": "ExpressionStatement", - "src": "5429:40:4" + "src": "5429:40:0" }, { "expression": { @@ -4547,7 +4547,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1364, + "id": 336, "isConstant": false, "isLValue": false, "isPure": false, @@ -4556,29 +4556,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1360, + "id": 332, "name": "out", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "5486:3:4", + "referencedDeclaration": 321, + "src": "5486:3:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$1_memory_ptr", "typeString": "uint256[1] memory" } }, - "id": 1362, + "id": 334, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1361, + "id": 333, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5490:1:4", + "src": "5490:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4591,7 +4591,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5486:6:4", + "src": "5486:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4602,14 +4602,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1363, + "id": 335, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5496:1:4", + "src": "5496:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4617,62 +4617,62 @@ }, "value": "0" }, - "src": "5486:11:4", + "src": "5486:11:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1216, - "id": 1365, + "functionReturnParameters": 188, + "id": 337, "nodeType": "Return", - "src": "5479:18:4" + "src": "5479:18:0" } ] }, "documentation": "@return the result of computing the pairing check\n e(p1[0], p2[0]) * .... * e(p1[n], p2[n]) == 1\n For example pairing([P1(), P1().negate()], [P2(), P2()]) should\n return true.", - "id": 1367, + "id": 339, "implemented": true, "kind": "function", "modifiers": [], "name": "pairing", "nodeType": "FunctionDefinition", "parameters": { - "id": 1213, + "id": 185, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1209, + "id": 181, "name": "p1", "nodeType": "VariableDeclaration", - "scope": 1367, - "src": "4487:19:4", + "scope": 339, + "src": "4487:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1207, + "id": 179, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "4487:7:4", + "referencedDeclaration": 6, + "src": "4487:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1208, + "id": 180, "length": null, "nodeType": "ArrayTypeName", - "src": "4487:9:4", + "src": "4487:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } }, @@ -4681,36 +4681,36 @@ }, { "constant": false, - "id": 1212, + "id": 184, "name": "p2", "nodeType": "VariableDeclaration", - "scope": 1367, - "src": "4508:19:4", + "scope": 339, + "src": "4508:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1210, + "id": 182, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "4508:7:4", + "referencedDeclaration": 15, + "src": "4508:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, - "id": 1211, + "id": 183, "length": null, "nodeType": "ArrayTypeName", - "src": "4508:9:4", + "src": "4508:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G2Point[]" } }, @@ -4718,19 +4718,19 @@ "visibility": "internal" } ], - "src": "4486:42:4" + "src": "4486:42:0" }, "returnParameters": { - "id": 1216, + "id": 188, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1215, + "id": 187, "name": "", "nodeType": "VariableDeclaration", - "scope": 1367, - "src": "4552:4:4", + "scope": 339, + "src": "4552:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4738,10 +4738,10 @@ "typeString": "bool" }, "typeName": { - "id": 1214, + "id": 186, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4552:4:4", + "src": "4552:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4751,57 +4751,57 @@ "visibility": "internal" } ], - "src": "4551:6:4" + "src": "4551:6:0" }, - "scope": 1605, - "src": "4470:1034:4", + "scope": 577, + "src": "4470:1034:0", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1429, + "id": 401, "nodeType": "Block", - "src": "5698:215:4", + "src": "5698:215:0", "statements": [ { "assignments": [ - 1383 + 355 ], "declarations": [ { "constant": false, - "id": 1383, + "id": 355, "name": "p1", "nodeType": "VariableDeclaration", - "scope": 1429, - "src": "5708:19:4", + "scope": 401, + "src": "5708:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1381, + "id": 353, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "5708:7:4", + "referencedDeclaration": 6, + "src": "5708:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1382, + "id": 354, "length": null, "nodeType": "ArrayTypeName", - "src": "5708:9:4", + "src": "5708:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } }, @@ -4809,21 +4809,21 @@ "visibility": "internal" } ], - "id": 1389, + "id": 361, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "32", - "id": 1387, + "id": 359, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5744:1:4", + "src": "5744:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -4839,41 +4839,41 @@ "typeString": "int_const 2" } ], - "id": 1386, + "id": 358, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "5730:13:4", + "src": "5730:13:0", "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_$", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_$", "typeString": "function (uint256) pure returns (struct Pairing.G1Point memory[] memory)" }, "typeName": { "baseType": { "contractScope": null, - "id": 1384, + "id": 356, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "5734:7:4", + "referencedDeclaration": 6, + "src": "5734:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1385, + "id": 357, "length": null, "nodeType": "ArrayTypeName", - "src": "5734:9:4", + "src": "5734:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } } }, - "id": 1388, + "id": 360, "isConstant": false, "isLValue": false, "isPure": true, @@ -4881,52 +4881,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5730:16:4", + "src": "5730:16:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "5708:38:4" + "src": "5708:38:0" }, { "assignments": [ - 1393 + 365 ], "declarations": [ { "constant": false, - "id": 1393, + "id": 365, "name": "p2", "nodeType": "VariableDeclaration", - "scope": 1429, - "src": "5756:19:4", + "scope": 401, + "src": "5756:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1391, + "id": 363, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "5756:7:4", + "referencedDeclaration": 15, + "src": "5756:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, - "id": 1392, + "id": 364, "length": null, "nodeType": "ArrayTypeName", - "src": "5756:9:4", + "src": "5756:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G2Point[]" } }, @@ -4934,21 +4934,21 @@ "visibility": "internal" } ], - "id": 1399, + "id": 371, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "32", - "id": 1397, + "id": 369, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5792:1:4", + "src": "5792:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -4964,41 +4964,41 @@ "typeString": "int_const 2" } ], - "id": 1396, + "id": 368, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "5778:13:4", + "src": "5778:13:0", "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_$", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_$", "typeString": "function (uint256) pure returns (struct Pairing.G2Point memory[] memory)" }, "typeName": { "baseType": { "contractScope": null, - "id": 1394, + "id": 366, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "5782:7:4", + "referencedDeclaration": 15, + "src": "5782:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, - "id": 1395, + "id": 367, "length": null, "nodeType": "ArrayTypeName", - "src": "5782:9:4", + "src": "5782:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G2Point[]" } } }, - "id": 1398, + "id": 370, "isConstant": false, "isLValue": false, "isPure": true, @@ -5006,19 +5006,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5778:16:4", + "src": "5778:16:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory", "typeString": "struct Pairing.G2Point memory[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "5756:38:4" + "src": "5756:38:0" }, { "expression": { "argumentTypes": null, - "id": 1404, + "id": 376, "isConstant": false, "isLValue": false, "isPure": false, @@ -5027,29 +5027,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1400, + "id": 372, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "5804:2:4", + "referencedDeclaration": 355, + "src": "5804:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1402, + "id": 374, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1401, + "id": 373, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5807:1:4", + "src": "5807:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5062,9 +5062,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5804:5:4", + "src": "5804:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -5072,31 +5072,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1403, + "id": 375, "name": "a1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1369, - "src": "5812:2:4", + "referencedDeclaration": 341, + "src": "5812:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "5804:10:4", + "src": "5804:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1405, + "id": 377, "nodeType": "ExpressionStatement", - "src": "5804:10:4" + "src": "5804:10:0" }, { "expression": { "argumentTypes": null, - "id": 1410, + "id": 382, "isConstant": false, "isLValue": false, "isPure": false, @@ -5105,29 +5105,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1406, + "id": 378, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "5824:2:4", + "referencedDeclaration": 355, + "src": "5824:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1408, + "id": 380, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1407, + "id": 379, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5827:1:4", + "src": "5827:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -5140,9 +5140,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5824:5:4", + "src": "5824:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -5150,31 +5150,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1409, + "id": 381, "name": "b1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "5832:2:4", + "referencedDeclaration": 345, + "src": "5832:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "5824:10:4", + "src": "5824:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1411, + "id": 383, "nodeType": "ExpressionStatement", - "src": "5824:10:4" + "src": "5824:10:0" }, { "expression": { "argumentTypes": null, - "id": 1416, + "id": 388, "isConstant": false, "isLValue": false, "isPure": false, @@ -5183,29 +5183,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1412, + "id": 384, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1393, - "src": "5844:2:4", + "referencedDeclaration": 365, + "src": "5844:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1414, + "id": 386, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1413, + "id": 385, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5847:1:4", + "src": "5847:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5218,9 +5218,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5844:5:4", + "src": "5844:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -5228,31 +5228,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1415, + "id": 387, "name": "a2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1371, - "src": "5852:2:4", + "referencedDeclaration": 343, + "src": "5852:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "5844:10:4", + "src": "5844:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1417, + "id": 389, "nodeType": "ExpressionStatement", - "src": "5844:10:4" + "src": "5844:10:0" }, { "expression": { "argumentTypes": null, - "id": 1422, + "id": 394, "isConstant": false, "isLValue": false, "isPure": false, @@ -5261,29 +5261,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1418, + "id": 390, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1393, - "src": "5864:2:4", + "referencedDeclaration": 365, + "src": "5864:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1420, + "id": 392, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1419, + "id": 391, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5867:1:4", + "src": "5867:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -5296,9 +5296,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5864:5:4", + "src": "5864:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -5306,26 +5306,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1421, + "id": 393, "name": "b2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "5872:2:4", + "referencedDeclaration": 347, + "src": "5872:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "5864:10:4", + "src": "5864:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1423, + "id": 395, "nodeType": "ExpressionStatement", - "src": "5864:10:4" + "src": "5864:10:0" }, { "expression": { @@ -5333,27 +5333,27 @@ "arguments": [ { "argumentTypes": null, - "id": 1425, + "id": 397, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "5899:2:4", + "referencedDeclaration": 355, + "src": "5899:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, { "argumentTypes": null, - "id": 1426, + "id": 398, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1393, - "src": "5903:2:4", + "referencedDeclaration": 365, + "src": "5903:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } } @@ -5361,26 +5361,26 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" }, { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } ], - "id": 1424, + "id": 396, "name": "pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1367, - "src": "5891:7:4", + "referencedDeclaration": 339, + "src": "5891:7:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr_$returns$_t_bool_$", "typeString": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)" } }, - "id": 1427, + "id": 399, "isConstant": false, "isLValue": false, "isPure": false, @@ -5388,52 +5388,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5891:15:4", + "src": "5891:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1379, - "id": 1428, + "functionReturnParameters": 351, + "id": 400, "nodeType": "Return", - "src": "5884:22:4" + "src": "5884:22:0" } ] }, "documentation": "Convenience method for a pairing check for two pairs.", - "id": 1430, + "id": 402, "implemented": true, "kind": "function", "modifiers": [], "name": "pairingProd2", "nodeType": "FunctionDefinition", "parameters": { - "id": 1376, + "id": 348, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1369, + "id": 341, "name": "a1", "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "5593:17:4", + "scope": 402, + "src": "5593:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1368, + "id": 340, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "5593:7:4", + "referencedDeclaration": 6, + "src": "5593:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -5442,26 +5442,26 @@ }, { "constant": false, - "id": 1371, + "id": 343, "name": "a2", "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "5612:17:4", + "scope": 402, + "src": "5612:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1370, + "id": 342, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "5612:7:4", + "referencedDeclaration": 15, + "src": "5612:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -5470,26 +5470,26 @@ }, { "constant": false, - "id": 1373, + "id": 345, "name": "b1", "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "5631:17:4", + "scope": 402, + "src": "5631:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1372, + "id": 344, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "5631:7:4", + "referencedDeclaration": 6, + "src": "5631:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -5498,26 +5498,26 @@ }, { "constant": false, - "id": 1375, + "id": 347, "name": "b2", "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "5650:17:4", + "scope": 402, + "src": "5650:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1374, + "id": 346, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "5650:7:4", + "referencedDeclaration": 15, + "src": "5650:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -5525,19 +5525,19 @@ "visibility": "internal" } ], - "src": "5592:76:4" + "src": "5592:76:0" }, "returnParameters": { - "id": 1379, + "id": 351, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1378, + "id": 350, "name": "", "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "5692:4:4", + "scope": 402, + "src": "5692:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5545,10 +5545,10 @@ "typeString": "bool" }, "typeName": { - "id": 1377, + "id": 349, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5692:4:4", + "src": "5692:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5558,57 +5558,57 @@ "visibility": "internal" } ], - "src": "5691:6:4" + "src": "5691:6:0" }, - "scope": 1605, - "src": "5571:342:4", + "scope": 577, + "src": "5571:342:0", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1508, + "id": 480, "nodeType": "Block", - "src": "6189:255:4", + "src": "6189:255:0", "statements": [ { "assignments": [ - 1450 + 422 ], "declarations": [ { "constant": false, - "id": 1450, + "id": 422, "name": "p1", "nodeType": "VariableDeclaration", - "scope": 1508, - "src": "6199:19:4", + "scope": 480, + "src": "6199:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1448, + "id": 420, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6199:7:4", + "referencedDeclaration": 6, + "src": "6199:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1449, + "id": 421, "length": null, "nodeType": "ArrayTypeName", - "src": "6199:9:4", + "src": "6199:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } }, @@ -5616,21 +5616,21 @@ "visibility": "internal" } ], - "id": 1456, + "id": 428, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "33", - "id": 1454, + "id": 426, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6235:1:4", + "src": "6235:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -5646,41 +5646,41 @@ "typeString": "int_const 3" } ], - "id": 1453, + "id": 425, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "6221:13:4", + "src": "6221:13:0", "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_$", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_$", "typeString": "function (uint256) pure returns (struct Pairing.G1Point memory[] memory)" }, "typeName": { "baseType": { "contractScope": null, - "id": 1451, + "id": 423, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6225:7:4", + "referencedDeclaration": 6, + "src": "6225:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1452, + "id": 424, "length": null, "nodeType": "ArrayTypeName", - "src": "6225:9:4", + "src": "6225:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } } }, - "id": 1455, + "id": 427, "isConstant": false, "isLValue": false, "isPure": true, @@ -5688,52 +5688,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6221:16:4", + "src": "6221:16:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "6199:38:4" + "src": "6199:38:0" }, { "assignments": [ - 1460 + 432 ], "declarations": [ { "constant": false, - "id": 1460, + "id": 432, "name": "p2", "nodeType": "VariableDeclaration", - "scope": 1508, - "src": "6247:19:4", + "scope": 480, + "src": "6247:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1458, + "id": 430, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6247:7:4", + "referencedDeclaration": 15, + "src": "6247:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, - "id": 1459, + "id": 431, "length": null, "nodeType": "ArrayTypeName", - "src": "6247:9:4", + "src": "6247:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G2Point[]" } }, @@ -5741,21 +5741,21 @@ "visibility": "internal" } ], - "id": 1466, + "id": 438, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "33", - "id": 1464, + "id": 436, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6283:1:4", + "src": "6283:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -5771,41 +5771,41 @@ "typeString": "int_const 3" } ], - "id": 1463, + "id": 435, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "6269:13:4", + "src": "6269:13:0", "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_$", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_$", "typeString": "function (uint256) pure returns (struct Pairing.G2Point memory[] memory)" }, "typeName": { "baseType": { "contractScope": null, - "id": 1461, + "id": 433, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6273:7:4", + "referencedDeclaration": 15, + "src": "6273:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, - "id": 1462, + "id": 434, "length": null, "nodeType": "ArrayTypeName", - "src": "6273:9:4", + "src": "6273:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G2Point[]" } } }, - "id": 1465, + "id": 437, "isConstant": false, "isLValue": false, "isPure": true, @@ -5813,19 +5813,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6269:16:4", + "src": "6269:16:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory", "typeString": "struct Pairing.G2Point memory[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "6247:38:4" + "src": "6247:38:0" }, { "expression": { "argumentTypes": null, - "id": 1471, + "id": 443, "isConstant": false, "isLValue": false, "isPure": false, @@ -5834,29 +5834,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1467, + "id": 439, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1450, - "src": "6295:2:4", + "referencedDeclaration": 422, + "src": "6295:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1469, + "id": 441, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1468, + "id": 440, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6298:1:4", + "src": "6298:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5869,9 +5869,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6295:5:4", + "src": "6295:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -5879,31 +5879,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1470, + "id": 442, "name": "a1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1432, - "src": "6303:2:4", + "referencedDeclaration": 404, + "src": "6303:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "6295:10:4", + "src": "6295:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1472, + "id": 444, "nodeType": "ExpressionStatement", - "src": "6295:10:4" + "src": "6295:10:0" }, { "expression": { "argumentTypes": null, - "id": 1477, + "id": 449, "isConstant": false, "isLValue": false, "isPure": false, @@ -5912,29 +5912,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1473, + "id": 445, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1450, - "src": "6315:2:4", + "referencedDeclaration": 422, + "src": "6315:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1475, + "id": 447, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1474, + "id": 446, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6318:1:4", + "src": "6318:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -5947,9 +5947,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6315:5:4", + "src": "6315:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -5957,31 +5957,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1476, + "id": 448, "name": "b1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "6323:2:4", + "referencedDeclaration": 408, + "src": "6323:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "6315:10:4", + "src": "6315:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1478, + "id": 450, "nodeType": "ExpressionStatement", - "src": "6315:10:4" + "src": "6315:10:0" }, { "expression": { "argumentTypes": null, - "id": 1483, + "id": 455, "isConstant": false, "isLValue": false, "isPure": false, @@ -5990,29 +5990,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1479, + "id": 451, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1450, - "src": "6335:2:4", + "referencedDeclaration": 422, + "src": "6335:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1481, + "id": 453, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1480, + "id": 452, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6338:1:4", + "src": "6338:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -6025,9 +6025,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6335:5:4", + "src": "6335:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -6035,31 +6035,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1482, + "id": 454, "name": "c1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1440, - "src": "6343:2:4", + "referencedDeclaration": 412, + "src": "6343:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "6335:10:4", + "src": "6335:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1484, + "id": 456, "nodeType": "ExpressionStatement", - "src": "6335:10:4" + "src": "6335:10:0" }, { "expression": { "argumentTypes": null, - "id": 1489, + "id": 461, "isConstant": false, "isLValue": false, "isPure": false, @@ -6068,29 +6068,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1485, + "id": 457, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1460, - "src": "6355:2:4", + "referencedDeclaration": 432, + "src": "6355:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1487, + "id": 459, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1486, + "id": 458, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6358:1:4", + "src": "6358:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6103,9 +6103,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6355:5:4", + "src": "6355:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -6113,31 +6113,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1488, + "id": 460, "name": "a2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1434, - "src": "6363:2:4", + "referencedDeclaration": 406, + "src": "6363:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "6355:10:4", + "src": "6355:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1490, + "id": 462, "nodeType": "ExpressionStatement", - "src": "6355:10:4" + "src": "6355:10:0" }, { "expression": { "argumentTypes": null, - "id": 1495, + "id": 467, "isConstant": false, "isLValue": false, "isPure": false, @@ -6146,29 +6146,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1491, + "id": 463, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1460, - "src": "6375:2:4", + "referencedDeclaration": 432, + "src": "6375:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1493, + "id": 465, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1492, + "id": 464, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6378:1:4", + "src": "6378:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -6181,9 +6181,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6375:5:4", + "src": "6375:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -6191,31 +6191,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1494, + "id": 466, "name": "b2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "6383:2:4", + "referencedDeclaration": 410, + "src": "6383:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "6375:10:4", + "src": "6375:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1496, + "id": 468, "nodeType": "ExpressionStatement", - "src": "6375:10:4" + "src": "6375:10:0" }, { "expression": { "argumentTypes": null, - "id": 1501, + "id": 473, "isConstant": false, "isLValue": false, "isPure": false, @@ -6224,29 +6224,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1497, + "id": 469, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1460, - "src": "6395:2:4", + "referencedDeclaration": 432, + "src": "6395:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1499, + "id": 471, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1498, + "id": 470, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6398:1:4", + "src": "6398:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -6259,9 +6259,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6395:5:4", + "src": "6395:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -6269,26 +6269,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1500, + "id": 472, "name": "c2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1442, - "src": "6403:2:4", + "referencedDeclaration": 414, + "src": "6403:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "6395:10:4", + "src": "6395:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1502, + "id": 474, "nodeType": "ExpressionStatement", - "src": "6395:10:4" + "src": "6395:10:0" }, { "expression": { @@ -6296,27 +6296,27 @@ "arguments": [ { "argumentTypes": null, - "id": 1504, + "id": 476, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1450, - "src": "6430:2:4", + "referencedDeclaration": 422, + "src": "6430:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, { "argumentTypes": null, - "id": 1505, + "id": 477, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1460, - "src": "6434:2:4", + "referencedDeclaration": 432, + "src": "6434:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } } @@ -6324,26 +6324,26 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" }, { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } ], - "id": 1503, + "id": 475, "name": "pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1367, - "src": "6422:7:4", + "referencedDeclaration": 339, + "src": "6422:7:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr_$returns$_t_bool_$", "typeString": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)" } }, - "id": 1506, + "id": 478, "isConstant": false, "isLValue": false, "isPure": false, @@ -6351,52 +6351,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6422:15:4", + "src": "6422:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1446, - "id": 1507, + "functionReturnParameters": 418, + "id": 479, "nodeType": "Return", - "src": "6415:22:4" + "src": "6415:22:0" } ] }, "documentation": "Convenience method for a pairing check for three pairs.", - "id": 1509, + "id": 481, "implemented": true, "kind": "function", "modifiers": [], "name": "pairingProd3", "nodeType": "FunctionDefinition", "parameters": { - "id": 1443, + "id": 415, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1432, + "id": 404, "name": "a1", "nodeType": "VariableDeclaration", - "scope": 1509, - "src": "6017:17:4", + "scope": 481, + "src": "6017:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1431, + "id": 403, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6017:7:4", + "referencedDeclaration": 6, + "src": "6017:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -6405,26 +6405,26 @@ }, { "constant": false, - "id": 1434, + "id": 406, "name": "a2", "nodeType": "VariableDeclaration", - "scope": 1509, - "src": "6036:17:4", + "scope": 481, + "src": "6036:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1433, + "id": 405, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6036:7:4", + "referencedDeclaration": 15, + "src": "6036:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -6433,26 +6433,26 @@ }, { "constant": false, - "id": 1436, + "id": 408, "name": "b1", "nodeType": "VariableDeclaration", - "scope": 1509, - "src": "6067:17:4", + "scope": 481, + "src": "6067:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1435, + "id": 407, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6067:7:4", + "referencedDeclaration": 6, + "src": "6067:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -6461,26 +6461,26 @@ }, { "constant": false, - "id": 1438, + "id": 410, "name": "b2", "nodeType": "VariableDeclaration", - "scope": 1509, - "src": "6086:17:4", + "scope": 481, + "src": "6086:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1437, + "id": 409, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6086:7:4", + "referencedDeclaration": 15, + "src": "6086:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -6489,26 +6489,26 @@ }, { "constant": false, - "id": 1440, + "id": 412, "name": "c1", "nodeType": "VariableDeclaration", - "scope": 1509, - "src": "6117:17:4", + "scope": 481, + "src": "6117:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1439, + "id": 411, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6117:7:4", + "referencedDeclaration": 6, + "src": "6117:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -6517,26 +6517,26 @@ }, { "constant": false, - "id": 1442, + "id": 414, "name": "c2", "nodeType": "VariableDeclaration", - "scope": 1509, - "src": "6136:17:4", + "scope": 481, + "src": "6136:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1441, + "id": 413, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6136:7:4", + "referencedDeclaration": 15, + "src": "6136:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -6544,19 +6544,19 @@ "visibility": "internal" } ], - "src": "6003:156:4" + "src": "6003:156:0" }, "returnParameters": { - "id": 1446, + "id": 418, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1445, + "id": 417, "name": "", "nodeType": "VariableDeclaration", - "scope": 1509, - "src": "6183:4:4", + "scope": 481, + "src": "6183:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6564,10 +6564,10 @@ "typeString": "bool" }, "typeName": { - "id": 1444, + "id": 416, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6183:4:4", + "src": "6183:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6577,57 +6577,57 @@ "visibility": "internal" } ], - "src": "6182:6:4" + "src": "6182:6:0" }, - "scope": 1605, - "src": "5982:462:4", + "scope": 577, + "src": "5982:462:0", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1603, + "id": 575, "nodeType": "Block", - "src": "6769:295:4", + "src": "6769:295:0", "statements": [ { "assignments": [ - 1533 + 505 ], "declarations": [ { "constant": false, - "id": 1533, + "id": 505, "name": "p1", "nodeType": "VariableDeclaration", - "scope": 1603, - "src": "6779:19:4", + "scope": 575, + "src": "6779:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1531, + "id": 503, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6779:7:4", + "referencedDeclaration": 6, + "src": "6779:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1532, + "id": 504, "length": null, "nodeType": "ArrayTypeName", - "src": "6779:9:4", + "src": "6779:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } }, @@ -6635,21 +6635,21 @@ "visibility": "internal" } ], - "id": 1539, + "id": 511, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "34", - "id": 1537, + "id": 509, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6815:1:4", + "src": "6815:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -6665,41 +6665,41 @@ "typeString": "int_const 4" } ], - "id": 1536, + "id": 508, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "6801:13:4", + "src": "6801:13:0", "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_$", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_$", "typeString": "function (uint256) pure returns (struct Pairing.G1Point memory[] memory)" }, "typeName": { "baseType": { "contractScope": null, - "id": 1534, + "id": 506, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6805:7:4", + "referencedDeclaration": 6, + "src": "6805:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1535, + "id": 507, "length": null, "nodeType": "ArrayTypeName", - "src": "6805:9:4", + "src": "6805:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } } }, - "id": 1538, + "id": 510, "isConstant": false, "isLValue": false, "isPure": true, @@ -6707,52 +6707,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6801:16:4", + "src": "6801:16:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "6779:38:4" + "src": "6779:38:0" }, { "assignments": [ - 1543 + 515 ], "declarations": [ { "constant": false, - "id": 1543, + "id": 515, "name": "p2", "nodeType": "VariableDeclaration", - "scope": 1603, - "src": "6827:19:4", + "scope": 575, + "src": "6827:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1541, + "id": 513, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6827:7:4", + "referencedDeclaration": 15, + "src": "6827:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, - "id": 1542, + "id": 514, "length": null, "nodeType": "ArrayTypeName", - "src": "6827:9:4", + "src": "6827:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G2Point[]" } }, @@ -6760,21 +6760,21 @@ "visibility": "internal" } ], - "id": 1549, + "id": 521, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "34", - "id": 1547, + "id": 519, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6863:1:4", + "src": "6863:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -6790,41 +6790,41 @@ "typeString": "int_const 4" } ], - "id": 1546, + "id": 518, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "6849:13:4", + "src": "6849:13:0", "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_$", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_$", "typeString": "function (uint256) pure returns (struct Pairing.G2Point memory[] memory)" }, "typeName": { "baseType": { "contractScope": null, - "id": 1544, + "id": 516, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6853:7:4", + "referencedDeclaration": 15, + "src": "6853:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, - "id": 1545, + "id": 517, "length": null, "nodeType": "ArrayTypeName", - "src": "6853:9:4", + "src": "6853:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G2Point[]" } } }, - "id": 1548, + "id": 520, "isConstant": false, "isLValue": false, "isPure": true, @@ -6832,19 +6832,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6849:16:4", + "src": "6849:16:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory", "typeString": "struct Pairing.G2Point memory[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "6827:38:4" + "src": "6827:38:0" }, { "expression": { "argumentTypes": null, - "id": 1554, + "id": 526, "isConstant": false, "isLValue": false, "isPure": false, @@ -6853,29 +6853,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1550, + "id": 522, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "6875:2:4", + "referencedDeclaration": 505, + "src": "6875:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1552, + "id": 524, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1551, + "id": 523, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6878:1:4", + "src": "6878:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6888,9 +6888,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6875:5:4", + "src": "6875:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -6898,31 +6898,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1553, + "id": 525, "name": "a1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1511, - "src": "6883:2:4", + "referencedDeclaration": 483, + "src": "6883:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "6875:10:4", + "src": "6875:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1555, + "id": 527, "nodeType": "ExpressionStatement", - "src": "6875:10:4" + "src": "6875:10:0" }, { "expression": { "argumentTypes": null, - "id": 1560, + "id": 532, "isConstant": false, "isLValue": false, "isPure": false, @@ -6931,29 +6931,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1556, + "id": 528, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "6895:2:4", + "referencedDeclaration": 505, + "src": "6895:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1558, + "id": 530, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1557, + "id": 529, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6898:1:4", + "src": "6898:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -6966,9 +6966,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6895:5:4", + "src": "6895:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -6976,31 +6976,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1559, + "id": 531, "name": "b1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1515, - "src": "6903:2:4", + "referencedDeclaration": 487, + "src": "6903:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "6895:10:4", + "src": "6895:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1561, + "id": 533, "nodeType": "ExpressionStatement", - "src": "6895:10:4" + "src": "6895:10:0" }, { "expression": { "argumentTypes": null, - "id": 1566, + "id": 538, "isConstant": false, "isLValue": false, "isPure": false, @@ -7009,29 +7009,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1562, + "id": 534, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "6915:2:4", + "referencedDeclaration": 505, + "src": "6915:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1564, + "id": 536, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1563, + "id": 535, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6918:1:4", + "src": "6918:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -7044,9 +7044,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6915:5:4", + "src": "6915:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -7054,31 +7054,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1565, + "id": 537, "name": "c1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1519, - "src": "6923:2:4", + "referencedDeclaration": 491, + "src": "6923:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "6915:10:4", + "src": "6915:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1567, + "id": 539, "nodeType": "ExpressionStatement", - "src": "6915:10:4" + "src": "6915:10:0" }, { "expression": { "argumentTypes": null, - "id": 1572, + "id": 544, "isConstant": false, "isLValue": false, "isPure": false, @@ -7087,29 +7087,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1568, + "id": 540, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "6935:2:4", + "referencedDeclaration": 505, + "src": "6935:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1570, + "id": 542, "indexExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1569, + "id": 541, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6938:1:4", + "src": "6938:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -7122,9 +7122,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6935:5:4", + "src": "6935:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -7132,31 +7132,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1571, + "id": 543, "name": "d1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1523, - "src": "6943:2:4", + "referencedDeclaration": 495, + "src": "6943:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "6935:10:4", + "src": "6935:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1573, + "id": 545, "nodeType": "ExpressionStatement", - "src": "6935:10:4" + "src": "6935:10:0" }, { "expression": { "argumentTypes": null, - "id": 1578, + "id": 550, "isConstant": false, "isLValue": false, "isPure": false, @@ -7165,29 +7165,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1574, + "id": 546, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1543, - "src": "6955:2:4", + "referencedDeclaration": 515, + "src": "6955:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1576, + "id": 548, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1575, + "id": 547, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6958:1:4", + "src": "6958:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7200,9 +7200,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6955:5:4", + "src": "6955:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -7210,31 +7210,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1577, + "id": 549, "name": "a2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1513, - "src": "6963:2:4", + "referencedDeclaration": 485, + "src": "6963:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "6955:10:4", + "src": "6955:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1579, + "id": 551, "nodeType": "ExpressionStatement", - "src": "6955:10:4" + "src": "6955:10:0" }, { "expression": { "argumentTypes": null, - "id": 1584, + "id": 556, "isConstant": false, "isLValue": false, "isPure": false, @@ -7243,29 +7243,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1580, + "id": 552, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1543, - "src": "6975:2:4", + "referencedDeclaration": 515, + "src": "6975:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1582, + "id": 554, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1581, + "id": 553, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6978:1:4", + "src": "6978:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -7278,9 +7278,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6975:5:4", + "src": "6975:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -7288,31 +7288,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1583, + "id": 555, "name": "b2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1517, - "src": "6983:2:4", + "referencedDeclaration": 489, + "src": "6983:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "6975:10:4", + "src": "6975:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1585, + "id": 557, "nodeType": "ExpressionStatement", - "src": "6975:10:4" + "src": "6975:10:0" }, { "expression": { "argumentTypes": null, - "id": 1590, + "id": 562, "isConstant": false, "isLValue": false, "isPure": false, @@ -7321,29 +7321,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1586, + "id": 558, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1543, - "src": "6995:2:4", + "referencedDeclaration": 515, + "src": "6995:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1588, + "id": 560, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1587, + "id": 559, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6998:1:4", + "src": "6998:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -7356,9 +7356,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6995:5:4", + "src": "6995:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -7366,31 +7366,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1589, + "id": 561, "name": "c2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1521, - "src": "7003:2:4", + "referencedDeclaration": 493, + "src": "7003:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "6995:10:4", + "src": "6995:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1591, + "id": 563, "nodeType": "ExpressionStatement", - "src": "6995:10:4" + "src": "6995:10:0" }, { "expression": { "argumentTypes": null, - "id": 1596, + "id": 568, "isConstant": false, "isLValue": false, "isPure": false, @@ -7399,29 +7399,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1592, + "id": 564, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1543, - "src": "7015:2:4", + "referencedDeclaration": 515, + "src": "7015:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1594, + "id": 566, "indexExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1593, + "id": 565, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7018:1:4", + "src": "7018:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -7434,9 +7434,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7015:5:4", + "src": "7015:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -7444,26 +7444,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1595, + "id": 567, "name": "d2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1525, - "src": "7023:2:4", + "referencedDeclaration": 497, + "src": "7023:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "7015:10:4", + "src": "7015:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1597, + "id": 569, "nodeType": "ExpressionStatement", - "src": "7015:10:4" + "src": "7015:10:0" }, { "expression": { @@ -7471,27 +7471,27 @@ "arguments": [ { "argumentTypes": null, - "id": 1599, + "id": 571, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "7050:2:4", + "referencedDeclaration": 505, + "src": "7050:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, { "argumentTypes": null, - "id": 1600, + "id": 572, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1543, - "src": "7054:2:4", + "referencedDeclaration": 515, + "src": "7054:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } } @@ -7499,26 +7499,26 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" }, { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } ], - "id": 1598, + "id": 570, "name": "pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1367, - "src": "7042:7:4", + "referencedDeclaration": 339, + "src": "7042:7:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr_$returns$_t_bool_$", "typeString": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)" } }, - "id": 1601, + "id": 573, "isConstant": false, "isLValue": false, "isPure": false, @@ -7526,52 +7526,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7042:15:4", + "src": "7042:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1529, - "id": 1602, + "functionReturnParameters": 501, + "id": 574, "nodeType": "Return", - "src": "7035:22:4" + "src": "7035:22:0" } ] }, "documentation": "Convenience method for a pairing check for four pairs.", - "id": 1604, + "id": 576, "implemented": true, "kind": "function", "modifiers": [], "name": "pairingProd4", "nodeType": "FunctionDefinition", "parameters": { - "id": 1526, + "id": 498, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1511, + "id": 483, "name": "a1", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6547:17:4", + "scope": 576, + "src": "6547:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1510, + "id": 482, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6547:7:4", + "referencedDeclaration": 6, + "src": "6547:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -7580,26 +7580,26 @@ }, { "constant": false, - "id": 1513, + "id": 485, "name": "a2", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6566:17:4", + "scope": 576, + "src": "6566:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1512, + "id": 484, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6566:7:4", + "referencedDeclaration": 15, + "src": "6566:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -7608,26 +7608,26 @@ }, { "constant": false, - "id": 1515, + "id": 487, "name": "b1", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6597:17:4", + "scope": 576, + "src": "6597:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1514, + "id": 486, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6597:7:4", + "referencedDeclaration": 6, + "src": "6597:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -7636,26 +7636,26 @@ }, { "constant": false, - "id": 1517, + "id": 489, "name": "b2", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6616:17:4", + "scope": 576, + "src": "6616:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1516, + "id": 488, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6616:7:4", + "referencedDeclaration": 15, + "src": "6616:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -7664,26 +7664,26 @@ }, { "constant": false, - "id": 1519, + "id": 491, "name": "c1", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6647:17:4", + "scope": 576, + "src": "6647:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1518, + "id": 490, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6647:7:4", + "referencedDeclaration": 6, + "src": "6647:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -7692,26 +7692,26 @@ }, { "constant": false, - "id": 1521, + "id": 493, "name": "c2", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6666:17:4", + "scope": 576, + "src": "6666:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1520, + "id": 492, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6666:7:4", + "referencedDeclaration": 15, + "src": "6666:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -7720,26 +7720,26 @@ }, { "constant": false, - "id": 1523, + "id": 495, "name": "d1", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6697:17:4", + "scope": 576, + "src": "6697:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1522, + "id": 494, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6697:7:4", + "referencedDeclaration": 6, + "src": "6697:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -7748,26 +7748,26 @@ }, { "constant": false, - "id": 1525, + "id": 497, "name": "d2", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6716:17:4", + "scope": 576, + "src": "6716:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1524, + "id": 496, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6716:7:4", + "referencedDeclaration": 15, + "src": "6716:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -7775,19 +7775,19 @@ "visibility": "internal" } ], - "src": "6533:206:4" + "src": "6533:206:0" }, "returnParameters": { - "id": 1529, + "id": 501, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1528, + "id": 500, "name": "", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6763:4:4", + "scope": 576, + "src": "6763:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7795,10 +7795,10 @@ "typeString": "bool" }, "typeName": { - "id": 1527, + "id": 499, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6763:4:4", + "src": "6763:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7808,17 +7808,17 @@ "visibility": "internal" } ], - "src": "6762:6:4" + "src": "6762:6:0" }, - "scope": 1605, - "src": "6512:552:4", + "scope": 577, + "src": "6512:552:0", "stateMutability": "view", "superFunction": null, "visibility": "internal" } ], - "scope": 2087, - "src": "1217:5849:4" + "scope": 1059, + "src": "1217:5849:0" }, { "baseContracts": [], @@ -7826,57 +7826,57 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 2086, + "id": 1058, "linearizedBaseContracts": [ - 2086 + 1058 ], "name": "Verifier", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1607, + "id": 579, "libraryName": { "contractScope": null, - "id": 1606, + "id": 578, "name": "Pairing", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1605, - "src": "7097:7:4", + "referencedDeclaration": 577, + "src": "7097:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Pairing_$1605", + "typeIdentifier": "t_contract$_Pairing_$577", "typeString": "library Pairing" } }, "nodeType": "UsingForDirective", - "src": "7091:20:4", + "src": "7091:20:0", "typeName": null }, { "canonicalName": "Verifier.VerifyingKey", - "id": 1619, + "id": 591, "members": [ { "constant": false, - "id": 1609, + "id": 581, "name": "alfa1", "nodeType": "VariableDeclaration", - "scope": 1619, - "src": "7146:21:4", + "scope": 591, + "src": "7146:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1608, + "id": 580, "name": "Pairing.G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "7146:15:4", + "referencedDeclaration": 6, + "src": "7146:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -7885,26 +7885,26 @@ }, { "constant": false, - "id": 1611, + "id": 583, "name": "beta2", "nodeType": "VariableDeclaration", - "scope": 1619, - "src": "7177:21:4", + "scope": 591, + "src": "7177:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1610, + "id": 582, "name": "Pairing.G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "7177:15:4", + "referencedDeclaration": 15, + "src": "7177:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -7913,26 +7913,26 @@ }, { "constant": false, - "id": 1613, + "id": 585, "name": "gamma2", "nodeType": "VariableDeclaration", - "scope": 1619, - "src": "7208:22:4", + "scope": 591, + "src": "7208:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1612, + "id": 584, "name": "Pairing.G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "7208:15:4", + "referencedDeclaration": 15, + "src": "7208:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -7941,26 +7941,26 @@ }, { "constant": false, - "id": 1615, + "id": 587, "name": "delta2", "nodeType": "VariableDeclaration", - "scope": 1619, - "src": "7240:22:4", + "scope": 591, + "src": "7240:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1614, + "id": 586, "name": "Pairing.G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "7240:15:4", + "referencedDeclaration": 15, + "src": "7240:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -7969,36 +7969,36 @@ }, { "constant": false, - "id": 1618, + "id": 590, "name": "IC", "nodeType": "VariableDeclaration", - "scope": 1619, - "src": "7272:20:4", + "scope": 591, + "src": "7272:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1616, + "id": 588, "name": "Pairing.G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "7272:15:4", + "referencedDeclaration": 6, + "src": "7272:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1617, + "id": 589, "length": null, "nodeType": "ArrayTypeName", - "src": "7272:17:4", + "src": "7272:17:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } }, @@ -8008,36 +8008,36 @@ ], "name": "VerifyingKey", "nodeType": "StructDefinition", - "scope": 2086, - "src": "7116:183:4", + "scope": 1058, + "src": "7116:183:0", "visibility": "public" }, { "canonicalName": "Verifier.Proof", - "id": 1626, + "id": 598, "members": [ { "constant": false, - "id": 1621, + "id": 593, "name": "A", "nodeType": "VariableDeclaration", - "scope": 1626, - "src": "7327:17:4", + "scope": 598, + "src": "7327:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1620, + "id": 592, "name": "Pairing.G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "7327:15:4", + "referencedDeclaration": 6, + "src": "7327:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -8046,26 +8046,26 @@ }, { "constant": false, - "id": 1623, + "id": 595, "name": "B", "nodeType": "VariableDeclaration", - "scope": 1626, - "src": "7354:17:4", + "scope": 598, + "src": "7354:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1622, + "id": 594, "name": "Pairing.G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "7354:15:4", + "referencedDeclaration": 15, + "src": "7354:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -8074,26 +8074,26 @@ }, { "constant": false, - "id": 1625, + "id": 597, "name": "C", "nodeType": "VariableDeclaration", - "scope": 1626, - "src": "7381:17:4", + "scope": 598, + "src": "7381:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1624, + "id": 596, "name": "Pairing.G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "7381:15:4", + "referencedDeclaration": 6, + "src": "7381:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -8103,20 +8103,20 @@ ], "name": "Proof", "nodeType": "StructDefinition", - "scope": 2086, - "src": "7304:101:4", + "scope": 1058, + "src": "7304:101:0", "visibility": "public" }, { "body": { - "id": 1777, + "id": 749, "nodeType": "Block", - "src": "7481:2640:4", + "src": "7481:2637:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1639, + "id": 611, "isConstant": false, "isLValue": false, "isPure": false, @@ -8125,28 +8125,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1631, + "id": 603, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "7491:2:4", + "referencedDeclaration": 601, + "src": "7491:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1633, + "id": 605, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "alfa1", "nodeType": "MemberAccess", - "referencedDeclaration": 1609, - "src": "7491:8:4", + "referencedDeclaration": 581, + "src": "7491:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -8157,80 +8157,80 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "3132343630343930373038323739343637333031323032373738333931313237353130353337363833393438323538303936373936393232313237313734323638303039313638303136373436", - "id": 1636, + "hexValue": "3138363537353432333331333331353934303533373431343135373730353730353036353530373036353639343938393631343130393534313333303333383937393839353931343031313839", + "id": 608, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7518:77:4", + "src": "7518:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_12460490708279467301202778391127510537683948258096796922127174268009168016746_by_1", - "typeString": "int_const 1246...(69 digits omitted)...6746" + "typeIdentifier": "t_rational_18657542331331594053741415770570506550706569498961410954133033897989591401189_by_1", + "typeString": "int_const 1865...(69 digits omitted)...1189" }, - "value": "12460490708279467301202778391127510537683948258096796922127174268009168016746" + "value": "18657542331331594053741415770570506550706569498961410954133033897989591401189" }, { "argumentTypes": null, - "hexValue": "32303434303733363733373234363631363531353737343231333239373039323733303831383537303831323132383035383732383633363335353034393630353039323236343936323432", - "id": 1637, + "hexValue": "36323634323630383937383635343433393832323131343231313437393033383735393933303731373337343138393738303937303534333733383433383736353933313931393538353534", + "id": 609, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7596:76:4", + "src": "7596:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_2044073673724661651577421329709273081857081212805872863635504960509226496242_by_1", - "typeString": "int_const 2044...(68 digits omitted)...6242" + "typeIdentifier": "t_rational_6264260897865443982211421147903875993071737418978097054373843876593191958554_by_1", + "typeString": "int_const 6264...(68 digits omitted)...8554" }, - "value": "2044073673724661651577421329709273081857081212805872863635504960509226496242" + "value": "6264260897865443982211421147903875993071737418978097054373843876593191958554" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_rational_12460490708279467301202778391127510537683948258096796922127174268009168016746_by_1", - "typeString": "int_const 1246...(69 digits omitted)...6746" + "typeIdentifier": "t_rational_18657542331331594053741415770570506550706569498961410954133033897989591401189_by_1", + "typeString": "int_const 1865...(69 digits omitted)...1189" }, { - "typeIdentifier": "t_rational_2044073673724661651577421329709273081857081212805872863635504960509226496242_by_1", - "typeString": "int_const 2044...(68 digits omitted)...6242" + "typeIdentifier": "t_rational_6264260897865443982211421147903875993071737418978097054373843876593191958554_by_1", + "typeString": "int_const 6264...(68 digits omitted)...8554" } ], "expression": { "argumentTypes": null, - "id": 1634, + "id": 606, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "7502:7:4", + "referencedDeclaration": 577, + "src": "7502:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1635, + "id": 607, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "7502:15:4", + "referencedDeclaration": 6, + "src": "7502:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1638, + "id": 610, "isConstant": false, "isLValue": false, "isPure": true, @@ -8238,26 +8238,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7502:171:4", + "src": "7502:171:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "7491:182:4", + "src": "7491:182:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1640, + "id": 612, "nodeType": "ExpressionStatement", - "src": "7491:182:4" + "src": "7491:182:0" }, { "expression": { "argumentTypes": null, - "id": 1653, + "id": 625, "isConstant": false, "isLValue": false, "isPure": false, @@ -8266,28 +8266,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1641, + "id": 613, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "7683:2:4", + "referencedDeclaration": 601, + "src": "7683:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1643, + "id": 615, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "beta2", "nodeType": "MemberAccess", - "referencedDeclaration": 1611, - "src": "7683:8:4", + "referencedDeclaration": 583, + "src": "7683:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -8301,49 +8301,49 @@ "components": [ { "argumentTypes": null, - "hexValue": "3136303837343930313933383736313631363337343438303435373034383837393233333934303730373439333031373239343031303432353238323037373830333037333533313438373534", - "id": 1646, + "hexValue": "3136313435313436343933313035303531373331383335353737343331343636353232373737333132353536373132313032363432323538353836363034313536393635363438343839333233", + "id": 618, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7711:77:4", + "src": "7711:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_16087490193876161637448045704887923394070749301729401042528207780307353148754_by_1", - "typeString": "int_const 1608...(69 digits omitted)...8754" + "typeIdentifier": "t_rational_16145146493105051731835577431466522777312556712102642258586604156965648489323_by_1", + "typeString": "int_const 1614...(69 digits omitted)...9323" }, - "value": "16087490193876161637448045704887923394070749301729401042528207780307353148754" + "value": "16145146493105051731835577431466522777312556712102642258586604156965648489323" }, { "argumentTypes": null, - "hexValue": "34303437333135353438323330373136363730373932373131333634313439343830363238303436353434363338373339343331393436313130383337343130343033393232393533333032", - "id": 1647, + "hexValue": "31343038333937393037363330313738303834343735383431363238323838393739353630303331303737393233313631373230323930363536363435363930383838353134393030363930", + "id": 619, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7789:76:4", + "src": "7789:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_4047315548230716670792711364149480628046544638739431946110837410403922953302_by_1", - "typeString": "int_const 4047...(68 digits omitted)...3302" + "typeIdentifier": "t_rational_1408397907630178084475841628288979560031077923161720290656645690888514900690_by_1", + "typeString": "int_const 1408...(68 digits omitted)...0690" }, - "value": "4047315548230716670792711364149480628046544638739431946110837410403922953302" + "value": "1408397907630178084475841628288979560031077923161720290656645690888514900690" } ], - "id": 1648, + "id": 620, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7710:156:4", + "src": "7710:156:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -8354,49 +8354,49 @@ "components": [ { "argumentTypes": null, - "hexValue": "3134323633313537353839393235353033303235353238373932353232343434313030303538373731343134363933323733393435313439303332383839393230373735353938323431353138", - "id": 1649, + "hexValue": "3131393738393335343638313130393336343739343532353430343736363835363530393633323533353433343438343434343931303432343438363032393939323936353030383737353330", + "id": 621, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7869:77:4", + "src": "7869:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_14263157589925503025528792522444100058771414693273945149032889920775598241518_by_1", - "typeString": "int_const 1426...(69 digits omitted)...1518" + "typeIdentifier": "t_rational_11978935468110936479452540476685650963253543448444491042448602999296500877530_by_1", + "typeString": "int_const 1197...(69 digits omitted)...7530" }, - "value": "14263157589925503025528792522444100058771414693273945149032889920775598241518" + "value": "11978935468110936479452540476685650963253543448444491042448602999296500877530" }, { "argumentTypes": null, - "hexValue": "32343033303839383232303531383538363434393835383038313639343634373537333735323530333032373535353932393934303039323934313130323337363136353532353935373538", - "id": 1650, + "hexValue": "313132393138303633363430313434343033393532333737383335333234303635393136373732393238363330313236363434343836353738393636313932383934353237383434323432", + "id": 622, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7947:76:4", + "src": "7947:75:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_2403089822051858644985808169464757375250302755592994009294110237616552595758_by_1", - "typeString": "int_const 2403...(68 digits omitted)...5758" + "typeIdentifier": "t_rational_112918063640144403952377835324065916772928630126644486578966192894527844242_by_1", + "typeString": "int_const 1129...(67 digits omitted)...4242" }, - "value": "2403089822051858644985808169464757375250302755592994009294110237616552595758" + "value": "112918063640144403952377835324065916772928630126644486578966192894527844242" } ], - "id": 1651, + "id": 623, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7868:156:4", + "src": "7868:155:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -8416,32 +8416,32 @@ ], "expression": { "argumentTypes": null, - "id": 1644, + "id": 616, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "7694:7:4", + "referencedDeclaration": 577, + "src": "7694:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1645, + "id": 617, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G2Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1043, - "src": "7694:15:4", + "referencedDeclaration": 15, + "src": "7694:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$1043_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G2Point_$15_storage_ptr_$", "typeString": "type(struct Pairing.G2Point storage pointer)" } }, - "id": 1652, + "id": 624, "isConstant": false, "isLValue": false, "isPure": true, @@ -8449,26 +8449,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7694:331:4", + "src": "7694:330:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "src": "7683:342:4", + "src": "7683:341:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1654, + "id": 626, "nodeType": "ExpressionStatement", - "src": "7683:342:4" + "src": "7683:341:0" }, { "expression": { "argumentTypes": null, - "id": 1667, + "id": 639, "isConstant": false, "isLValue": false, "isPure": false, @@ -8477,28 +8477,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1655, + "id": 627, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "8035:2:4", + "referencedDeclaration": 601, + "src": "8034:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1657, + "id": 629, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "gamma2", "nodeType": "MemberAccess", - "referencedDeclaration": 1613, - "src": "8035:9:4", + "referencedDeclaration": 585, + "src": "8034:9:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -8512,49 +8512,49 @@ "components": [ { "argumentTypes": null, - "hexValue": "3138313233323736333034313237313630343338333933383031303838373137333138373831313938313332393631333938373933373630383132373439323537313836303633303134333337", - "id": 1660, + "hexValue": "3134373134313631353431343732313930383430373036343037343630353737353730343731393535303230333833313634313237303134303434393639313439383435303939303839303433", + "id": 632, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8064:77:4", + "src": "8063:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_18123276304127160438393801088717318781198132961398793760812749257186063014337_by_1", - "typeString": "int_const 1812...(69 digits omitted)...4337" + "typeIdentifier": "t_rational_14714161541472190840706407460577570471955020383164127014044969149845099089043_by_1", + "typeString": "int_const 1471...(69 digits omitted)...9043" }, - "value": "18123276304127160438393801088717318781198132961398793760812749257186063014337" + "value": "14714161541472190840706407460577570471955020383164127014044969149845099089043" }, { "argumentTypes": null, - "hexValue": "3137363037343233313035333133333335353235343332383639363637363739333532363234393234303636353935373537303332373137373832333939383232323537303230353033313337", - "id": 1661, + "hexValue": "3231313534343035353736323436383139383930343830383537323631383133323435383733323930313137393232343936343631323434393531343337313030363739383032353939333032", + "id": 633, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8142:77:4", + "src": "8141:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_17607423105313335525432869667679352624924066595757032717782399822257020503137_by_1", - "typeString": "int_const 1760...(69 digits omitted)...3137" + "typeIdentifier": "t_rational_21154405576246819890480857261813245873290117922496461244951437100679802599302_by_1", + "typeString": "int_const 2115...(69 digits omitted)...9302" }, - "value": "17607423105313335525432869667679352624924066595757032717782399822257020503137" + "value": "21154405576246819890480857261813245873290117922496461244951437100679802599302" } ], - "id": 1662, + "id": 634, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8063:157:4", + "src": "8062:157:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -8565,49 +8565,49 @@ "components": [ { "argumentTypes": null, - "hexValue": "3131303235353831333239363530303437363531363739373537303836333838373234313637343735323139343036393133313134323730343938343330383838343833353236303130363834", - "id": 1663, + "hexValue": "31383430303831383330323737393035383338373434333731383238353331383131313139363337333632303737373533303536363737333334383430303137363538333138353638333930", + "id": 635, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8223:77:4", + "src": "8222:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_11025581329650047651679757086388724167475219406913114270498430888483526010684_by_1", - "typeString": "int_const 1102...(69 digits omitted)...0684" + "typeIdentifier": "t_rational_1840081830277905838744371828531811119637362077753056677334840017658318568390_by_1", + "typeString": "int_const 1840...(68 digits omitted)...8390" }, - "value": "11025581329650047651679757086388724167475219406913114270498430888483526010684" + "value": "1840081830277905838744371828531811119637362077753056677334840017658318568390" }, { "argumentTypes": null, - "hexValue": "3137323233303432313133303632303330353536323738383136363934363631393730333331363937323334393232363936303132303133313737313934373233353439353238343734323031", - "id": 1664, + "hexValue": "343130393731373630383735323538323535303030373030313435393538393431343730393730343634343539353131323437393531383435323935373439313935353431363734373730", + "id": 636, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8301:77:4", + "src": "8299:75:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_17223042113062030556278816694661970331697234922696012013177194723549528474201_by_1", - "typeString": "int_const 1722...(69 digits omitted)...4201" + "typeIdentifier": "t_rational_410971760875258255000700145958941470970464459511247951845295749195541674770_by_1", + "typeString": "int_const 4109...(67 digits omitted)...4770" }, - "value": "17223042113062030556278816694661970331697234922696012013177194723549528474201" + "value": "410971760875258255000700145958941470970464459511247951845295749195541674770" } ], - "id": 1665, + "id": 637, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8222:157:4", + "src": "8221:154:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -8627,32 +8627,32 @@ ], "expression": { "argumentTypes": null, - "id": 1658, + "id": 630, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "8047:7:4", + "referencedDeclaration": 577, + "src": "8046:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1659, + "id": 631, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G2Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1043, - "src": "8047:15:4", + "referencedDeclaration": 15, + "src": "8046:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$1043_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G2Point_$15_storage_ptr_$", "typeString": "type(struct Pairing.G2Point storage pointer)" } }, - "id": 1666, + "id": 638, "isConstant": false, "isLValue": false, "isPure": true, @@ -8660,26 +8660,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8047:333:4", + "src": "8046:330:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "src": "8035:345:4", + "src": "8034:342:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1668, + "id": 640, "nodeType": "ExpressionStatement", - "src": "8035:345:4" + "src": "8034:342:0" }, { "expression": { "argumentTypes": null, - "id": 1681, + "id": 653, "isConstant": false, "isLValue": false, "isPure": false, @@ -8688,28 +8688,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1669, + "id": 641, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "8390:2:4", + "referencedDeclaration": 601, + "src": "8386:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1671, + "id": 643, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "delta2", "nodeType": "MemberAccess", - "referencedDeclaration": 1615, - "src": "8390:9:4", + "referencedDeclaration": 587, + "src": "8386:9:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -8723,49 +8723,49 @@ "components": [ { "argumentTypes": null, - "hexValue": "36303337363233343438353132313638393837323630353636323031363838313232323435373931333731353235303238303938353035393532323539313634343331383437373735343931", - "id": 1674, + "hexValue": "363039363232343936313538303134333235313130343230353538383034333635343130323233333439323830383339313439353639343634313631393632333433343237373634323837", + "id": 646, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8419:76:4", + "src": "8415:75:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_6037623448512168987260566201688122245791371525028098505952259164431847775491_by_1", - "typeString": "int_const 6037...(68 digits omitted)...5491" + "typeIdentifier": "t_rational_609622496158014325110420558804365410223349280839149569464161962343427764287_by_1", + "typeString": "int_const 6096...(67 digits omitted)...4287" }, - "value": "6037623448512168987260566201688122245791371525028098505952259164431847775491" + "value": "609622496158014325110420558804365410223349280839149569464161962343427764287" }, { "argumentTypes": null, - "hexValue": "343538333336353735343333393938353036303136343538303137323138313131383632383739313836313339333034363534363036333831333732353833393134343436393539363137", - "id": 1675, + "hexValue": "38333137333733343234323836333834303932353436353936393932343634373435303337313737323033373838323331303237323231343939333538323730323033393339373938333131", + "id": 647, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8496:75:4", + "src": "8491:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_458336575433998506016458017218111862879186139304654606381372583914446959617_by_1", - "typeString": "int_const 4583...(67 digits omitted)...9617" + "typeIdentifier": "t_rational_8317373424286384092546596992464745037177203788231027221499358270203939798311_by_1", + "typeString": "int_const 8317...(68 digits omitted)...8311" }, - "value": "458336575433998506016458017218111862879186139304654606381372583914446959617" + "value": "8317373424286384092546596992464745037177203788231027221499358270203939798311" } ], - "id": 1676, + "id": 648, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8418:154:4", + "src": "8414:154:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -8776,49 +8776,49 @@ "components": [ { "argumentTypes": null, - "hexValue": "3135303734373437333331343536383439313231303431343737393938303638373935333431333536353034313634353534333632393232383835383632323839303237393430393030343830", - "id": 1677, + "hexValue": "38393634333830383136343833313934383839393931363639393937323639393237303938333130333036383330383835323635363134303434383539343734373834333031363136383339", + "id": 649, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8575:77:4", + "src": "8571:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_15074747331456849121041477998068795341356504164554362922885862289027940900480_by_1", - "typeString": "int_const 1507...(69 digits omitted)...0480" + "typeIdentifier": "t_rational_8964380816483194889991669997269927098310306830885265614044859474784301616839_by_1", + "typeString": "int_const 8964...(68 digits omitted)...6839" }, - "value": "15074747331456849121041477998068795341356504164554362922885862289027940900480" + "value": "8964380816483194889991669997269927098310306830885265614044859474784301616839" }, { "argumentTypes": null, - "hexValue": "34353531373137333338363135373631373236383834353535373239383135373337323430393437323334323632303338363737393835393536383434313839323430393038363935363536", - "id": 1678, + "hexValue": "34363537313536323439373935313631393139363238393134333033333236393633303139353634383035363936353238343831393031353336353236313236353739333038303930313339", + "id": 650, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8653:76:4", + "src": "8648:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_4551717338615761726884555729815737240947234262038677985956844189240908695656_by_1", - "typeString": "int_const 4551...(68 digits omitted)...5656" + "typeIdentifier": "t_rational_4657156249795161919628914303326963019564805696528481901536526126579308090139_by_1", + "typeString": "int_const 4657...(68 digits omitted)...0139" }, - "value": "4551717338615761726884555729815737240947234262038677985956844189240908695656" + "value": "4657156249795161919628914303326963019564805696528481901536526126579308090139" } ], - "id": 1679, + "id": 651, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8574:156:4", + "src": "8570:155:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -8838,32 +8838,32 @@ ], "expression": { "argumentTypes": null, - "id": 1672, + "id": 644, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "8402:7:4", + "referencedDeclaration": 577, + "src": "8398:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1673, + "id": 645, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G2Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1043, - "src": "8402:15:4", + "referencedDeclaration": 15, + "src": "8398:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$1043_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G2Point_$15_storage_ptr_$", "typeString": "type(struct Pairing.G2Point storage pointer)" } }, - "id": 1680, + "id": 652, "isConstant": false, "isLValue": false, "isPure": true, @@ -8871,26 +8871,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8402:329:4", + "src": "8398:328:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "src": "8390:341:4", + "src": "8386:340:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1682, + "id": 654, "nodeType": "ExpressionStatement", - "src": "8390:341:4" + "src": "8386:340:0" }, { "expression": { "argumentTypes": null, - "id": 1691, + "id": 663, "isConstant": false, "isLValue": false, "isPure": false, @@ -8899,28 +8899,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1683, + "id": 655, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "8741:2:4", + "referencedDeclaration": 601, + "src": "8736:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1685, + "id": 657, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "8741:5:4", + "referencedDeclaration": 590, + "src": "8736:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, @@ -8932,14 +8932,14 @@ { "argumentTypes": null, "hexValue": "37", - "id": 1689, + "id": 661, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8771:1:4", + "src": "8766:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_7_by_1", @@ -8955,41 +8955,41 @@ "typeString": "int_const 7" } ], - "id": 1688, + "id": 660, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "8749:21:4", + "src": "8744:21:0", "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_$", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_$", "typeString": "function (uint256) pure returns (struct Pairing.G1Point memory[] memory)" }, "typeName": { "baseType": { "contractScope": null, - "id": 1686, + "id": 658, "name": "Pairing.G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "8753:15:4", + "referencedDeclaration": 6, + "src": "8748:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1687, + "id": 659, "length": null, "nodeType": "ArrayTypeName", - "src": "8753:17:4", + "src": "8748:17:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } } }, - "id": 1690, + "id": 662, "isConstant": false, "isLValue": false, "isPure": true, @@ -8997,26 +8997,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8749:24:4", + "src": "8744:24:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "src": "8741:32:4", + "src": "8736:32:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1692, + "id": 664, "nodeType": "ExpressionStatement", - "src": "8741:32:4" + "src": "8736:32:0" }, { "expression": { "argumentTypes": null, - "id": 1703, + "id": 675, "isConstant": false, "isLValue": false, "isPure": false, @@ -9027,43 +9027,43 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1693, + "id": 665, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "8783:2:4", + "referencedDeclaration": 601, + "src": "8778:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1696, + "id": 668, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "8783:5:4", + "referencedDeclaration": 590, + "src": "8778:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1697, + "id": 669, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1695, + "id": 667, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8789:1:4", + "src": "8784:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9076,9 +9076,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8783:8:4", + "src": "8778:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -9089,80 +9089,80 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "33323830313531333534383537373031313034383035383135313037333432393237303036383831353631313838313831343836303439333530313439303536383032373838393032323737", - "id": 1700, + "hexValue": "3230313636363130363032363631343938383035343831323136303634303431333930333730313630363633303630303938383530303335383534363137313037303834363532393333313838", + "id": 672, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8810:76:4", + "src": "8805:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_3280151354857701104805815107342927006881561188181486049350149056802788902277_by_1", - "typeString": "int_const 3280...(68 digits omitted)...2277" + "typeIdentifier": "t_rational_20166610602661498805481216064041390370160663060098850035854617107084652933188_by_1", + "typeString": "int_const 2016...(69 digits omitted)...3188" }, - "value": "3280151354857701104805815107342927006881561188181486049350149056802788902277" + "value": "20166610602661498805481216064041390370160663060098850035854617107084652933188" }, { "argumentTypes": null, - "hexValue": "34303936323035383634323834323436383932373836393432343931363230383936353231353434393338303538393531333738343038373733313734383931333232303937333136393133", - "id": 1701, + "hexValue": "31363539393735333032323034393936343338353235323338313734303432393236383837333936333139303133343537363130303836303238343736353132363333393635393536393930", + "id": 673, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8887:76:4", + "src": "8883:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_4096205864284246892786942491620896521544938058951378408773174891322097316913_by_1", - "typeString": "int_const 4096...(68 digits omitted)...6913" + "typeIdentifier": "t_rational_1659975302204996438525238174042926887396319013457610086028476512633965956990_by_1", + "typeString": "int_const 1659...(68 digits omitted)...6990" }, - "value": "4096205864284246892786942491620896521544938058951378408773174891322097316913" + "value": "1659975302204996438525238174042926887396319013457610086028476512633965956990" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_rational_3280151354857701104805815107342927006881561188181486049350149056802788902277_by_1", - "typeString": "int_const 3280...(68 digits omitted)...2277" + "typeIdentifier": "t_rational_20166610602661498805481216064041390370160663060098850035854617107084652933188_by_1", + "typeString": "int_const 2016...(69 digits omitted)...3188" }, { - "typeIdentifier": "t_rational_4096205864284246892786942491620896521544938058951378408773174891322097316913_by_1", - "typeString": "int_const 4096...(68 digits omitted)...6913" + "typeIdentifier": "t_rational_1659975302204996438525238174042926887396319013457610086028476512633965956990_by_1", + "typeString": "int_const 1659...(68 digits omitted)...6990" } ], "expression": { "argumentTypes": null, - "id": 1698, + "id": 670, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "8794:7:4", + "referencedDeclaration": 577, + "src": "8789:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1699, + "id": 671, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "8794:15:4", + "referencedDeclaration": 6, + "src": "8789:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1702, + "id": 674, "isConstant": false, "isLValue": false, "isPure": true, @@ -9170,26 +9170,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8794:170:4", + "src": "8789:171:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "8783:181:4", + "src": "8778:182:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1704, + "id": 676, "nodeType": "ExpressionStatement", - "src": "8783:181:4" + "src": "8778:182:0" }, { "expression": { "argumentTypes": null, - "id": 1715, + "id": 687, "isConstant": false, "isLValue": false, "isPure": false, @@ -9200,43 +9200,43 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1705, + "id": 677, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "8974:2:4", + "referencedDeclaration": 601, + "src": "8970:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1708, + "id": 680, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "8974:5:4", + "referencedDeclaration": 590, + "src": "8970:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1709, + "id": 681, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1707, + "id": 679, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8980:1:4", + "src": "8976:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9249,9 +9249,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8974:8:4", + "src": "8970:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -9262,80 +9262,80 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "383836303735323532373333333030333330383639393530343938303636323532383034303237323435333332313838373337303839383939353631393239313830363938393330373938", - "id": 1712, + "hexValue": "34323230383731313839363730393533303236353036343134333731383638343831383331343130383839303130323137313038373139333832363133373236313833323836393735343436", + "id": 684, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9001:75:4", + "src": "8997:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_886075252733300330869950498066252804027245332188737089899561929180698930798_by_1", - "typeString": "int_const 8860...(67 digits omitted)...0798" + "typeIdentifier": "t_rational_4220871189670953026506414371868481831410889010217108719382613726183286975446_by_1", + "typeString": "int_const 4220...(68 digits omitted)...5446" }, - "value": "886075252733300330869950498066252804027245332188737089899561929180698930798" + "value": "4220871189670953026506414371868481831410889010217108719382613726183286975446" }, { "argumentTypes": null, - "hexValue": "3135353730323334323239313531373538313334313133303035333132393134303335303733343436393735343730363536313833303930323135333436383638363737303931323133303035", - "id": 1713, + "hexValue": "31303030333933313637373034373332323037373934353138333731333833393832373131393039353630373331393937303835363236333334313038303336363636393131383936353135", + "id": 685, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9077:77:4", + "src": "9074:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_15570234229151758134113005312914035073446975470656183090215346868677091213005_by_1", - "typeString": "int_const 1557...(69 digits omitted)...3005" + "typeIdentifier": "t_rational_1000393167704732207794518371383982711909560731997085626334108036666911896515_by_1", + "typeString": "int_const 1000...(68 digits omitted)...6515" }, - "value": "15570234229151758134113005312914035073446975470656183090215346868677091213005" + "value": "1000393167704732207794518371383982711909560731997085626334108036666911896515" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_rational_886075252733300330869950498066252804027245332188737089899561929180698930798_by_1", - "typeString": "int_const 8860...(67 digits omitted)...0798" + "typeIdentifier": "t_rational_4220871189670953026506414371868481831410889010217108719382613726183286975446_by_1", + "typeString": "int_const 4220...(68 digits omitted)...5446" }, { - "typeIdentifier": "t_rational_15570234229151758134113005312914035073446975470656183090215346868677091213005_by_1", - "typeString": "int_const 1557...(69 digits omitted)...3005" + "typeIdentifier": "t_rational_1000393167704732207794518371383982711909560731997085626334108036666911896515_by_1", + "typeString": "int_const 1000...(68 digits omitted)...6515" } ], "expression": { "argumentTypes": null, - "id": 1710, + "id": 682, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "8985:7:4", + "referencedDeclaration": 577, + "src": "8981:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1711, + "id": 683, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "8985:15:4", + "referencedDeclaration": 6, + "src": "8981:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1714, + "id": 686, "isConstant": false, "isLValue": false, "isPure": true, @@ -9343,26 +9343,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8985:170:4", + "src": "8981:170:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "8974:181:4", + "src": "8970:181:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1716, + "id": 688, "nodeType": "ExpressionStatement", - "src": "8974:181:4" + "src": "8970:181:0" }, { "expression": { "argumentTypes": null, - "id": 1727, + "id": 699, "isConstant": false, "isLValue": false, "isPure": false, @@ -9373,43 +9373,43 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1717, + "id": 689, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "9165:2:4", + "referencedDeclaration": 601, + "src": "9161:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1720, + "id": 692, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "9165:5:4", + "referencedDeclaration": 590, + "src": "9161:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1721, + "id": 693, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1719, + "id": 691, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9171:1:4", + "src": "9167:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -9422,9 +9422,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9165:8:4", + "src": "9161:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -9435,80 +9435,80 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "34383033393131353239323239393231323433383139313135393338383134363234363938303131373034333237353731383136363537333638323539363535323633383130393130343234", - "id": 1724, + "hexValue": "3132323339303836313130383231333136393335363136393132363439303630323131303338333932383737333531373336363531303635343235303537333336363631303430393834303635", + "id": 696, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9192:76:4", + "src": "9188:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_4803911529229921243819115938814624698011704327571816657368259655263810910424_by_1", - "typeString": "int_const 4803...(68 digits omitted)...0424" + "typeIdentifier": "t_rational_12239086110821316935616912649060211038392877351736651065425057336661040984065_by_1", + "typeString": "int_const 1223...(69 digits omitted)...4065" }, - "value": "4803911529229921243819115938814624698011704327571816657368259655263810910424" + "value": "12239086110821316935616912649060211038392877351736651065425057336661040984065" }, { "argumentTypes": null, - "hexValue": "39343231353231313338353734323734323435393136343439353936373937363639333239333837303436343434333438333535333833383939363736383030343536323032303339303535", - "id": 1725, + "hexValue": "35333734343532303832353837363239333439393430373633383032383732353931393836373238323133363330383639333535373936323630393039333537343333343231353332333239", + "id": 697, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9269:76:4", + "src": "9266:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_9421521138574274245916449596797669329387046444348355383899676800456202039055_by_1", - "typeString": "int_const 9421...(68 digits omitted)...9055" + "typeIdentifier": "t_rational_5374452082587629349940763802872591986728213630869355796260909357433421532329_by_1", + "typeString": "int_const 5374...(68 digits omitted)...2329" }, - "value": "9421521138574274245916449596797669329387046444348355383899676800456202039055" + "value": "5374452082587629349940763802872591986728213630869355796260909357433421532329" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_rational_4803911529229921243819115938814624698011704327571816657368259655263810910424_by_1", - "typeString": "int_const 4803...(68 digits omitted)...0424" + "typeIdentifier": "t_rational_12239086110821316935616912649060211038392877351736651065425057336661040984065_by_1", + "typeString": "int_const 1223...(69 digits omitted)...4065" }, { - "typeIdentifier": "t_rational_9421521138574274245916449596797669329387046444348355383899676800456202039055_by_1", - "typeString": "int_const 9421...(68 digits omitted)...9055" + "typeIdentifier": "t_rational_5374452082587629349940763802872591986728213630869355796260909357433421532329_by_1", + "typeString": "int_const 5374...(68 digits omitted)...2329" } ], "expression": { "argumentTypes": null, - "id": 1722, + "id": 694, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "9176:7:4", + "referencedDeclaration": 577, + "src": "9172:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1723, + "id": 695, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "9176:15:4", + "referencedDeclaration": 6, + "src": "9172:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1726, + "id": 698, "isConstant": false, "isLValue": false, "isPure": true, @@ -9516,26 +9516,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9176:170:4", + "src": "9172:171:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "9165:181:4", + "src": "9161:182:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1728, + "id": 700, "nodeType": "ExpressionStatement", - "src": "9165:181:4" + "src": "9161:182:0" }, { "expression": { "argumentTypes": null, - "id": 1739, + "id": 711, "isConstant": false, "isLValue": false, "isPure": false, @@ -9546,43 +9546,43 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1729, + "id": 701, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "9356:2:4", + "referencedDeclaration": 601, + "src": "9353:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1732, + "id": 704, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "9356:5:4", + "referencedDeclaration": 590, + "src": "9353:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1733, + "id": 705, "indexExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1731, + "id": 703, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9362:1:4", + "src": "9359:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -9595,9 +9595,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9356:8:4", + "src": "9353:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -9608,80 +9608,80 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "38353536353336313534303935393631383730363739343834393835383731383830353631393033353532383931323331363633383031343533313138343333393036323038323038363334", - "id": 1736, + "hexValue": "3130323835313333363130353435343131383435383139353037353038373230313436383233393433323632383831383739343638393531343931333635343034313436323033313735383332", + "id": 708, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9383:76:4", + "src": "9380:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_8556536154095961870679484985871880561903552891231663801453118433906208208634_by_1", - "typeString": "int_const 8556...(68 digits omitted)...8634" + "typeIdentifier": "t_rational_10285133610545411845819507508720146823943262881879468951491365404146203175832_by_1", + "typeString": "int_const 1028...(69 digits omitted)...5832" }, - "value": "8556536154095961870679484985871880561903552891231663801453118433906208208634" + "value": "10285133610545411845819507508720146823943262881879468951491365404146203175832" }, { "argumentTypes": null, - "hexValue": "33303530363031343736383239393433353031393638303530333336393233303132323937333834333532383930353038323639303633333033383838373337313339343836393138343431", - "id": 1737, + "hexValue": "32343938323437363535323334373630323636313230333132323632353436393732313635333433323937313230353537333730303930373735343230303133353232313435373932303135", + "id": 709, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9460:76:4", + "src": "9458:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_3050601476829943501968050336923012297384352890508269063303888737139486918441_by_1", - "typeString": "int_const 3050...(68 digits omitted)...8441" + "typeIdentifier": "t_rational_2498247655234760266120312262546972165343297120557370090775420013522145792015_by_1", + "typeString": "int_const 2498...(68 digits omitted)...2015" }, - "value": "3050601476829943501968050336923012297384352890508269063303888737139486918441" + "value": "2498247655234760266120312262546972165343297120557370090775420013522145792015" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_rational_8556536154095961870679484985871880561903552891231663801453118433906208208634_by_1", - "typeString": "int_const 8556...(68 digits omitted)...8634" + "typeIdentifier": "t_rational_10285133610545411845819507508720146823943262881879468951491365404146203175832_by_1", + "typeString": "int_const 1028...(69 digits omitted)...5832" }, { - "typeIdentifier": "t_rational_3050601476829943501968050336923012297384352890508269063303888737139486918441_by_1", - "typeString": "int_const 3050...(68 digits omitted)...8441" + "typeIdentifier": "t_rational_2498247655234760266120312262546972165343297120557370090775420013522145792015_by_1", + "typeString": "int_const 2498...(68 digits omitted)...2015" } ], "expression": { "argumentTypes": null, - "id": 1734, + "id": 706, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "9367:7:4", + "referencedDeclaration": 577, + "src": "9364:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1735, + "id": 707, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "9367:15:4", + "referencedDeclaration": 6, + "src": "9364:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1738, + "id": 710, "isConstant": false, "isLValue": false, "isPure": true, @@ -9689,26 +9689,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9367:170:4", + "src": "9364:171:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "9356:181:4", + "src": "9353:182:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1740, + "id": 712, "nodeType": "ExpressionStatement", - "src": "9356:181:4" + "src": "9353:182:0" }, { "expression": { "argumentTypes": null, - "id": 1751, + "id": 723, "isConstant": false, "isLValue": false, "isPure": false, @@ -9719,43 +9719,43 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1741, + "id": 713, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "9547:2:4", + "referencedDeclaration": 601, + "src": "9545:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1744, + "id": 716, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "9547:5:4", + "referencedDeclaration": 590, + "src": "9545:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1745, + "id": 717, "indexExpression": { "argumentTypes": null, "hexValue": "34", - "id": 1743, + "id": 715, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9553:1:4", + "src": "9551:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -9768,9 +9768,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9547:8:4", + "src": "9545:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -9781,80 +9781,80 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "333030393730353537343834353138303730343932353331313735373134373838393132313331323433333434323632383035343737323636383036303634313236393538393239303335", - "id": 1748, + "hexValue": "3138313133313832313034383733323438353436323835373131353835343035353832303630343533393738383238343937303335373637383539303436313739313533313037333735383335", + "id": 720, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9574:75:4", + "src": "9572:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_300970557484518070492531175714788912131243344262805477266806064126958929035_by_1", - "typeString": "int_const 3009...(67 digits omitted)...9035" + "typeIdentifier": "t_rational_18113182104873248546285711585405582060453978828497035767859046179153107375835_by_1", + "typeString": "int_const 1811...(69 digits omitted)...5835" }, - "value": "300970557484518070492531175714788912131243344262805477266806064126958929035" + "value": "18113182104873248546285711585405582060453978828497035767859046179153107375835" }, { "argumentTypes": null, - "hexValue": "37333938353330373831333739383730393035393232323437363334373338393536333536333732333236323433303136383433353530343236303834383632383831323035383633343437", - "id": 1749, + "hexValue": "36373239303934363133373630303833343536363030343439353336313233373337303334323730323334363334333134393531373532383038343635333738323336333833353330383437", + "id": 721, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9650:76:4", + "src": "9650:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_7398530781379870905922247634738956356372326243016843550426084862881205863447_by_1", - "typeString": "int_const 7398...(68 digits omitted)...3447" + "typeIdentifier": "t_rational_6729094613760083456600449536123737034270234634314951752808465378236383530847_by_1", + "typeString": "int_const 6729...(68 digits omitted)...0847" }, - "value": "7398530781379870905922247634738956356372326243016843550426084862881205863447" + "value": "6729094613760083456600449536123737034270234634314951752808465378236383530847" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_rational_300970557484518070492531175714788912131243344262805477266806064126958929035_by_1", - "typeString": "int_const 3009...(67 digits omitted)...9035" + "typeIdentifier": "t_rational_18113182104873248546285711585405582060453978828497035767859046179153107375835_by_1", + "typeString": "int_const 1811...(69 digits omitted)...5835" }, { - "typeIdentifier": "t_rational_7398530781379870905922247634738956356372326243016843550426084862881205863447_by_1", - "typeString": "int_const 7398...(68 digits omitted)...3447" + "typeIdentifier": "t_rational_6729094613760083456600449536123737034270234634314951752808465378236383530847_by_1", + "typeString": "int_const 6729...(68 digits omitted)...0847" } ], "expression": { "argumentTypes": null, - "id": 1746, + "id": 718, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "9558:7:4", + "referencedDeclaration": 577, + "src": "9556:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1747, + "id": 719, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "9558:15:4", + "referencedDeclaration": 6, + "src": "9556:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1750, + "id": 722, "isConstant": false, "isLValue": false, "isPure": true, @@ -9862,26 +9862,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9558:169:4", + "src": "9556:171:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "9547:180:4", + "src": "9545:182:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1752, + "id": 724, "nodeType": "ExpressionStatement", - "src": "9547:180:4" + "src": "9545:182:0" }, { "expression": { "argumentTypes": null, - "id": 1763, + "id": 735, "isConstant": false, "isLValue": false, "isPure": false, @@ -9892,43 +9892,43 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1753, + "id": 725, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "9737:2:4", + "referencedDeclaration": 601, + "src": "9737:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1756, + "id": 728, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "9737:5:4", + "referencedDeclaration": 590, + "src": "9737:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1757, + "id": 729, "indexExpression": { "argumentTypes": null, "hexValue": "35", - "id": 1755, + "id": 727, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9743:1:4", + "src": "9743:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -9941,9 +9941,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9737:8:4", + "src": "9737:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -9954,80 +9954,80 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "3139393230303939323337373932383637343039363933313234343135303232313030353239343837303132393632383431363432383230363736353637353039323632353037313933313037", - "id": 1760, + "hexValue": "32363735383534343538313532393632343732313631363635313232313432373231373931363836313138303932393030333235353037393632333533333336373531333735363435353535", + "id": 732, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9764:77:4", + "src": "9764:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_19920099237792867409693124415022100529487012962841642820676567509262507193107_by_1", - "typeString": "int_const 1992...(69 digits omitted)...3107" + "typeIdentifier": "t_rational_2675854458152962472161665122142721791686118092900325507962353336751375645555_by_1", + "typeString": "int_const 2675...(68 digits omitted)...5555" }, - "value": "19920099237792867409693124415022100529487012962841642820676567509262507193107" + "value": "2675854458152962472161665122142721791686118092900325507962353336751375645555" }, { "argumentTypes": null, - "hexValue": "3230323139353434303039353933333839323938373133373736363732313438393038393036303834303037333030373839323932313638333839373837373231373431343530393132303338", - "id": 1761, + "hexValue": "3132393133323234333032333830343438363136343735363531393034303330303936313739363332383334323530313938383935313238373133373331373732323237353236313033383531", + "id": 733, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9842:77:4", + "src": "9841:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_20219544009593389298713776672148908906084007300789292168389787721741450912038_by_1", - "typeString": "int_const 2021...(69 digits omitted)...2038" + "typeIdentifier": "t_rational_12913224302380448616475651904030096179632834250198895128713731772227526103851_by_1", + "typeString": "int_const 1291...(69 digits omitted)...3851" }, - "value": "20219544009593389298713776672148908906084007300789292168389787721741450912038" + "value": "12913224302380448616475651904030096179632834250198895128713731772227526103851" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_rational_19920099237792867409693124415022100529487012962841642820676567509262507193107_by_1", - "typeString": "int_const 1992...(69 digits omitted)...3107" + "typeIdentifier": "t_rational_2675854458152962472161665122142721791686118092900325507962353336751375645555_by_1", + "typeString": "int_const 2675...(68 digits omitted)...5555" }, { - "typeIdentifier": "t_rational_20219544009593389298713776672148908906084007300789292168389787721741450912038_by_1", - "typeString": "int_const 2021...(69 digits omitted)...2038" + "typeIdentifier": "t_rational_12913224302380448616475651904030096179632834250198895128713731772227526103851_by_1", + "typeString": "int_const 1291...(69 digits omitted)...3851" } ], "expression": { "argumentTypes": null, - "id": 1758, + "id": 730, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "9748:7:4", + "referencedDeclaration": 577, + "src": "9748:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1759, + "id": 731, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "9748:15:4", + "referencedDeclaration": 6, + "src": "9748:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1762, + "id": 734, "isConstant": false, "isLValue": false, "isPure": true, @@ -10035,26 +10035,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9748:172:4", + "src": "9748:171:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "9737:183:4", + "src": "9737:182:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1764, + "id": 736, "nodeType": "ExpressionStatement", - "src": "9737:183:4" + "src": "9737:182:0" }, { "expression": { "argumentTypes": null, - "id": 1775, + "id": 747, "isConstant": false, "isLValue": false, "isPure": false, @@ -10065,43 +10065,43 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1765, + "id": 737, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "9930:2:4", + "referencedDeclaration": 601, + "src": "9929:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1768, + "id": 740, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "9930:5:4", + "referencedDeclaration": 590, + "src": "9929:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1769, + "id": 741, "indexExpression": { "argumentTypes": null, "hexValue": "36", - "id": 1767, + "id": 739, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9936:1:4", + "src": "9935:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -10114,9 +10114,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9930:8:4", + "src": "9929:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -10127,80 +10127,80 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "3139373338343638343635363538353837343533333731383139383331353738383335363736333337363836323136373336333130303736343433343737393438373031393135353431323033", - "id": 1772, + "hexValue": "36393034353331323033393237333234343937313930373135373031323139353132303237333535313432303332393235343738343136313638343139353537313931303137303637313338", + "id": 744, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9957:77:4", + "src": "9956:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_19738468465658587453371819831578835676337686216736310076443477948701915541203_by_1", - "typeString": "int_const 1973...(69 digits omitted)...1203" + "typeIdentifier": "t_rational_6904531203927324497190715701219512027355142032925478416168419557191017067138_by_1", + "typeString": "int_const 6904...(68 digits omitted)...7138" }, - "value": "19738468465658587453371819831578835676337686216736310076443477948701915541203" + "value": "6904531203927324497190715701219512027355142032925478416168419557191017067138" }, { "argumentTypes": null, - "hexValue": "3137303531363131333336363738393430383332353934373139393534323638323935303833373634393933393231363130323930323535353230303135303032353133343339343133393433", - "id": 1773, + "hexValue": "33323937333835363139313434313438363835383539383938353038323830383037383431313134363132353532353236323036323635303336323037383935323730313437373430333931", + "id": 745, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10035:77:4", + "src": "10033:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_17051611336678940832594719954268295083764993921610290255520015002513439413943_by_1", - "typeString": "int_const 1705...(69 digits omitted)...3943" + "typeIdentifier": "t_rational_3297385619144148685859898508280807841114612552526206265036207895270147740391_by_1", + "typeString": "int_const 3297...(68 digits omitted)...0391" }, - "value": "17051611336678940832594719954268295083764993921610290255520015002513439413943" + "value": "3297385619144148685859898508280807841114612552526206265036207895270147740391" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_rational_19738468465658587453371819831578835676337686216736310076443477948701915541203_by_1", - "typeString": "int_const 1973...(69 digits omitted)...1203" + "typeIdentifier": "t_rational_6904531203927324497190715701219512027355142032925478416168419557191017067138_by_1", + "typeString": "int_const 6904...(68 digits omitted)...7138" }, { - "typeIdentifier": "t_rational_17051611336678940832594719954268295083764993921610290255520015002513439413943_by_1", - "typeString": "int_const 1705...(69 digits omitted)...3943" + "typeIdentifier": "t_rational_3297385619144148685859898508280807841114612552526206265036207895270147740391_by_1", + "typeString": "int_const 3297...(68 digits omitted)...0391" } ], "expression": { "argumentTypes": null, - "id": 1770, + "id": 742, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "9941:7:4", + "referencedDeclaration": 577, + "src": "9940:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1771, + "id": 743, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "9941:15:4", + "referencedDeclaration": 6, + "src": "9940:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1774, + "id": 746, "isConstant": false, "isLValue": false, "isPure": true, @@ -10208,63 +10208,63 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9941:172:4", + "src": "9940:170:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "9930:183:4", + "src": "9929:181:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1776, + "id": 748, "nodeType": "ExpressionStatement", - "src": "9930:183:4" + "src": "9929:181:0" } ] }, "documentation": null, - "id": 1778, + "id": 750, "implemented": true, "kind": "function", "modifiers": [], "name": "verifyingKey", "nodeType": "FunctionDefinition", "parameters": { - "id": 1627, + "id": 599, "nodeType": "ParameterList", "parameters": [], - "src": "7431:2:4" + "src": "7431:2:0" }, "returnParameters": { - "id": 1630, + "id": 602, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1629, + "id": 601, "name": "vk", "nodeType": "VariableDeclaration", - "scope": 1778, - "src": "7457:22:4", + "scope": 750, + "src": "7457:22:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey" }, "typeName": { "contractScope": null, - "id": 1628, + "id": 600, "name": "VerifyingKey", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1619, - "src": "7457:12:4", + "referencedDeclaration": 591, + "src": "7457:12:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_storage_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_storage_ptr", "typeString": "struct Verifier.VerifyingKey" } }, @@ -10272,32 +10272,32 @@ "visibility": "internal" } ], - "src": "7456:24:4" + "src": "7456:24:0" }, - "scope": 2086, - "src": "7410:2711:4", + "scope": 1058, + "src": "7410:2708:0", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1898, + "id": 870, "nodeType": "Block", - "src": "10212:846:4", + "src": "10209:846:0", "statements": [ { "assignments": [ - 1789 + 761 ], "declarations": [ { "constant": false, - "id": 1789, + "id": 761, "name": "snark_scalar_field", "nodeType": "VariableDeclaration", - "scope": 1898, - "src": "10222:26:4", + "scope": 870, + "src": "10219:26:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10305,10 +10305,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1788, + "id": 760, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10222:7:4", + "src": "10219:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10318,18 +10318,18 @@ "visibility": "internal" } ], - "id": 1791, + "id": 763, "initialValue": { "argumentTypes": null, "hexValue": "3231383838323432383731383339323735323232323436343035373435323537323735303838353438333634343030343136303334333433363938323034313836353735383038343935363137", - "id": 1790, + "id": 762, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10251:77:4", + "src": "10248:77:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_21888242871839275222246405745257275088548364400416034343698204186575808495617_by_1", @@ -10338,35 +10338,35 @@ "value": "21888242871839275222246405745257275088548364400416034343698204186575808495617" }, "nodeType": "VariableDeclarationStatement", - "src": "10222:106:4" + "src": "10219:106:0" }, { "assignments": [ - 1793 + 765 ], "declarations": [ { "constant": false, - "id": 1793, + "id": 765, "name": "vk", "nodeType": "VariableDeclaration", - "scope": 1898, - "src": "10338:22:4", + "scope": 870, + "src": "10335:22:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey" }, "typeName": { "contractScope": null, - "id": 1792, + "id": 764, "name": "VerifyingKey", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1619, - "src": "10338:12:4", + "referencedDeclaration": 591, + "src": "10335:12:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_storage_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_storage_ptr", "typeString": "struct Verifier.VerifyingKey" } }, @@ -10374,24 +10374,24 @@ "visibility": "internal" } ], - "id": 1796, + "id": 768, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 1794, + "id": 766, "name": "verifyingKey", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1778, - "src": "10363:12:4", + "referencedDeclaration": 750, + "src": "10360:12:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_VerifyingKey_$1619_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_VerifyingKey_$591_memory_ptr_$", "typeString": "function () pure returns (struct Verifier.VerifyingKey memory)" } }, - "id": 1795, + "id": 767, "isConstant": false, "isLValue": false, "isPure": false, @@ -10399,14 +10399,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10363:14:4", + "src": "10360:14:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "10338:39:4" + "src": "10335:39:0" }, { "expression": { @@ -10418,7 +10418,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1805, + "id": 777, "isConstant": false, "isLValue": false, "isPure": false, @@ -10429,7 +10429,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1801, + "id": 773, "isConstant": false, "isLValue": false, "isPure": false, @@ -10438,18 +10438,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1798, + "id": 770, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1781, - "src": "10395:5:4", + "referencedDeclaration": 753, + "src": "10392:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1799, + "id": 771, "isConstant": false, "isLValue": false, "isPure": false, @@ -10457,7 +10457,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10395:12:4", + "src": "10392:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10468,14 +10468,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1800, + "id": 772, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10410:1:4", + "src": "10407:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -10483,7 +10483,7 @@ }, "value": "1" }, - "src": "10395:16:4", + "src": "10392:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10497,32 +10497,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1802, + "id": 774, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "10415:2:4", + "referencedDeclaration": 765, + "src": "10412:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1803, + "id": 775, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "10415:5:4", + "referencedDeclaration": 590, + "src": "10412:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1804, + "id": 776, "isConstant": false, "isLValue": false, "isPure": false, @@ -10530,13 +10530,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10415:12:4", + "src": "10412:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10395:32:4", + "src": "10392:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10545,14 +10545,14 @@ { "argumentTypes": null, "hexValue": "76657269666965722d6261642d696e707574", - "id": 1806, + "id": 778, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10428:20:4", + "src": "10425:20:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_62f18c0da782e23b7e947e83d22170e983c1918040b5b1bd1c1e3ee5a50cc57a", @@ -10572,21 +10572,21 @@ "typeString": "literal_string \"verifier-bad-input\"" } ], - "id": 1797, + "id": 769, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, - "src": "10387:7:4", + "referencedDeclaration": 1077, + "src": "10384:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1807, + "id": 779, "isConstant": false, "isLValue": false, "isPure": false, @@ -10594,43 +10594,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10387:62:4", + "src": "10384:62:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1808, + "id": 780, "nodeType": "ExpressionStatement", - "src": "10387:62:4" + "src": "10384:62:0" }, { "assignments": [ - 1812 + 784 ], "declarations": [ { "constant": false, - "id": 1812, + "id": 784, "name": "vk_x", "nodeType": "VariableDeclaration", - "scope": 1898, - "src": "10506:27:4", + "scope": 870, + "src": "10503:27:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1811, + "id": 783, "name": "Pairing.G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "10506:15:4", + "referencedDeclaration": 6, + "src": "10503:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -10638,21 +10638,21 @@ "visibility": "internal" } ], - "id": 1818, + "id": 790, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", - "id": 1815, + "id": 787, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10552:1:4", + "src": "10549:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10663,14 +10663,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1816, + "id": 788, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10555:1:4", + "src": "10552:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10692,32 +10692,32 @@ ], "expression": { "argumentTypes": null, - "id": 1813, + "id": 785, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "10536:7:4", + "referencedDeclaration": 577, + "src": "10533:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1814, + "id": 786, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "10536:15:4", + "referencedDeclaration": 6, + "src": "10533:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1817, + "id": 789, "isConstant": false, "isLValue": false, "isPure": true, @@ -10725,20 +10725,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10536:21:4", + "src": "10533:21:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "10506:51:4" + "src": "10503:51:0" }, { "body": { - "id": 1858, + "id": 830, "nodeType": "Block", - "src": "10607:184:4", + "src": "10604:184:0", "statements": [ { "expression": { @@ -10750,7 +10750,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1835, + "id": 807, "isConstant": false, "isLValue": false, "isPure": false, @@ -10759,26 +10759,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1831, + "id": 803, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1781, - "src": "10629:5:4", + "referencedDeclaration": 753, + "src": "10626:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1833, + "id": 805, "indexExpression": { "argumentTypes": null, - "id": 1832, + "id": 804, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "10635:1:4", + "referencedDeclaration": 792, + "src": "10632:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10789,7 +10789,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10629:8:4", + "src": "10626:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10799,18 +10799,18 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 1834, + "id": 806, "name": "snark_scalar_field", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "10640:18:4", + "referencedDeclaration": 761, + "src": "10637:18:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10629:29:4", + "src": "10626:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10819,14 +10819,14 @@ { "argumentTypes": null, "hexValue": "76657269666965722d6774652d736e61726b2d7363616c61722d6669656c64", - "id": 1836, + "id": 808, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10659:33:4", + "src": "10656:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8cb5a586d84bd3fa5140c79c44fd5cd5a5b0e7e59a1ddee2846426486e57f847", @@ -10846,21 +10846,21 @@ "typeString": "literal_string \"verifier-gte-snark-scalar-field\"" } ], - "id": 1830, + "id": 802, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, - "src": "10621:7:4", + "referencedDeclaration": 1077, + "src": "10618:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1837, + "id": 809, "isConstant": false, "isLValue": false, "isPure": false, @@ -10868,34 +10868,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10621:72:4", + "src": "10618:72:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1838, + "id": 810, "nodeType": "ExpressionStatement", - "src": "10621:72:4" + "src": "10618:72:0" }, { "expression": { "argumentTypes": null, - "id": 1856, + "id": 828, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1839, + "id": 811, "name": "vk_x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "10707:4:4", + "referencedDeclaration": 784, + "src": "10704:4:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, @@ -10906,14 +10906,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1842, + "id": 814, "name": "vk_x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "10731:4:4", + "referencedDeclaration": 784, + "src": "10728:4:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, @@ -10926,51 +10926,51 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1845, + "id": 817, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "10756:2:4", + "referencedDeclaration": 765, + "src": "10753:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1846, + "id": 818, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "10756:5:4", + "referencedDeclaration": 590, + "src": "10753:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1850, + "id": 822, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1849, + "id": 821, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1847, + "id": 819, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "10762:1:4", + "referencedDeclaration": 792, + "src": "10759:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10981,14 +10981,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1848, + "id": 820, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10766:1:4", + "src": "10763:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -10996,7 +10996,7 @@ }, "value": "1" }, - "src": "10762:5:4", + "src": "10759:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11007,9 +11007,9 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10756:12:4", + "src": "10753:12:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -11017,26 +11017,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1851, + "id": 823, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1781, - "src": "10770:5:4", + "referencedDeclaration": 753, + "src": "10767:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1853, + "id": 825, "indexExpression": { "argumentTypes": null, - "id": 1852, + "id": 824, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "10776:1:4", + "referencedDeclaration": 792, + "src": "10773:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11047,7 +11047,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10770:8:4", + "src": "10767:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11057,7 +11057,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" }, { @@ -11067,32 +11067,32 @@ ], "expression": { "argumentTypes": null, - "id": 1843, + "id": 815, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "10737:7:4", + "referencedDeclaration": 577, + "src": "10734:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1844, + "id": 816, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "scalar_mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1206, - "src": "10737:18:4", + "referencedDeclaration": 178, + "src": "10734:18:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$1034_memory_ptr_$_t_uint256_$returns$_t_struct$_G1Point_$1034_memory_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$6_memory_ptr_$_t_uint256_$returns$_t_struct$_G1Point_$6_memory_ptr_$", "typeString": "function (struct Pairing.G1Point memory,uint256) view returns (struct Pairing.G1Point memory)" } }, - "id": 1854, + "id": 826, "isConstant": false, "isLValue": false, "isPure": false, @@ -11100,9 +11100,9 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10737:42:4", + "src": "10734:42:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } } @@ -11110,42 +11110,42 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } ], "expression": { "argumentTypes": null, - "id": 1840, + "id": 812, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "10714:7:4", + "referencedDeclaration": 577, + "src": "10711:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1841, + "id": 813, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "addition", "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "10714:16:4", + "referencedDeclaration": 133, + "src": "10711:16:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$1034_memory_ptr_$_t_struct$_G1Point_$1034_memory_ptr_$returns$_t_struct$_G1Point_$1034_memory_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$6_memory_ptr_$_t_struct$_G1Point_$6_memory_ptr_$returns$_t_struct$_G1Point_$6_memory_ptr_$", "typeString": "function (struct Pairing.G1Point memory,struct Pairing.G1Point memory) view returns (struct Pairing.G1Point memory)" } }, - "id": 1855, + "id": 827, "isConstant": false, "isLValue": false, "isPure": false, @@ -11153,21 +11153,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10714:66:4", + "src": "10711:66:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "10707:73:4", + "src": "10704:73:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1857, + "id": 829, "nodeType": "ExpressionStatement", - "src": "10707:73:4" + "src": "10704:73:0" } ] }, @@ -11177,19 +11177,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1826, + "id": 798, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1823, + "id": 795, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "10584:1:4", + "referencedDeclaration": 792, + "src": "10581:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11201,18 +11201,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1824, + "id": 796, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1781, - "src": "10588:5:4", + "referencedDeclaration": 753, + "src": "10585:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1825, + "id": 797, "isConstant": false, "isLValue": false, "isPure": false, @@ -11220,31 +11220,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10588:12:4", + "src": "10585:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10584:16:4", + "src": "10581:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1859, + "id": 831, "initializationExpression": { "assignments": [ - 1820 + 792 ], "declarations": [ { "constant": false, - "id": 1820, + "id": 792, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "10572:6:4", + "scope": 831, + "src": "10569:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11252,10 +11252,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1819, + "id": 791, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "10572:4:4", + "src": "10569:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11265,18 +11265,18 @@ "visibility": "internal" } ], - "id": 1822, + "id": 794, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 1821, + "id": 793, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10581:1:4", + "src": "10578:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11285,12 +11285,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "10572:10:4" + "src": "10569:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 1828, + "id": 800, "isConstant": false, "isLValue": false, "isPure": false, @@ -11298,15 +11298,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "10602:3:4", + "src": "10599:3:0", "subExpression": { "argumentTypes": null, - "id": 1827, + "id": 799, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "10602:1:4", + "referencedDeclaration": 792, + "src": "10599:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11317,31 +11317,31 @@ "typeString": "uint256" } }, - "id": 1829, + "id": 801, "nodeType": "ExpressionStatement", - "src": "10602:3:4" + "src": "10599:3:0" }, "nodeType": "ForStatement", - "src": "10567:224:4" + "src": "10564:224:0" }, { "expression": { "argumentTypes": null, - "id": 1869, + "id": 841, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1860, + "id": 832, "name": "vk_x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "10800:4:4", + "referencedDeclaration": 784, + "src": "10797:4:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, @@ -11352,14 +11352,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1863, + "id": 835, "name": "vk_x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "10824:4:4", + "referencedDeclaration": 784, + "src": "10821:4:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, @@ -11369,43 +11369,43 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1864, + "id": 836, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "10830:2:4", + "referencedDeclaration": 765, + "src": "10827:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1865, + "id": 837, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "10830:5:4", + "referencedDeclaration": 590, + "src": "10827:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1867, + "id": 839, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1866, + "id": 838, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10836:1:4", + "src": "10833:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11418,9 +11418,9 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10830:8:4", + "src": "10827:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } } @@ -11428,42 +11428,42 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } ], "expression": { "argumentTypes": null, - "id": 1861, + "id": 833, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "10807:7:4", + "referencedDeclaration": 577, + "src": "10804:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1862, + "id": 834, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "addition", "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "10807:16:4", + "referencedDeclaration": 133, + "src": "10804:16:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$1034_memory_ptr_$_t_struct$_G1Point_$1034_memory_ptr_$returns$_t_struct$_G1Point_$1034_memory_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$6_memory_ptr_$_t_struct$_G1Point_$6_memory_ptr_$returns$_t_struct$_G1Point_$6_memory_ptr_$", "typeString": "function (struct Pairing.G1Point memory,struct Pairing.G1Point memory) view returns (struct Pairing.G1Point memory)" } }, - "id": 1868, + "id": 840, "isConstant": false, "isLValue": false, "isPure": false, @@ -11471,26 +11471,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10807:32:4", + "src": "10804:32:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "10800:39:4", + "src": "10797:39:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1870, + "id": 842, "nodeType": "ExpressionStatement", - "src": "10800:39:4" + "src": "10797:39:0" }, { "condition": { "argumentTypes": null, - "id": 1892, + "id": 864, "isConstant": false, "isLValue": false, "isPure": false, @@ -11498,7 +11498,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "10853:170:4", + "src": "10850:170:0", "subExpression": { "argumentTypes": null, "arguments": [ @@ -11509,28 +11509,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1875, + "id": 847, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "10903:5:4", + "referencedDeclaration": 755, + "src": "10900:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } }, - "id": 1876, + "id": 848, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "A", "nodeType": "MemberAccess", - "referencedDeclaration": 1621, - "src": "10903:7:4", + "referencedDeclaration": 593, + "src": "10900:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } } @@ -11538,38 +11538,38 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } ], "expression": { "argumentTypes": null, - "id": 1873, + "id": 845, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "10888:7:4", + "referencedDeclaration": 577, + "src": "10885:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1874, + "id": 846, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "negate", "nodeType": "MemberAccess", - "referencedDeclaration": 1108, - "src": "10888:14:4", + "referencedDeclaration": 80, + "src": "10885:14:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_G1Point_$1034_memory_ptr_$returns$_t_struct$_G1Point_$1034_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_G1Point_$6_memory_ptr_$returns$_t_struct$_G1Point_$6_memory_ptr_$", "typeString": "function (struct Pairing.G1Point memory) pure returns (struct Pairing.G1Point memory)" } }, - "id": 1877, + "id": 849, "isConstant": false, "isLValue": false, "isPure": false, @@ -11577,9 +11577,9 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10888:23:4", + "src": "10885:23:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, @@ -11587,28 +11587,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1878, + "id": 850, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "10913:5:4", + "referencedDeclaration": 755, + "src": "10910:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } }, - "id": 1879, + "id": 851, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "B", "nodeType": "MemberAccess", - "referencedDeclaration": 1623, - "src": "10913:7:4", + "referencedDeclaration": 595, + "src": "10910:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -11616,28 +11616,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1880, + "id": 852, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "10934:2:4", + "referencedDeclaration": 765, + "src": "10931:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1881, + "id": 853, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "alfa1", "nodeType": "MemberAccess", - "referencedDeclaration": 1609, - "src": "10934:8:4", + "referencedDeclaration": 581, + "src": "10931:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -11645,41 +11645,41 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1882, + "id": 854, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "10944:2:4", + "referencedDeclaration": 765, + "src": "10941:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1883, + "id": 855, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "beta2", "nodeType": "MemberAccess", - "referencedDeclaration": 1611, - "src": "10944:8:4", + "referencedDeclaration": 583, + "src": "10941:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, { "argumentTypes": null, - "id": 1884, + "id": 856, "name": "vk_x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "10966:4:4", + "referencedDeclaration": 784, + "src": "10963:4:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, @@ -11687,28 +11687,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1885, + "id": 857, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "10972:2:4", + "referencedDeclaration": 765, + "src": "10969:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1886, + "id": 858, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "gamma2", "nodeType": "MemberAccess", - "referencedDeclaration": 1613, - "src": "10972:9:4", + "referencedDeclaration": 585, + "src": "10969:9:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -11716,28 +11716,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1887, + "id": 859, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "10995:5:4", + "referencedDeclaration": 755, + "src": "10992:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } }, - "id": 1888, + "id": 860, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "C", "nodeType": "MemberAccess", - "referencedDeclaration": 1625, - "src": "10995:7:4", + "referencedDeclaration": 597, + "src": "10992:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -11745,28 +11745,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1889, + "id": 861, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "11004:2:4", + "referencedDeclaration": 765, + "src": "11001:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1890, + "id": 862, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "delta2", "nodeType": "MemberAccess", - "referencedDeclaration": 1615, - "src": "11004:9:4", + "referencedDeclaration": 587, + "src": "11001:9:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } } @@ -11774,66 +11774,66 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } ], "expression": { "argumentTypes": null, - "id": 1871, + "id": 843, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "10854:7:4", + "referencedDeclaration": 577, + "src": "10851:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1872, + "id": 844, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairingProd4", "nodeType": "MemberAccess", - "referencedDeclaration": 1604, - "src": "10854:20:4", + "referencedDeclaration": 576, + "src": "10851:20:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$1034_memory_ptr_$_t_struct$_G2Point_$1043_memory_ptr_$_t_struct$_G1Point_$1034_memory_ptr_$_t_struct$_G2Point_$1043_memory_ptr_$_t_struct$_G1Point_$1034_memory_ptr_$_t_struct$_G2Point_$1043_memory_ptr_$_t_struct$_G1Point_$1034_memory_ptr_$_t_struct$_G2Point_$1043_memory_ptr_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$6_memory_ptr_$_t_struct$_G2Point_$15_memory_ptr_$_t_struct$_G1Point_$6_memory_ptr_$_t_struct$_G2Point_$15_memory_ptr_$_t_struct$_G1Point_$6_memory_ptr_$_t_struct$_G2Point_$15_memory_ptr_$_t_struct$_G1Point_$6_memory_ptr_$_t_struct$_G2Point_$15_memory_ptr_$returns$_t_bool_$", "typeString": "function (struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory) view returns (bool)" } }, - "id": 1891, + "id": 863, "isConstant": false, "isLValue": false, "isPure": false, @@ -11841,7 +11841,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10854:169:4", + "src": "10851:169:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11853,21 +11853,21 @@ } }, "falseBody": null, - "id": 1895, + "id": 867, "nodeType": "IfStatement", - "src": "10849:184:4", + "src": "10846:184:0", "trueBody": { "expression": { "argumentTypes": null, "hexValue": "31", - "id": 1893, + "id": 865, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11032:1:4", + "src": "11029:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -11875,24 +11875,24 @@ }, "value": "1" }, - "functionReturnParameters": 1787, - "id": 1894, + "functionReturnParameters": 759, + "id": 866, "nodeType": "Return", - "src": "11025:8:4" + "src": "11022:8:0" } }, { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1896, + "id": 868, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11050:1:4", + "src": "11047:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11900,31 +11900,31 @@ }, "value": "0" }, - "functionReturnParameters": 1787, - "id": 1897, + "functionReturnParameters": 759, + "id": 869, "nodeType": "Return", - "src": "11043:8:4" + "src": "11040:8:0" } ] }, "documentation": null, - "id": 1899, + "id": 871, "implemented": true, "kind": "function", "modifiers": [], "name": "verify", "nodeType": "FunctionDefinition", "parameters": { - "id": 1784, + "id": 756, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1781, + "id": 753, "name": "input", "nodeType": "VariableDeclaration", - "scope": 1899, - "src": "10142:19:4", + "scope": 871, + "src": "10139:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11933,19 +11933,19 @@ }, "typeName": { "baseType": { - "id": 1779, + "id": 751, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "10142:4:4", + "src": "10139:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1780, + "id": 752, "length": null, "nodeType": "ArrayTypeName", - "src": "10142:6:4", + "src": "10139:6:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -11956,26 +11956,26 @@ }, { "constant": false, - "id": 1783, + "id": 755, "name": "proof", "nodeType": "VariableDeclaration", - "scope": 1899, - "src": "10163:18:4", + "scope": 871, + "src": "10160:18:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof" }, "typeName": { "contractScope": null, - "id": 1782, + "id": 754, "name": "Proof", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1626, - "src": "10163:5:4", + "referencedDeclaration": 598, + "src": "10160:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_storage_ptr", + "typeIdentifier": "t_struct$_Proof_$598_storage_ptr", "typeString": "struct Verifier.Proof" } }, @@ -11983,19 +11983,19 @@ "visibility": "internal" } ], - "src": "10141:41:4" + "src": "10138:41:0" }, "returnParameters": { - "id": 1787, + "id": 759, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1786, + "id": 758, "name": "", "nodeType": "VariableDeclaration", - "scope": 1899, - "src": "10206:4:4", + "scope": 871, + "src": "10203:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12003,10 +12003,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1785, + "id": 757, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "10206:4:4", + "src": "10203:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12016,47 +12016,47 @@ "visibility": "internal" } ], - "src": "10205:6:4" + "src": "10202:6:0" }, - "scope": 2086, - "src": "10126:932:4", + "scope": 1058, + "src": "10123:932:0", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 2028, + "id": 1000, "nodeType": "Block", - "src": "11250:488:4", + "src": "11247:488:0", "statements": [ { "assignments": [ - 1923 + 895 ], "declarations": [ { "constant": false, - "id": 1923, + "id": 895, "name": "proof", "nodeType": "VariableDeclaration", - "scope": 2028, - "src": "11260:18:4", + "scope": 1000, + "src": "11257:18:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof" }, "typeName": { "contractScope": null, - "id": 1922, + "id": 894, "name": "Proof", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1626, - "src": "11260:5:4", + "referencedDeclaration": 598, + "src": "11257:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_storage_ptr", + "typeIdentifier": "t_struct$_Proof_$598_storage_ptr", "typeString": "struct Verifier.Proof" } }, @@ -12064,15 +12064,15 @@ "visibility": "internal" } ], - "id": 1924, + "id": 896, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "11260:18:4" + "src": "11257:18:0" }, { "expression": { "argumentTypes": null, - "id": 1937, + "id": 909, "isConstant": false, "isLValue": false, "isPure": false, @@ -12081,28 +12081,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1925, + "id": 897, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "11288:5:4", + "referencedDeclaration": 895, + "src": "11285:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } }, - "id": 1927, + "id": 899, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "A", "nodeType": "MemberAccess", - "referencedDeclaration": 1621, - "src": "11288:7:4", + "referencedDeclaration": 593, + "src": "11285:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -12115,29 +12115,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1930, + "id": 902, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1903, - "src": "11314:1:4", + "referencedDeclaration": 875, + "src": "11311:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" } }, - "id": 1932, + "id": 904, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1931, + "id": 903, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11316:1:4", + "src": "11313:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12150,7 +12150,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11314:4:4", + "src": "11311:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12160,29 +12160,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1933, + "id": 905, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1903, - "src": "11320:1:4", + "referencedDeclaration": 875, + "src": "11317:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" } }, - "id": 1935, + "id": 907, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1934, + "id": 906, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11322:1:4", + "src": "11319:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -12195,7 +12195,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11320:4:4", + "src": "11317:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12215,32 +12215,32 @@ ], "expression": { "argumentTypes": null, - "id": 1928, + "id": 900, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "11298:7:4", + "referencedDeclaration": 577, + "src": "11295:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1929, + "id": 901, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "11298:15:4", + "referencedDeclaration": 6, + "src": "11295:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1936, + "id": 908, "isConstant": false, "isLValue": false, "isPure": false, @@ -12248,26 +12248,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11298:27:4", + "src": "11295:27:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "11288:37:4", + "src": "11285:37:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1938, + "id": 910, "nodeType": "ExpressionStatement", - "src": "11288:37:4" + "src": "11285:37:0" }, { "expression": { "argumentTypes": null, - "id": 1967, + "id": 939, "isConstant": false, "isLValue": false, "isPure": false, @@ -12276,28 +12276,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1939, + "id": 911, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "11335:5:4", + "referencedDeclaration": 895, + "src": "11332:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } }, - "id": 1941, + "id": 913, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "B", "nodeType": "MemberAccess", - "referencedDeclaration": 1623, - "src": "11335:7:4", + "referencedDeclaration": 595, + "src": "11332:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -12315,29 +12315,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1944, + "id": 916, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1909, - "src": "11362:1:4", + "referencedDeclaration": 881, + "src": "11359:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", "typeString": "uint256[2] memory[2] memory" } }, - "id": 1946, + "id": 918, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1945, + "id": 917, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11364:1:4", + "src": "11361:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12350,24 +12350,24 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11362:4:4", + "src": "11359:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory", "typeString": "uint256[2] memory" } }, - "id": 1948, + "id": 920, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1947, + "id": 919, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11367:1:4", + "src": "11364:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12380,7 +12380,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11362:7:4", + "src": "11359:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12392,29 +12392,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1949, + "id": 921, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1909, - "src": "11371:1:4", + "referencedDeclaration": 881, + "src": "11368:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", "typeString": "uint256[2] memory[2] memory" } }, - "id": 1951, + "id": 923, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1950, + "id": 922, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11373:1:4", + "src": "11370:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12427,24 +12427,24 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11371:4:4", + "src": "11368:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory", "typeString": "uint256[2] memory" } }, - "id": 1953, + "id": 925, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1952, + "id": 924, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11376:1:4", + "src": "11373:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -12457,21 +12457,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11371:7:4", + "src": "11368:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 1954, + "id": 926, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "11361:18:4", + "src": "11358:18:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -12486,29 +12486,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1955, + "id": 927, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1909, - "src": "11382:1:4", + "referencedDeclaration": 881, + "src": "11379:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", "typeString": "uint256[2] memory[2] memory" } }, - "id": 1957, + "id": 929, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1956, + "id": 928, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11384:1:4", + "src": "11381:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -12521,24 +12521,24 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11382:4:4", + "src": "11379:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory", "typeString": "uint256[2] memory" } }, - "id": 1959, + "id": 931, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1958, + "id": 930, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11387:1:4", + "src": "11384:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12551,7 +12551,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11382:7:4", + "src": "11379:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12563,29 +12563,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1960, + "id": 932, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1909, - "src": "11391:1:4", + "referencedDeclaration": 881, + "src": "11388:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", "typeString": "uint256[2] memory[2] memory" } }, - "id": 1962, + "id": 934, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1961, + "id": 933, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11393:1:4", + "src": "11390:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -12598,24 +12598,24 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11391:4:4", + "src": "11388:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory", "typeString": "uint256[2] memory" } }, - "id": 1964, + "id": 936, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1963, + "id": 935, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11396:1:4", + "src": "11393:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -12628,21 +12628,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11391:7:4", + "src": "11388:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 1965, + "id": 937, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "11381:18:4", + "src": "11378:18:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -12662,32 +12662,32 @@ ], "expression": { "argumentTypes": null, - "id": 1942, + "id": 914, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "11345:7:4", + "referencedDeclaration": 577, + "src": "11342:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1943, + "id": 915, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G2Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1043, - "src": "11345:15:4", + "referencedDeclaration": 15, + "src": "11342:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$1043_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G2Point_$15_storage_ptr_$", "typeString": "type(struct Pairing.G2Point storage pointer)" } }, - "id": 1966, + "id": 938, "isConstant": false, "isLValue": false, "isPure": false, @@ -12695,26 +12695,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11345:55:4", + "src": "11342:55:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "src": "11335:65:4", + "src": "11332:65:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1968, + "id": 940, "nodeType": "ExpressionStatement", - "src": "11335:65:4" + "src": "11332:65:0" }, { "expression": { "argumentTypes": null, - "id": 1981, + "id": 953, "isConstant": false, "isLValue": false, "isPure": false, @@ -12723,28 +12723,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1969, + "id": 941, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "11410:5:4", + "referencedDeclaration": 895, + "src": "11407:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } }, - "id": 1971, + "id": 943, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "C", "nodeType": "MemberAccess", - "referencedDeclaration": 1625, - "src": "11410:7:4", + "referencedDeclaration": 597, + "src": "11407:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -12757,29 +12757,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1974, + "id": 946, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1913, - "src": "11436:1:4", + "referencedDeclaration": 885, + "src": "11433:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" } }, - "id": 1976, + "id": 948, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1975, + "id": 947, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11438:1:4", + "src": "11435:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12792,7 +12792,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11436:4:4", + "src": "11433:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12802,29 +12802,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1977, + "id": 949, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1913, - "src": "11442:1:4", + "referencedDeclaration": 885, + "src": "11439:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" } }, - "id": 1979, + "id": 951, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1978, + "id": 950, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11444:1:4", + "src": "11441:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -12837,7 +12837,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11442:4:4", + "src": "11439:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12857,32 +12857,32 @@ ], "expression": { "argumentTypes": null, - "id": 1972, + "id": 944, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "11420:7:4", + "referencedDeclaration": 577, + "src": "11417:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1973, + "id": 945, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "11420:15:4", + "referencedDeclaration": 6, + "src": "11417:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1980, + "id": 952, "isConstant": false, "isLValue": false, "isPure": false, @@ -12890,34 +12890,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11420:27:4", + "src": "11417:27:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "11410:37:4", + "src": "11407:37:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1982, + "id": 954, "nodeType": "ExpressionStatement", - "src": "11410:37:4" + "src": "11407:37:0" }, { "assignments": [ - 1986 + 958 ], "declarations": [ { "constant": false, - "id": 1986, + "id": 958, "name": "inputValues", "nodeType": "VariableDeclaration", - "scope": 2028, - "src": "11457:25:4", + "scope": 1000, + "src": "11454:25:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -12926,19 +12926,19 @@ }, "typeName": { "baseType": { - "id": 1984, + "id": 956, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11457:4:4", + "src": "11454:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1985, + "id": 957, "length": null, "nodeType": "ArrayTypeName", - "src": "11457:6:4", + "src": "11454:6:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12948,7 +12948,7 @@ "visibility": "internal" } ], - "id": 1993, + "id": 965, "initialValue": { "argumentTypes": null, "arguments": [ @@ -12956,18 +12956,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1990, + "id": 962, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1917, - "src": "11496:5:4", + "referencedDeclaration": 889, + "src": "11493:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 1991, + "id": 963, "isConstant": false, "isLValue": false, "isPure": false, @@ -12975,7 +12975,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11496:12:4", + "src": "11493:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12989,39 +12989,39 @@ "typeString": "uint256" } ], - "id": 1989, + "id": 961, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "11485:10:4", + "src": "11482:10:0", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", "typeString": "function (uint256) pure returns (uint256[] memory)" }, "typeName": { "baseType": { - "id": 1987, + "id": 959, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11489:4:4", + "src": "11486:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1988, + "id": 960, "length": null, "nodeType": "ArrayTypeName", - "src": "11489:6:4", + "src": "11486:6:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } } }, - "id": 1992, + "id": 964, "isConstant": false, "isLValue": false, "isPure": false, @@ -13029,25 +13029,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11485:24:4", + "src": "11482:24:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory", "typeString": "uint256[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "11457:52:4" + "src": "11454:52:0" }, { "body": { - "id": 2013, + "id": 985, "nodeType": "Block", - "src": "11557:50:4", + "src": "11554:50:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 2011, + "id": 983, "isConstant": false, "isLValue": false, "isPure": false, @@ -13056,26 +13056,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2005, + "id": 977, "name": "inputValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1986, - "src": "11571:11:4", + "referencedDeclaration": 958, + "src": "11568:11:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 2007, + "id": 979, "indexExpression": { "argumentTypes": null, - "id": 2006, + "id": 978, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1995, - "src": "11583:1:4", + "referencedDeclaration": 967, + "src": "11580:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13086,7 +13086,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "11571:14:4", + "src": "11568:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13098,26 +13098,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2008, + "id": 980, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1917, - "src": "11588:5:4", + "referencedDeclaration": 889, + "src": "11585:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 2010, + "id": 982, "indexExpression": { "argumentTypes": null, - "id": 2009, + "id": 981, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1995, - "src": "11594:1:4", + "referencedDeclaration": 967, + "src": "11591:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13128,21 +13128,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11588:8:4", + "src": "11585:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11571:25:4", + "src": "11568:25:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2012, + "id": 984, "nodeType": "ExpressionStatement", - "src": "11571:25:4" + "src": "11568:25:0" } ] }, @@ -13152,19 +13152,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2001, + "id": 973, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1998, + "id": 970, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1995, - "src": "11535:1:4", + "referencedDeclaration": 967, + "src": "11532:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13176,18 +13176,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1999, + "id": 971, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1917, - "src": "11539:5:4", + "referencedDeclaration": 889, + "src": "11536:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 2000, + "id": 972, "isConstant": false, "isLValue": false, "isPure": false, @@ -13195,31 +13195,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11539:12:4", + "src": "11536:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11535:16:4", + "src": "11532:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2014, + "id": 986, "initializationExpression": { "assignments": [ - 1995 + 967 ], "declarations": [ { "constant": false, - "id": 1995, + "id": 967, "name": "i", "nodeType": "VariableDeclaration", - "scope": 2014, - "src": "11523:6:4", + "scope": 986, + "src": "11520:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13227,10 +13227,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1994, + "id": 966, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11523:4:4", + "src": "11520:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13240,18 +13240,18 @@ "visibility": "internal" } ], - "id": 1997, + "id": 969, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 1996, + "id": 968, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11532:1:4", + "src": "11529:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13260,12 +13260,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "11523:10:4" + "src": "11520:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 2003, + "id": 975, "isConstant": false, "isLValue": false, "isPure": false, @@ -13273,15 +13273,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "11553:3:4", + "src": "11550:3:0", "subExpression": { "argumentTypes": null, - "id": 2002, + "id": 974, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1995, - "src": "11553:1:4", + "referencedDeclaration": 967, + "src": "11550:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13292,12 +13292,12 @@ "typeString": "uint256" } }, - "id": 2004, + "id": 976, "nodeType": "ExpressionStatement", - "src": "11553:3:4" + "src": "11550:3:0" }, "nodeType": "ForStatement", - "src": "11519:88:4" + "src": "11516:88:0" }, { "condition": { @@ -13306,7 +13306,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2020, + "id": 992, "isConstant": false, "isLValue": false, "isPure": false, @@ -13316,12 +13316,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2016, + "id": 988, "name": "inputValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1986, - "src": "11627:11:4", + "referencedDeclaration": 958, + "src": "11624:11:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -13329,14 +13329,14 @@ }, { "argumentTypes": null, - "id": 2017, + "id": 989, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "11640:5:4", + "referencedDeclaration": 895, + "src": "11637:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } } @@ -13348,22 +13348,22 @@ "typeString": "uint256[] memory" }, { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } ], - "id": 2015, + "id": 987, "name": "verify", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1899, - "src": "11620:6:4", + "referencedDeclaration": 871, + "src": "11617:6:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_uint256_$dyn_memory_ptr_$_t_struct$_Proof_$1626_memory_ptr_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_view$_t_array$_t_uint256_$dyn_memory_ptr_$_t_struct$_Proof_$598_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256[] memory,struct Verifier.Proof memory) view returns (uint256)" } }, - "id": 2018, + "id": 990, "isConstant": false, "isLValue": false, "isPure": false, @@ -13371,7 +13371,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11620:26:4", + "src": "11617:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13382,14 +13382,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2019, + "id": 991, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11650:1:4", + "src": "11647:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13397,29 +13397,29 @@ }, "value": "0" }, - "src": "11620:31:4", + "src": "11617:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 2026, + "id": 998, "nodeType": "Block", - "src": "11695:37:4", + "src": "11692:37:0", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 2024, + "id": 996, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "11716:5:4", + "src": "11713:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13427,33 +13427,33 @@ }, "value": "false" }, - "functionReturnParameters": 1921, - "id": 2025, + "functionReturnParameters": 893, + "id": 997, "nodeType": "Return", - "src": "11709:12:4" + "src": "11706:12:0" } ] }, - "id": 2027, + "id": 999, "nodeType": "IfStatement", - "src": "11616:116:4", + "src": "11613:116:0", "trueBody": { - "id": 2023, + "id": 995, "nodeType": "Block", - "src": "11653:36:4", + "src": "11650:36:0", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 2021, + "id": 993, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "11674:4:4", + "src": "11671:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13461,10 +13461,10 @@ }, "value": "true" }, - "functionReturnParameters": 1921, - "id": 2022, + "functionReturnParameters": 893, + "id": 994, "nodeType": "Return", - "src": "11667:11:4" + "src": "11664:11:0" } ] } @@ -13472,23 +13472,23 @@ ] }, "documentation": null, - "id": 2029, + "id": 1001, "implemented": true, "kind": "function", "modifiers": [], "name": "verifyProof", "nodeType": "FunctionDefinition", "parameters": { - "id": 1918, + "id": 890, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1903, + "id": 875, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "11097:16:4", + "scope": 1001, + "src": "11094:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13497,27 +13497,27 @@ }, "typeName": { "baseType": { - "id": 1900, + "id": 872, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11097:4:4", + "src": "11094:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1902, + "id": 874, "length": { "argumentTypes": null, "hexValue": "32", - "id": 1901, + "id": 873, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11102:1:4", + "src": "11099:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -13526,7 +13526,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "11097:7:4", + "src": "11094:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -13537,11 +13537,11 @@ }, { "constant": false, - "id": 1909, + "id": 881, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "11127:19:4", + "scope": 1001, + "src": "11124:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13551,27 +13551,27 @@ "typeName": { "baseType": { "baseType": { - "id": 1904, + "id": 876, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11127:4:4", + "src": "11124:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1906, + "id": 878, "length": { "argumentTypes": null, "hexValue": "32", - "id": 1905, + "id": 877, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11132:1:4", + "src": "11129:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -13580,24 +13580,24 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "11127:7:4", + "src": "11124:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" } }, - "id": 1908, + "id": 880, "length": { "argumentTypes": null, "hexValue": "32", - "id": 1907, + "id": 879, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11135:1:4", + "src": "11132:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -13606,7 +13606,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "11127:10:4", + "src": "11124:10:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$2_storage_$2_storage_ptr", "typeString": "uint256[2][2]" @@ -13617,11 +13617,11 @@ }, { "constant": false, - "id": 1913, + "id": 885, "name": "c", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "11160:16:4", + "scope": 1001, + "src": "11157:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13630,27 +13630,27 @@ }, "typeName": { "baseType": { - "id": 1910, + "id": 882, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11160:4:4", + "src": "11157:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1912, + "id": 884, "length": { "argumentTypes": null, "hexValue": "32", - "id": 1911, + "id": 883, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11165:1:4", + "src": "11162:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -13659,7 +13659,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "11160:7:4", + "src": "11157:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -13670,11 +13670,11 @@ }, { "constant": false, - "id": 1917, + "id": 889, "name": "input", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "11190:20:4", + "scope": 1001, + "src": "11187:20:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13683,27 +13683,27 @@ }, "typeName": { "baseType": { - "id": 1914, + "id": 886, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11190:4:4", + "src": "11187:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1916, + "id": 888, "length": { "argumentTypes": null, "hexValue": "36", - "id": 1915, + "id": 887, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11195:1:4", + "src": "11192:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -13712,7 +13712,7 @@ "value": "6" }, "nodeType": "ArrayTypeName", - "src": "11190:7:4", + "src": "11187:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", "typeString": "uint256[6]" @@ -13722,19 +13722,19 @@ "visibility": "internal" } ], - "src": "11083:137:4" + "src": "11080:137:0" }, "returnParameters": { - "id": 1921, + "id": 893, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1920, + "id": 892, "name": "r", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "11242:6:4", + "scope": 1001, + "src": "11239:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13742,10 +13742,10 @@ "typeString": "bool" }, "typeName": { - "id": 1919, + "id": 891, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "11242:4:4", + "src": "11239:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13755,35 +13755,35 @@ "visibility": "internal" } ], - "src": "11241:8:4" + "src": "11238:8:0" }, - "scope": 2086, - "src": "11063:675:4", + "scope": 1058, + "src": "11060:675:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 2084, + "id": 1056, "nodeType": "Block", - "src": "11842:262:4", + "src": "11839:262:0", "statements": [ { "assignments": [ - 2044, - 2048, - 2052, - 2056 + 1016, + 1020, + 1024, + 1028 ], "declarations": [ { "constant": false, - "id": 2044, + "id": 1016, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2084, - "src": "11914:16:4", + "scope": 1056, + "src": "11911:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13792,27 +13792,27 @@ }, "typeName": { "baseType": { - "id": 2042, + "id": 1014, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11914:4:4", + "src": "11911:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2043, + "id": 1015, "length": { "argumentTypes": null, "hexValue": "32", - "id": 2041, + "id": 1013, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11919:1:4", + "src": "11916:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -13821,7 +13821,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "11914:7:4", + "src": "11911:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -13832,11 +13832,11 @@ }, { "constant": false, - "id": 2048, + "id": 1020, "name": "b1", "nodeType": "VariableDeclaration", - "scope": 2084, - "src": "11932:17:4", + "scope": 1056, + "src": "11929:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13845,27 +13845,27 @@ }, "typeName": { "baseType": { - "id": 2045, + "id": 1017, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11932:4:4", + "src": "11929:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2047, + "id": 1019, "length": { "argumentTypes": null, "hexValue": "32", - "id": 2046, + "id": 1018, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11937:1:4", + "src": "11934:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -13874,7 +13874,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "11932:7:4", + "src": "11929:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -13885,11 +13885,11 @@ }, { "constant": false, - "id": 2052, + "id": 1024, "name": "b2", "nodeType": "VariableDeclaration", - "scope": 2084, - "src": "11951:17:4", + "scope": 1056, + "src": "11948:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13898,27 +13898,27 @@ }, "typeName": { "baseType": { - "id": 2049, + "id": 1021, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11951:4:4", + "src": "11948:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2051, + "id": 1023, "length": { "argumentTypes": null, "hexValue": "32", - "id": 2050, + "id": 1022, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11956:1:4", + "src": "11953:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -13927,7 +13927,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "11951:7:4", + "src": "11948:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -13938,11 +13938,11 @@ }, { "constant": false, - "id": 2056, + "id": 1028, "name": "c", "nodeType": "VariableDeclaration", - "scope": 2084, - "src": "11970:16:4", + "scope": 1056, + "src": "11967:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13951,27 +13951,27 @@ }, "typeName": { "baseType": { - "id": 2053, + "id": 1025, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11970:4:4", + "src": "11967:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2055, + "id": 1027, "length": { "argumentTypes": null, "hexValue": "32", - "id": 2054, + "id": 1026, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11975:1:4", + "src": "11972:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -13980,7 +13980,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "11970:7:4", + "src": "11967:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -13990,18 +13990,18 @@ "visibility": "internal" } ], - "id": 2074, + "id": 1046, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2059, + "id": 1031, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2031, - "src": "12001:5:4", + "referencedDeclaration": 1003, + "src": "11998:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -14014,31 +14014,31 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2060, + "id": 1032, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12009:4:4", + "src": "12006:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 2062, + "id": 1034, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 2061, + "id": 1033, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12014:1:4", + "src": "12011:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -14051,7 +14051,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12009:7:4", + "src": "12006:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_array$_t_uint256_$2_memory_ptr_$", "typeString": "type(uint256[2] memory)" @@ -14061,31 +14061,31 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2063, + "id": 1035, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12018:4:4", + "src": "12015:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 2065, + "id": 1037, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 2064, + "id": 1036, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12023:1:4", + "src": "12020:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -14098,7 +14098,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12018:7:4", + "src": "12015:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_array$_t_uint256_$2_memory_ptr_$", "typeString": "type(uint256[2] memory)" @@ -14108,31 +14108,31 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2066, + "id": 1038, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12027:4:4", + "src": "12024:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 2068, + "id": 1040, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 2067, + "id": 1039, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12032:1:4", + "src": "12029:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -14145,7 +14145,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12027:7:4", + "src": "12024:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_array$_t_uint256_$2_memory_ptr_$", "typeString": "type(uint256[2] memory)" @@ -14155,31 +14155,31 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2069, + "id": 1041, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12036:4:4", + "src": "12033:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 2071, + "id": 1043, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 2070, + "id": 1042, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12041:1:4", + "src": "12038:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -14192,21 +14192,21 @@ "isPure": true, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12036:7:4", + "src": "12033:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_array$_t_uint256_$2_memory_ptr_$", "typeString": "type(uint256[2] memory)" } } ], - "id": 2072, + "id": 1044, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "12008:36:4", + "src": "12005:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_type$_t_array$_t_uint256_$2_memory_ptr_$_$_t_type$_t_array$_t_uint256_$2_memory_ptr_$_$_t_type$_t_array$_t_uint256_$2_memory_ptr_$_$_t_type$_t_array$_t_uint256_$2_memory_ptr_$_$", "typeString": "tuple(type(uint256[2] memory),type(uint256[2] memory),type(uint256[2] memory),type(uint256[2] memory))" @@ -14226,18 +14226,18 @@ ], "expression": { "argumentTypes": null, - "id": 2057, + "id": 1029, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2118, - "src": "11990:3:4", + "referencedDeclaration": 1060, + "src": "11987:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 2058, + "id": 1030, "isConstant": false, "isLValue": false, "isPure": true, @@ -14245,13 +14245,13 @@ "memberName": "decode", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11990:10:4", + "src": "11987:10:0", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 2073, + "id": 1045, "isConstant": false, "isLValue": false, "isPure": false, @@ -14259,14 +14259,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11990:55:4", + "src": "11987:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_array$_t_uint256_$2_memory_$_t_array$_t_uint256_$2_memory_$_t_array$_t_uint256_$2_memory_$_t_array$_t_uint256_$2_memory_$", "typeString": "tuple(uint256[2] memory,uint256[2] memory,uint256[2] memory,uint256[2] memory)" } }, "nodeType": "VariableDeclarationStatement", - "src": "11913:132:4" + "src": "11910:132:0" }, { "expression": { @@ -14274,12 +14274,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2076, + "id": 1048, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "12074:1:4", + "referencedDeclaration": 1016, + "src": "12071:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -14290,12 +14290,12 @@ "components": [ { "argumentTypes": null, - "id": 2077, + "id": 1049, "name": "b1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2048, - "src": "12078:2:4", + "referencedDeclaration": 1020, + "src": "12075:2:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -14303,26 +14303,26 @@ }, { "argumentTypes": null, - "id": 2078, + "id": 1050, "name": "b2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2052, - "src": "12082:2:4", + "referencedDeclaration": 1024, + "src": "12079:2:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" } } ], - "id": 2079, + "id": 1051, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "12077:8:4", + "src": "12074:8:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", "typeString": "uint256[2] memory[2] memory" @@ -14330,12 +14330,12 @@ }, { "argumentTypes": null, - "id": 2080, + "id": 1052, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2056, - "src": "12087:1:4", + "referencedDeclaration": 1028, + "src": "12084:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -14343,12 +14343,12 @@ }, { "argumentTypes": null, - "id": 2081, + "id": 1053, "name": "inputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2035, - "src": "12090:6:4", + "referencedDeclaration": 1007, + "src": "12087:6:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_calldata_ptr", "typeString": "uint256[6] calldata" @@ -14374,18 +14374,18 @@ "typeString": "uint256[6] calldata" } ], - "id": 2075, + "id": 1047, "name": "verifyProof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2029, - "src": "12062:11:4", + "referencedDeclaration": 1001, + "src": "12059:11:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_array$_t_uint256_$2_memory_ptr_$_t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr_$_t_array$_t_uint256_$2_memory_ptr_$_t_array$_t_uint256_$6_memory_ptr_$returns$_t_bool_$", "typeString": "function (uint256[2] memory,uint256[2] memory[2] memory,uint256[2] memory,uint256[6] memory) view returns (bool)" } }, - "id": 2082, + "id": 1054, "isConstant": false, "isLValue": false, "isPure": false, @@ -14393,37 +14393,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12062:35:4", + "src": "12059:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2039, - "id": 2083, + "functionReturnParameters": 1011, + "id": 1055, "nodeType": "Return", - "src": "12055:42:4" + "src": "12052:42:0" } ] }, "documentation": null, - "id": 2085, + "id": 1057, "implemented": true, "kind": "function", "modifiers": [], "name": "verifyProof", "nodeType": "FunctionDefinition", "parameters": { - "id": 2036, + "id": 1008, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2031, + "id": 1003, "name": "proof", "nodeType": "VariableDeclaration", - "scope": 2085, - "src": "11764:20:4", + "scope": 1057, + "src": "11761:20:0", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -14431,10 +14431,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2030, + "id": 1002, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "11764:5:4", + "src": "11761:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -14445,11 +14445,11 @@ }, { "constant": false, - "id": 2035, + "id": 1007, "name": "inputs", "nodeType": "VariableDeclaration", - "scope": 2085, - "src": "11786:23:4", + "scope": 1057, + "src": "11783:23:0", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -14458,27 +14458,27 @@ }, "typeName": { "baseType": { - "id": 2032, + "id": 1004, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11786:4:4", + "src": "11783:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2034, + "id": 1006, "length": { "argumentTypes": null, "hexValue": "36", - "id": 2033, + "id": 1005, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11791:1:4", + "src": "11788:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -14487,7 +14487,7 @@ "value": "6" }, "nodeType": "ArrayTypeName", - "src": "11786:7:4", + "src": "11783:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", "typeString": "uint256[6]" @@ -14497,19 +14497,19 @@ "visibility": "internal" } ], - "src": "11763:47:4" + "src": "11760:47:0" }, "returnParameters": { - "id": 2039, + "id": 1011, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2038, + "id": 1010, "name": "r", "nodeType": "VariableDeclaration", - "scope": 2085, - "src": "11834:6:4", + "scope": 1057, + "src": "11831:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14517,10 +14517,10 @@ "typeString": "bool" }, "typeName": { - "id": 2037, + "id": 1009, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "11834:4:4", + "src": "11831:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14530,30 +14530,30 @@ "visibility": "internal" } ], - "src": "11833:8:4" + "src": "11830:8:0" }, - "scope": 2086, - "src": "11743:361:4", + "scope": 1058, + "src": "11740:361:0", "stateMutability": "view", "superFunction": null, "visibility": "external" } ], - "scope": 2087, - "src": "7067:5039:4" + "scope": 1059, + "src": "7067:5036:0" } ], - "src": "1193:10914:4" + "src": "1193:10911:0" }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Verifier.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Verifier.sol", "exportedSymbols": { "Pairing": [ - 1605 + 577 ], "Verifier": [ - 2086 + 1058 ] } }, @@ -14567,9 +14567,9 @@ ".0" ] }, - "id": 1029, + "id": 1, "name": "PragmaDirective", - "src": "1193:23:4" + "src": "1193:23:0" }, { "attributes": { @@ -14583,17 +14583,17 @@ "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ - 1605 + 577 ], "name": "Pairing", - "scope": 2087 + "scope": 1059 }, "children": [ { "attributes": { "canonicalName": "Pairing.G1Point", "name": "G1Point", - "scope": 1605, + "scope": 577, "visibility": "public" }, "children": [ @@ -14601,7 +14601,7 @@ "attributes": { "constant": false, "name": "X", - "scope": 1034, + "scope": 6, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -14614,20 +14614,20 @@ "name": "uint", "type": "uint256" }, - "id": 1030, + "id": 2, "name": "ElementaryTypeName", - "src": "1264:4:4" + "src": "1264:4:0" } ], - "id": 1031, + "id": 3, "name": "VariableDeclaration", - "src": "1264:6:4" + "src": "1264:6:0" }, { "attributes": { "constant": false, "name": "Y", - "scope": 1034, + "scope": 6, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -14640,25 +14640,25 @@ "name": "uint", "type": "uint256" }, - "id": 1032, + "id": 4, "name": "ElementaryTypeName", - "src": "1280:4:4" + "src": "1280:4:0" } ], - "id": 1033, + "id": 5, "name": "VariableDeclaration", - "src": "1280:6:4" + "src": "1280:6:0" } ], - "id": 1034, + "id": 6, "name": "StructDefinition", - "src": "1239:54:4" + "src": "1239:54:0" }, { "attributes": { "canonicalName": "Pairing.G2Point", "name": "G2Point", - "scope": 1605, + "scope": 577, "visibility": "public" }, "children": [ @@ -14666,7 +14666,7 @@ "attributes": { "constant": false, "name": "X", - "scope": 1043, + "scope": 15, "stateVariable": false, "storageLocation": "default", "type": "uint256[2]", @@ -14684,9 +14684,9 @@ "name": "uint", "type": "uint256" }, - "id": 1035, + "id": 7, "name": "ElementaryTypeName", - "src": "1377:4:4" + "src": "1377:4:0" }, { "attributes": { @@ -14701,25 +14701,25 @@ "type": "int_const 2", "value": "2" }, - "id": 1036, + "id": 8, "name": "Literal", - "src": "1382:1:4" + "src": "1382:1:0" } ], - "id": 1037, + "id": 9, "name": "ArrayTypeName", - "src": "1377:7:4" + "src": "1377:7:0" } ], - "id": 1038, + "id": 10, "name": "VariableDeclaration", - "src": "1377:9:4" + "src": "1377:9:0" }, { "attributes": { "constant": false, "name": "Y", - "scope": 1043, + "scope": 15, "stateVariable": false, "storageLocation": "default", "type": "uint256[2]", @@ -14737,9 +14737,9 @@ "name": "uint", "type": "uint256" }, - "id": 1039, + "id": 11, "name": "ElementaryTypeName", - "src": "1396:4:4" + "src": "1396:4:0" }, { "attributes": { @@ -14754,24 +14754,24 @@ "type": "int_const 2", "value": "2" }, - "id": 1040, + "id": 12, "name": "Literal", - "src": "1401:1:4" + "src": "1401:1:0" } ], - "id": 1041, + "id": 13, "name": "ArrayTypeName", - "src": "1396:7:4" + "src": "1396:7:0" } ], - "id": 1042, + "id": 14, "name": "VariableDeclaration", - "src": "1396:9:4" + "src": "1396:9:0" } ], - "id": 1043, + "id": 15, "name": "StructDefinition", - "src": "1352:60:4" + "src": "1352:60:0" }, { "attributes": { @@ -14783,7 +14783,7 @@ null ], "name": "P1", - "scope": 1605, + "scope": 577, "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -14796,9 +14796,9 @@ ] }, "children": [], - "id": 1044, + "id": 16, "name": "ParameterList", - "src": "1464:2:4" + "src": "1464:2:0" }, { "children": [ @@ -14806,7 +14806,7 @@ "attributes": { "constant": false, "name": "", - "scope": 1054, + "scope": 26, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -14818,28 +14818,28 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1045, + "id": 17, "name": "UserDefinedTypeName", - "src": "1490:7:4" + "src": "1490:7:0" } ], - "id": 1046, + "id": 18, "name": "VariableDeclaration", - "src": "1490:14:4" + "src": "1490:14:0" } ], - "id": 1047, + "id": 19, "name": "ParameterList", - "src": "1489:16:4" + "src": "1489:16:0" }, { "children": [ { "attributes": { - "functionReturnParameters": 1047 + "functionReturnParameters": 19 }, "children": [ { @@ -14872,13 +14872,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)", "value": "G1Point" }, - "id": 1048, + "id": 20, "name": "Identifier", - "src": "1523:7:4" + "src": "1523:7:0" }, { "attributes": { @@ -14893,9 +14893,9 @@ "type": "int_const 1", "value": "1" }, - "id": 1049, + "id": 21, "name": "Literal", - "src": "1531:1:4" + "src": "1531:1:0" }, { "attributes": { @@ -14910,29 +14910,29 @@ "type": "int_const 2", "value": "2" }, - "id": 1050, + "id": 22, "name": "Literal", - "src": "1534:1:4" + "src": "1534:1:0" } ], - "id": 1051, + "id": 23, "name": "FunctionCall", - "src": "1523:13:4" + "src": "1523:13:0" } ], - "id": 1052, + "id": 24, "name": "Return", - "src": "1516:20:4" + "src": "1516:20:0" } ], - "id": 1053, + "id": 25, "name": "Block", - "src": "1506:37:4" + "src": "1506:37:0" } ], - "id": 1054, + "id": 26, "name": "FunctionDefinition", - "src": "1453:90:4" + "src": "1453:90:0" }, { "attributes": { @@ -14944,7 +14944,7 @@ null ], "name": "P2", - "scope": 1605, + "scope": 577, "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -14957,9 +14957,9 @@ ] }, "children": [], - "id": 1055, + "id": 27, "name": "ParameterList", - "src": "1595:2:4" + "src": "1595:2:0" }, { "children": [ @@ -14967,7 +14967,7 @@ "attributes": { "constant": false, "name": "", - "scope": 1069, + "scope": 41, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -14979,28 +14979,28 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1056, + "id": 28, "name": "UserDefinedTypeName", - "src": "1621:7:4" + "src": "1621:7:0" } ], - "id": 1057, + "id": 29, "name": "VariableDeclaration", - "src": "1621:14:4" + "src": "1621:14:0" } ], - "id": 1058, + "id": 30, "name": "ParameterList", - "src": "1620:16:4" + "src": "1620:16:0" }, { "children": [ { "attributes": { - "functionReturnParameters": 1058 + "functionReturnParameters": 30 }, "children": [ { @@ -15033,13 +15033,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "type(struct Pairing.G2Point storage pointer)", "value": "G2Point" }, - "id": 1059, + "id": 31, "name": "Identifier", - "src": "1685:7:4" + "src": "1685:7:0" }, { "attributes": { @@ -15065,9 +15065,9 @@ "type": "int_const 1155...(69 digits omitted)...5634", "value": "11559732032986387107991004021392285783925812861821192530917403151452391805634" }, - "id": 1060, + "id": 32, "name": "Literal", - "src": "1707:77:4" + "src": "1707:77:0" }, { "attributes": { @@ -15082,14 +15082,14 @@ "type": "int_const 1085...(69 digits omitted)...2781", "value": "10857046999023057135944570762232829481370756359578518086990519993285655852781" }, - "id": 1061, + "id": 33, "name": "Literal", - "src": "1799:77:4" + "src": "1799:77:0" } ], - "id": 1062, + "id": 34, "name": "TupleExpression", - "src": "1706:171:4" + "src": "1706:171:0" }, { "attributes": { @@ -15115,9 +15115,9 @@ "type": "int_const 4082...(68 digits omitted)...3531", "value": "4082367875863433681332203403145435568316851327593401208105741076214120093531" }, - "id": 1063, + "id": 35, "name": "Literal", - "src": "1892:76:4" + "src": "1892:76:0" }, { "attributes": { @@ -15132,34 +15132,34 @@ "type": "int_const 8495...(68 digits omitted)...1930", "value": "8495653923123431417604973247489272438418190587263600148770280649306958101930" }, - "id": 1064, + "id": 36, "name": "Literal", - "src": "1983:76:4" + "src": "1983:76:0" } ], - "id": 1065, + "id": 37, "name": "TupleExpression", - "src": "1891:169:4" + "src": "1891:169:0" } ], - "id": 1066, + "id": 38, "name": "FunctionCall", - "src": "1685:385:4" + "src": "1685:385:0" } ], - "id": 1067, + "id": 39, "name": "Return", - "src": "1678:392:4" + "src": "1678:392:0" } ], - "id": 1068, + "id": 40, "name": "Block", - "src": "1637:883:4" + "src": "1637:883:0" } ], - "id": 1069, + "id": 41, "name": "FunctionDefinition", - "src": "1584:936:4" + "src": "1584:936:0" }, { "attributes": { @@ -15171,7 +15171,7 @@ null ], "name": "negate", - "scope": 1605, + "scope": 577, "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -15183,7 +15183,7 @@ "attributes": { "constant": false, "name": "p", - "scope": 1108, + "scope": 80, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -15195,22 +15195,22 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1070, + "id": 42, "name": "UserDefinedTypeName", - "src": "2620:7:4" + "src": "2620:7:0" } ], - "id": 1071, + "id": 43, "name": "VariableDeclaration", - "src": "2620:16:4" + "src": "2620:16:0" } ], - "id": 1072, + "id": 44, "name": "ParameterList", - "src": "2619:18:4" + "src": "2619:18:0" }, { "children": [ @@ -15218,7 +15218,7 @@ "attributes": { "constant": false, "name": "", - "scope": 1108, + "scope": 80, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -15230,29 +15230,29 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1073, + "id": 45, "name": "UserDefinedTypeName", - "src": "2661:7:4" + "src": "2661:7:0" } ], - "id": 1074, + "id": 46, "name": "VariableDeclaration", - "src": "2661:14:4" + "src": "2661:14:0" } ], - "id": 1075, + "id": 47, "name": "ParameterList", - "src": "2660:16:4" + "src": "2660:16:0" }, { "children": [ { "attributes": { "assignments": [ - 1077 + 49 ] }, "children": [ @@ -15260,7 +15260,7 @@ "attributes": { "constant": false, "name": "q", - "scope": 1107, + "scope": 79, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -15273,14 +15273,14 @@ "name": "uint", "type": "uint256" }, - "id": 1076, + "id": 48, "name": "ElementaryTypeName", - "src": "2739:4:4" + "src": "2739:4:0" } ], - "id": 1077, + "id": 49, "name": "VariableDeclaration", - "src": "2739:6:4" + "src": "2739:6:0" }, { "attributes": { @@ -15295,14 +15295,14 @@ "type": "int_const 2188...(69 digits omitted)...8583", "value": "21888242871839275222246405745257275088696311157297823662689037894645226208583" }, - "id": 1078, + "id": 50, "name": "Literal", - "src": "2748:77:4" + "src": "2748:77:0" } ], - "id": 1079, + "id": 51, "name": "VariableDeclarationStatement", - "src": "2739:86:4" + "src": "2739:86:0" }, { "attributes": { @@ -15347,7 +15347,7 @@ "isPure": false, "lValueRequested": false, "member_name": "X", - "referencedDeclaration": 1031, + "referencedDeclaration": 3, "type": "uint256" }, "children": [ @@ -15357,18 +15357,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1071, + "referencedDeclaration": 43, "type": "struct Pairing.G1Point memory", "value": "p" }, - "id": 1080, + "id": 52, "name": "Identifier", - "src": "2839:1:4" + "src": "2839:1:0" } ], - "id": 1081, + "id": 53, "name": "MemberAccess", - "src": "2839:3:4" + "src": "2839:3:0" }, { "attributes": { @@ -15383,14 +15383,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1082, + "id": 54, "name": "Literal", - "src": "2846:1:4" + "src": "2846:1:0" } ], - "id": 1083, + "id": 55, "name": "BinaryOperation", - "src": "2839:8:4" + "src": "2839:8:0" }, { "attributes": { @@ -15415,7 +15415,7 @@ "isPure": false, "lValueRequested": false, "member_name": "Y", - "referencedDeclaration": 1033, + "referencedDeclaration": 5, "type": "uint256" }, "children": [ @@ -15425,18 +15425,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1071, + "referencedDeclaration": 43, "type": "struct Pairing.G1Point memory", "value": "p" }, - "id": 1084, + "id": 56, "name": "Identifier", - "src": "2851:1:4" + "src": "2851:1:0" } ], - "id": 1085, + "id": 57, "name": "MemberAccess", - "src": "2851:3:4" + "src": "2851:3:0" }, { "attributes": { @@ -15451,23 +15451,23 @@ "type": "int_const 0", "value": "0" }, - "id": 1086, + "id": 58, "name": "Literal", - "src": "2858:1:4" + "src": "2858:1:0" } ], - "id": 1087, + "id": 59, "name": "BinaryOperation", - "src": "2851:8:4" + "src": "2851:8:0" } ], - "id": 1088, + "id": 60, "name": "BinaryOperation", - "src": "2839:20:4" + "src": "2839:20:0" }, { "attributes": { - "functionReturnParameters": 1075 + "functionReturnParameters": 47 }, "children": [ { @@ -15500,13 +15500,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)", "value": "G1Point" }, - "id": 1089, + "id": 61, "name": "Identifier", - "src": "2880:7:4" + "src": "2880:7:0" }, { "attributes": { @@ -15521,9 +15521,9 @@ "type": "int_const 0", "value": "0" }, - "id": 1090, + "id": 62, "name": "Literal", - "src": "2888:1:4" + "src": "2888:1:0" }, { "attributes": { @@ -15538,28 +15538,28 @@ "type": "int_const 0", "value": "0" }, - "id": 1091, + "id": 63, "name": "Literal", - "src": "2891:1:4" + "src": "2891:1:0" } ], - "id": 1092, + "id": 64, "name": "FunctionCall", - "src": "2880:13:4" + "src": "2880:13:0" } ], - "id": 1093, + "id": 65, "name": "Return", - "src": "2873:20:4" + "src": "2873:20:0" } ], - "id": 1094, + "id": 66, "name": "IfStatement", - "src": "2835:58:4" + "src": "2835:58:0" }, { "attributes": { - "functionReturnParameters": 1075 + "functionReturnParameters": 47 }, "children": [ { @@ -15592,13 +15592,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)", "value": "G1Point" }, - "id": 1095, + "id": 67, "name": "Identifier", - "src": "2910:7:4" + "src": "2910:7:0" }, { "attributes": { @@ -15608,7 +15608,7 @@ "isPure": false, "lValueRequested": false, "member_name": "X", - "referencedDeclaration": 1031, + "referencedDeclaration": 3, "type": "uint256" }, "children": [ @@ -15618,18 +15618,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1071, + "referencedDeclaration": 43, "type": "struct Pairing.G1Point memory", "value": "p" }, - "id": 1096, + "id": 68, "name": "Identifier", - "src": "2918:1:4" + "src": "2918:1:0" } ], - "id": 1097, + "id": 69, "name": "MemberAccess", - "src": "2918:3:4" + "src": "2918:3:0" }, { "attributes": { @@ -15652,13 +15652,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1077, + "referencedDeclaration": 49, "type": "uint256", "value": "q" }, - "id": 1098, + "id": 70, "name": "Identifier", - "src": "2923:1:4" + "src": "2923:1:0" }, { "attributes": { @@ -15694,7 +15694,7 @@ "isPure": false, "lValueRequested": false, "member_name": "Y", - "referencedDeclaration": 1033, + "referencedDeclaration": 5, "type": "uint256" }, "children": [ @@ -15704,18 +15704,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1071, + "referencedDeclaration": 43, "type": "struct Pairing.G1Point memory", "value": "p" }, - "id": 1099, + "id": 71, "name": "Identifier", - "src": "2928:1:4" + "src": "2928:1:0" } ], - "id": 1100, + "id": 72, "name": "MemberAccess", - "src": "2928:3:4" + "src": "2928:3:0" }, { "attributes": { @@ -15723,48 +15723,48 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1077, + "referencedDeclaration": 49, "type": "uint256", "value": "q" }, - "id": 1101, + "id": 73, "name": "Identifier", - "src": "2934:1:4" + "src": "2934:1:0" } ], - "id": 1102, + "id": 74, "name": "BinaryOperation", - "src": "2928:7:4" + "src": "2928:7:0" } ], - "id": 1103, + "id": 75, "name": "TupleExpression", - "src": "2927:9:4" + "src": "2927:9:0" } ], - "id": 1104, + "id": 76, "name": "BinaryOperation", - "src": "2923:13:4" + "src": "2923:13:0" } ], - "id": 1105, + "id": 77, "name": "FunctionCall", - "src": "2910:27:4" + "src": "2910:27:0" } ], - "id": 1106, + "id": 78, "name": "Return", - "src": "2903:34:4" + "src": "2903:34:0" } ], - "id": 1107, + "id": 79, "name": "Block", - "src": "2677:267:4" + "src": "2677:267:0" } ], - "id": 1108, + "id": 80, "name": "FunctionDefinition", - "src": "2604:340:4" + "src": "2604:340:0" }, { "attributes": { @@ -15776,7 +15776,7 @@ null ], "name": "addition", - "scope": 1605, + "scope": 577, "stateMutability": "view", "superFunction": null, "visibility": "internal" @@ -15788,7 +15788,7 @@ "attributes": { "constant": false, "name": "p1", - "scope": 1161, + "scope": 133, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -15800,23 +15800,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1109, + "id": 81, "name": "UserDefinedTypeName", - "src": "3011:7:4" + "src": "3011:7:0" } ], - "id": 1110, + "id": 82, "name": "VariableDeclaration", - "src": "3011:17:4" + "src": "3011:17:0" }, { "attributes": { "constant": false, "name": "p2", - "scope": 1161, + "scope": 133, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -15828,22 +15828,22 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1111, + "id": 83, "name": "UserDefinedTypeName", - "src": "3030:7:4" + "src": "3030:7:0" } ], - "id": 1112, + "id": 84, "name": "VariableDeclaration", - "src": "3030:17:4" + "src": "3030:17:0" } ], - "id": 1113, + "id": 85, "name": "ParameterList", - "src": "3010:38:4" + "src": "3010:38:0" }, { "children": [ @@ -15851,7 +15851,7 @@ "attributes": { "constant": false, "name": "r", - "scope": 1161, + "scope": 133, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -15863,29 +15863,29 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1114, + "id": 86, "name": "UserDefinedTypeName", - "src": "3072:7:4" + "src": "3072:7:0" } ], - "id": 1115, + "id": 87, "name": "VariableDeclaration", - "src": "3072:16:4" + "src": "3072:16:0" } ], - "id": 1116, + "id": 88, "name": "ParameterList", - "src": "3071:18:4" + "src": "3071:18:0" }, { "children": [ { "attributes": { "assignments": [ - 1121 + 93 ], "initialValue": null }, @@ -15894,7 +15894,7 @@ "attributes": { "constant": false, "name": "input", - "scope": 1160, + "scope": 132, "stateVariable": false, "storageLocation": "memory", "type": "uint256[4]", @@ -15912,9 +15912,9 @@ "name": "uint", "type": "uint256" }, - "id": 1119, + "id": 91, "name": "ElementaryTypeName", - "src": "3100:4:4" + "src": "3100:4:0" }, { "attributes": { @@ -15929,24 +15929,24 @@ "type": "int_const 4", "value": "4" }, - "id": 1118, + "id": 90, "name": "Literal", - "src": "3105:1:4" + "src": "3105:1:0" } ], - "id": 1120, + "id": 92, "name": "ArrayTypeName", - "src": "3100:7:4" + "src": "3100:7:0" } ], - "id": 1121, + "id": 93, "name": "VariableDeclaration", - "src": "3100:20:4" + "src": "3100:20:0" } ], - "id": 1122, + "id": 94, "name": "VariableDeclarationStatement", - "src": "3100:20:4" + "src": "3100:20:0" }, { "children": [ @@ -15977,13 +15977,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1121, + "referencedDeclaration": 93, "type": "uint256[4] memory", "value": "input" }, - "id": 1123, + "id": 95, "name": "Identifier", - "src": "3130:5:4" + "src": "3130:5:0" }, { "attributes": { @@ -15998,14 +15998,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1124, + "id": 96, "name": "Literal", - "src": "3136:1:4" + "src": "3136:1:0" } ], - "id": 1125, + "id": 97, "name": "IndexAccess", - "src": "3130:8:4" + "src": "3130:8:0" }, { "attributes": { @@ -16015,7 +16015,7 @@ "isPure": false, "lValueRequested": false, "member_name": "X", - "referencedDeclaration": 1031, + "referencedDeclaration": 3, "type": "uint256" }, "children": [ @@ -16025,28 +16025,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1110, + "referencedDeclaration": 82, "type": "struct Pairing.G1Point memory", "value": "p1" }, - "id": 1126, + "id": 98, "name": "Identifier", - "src": "3141:2:4" + "src": "3141:2:0" } ], - "id": 1127, + "id": 99, "name": "MemberAccess", - "src": "3141:4:4" + "src": "3141:4:0" } ], - "id": 1128, + "id": 100, "name": "Assignment", - "src": "3130:15:4" + "src": "3130:15:0" } ], - "id": 1129, + "id": 101, "name": "ExpressionStatement", - "src": "3130:15:4" + "src": "3130:15:0" }, { "children": [ @@ -16077,13 +16077,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1121, + "referencedDeclaration": 93, "type": "uint256[4] memory", "value": "input" }, - "id": 1130, + "id": 102, "name": "Identifier", - "src": "3155:5:4" + "src": "3155:5:0" }, { "attributes": { @@ -16098,14 +16098,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1131, + "id": 103, "name": "Literal", - "src": "3161:1:4" + "src": "3161:1:0" } ], - "id": 1132, + "id": 104, "name": "IndexAccess", - "src": "3155:8:4" + "src": "3155:8:0" }, { "attributes": { @@ -16115,7 +16115,7 @@ "isPure": false, "lValueRequested": false, "member_name": "Y", - "referencedDeclaration": 1033, + "referencedDeclaration": 5, "type": "uint256" }, "children": [ @@ -16125,28 +16125,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1110, + "referencedDeclaration": 82, "type": "struct Pairing.G1Point memory", "value": "p1" }, - "id": 1133, + "id": 105, "name": "Identifier", - "src": "3166:2:4" + "src": "3166:2:0" } ], - "id": 1134, + "id": 106, "name": "MemberAccess", - "src": "3166:4:4" + "src": "3166:4:0" } ], - "id": 1135, + "id": 107, "name": "Assignment", - "src": "3155:15:4" + "src": "3155:15:0" } ], - "id": 1136, + "id": 108, "name": "ExpressionStatement", - "src": "3155:15:4" + "src": "3155:15:0" }, { "children": [ @@ -16177,13 +16177,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1121, + "referencedDeclaration": 93, "type": "uint256[4] memory", "value": "input" }, - "id": 1137, + "id": 109, "name": "Identifier", - "src": "3180:5:4" + "src": "3180:5:0" }, { "attributes": { @@ -16198,14 +16198,14 @@ "type": "int_const 2", "value": "2" }, - "id": 1138, + "id": 110, "name": "Literal", - "src": "3186:1:4" + "src": "3186:1:0" } ], - "id": 1139, + "id": 111, "name": "IndexAccess", - "src": "3180:8:4" + "src": "3180:8:0" }, { "attributes": { @@ -16215,7 +16215,7 @@ "isPure": false, "lValueRequested": false, "member_name": "X", - "referencedDeclaration": 1031, + "referencedDeclaration": 3, "type": "uint256" }, "children": [ @@ -16225,28 +16225,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1112, + "referencedDeclaration": 84, "type": "struct Pairing.G1Point memory", "value": "p2" }, - "id": 1140, + "id": 112, "name": "Identifier", - "src": "3191:2:4" + "src": "3191:2:0" } ], - "id": 1141, + "id": 113, "name": "MemberAccess", - "src": "3191:4:4" + "src": "3191:4:0" } ], - "id": 1142, + "id": 114, "name": "Assignment", - "src": "3180:15:4" + "src": "3180:15:0" } ], - "id": 1143, + "id": 115, "name": "ExpressionStatement", - "src": "3180:15:4" + "src": "3180:15:0" }, { "children": [ @@ -16277,13 +16277,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1121, + "referencedDeclaration": 93, "type": "uint256[4] memory", "value": "input" }, - "id": 1144, + "id": 116, "name": "Identifier", - "src": "3205:5:4" + "src": "3205:5:0" }, { "attributes": { @@ -16298,14 +16298,14 @@ "type": "int_const 3", "value": "3" }, - "id": 1145, + "id": 117, "name": "Literal", - "src": "3211:1:4" + "src": "3211:1:0" } ], - "id": 1146, + "id": 118, "name": "IndexAccess", - "src": "3205:8:4" + "src": "3205:8:0" }, { "attributes": { @@ -16315,7 +16315,7 @@ "isPure": false, "lValueRequested": false, "member_name": "Y", - "referencedDeclaration": 1033, + "referencedDeclaration": 5, "type": "uint256" }, "children": [ @@ -16325,33 +16325,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1112, + "referencedDeclaration": 84, "type": "struct Pairing.G1Point memory", "value": "p2" }, - "id": 1147, + "id": 119, "name": "Identifier", - "src": "3216:2:4" + "src": "3216:2:0" } ], - "id": 1148, + "id": 120, "name": "MemberAccess", - "src": "3216:4:4" + "src": "3216:4:0" } ], - "id": 1149, + "id": 121, "name": "Assignment", - "src": "3205:15:4" + "src": "3205:15:0" } ], - "id": 1150, + "id": 122, "name": "ExpressionStatement", - "src": "3205:15:4" + "src": "3205:15:0" }, { "attributes": { "assignments": [ - 1152 + 124 ], "initialValue": null }, @@ -16360,7 +16360,7 @@ "attributes": { "constant": false, "name": "success", - "scope": 1160, + "scope": 132, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -16373,56 +16373,56 @@ "name": "bool", "type": "bool" }, - "id": 1151, + "id": 123, "name": "ElementaryTypeName", - "src": "3230:4:4" + "src": "3230:4:0" } ], - "id": 1152, + "id": 124, "name": "VariableDeclaration", - "src": "3230:12:4" + "src": "3230:12:0" } ], - "id": 1153, + "id": 125, "name": "VariableDeclarationStatement", - "src": "3230:12:4" + "src": "3230:12:0" }, { "attributes": { "externalReferences": [ - { - "success": { - "declaration": 1152, - "isOffset": false, - "isSlot": false, - "src": "3339:7:4", - "valueSize": 1 - } - }, { "input": { - "declaration": 1121, + "declaration": 93, "isOffset": false, "isSlot": false, - "src": "3380:5:4", + "src": "3380:5:0", "valueSize": 1 } }, { "r": { - "declaration": 1115, + "declaration": 87, "isOffset": false, "isSlot": false, - "src": "3393:1:4", + "src": "3393:1:0", "valueSize": 1 } }, { "success": { - "declaration": 1152, + "declaration": 124, "isOffset": false, "isSlot": false, - "src": "3478:7:4", + "src": "3478:7:0", + "valueSize": 1 + } + }, + { + "success": { + "declaration": 124, + "isOffset": false, + "isSlot": false, + "src": "3339:7:0", "valueSize": 1 } } @@ -16430,9 +16430,9 @@ "operations": "{\n success := staticcall(sub(gas(), 2000), 6, input, 0xc0, r, 0x60)\n switch success\n case 0 { invalid() }\n}" }, "children": [], - "id": 1154, + "id": 126, "name": "InlineAssembly", - "src": "3316:200:4" + "src": "3316:200:0" }, { "children": [ @@ -16464,16 +16464,16 @@ } ], "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, + "referencedDeclaration": 1077, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 1155, + "id": 127, "name": "Identifier", - "src": "3525:7:4" + "src": "3525:7:0" }, { "attributes": { @@ -16481,13 +16481,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1152, + "referencedDeclaration": 124, "type": "bool", "value": "success" }, - "id": 1156, + "id": 128, "name": "Identifier", - "src": "3533:7:4" + "src": "3533:7:0" }, { "attributes": { @@ -16502,29 +16502,29 @@ "type": "literal_string \"pairing-add-failed\"", "value": "pairing-add-failed" }, - "id": 1157, + "id": 129, "name": "Literal", - "src": "3541:20:4" + "src": "3541:20:0" } ], - "id": 1158, + "id": 130, "name": "FunctionCall", - "src": "3525:37:4" + "src": "3525:37:0" } ], - "id": 1159, + "id": 131, "name": "ExpressionStatement", - "src": "3525:37:4" + "src": "3525:37:0" } ], - "id": 1160, + "id": 132, "name": "Block", - "src": "3090:479:4" + "src": "3090:479:0" } ], - "id": 1161, + "id": 133, "name": "FunctionDefinition", - "src": "2993:576:4" + "src": "2993:576:0" }, { "attributes": { @@ -16536,7 +16536,7 @@ null ], "name": "scalar_mul", - "scope": 1605, + "scope": 577, "stateMutability": "view", "superFunction": null, "visibility": "internal" @@ -16548,7 +16548,7 @@ "attributes": { "constant": false, "name": "p", - "scope": 1206, + "scope": 178, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -16560,23 +16560,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1162, + "id": 134, "name": "UserDefinedTypeName", - "src": "3742:7:4" + "src": "3742:7:0" } ], - "id": 1163, + "id": 135, "name": "VariableDeclaration", - "src": "3742:16:4" + "src": "3742:16:0" }, { "attributes": { "constant": false, "name": "s", - "scope": 1206, + "scope": 178, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -16589,19 +16589,19 @@ "name": "uint", "type": "uint256" }, - "id": 1164, + "id": 136, "name": "ElementaryTypeName", - "src": "3760:4:4" + "src": "3760:4:0" } ], - "id": 1165, + "id": 137, "name": "VariableDeclaration", - "src": "3760:6:4" + "src": "3760:6:0" } ], - "id": 1166, + "id": 138, "name": "ParameterList", - "src": "3741:26:4" + "src": "3741:26:0" }, { "children": [ @@ -16609,7 +16609,7 @@ "attributes": { "constant": false, "name": "r", - "scope": 1206, + "scope": 178, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -16621,29 +16621,29 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1167, + "id": 139, "name": "UserDefinedTypeName", - "src": "3791:7:4" + "src": "3791:7:0" } ], - "id": 1168, + "id": 140, "name": "VariableDeclaration", - "src": "3791:16:4" + "src": "3791:16:0" } ], - "id": 1169, + "id": 141, "name": "ParameterList", - "src": "3790:18:4" + "src": "3790:18:0" }, { "children": [ { "attributes": { "assignments": [ - 1174 + 146 ], "initialValue": null }, @@ -16652,7 +16652,7 @@ "attributes": { "constant": false, "name": "input", - "scope": 1205, + "scope": 177, "stateVariable": false, "storageLocation": "memory", "type": "uint256[3]", @@ -16670,9 +16670,9 @@ "name": "uint", "type": "uint256" }, - "id": 1172, + "id": 144, "name": "ElementaryTypeName", - "src": "3819:4:4" + "src": "3819:4:0" }, { "attributes": { @@ -16687,24 +16687,24 @@ "type": "int_const 3", "value": "3" }, - "id": 1171, + "id": 143, "name": "Literal", - "src": "3824:1:4" + "src": "3824:1:0" } ], - "id": 1173, + "id": 145, "name": "ArrayTypeName", - "src": "3819:7:4" + "src": "3819:7:0" } ], - "id": 1174, + "id": 146, "name": "VariableDeclaration", - "src": "3819:20:4" + "src": "3819:20:0" } ], - "id": 1175, + "id": 147, "name": "VariableDeclarationStatement", - "src": "3819:20:4" + "src": "3819:20:0" }, { "children": [ @@ -16735,13 +16735,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1174, + "referencedDeclaration": 146, "type": "uint256[3] memory", "value": "input" }, - "id": 1176, + "id": 148, "name": "Identifier", - "src": "3849:5:4" + "src": "3849:5:0" }, { "attributes": { @@ -16756,14 +16756,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1177, + "id": 149, "name": "Literal", - "src": "3855:1:4" + "src": "3855:1:0" } ], - "id": 1178, + "id": 150, "name": "IndexAccess", - "src": "3849:8:4" + "src": "3849:8:0" }, { "attributes": { @@ -16773,7 +16773,7 @@ "isPure": false, "lValueRequested": false, "member_name": "X", - "referencedDeclaration": 1031, + "referencedDeclaration": 3, "type": "uint256" }, "children": [ @@ -16783,28 +16783,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1163, + "referencedDeclaration": 135, "type": "struct Pairing.G1Point memory", "value": "p" }, - "id": 1179, + "id": 151, "name": "Identifier", - "src": "3860:1:4" + "src": "3860:1:0" } ], - "id": 1180, + "id": 152, "name": "MemberAccess", - "src": "3860:3:4" + "src": "3860:3:0" } ], - "id": 1181, + "id": 153, "name": "Assignment", - "src": "3849:14:4" + "src": "3849:14:0" } ], - "id": 1182, + "id": 154, "name": "ExpressionStatement", - "src": "3849:14:4" + "src": "3849:14:0" }, { "children": [ @@ -16835,13 +16835,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1174, + "referencedDeclaration": 146, "type": "uint256[3] memory", "value": "input" }, - "id": 1183, + "id": 155, "name": "Identifier", - "src": "3873:5:4" + "src": "3873:5:0" }, { "attributes": { @@ -16856,14 +16856,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1184, + "id": 156, "name": "Literal", - "src": "3879:1:4" + "src": "3879:1:0" } ], - "id": 1185, + "id": 157, "name": "IndexAccess", - "src": "3873:8:4" + "src": "3873:8:0" }, { "attributes": { @@ -16873,7 +16873,7 @@ "isPure": false, "lValueRequested": false, "member_name": "Y", - "referencedDeclaration": 1033, + "referencedDeclaration": 5, "type": "uint256" }, "children": [ @@ -16883,28 +16883,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1163, + "referencedDeclaration": 135, "type": "struct Pairing.G1Point memory", "value": "p" }, - "id": 1186, + "id": 158, "name": "Identifier", - "src": "3884:1:4" + "src": "3884:1:0" } ], - "id": 1187, + "id": 159, "name": "MemberAccess", - "src": "3884:3:4" + "src": "3884:3:0" } ], - "id": 1188, + "id": 160, "name": "Assignment", - "src": "3873:14:4" + "src": "3873:14:0" } ], - "id": 1189, + "id": 161, "name": "ExpressionStatement", - "src": "3873:14:4" + "src": "3873:14:0" }, { "children": [ @@ -16935,13 +16935,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1174, + "referencedDeclaration": 146, "type": "uint256[3] memory", "value": "input" }, - "id": 1190, + "id": 162, "name": "Identifier", - "src": "3897:5:4" + "src": "3897:5:0" }, { "attributes": { @@ -16956,14 +16956,14 @@ "type": "int_const 2", "value": "2" }, - "id": 1191, + "id": 163, "name": "Literal", - "src": "3903:1:4" + "src": "3903:1:0" } ], - "id": 1192, + "id": 164, "name": "IndexAccess", - "src": "3897:8:4" + "src": "3897:8:0" }, { "attributes": { @@ -16971,28 +16971,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1165, + "referencedDeclaration": 137, "type": "uint256", "value": "s" }, - "id": 1193, + "id": 165, "name": "Identifier", - "src": "3908:1:4" + "src": "3908:1:0" } ], - "id": 1194, + "id": 166, "name": "Assignment", - "src": "3897:12:4" + "src": "3897:12:0" } ], - "id": 1195, + "id": 167, "name": "ExpressionStatement", - "src": "3897:12:4" + "src": "3897:12:0" }, { "attributes": { "assignments": [ - 1197 + 169 ], "initialValue": null }, @@ -17001,7 +17001,7 @@ "attributes": { "constant": false, "name": "success", - "scope": 1205, + "scope": 177, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -17014,56 +17014,56 @@ "name": "bool", "type": "bool" }, - "id": 1196, + "id": 168, "name": "ElementaryTypeName", - "src": "3919:4:4" + "src": "3919:4:0" } ], - "id": 1197, + "id": 169, "name": "VariableDeclaration", - "src": "3919:12:4" + "src": "3919:12:0" } ], - "id": 1198, + "id": 170, "name": "VariableDeclarationStatement", - "src": "3919:12:4" + "src": "3919:12:0" }, { "attributes": { "externalReferences": [ { "success": { - "declaration": 1197, + "declaration": 169, "isOffset": false, "isSlot": false, - "src": "4028:7:4", - "valueSize": 1 - } - }, - { - "success": { - "declaration": 1197, - "isOffset": false, - "isSlot": false, - "src": "4167:7:4", + "src": "4028:7:0", "valueSize": 1 } }, { "input": { - "declaration": 1174, + "declaration": 146, "isOffset": false, "isSlot": false, - "src": "4069:5:4", + "src": "4069:5:0", "valueSize": 1 } }, { "r": { - "declaration": 1168, + "declaration": 140, "isOffset": false, "isSlot": false, - "src": "4082:1:4", + "src": "4082:1:0", + "valueSize": 1 + } + }, + { + "success": { + "declaration": 169, + "isOffset": false, + "isSlot": false, + "src": "4167:7:0", "valueSize": 1 } } @@ -17071,9 +17071,9 @@ "operations": "{\n success := staticcall(sub(gas(), 2000), 7, input, 0x80, r, 0x60)\n switch success\n case 0 { invalid() }\n}" }, "children": [], - "id": 1199, + "id": 171, "name": "InlineAssembly", - "src": "4005:200:4" + "src": "4005:200:0" }, { "children": [ @@ -17105,16 +17105,16 @@ } ], "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, + "referencedDeclaration": 1077, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 1200, + "id": 172, "name": "Identifier", - "src": "4214:7:4" + "src": "4214:7:0" }, { "attributes": { @@ -17122,13 +17122,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1197, + "referencedDeclaration": 169, "type": "bool", "value": "success" }, - "id": 1201, + "id": 173, "name": "Identifier", - "src": "4223:7:4" + "src": "4223:7:0" }, { "attributes": { @@ -17143,29 +17143,29 @@ "type": "literal_string \"pairing-mul-failed\"", "value": "pairing-mul-failed" }, - "id": 1202, + "id": 174, "name": "Literal", - "src": "4231:20:4" + "src": "4231:20:0" } ], - "id": 1203, + "id": 175, "name": "FunctionCall", - "src": "4214:38:4" + "src": "4214:38:0" } ], - "id": 1204, + "id": 176, "name": "ExpressionStatement", - "src": "4214:38:4" + "src": "4214:38:0" } ], - "id": 1205, + "id": 177, "name": "Block", - "src": "3809:450:4" + "src": "3809:450:0" } ], - "id": 1206, + "id": 178, "name": "FunctionDefinition", - "src": "3722:537:4" + "src": "3722:537:0" }, { "attributes": { @@ -17177,7 +17177,7 @@ null ], "name": "pairing", - "scope": 1605, + "scope": 577, "stateMutability": "view", "superFunction": null, "visibility": "internal" @@ -17189,7 +17189,7 @@ "attributes": { "constant": false, "name": "p1", - "scope": 1367, + "scope": 339, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point[]", @@ -17207,28 +17207,28 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1207, + "id": 179, "name": "UserDefinedTypeName", - "src": "4487:7:4" + "src": "4487:7:0" } ], - "id": 1208, + "id": 180, "name": "ArrayTypeName", - "src": "4487:9:4" + "src": "4487:9:0" } ], - "id": 1209, + "id": 181, "name": "VariableDeclaration", - "src": "4487:19:4" + "src": "4487:19:0" }, { "attributes": { "constant": false, "name": "p2", - "scope": 1367, + "scope": 339, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point[]", @@ -17246,27 +17246,27 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1210, + "id": 182, "name": "UserDefinedTypeName", - "src": "4508:7:4" + "src": "4508:7:0" } ], - "id": 1211, + "id": 183, "name": "ArrayTypeName", - "src": "4508:9:4" + "src": "4508:9:0" } ], - "id": 1212, + "id": 184, "name": "VariableDeclaration", - "src": "4508:19:4" + "src": "4508:19:0" } ], - "id": 1213, + "id": 185, "name": "ParameterList", - "src": "4486:42:4" + "src": "4486:42:0" }, { "children": [ @@ -17274,7 +17274,7 @@ "attributes": { "constant": false, "name": "", - "scope": 1367, + "scope": 339, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -17287,19 +17287,19 @@ "name": "bool", "type": "bool" }, - "id": 1214, + "id": 186, "name": "ElementaryTypeName", - "src": "4552:4:4" + "src": "4552:4:0" } ], - "id": 1215, + "id": 187, "name": "VariableDeclaration", - "src": "4552:4:4" + "src": "4552:4:0" } ], - "id": 1216, + "id": 188, "name": "ParameterList", - "src": "4551:6:4" + "src": "4551:6:0" }, { "children": [ @@ -17333,16 +17333,16 @@ } ], "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, + "referencedDeclaration": 1077, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 1217, + "id": 189, "name": "Identifier", - "src": "4568:7:4" + "src": "4568:7:0" }, { "attributes": { @@ -17377,18 +17377,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1209, + "referencedDeclaration": 181, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1218, + "id": 190, "name": "Identifier", - "src": "4576:2:4" + "src": "4576:2:0" } ], - "id": 1219, + "id": 191, "name": "MemberAccess", - "src": "4576:9:4" + "src": "4576:9:0" }, { "attributes": { @@ -17408,23 +17408,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1212, + "referencedDeclaration": 184, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1220, + "id": 192, "name": "Identifier", - "src": "4589:2:4" + "src": "4589:2:0" } ], - "id": 1221, + "id": 193, "name": "MemberAccess", - "src": "4589:9:4" + "src": "4589:9:0" } ], - "id": 1222, + "id": 194, "name": "BinaryOperation", - "src": "4576:22:4" + "src": "4576:22:0" }, { "attributes": { @@ -17439,24 +17439,24 @@ "type": "literal_string \"pairing-lengths-failed\"", "value": "pairing-lengths-failed" }, - "id": 1223, + "id": 195, "name": "Literal", - "src": "4599:24:4" + "src": "4599:24:0" } ], - "id": 1224, + "id": 196, "name": "FunctionCall", - "src": "4568:56:4" + "src": "4568:56:0" } ], - "id": 1225, + "id": 197, "name": "ExpressionStatement", - "src": "4568:56:4" + "src": "4568:56:0" }, { "attributes": { "assignments": [ - 1227 + 199 ] }, "children": [ @@ -17464,7 +17464,7 @@ "attributes": { "constant": false, "name": "elements", - "scope": 1366, + "scope": 338, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -17477,14 +17477,14 @@ "name": "uint", "type": "uint256" }, - "id": 1226, + "id": 198, "name": "ElementaryTypeName", - "src": "4634:4:4" + "src": "4634:4:0" } ], - "id": 1227, + "id": 199, "name": "VariableDeclaration", - "src": "4634:13:4" + "src": "4634:13:0" }, { "attributes": { @@ -17504,28 +17504,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1209, + "referencedDeclaration": 181, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1228, + "id": 200, "name": "Identifier", - "src": "4650:2:4" + "src": "4650:2:0" } ], - "id": 1229, + "id": 201, "name": "MemberAccess", - "src": "4650:9:4" + "src": "4650:9:0" } ], - "id": 1230, + "id": 202, "name": "VariableDeclarationStatement", - "src": "4634:25:4" + "src": "4634:25:0" }, { "attributes": { "assignments": [ - 1232 + 204 ] }, "children": [ @@ -17533,7 +17533,7 @@ "attributes": { "constant": false, "name": "inputSize", - "scope": 1366, + "scope": 338, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -17546,14 +17546,14 @@ "name": "uint", "type": "uint256" }, - "id": 1231, + "id": 203, "name": "ElementaryTypeName", - "src": "4669:4:4" + "src": "4669:4:0" } ], - "id": 1232, + "id": 204, "name": "VariableDeclaration", - "src": "4669:14:4" + "src": "4669:14:0" }, { "attributes": { @@ -17576,13 +17576,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1227, + "referencedDeclaration": 199, "type": "uint256", "value": "elements" }, - "id": 1233, + "id": 205, "name": "Identifier", - "src": "4686:8:4" + "src": "4686:8:0" }, { "attributes": { @@ -17597,24 +17597,24 @@ "type": "int_const 6", "value": "6" }, - "id": 1234, + "id": 206, "name": "Literal", - "src": "4697:1:4" + "src": "4697:1:0" } ], - "id": 1235, + "id": 207, "name": "BinaryOperation", - "src": "4686:12:4" + "src": "4686:12:0" } ], - "id": 1236, + "id": 208, "name": "VariableDeclarationStatement", - "src": "4669:29:4" + "src": "4669:29:0" }, { "attributes": { "assignments": [ - 1240 + 212 ] }, "children": [ @@ -17622,7 +17622,7 @@ "attributes": { "constant": false, "name": "input", - "scope": 1366, + "scope": 338, "stateVariable": false, "storageLocation": "memory", "type": "uint256[]", @@ -17641,19 +17641,19 @@ "name": "uint", "type": "uint256" }, - "id": 1238, + "id": 210, "name": "ElementaryTypeName", - "src": "4708:4:4" + "src": "4708:4:0" } ], - "id": 1239, + "id": 211, "name": "ArrayTypeName", - "src": "4708:6:4" + "src": "4708:6:0" } ], - "id": 1240, + "id": 212, "name": "VariableDeclaration", - "src": "4708:19:4" + "src": "4708:19:0" }, { "attributes": { @@ -17696,19 +17696,19 @@ "name": "uint", "type": "uint256" }, - "id": 1241, + "id": 213, "name": "ElementaryTypeName", - "src": "4734:4:4" + "src": "4734:4:0" } ], - "id": 1242, + "id": 214, "name": "ArrayTypeName", - "src": "4734:6:4" + "src": "4734:6:0" } ], - "id": 1243, + "id": 215, "name": "NewExpression", - "src": "4730:10:4" + "src": "4730:10:0" }, { "attributes": { @@ -17716,30 +17716,30 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1232, + "referencedDeclaration": 204, "type": "uint256", "value": "inputSize" }, - "id": 1244, + "id": 216, "name": "Identifier", - "src": "4741:9:4" + "src": "4741:9:0" } ], - "id": 1245, + "id": 217, "name": "FunctionCall", - "src": "4730:21:4" + "src": "4730:21:0" } ], - "id": 1246, + "id": 218, "name": "VariableDeclarationStatement", - "src": "4708:43:4" + "src": "4708:43:0" }, { "children": [ { "attributes": { "assignments": [ - 1248 + 220 ] }, "children": [ @@ -17747,7 +17747,7 @@ "attributes": { "constant": false, "name": "i", - "scope": 1344, + "scope": 316, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -17760,14 +17760,14 @@ "name": "uint", "type": "uint256" }, - "id": 1247, + "id": 219, "name": "ElementaryTypeName", - "src": "4766:4:4" + "src": "4766:4:0" } ], - "id": 1248, + "id": 220, "name": "VariableDeclaration", - "src": "4766:6:4" + "src": "4766:6:0" }, { "attributes": { @@ -17782,14 +17782,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1249, + "id": 221, "name": "Literal", - "src": "4775:1:4" + "src": "4775:1:0" } ], - "id": 1250, + "id": 222, "name": "VariableDeclarationStatement", - "src": "4766:10:4" + "src": "4766:10:0" }, { "attributes": { @@ -17812,13 +17812,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1251, + "id": 223, "name": "Identifier", - "src": "4778:1:4" + "src": "4778:1:0" }, { "attributes": { @@ -17826,18 +17826,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1227, + "referencedDeclaration": 199, "type": "uint256", "value": "elements" }, - "id": 1252, + "id": 224, "name": "Identifier", - "src": "4782:8:4" + "src": "4782:8:0" } ], - "id": 1253, + "id": 225, "name": "BinaryOperation", - "src": "4778:12:4" + "src": "4778:12:0" }, { "children": [ @@ -17859,23 +17859,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1254, + "id": 226, "name": "Identifier", - "src": "4792:1:4" + "src": "4792:1:0" } ], - "id": 1255, + "id": 227, "name": "UnaryOperation", - "src": "4792:3:4" + "src": "4792:3:0" } ], - "id": 1256, + "id": 228, "name": "ExpressionStatement", - "src": "4792:3:4" + "src": "4792:3:0" }, { "children": [ @@ -17908,13 +17908,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1240, + "referencedDeclaration": 212, "type": "uint256[] memory", "value": "input" }, - "id": 1257, + "id": 229, "name": "Identifier", - "src": "4819:5:4" + "src": "4819:5:0" }, { "attributes": { @@ -17952,13 +17952,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1258, + "id": 230, "name": "Identifier", - "src": "4825:1:4" + "src": "4825:1:0" }, { "attributes": { @@ -17973,14 +17973,14 @@ "type": "int_const 6", "value": "6" }, - "id": 1259, + "id": 231, "name": "Literal", - "src": "4829:1:4" + "src": "4829:1:0" } ], - "id": 1260, + "id": 232, "name": "BinaryOperation", - "src": "4825:5:4" + "src": "4825:5:0" }, { "attributes": { @@ -17995,19 +17995,19 @@ "type": "int_const 0", "value": "0" }, - "id": 1261, + "id": 233, "name": "Literal", - "src": "4833:1:4" + "src": "4833:1:0" } ], - "id": 1262, + "id": 234, "name": "BinaryOperation", - "src": "4825:9:4" + "src": "4825:9:0" } ], - "id": 1263, + "id": 235, "name": "IndexAccess", - "src": "4819:16:4" + "src": "4819:16:0" }, { "attributes": { @@ -18017,7 +18017,7 @@ "isPure": false, "lValueRequested": false, "member_name": "X", - "referencedDeclaration": 1031, + "referencedDeclaration": 3, "type": "uint256" }, "children": [ @@ -18037,13 +18037,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1209, + "referencedDeclaration": 181, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1264, + "id": 236, "name": "Identifier", - "src": "4838:2:4" + "src": "4838:2:0" }, { "attributes": { @@ -18051,33 +18051,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1265, + "id": 237, "name": "Identifier", - "src": "4841:1:4" + "src": "4841:1:0" } ], - "id": 1266, + "id": 238, "name": "IndexAccess", - "src": "4838:5:4" + "src": "4838:5:0" } ], - "id": 1267, + "id": 239, "name": "MemberAccess", - "src": "4838:7:4" + "src": "4838:7:0" } ], - "id": 1268, + "id": 240, "name": "Assignment", - "src": "4819:26:4" + "src": "4819:26:0" } ], - "id": 1269, + "id": 241, "name": "ExpressionStatement", - "src": "4819:26:4" + "src": "4819:26:0" }, { "children": [ @@ -18108,13 +18108,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1240, + "referencedDeclaration": 212, "type": "uint256[] memory", "value": "input" }, - "id": 1270, + "id": 242, "name": "Identifier", - "src": "4859:5:4" + "src": "4859:5:0" }, { "attributes": { @@ -18152,13 +18152,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1271, + "id": 243, "name": "Identifier", - "src": "4865:1:4" + "src": "4865:1:0" }, { "attributes": { @@ -18173,14 +18173,14 @@ "type": "int_const 6", "value": "6" }, - "id": 1272, + "id": 244, "name": "Literal", - "src": "4869:1:4" + "src": "4869:1:0" } ], - "id": 1273, + "id": 245, "name": "BinaryOperation", - "src": "4865:5:4" + "src": "4865:5:0" }, { "attributes": { @@ -18195,19 +18195,19 @@ "type": "int_const 1", "value": "1" }, - "id": 1274, + "id": 246, "name": "Literal", - "src": "4873:1:4" + "src": "4873:1:0" } ], - "id": 1275, + "id": 247, "name": "BinaryOperation", - "src": "4865:9:4" + "src": "4865:9:0" } ], - "id": 1276, + "id": 248, "name": "IndexAccess", - "src": "4859:16:4" + "src": "4859:16:0" }, { "attributes": { @@ -18217,7 +18217,7 @@ "isPure": false, "lValueRequested": false, "member_name": "Y", - "referencedDeclaration": 1033, + "referencedDeclaration": 5, "type": "uint256" }, "children": [ @@ -18237,13 +18237,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1209, + "referencedDeclaration": 181, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1277, + "id": 249, "name": "Identifier", - "src": "4878:2:4" + "src": "4878:2:0" }, { "attributes": { @@ -18251,33 +18251,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1278, + "id": 250, "name": "Identifier", - "src": "4881:1:4" + "src": "4881:1:0" } ], - "id": 1279, + "id": 251, "name": "IndexAccess", - "src": "4878:5:4" + "src": "4878:5:0" } ], - "id": 1280, + "id": 252, "name": "MemberAccess", - "src": "4878:7:4" + "src": "4878:7:0" } ], - "id": 1281, + "id": 253, "name": "Assignment", - "src": "4859:26:4" + "src": "4859:26:0" } ], - "id": 1282, + "id": 254, "name": "ExpressionStatement", - "src": "4859:26:4" + "src": "4859:26:0" }, { "children": [ @@ -18308,13 +18308,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1240, + "referencedDeclaration": 212, "type": "uint256[] memory", "value": "input" }, - "id": 1283, + "id": 255, "name": "Identifier", - "src": "4899:5:4" + "src": "4899:5:0" }, { "attributes": { @@ -18352,13 +18352,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1284, + "id": 256, "name": "Identifier", - "src": "4905:1:4" + "src": "4905:1:0" }, { "attributes": { @@ -18373,14 +18373,14 @@ "type": "int_const 6", "value": "6" }, - "id": 1285, + "id": 257, "name": "Literal", - "src": "4909:1:4" + "src": "4909:1:0" } ], - "id": 1286, + "id": 258, "name": "BinaryOperation", - "src": "4905:5:4" + "src": "4905:5:0" }, { "attributes": { @@ -18395,19 +18395,19 @@ "type": "int_const 2", "value": "2" }, - "id": 1287, + "id": 259, "name": "Literal", - "src": "4913:1:4" + "src": "4913:1:0" } ], - "id": 1288, + "id": 260, "name": "BinaryOperation", - "src": "4905:9:4" + "src": "4905:9:0" } ], - "id": 1289, + "id": 261, "name": "IndexAccess", - "src": "4899:16:4" + "src": "4899:16:0" }, { "attributes": { @@ -18427,7 +18427,7 @@ "isPure": false, "lValueRequested": false, "member_name": "X", - "referencedDeclaration": 1038, + "referencedDeclaration": 10, "type": "uint256[2] memory" }, "children": [ @@ -18447,13 +18447,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1212, + "referencedDeclaration": 184, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1290, + "id": 262, "name": "Identifier", - "src": "4918:2:4" + "src": "4918:2:0" }, { "attributes": { @@ -18461,23 +18461,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1291, + "id": 263, "name": "Identifier", - "src": "4921:1:4" + "src": "4921:1:0" } ], - "id": 1292, + "id": 264, "name": "IndexAccess", - "src": "4918:5:4" + "src": "4918:5:0" } ], - "id": 1293, + "id": 265, "name": "MemberAccess", - "src": "4918:7:4" + "src": "4918:7:0" }, { "attributes": { @@ -18492,24 +18492,24 @@ "type": "int_const 0", "value": "0" }, - "id": 1294, + "id": 266, "name": "Literal", - "src": "4926:1:4" + "src": "4926:1:0" } ], - "id": 1295, + "id": 267, "name": "IndexAccess", - "src": "4918:10:4" + "src": "4918:10:0" } ], - "id": 1296, + "id": 268, "name": "Assignment", - "src": "4899:29:4" + "src": "4899:29:0" } ], - "id": 1297, + "id": 269, "name": "ExpressionStatement", - "src": "4899:29:4" + "src": "4899:29:0" }, { "children": [ @@ -18540,13 +18540,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1240, + "referencedDeclaration": 212, "type": "uint256[] memory", "value": "input" }, - "id": 1298, + "id": 270, "name": "Identifier", - "src": "4942:5:4" + "src": "4942:5:0" }, { "attributes": { @@ -18584,13 +18584,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1299, + "id": 271, "name": "Identifier", - "src": "4948:1:4" + "src": "4948:1:0" }, { "attributes": { @@ -18605,14 +18605,14 @@ "type": "int_const 6", "value": "6" }, - "id": 1300, + "id": 272, "name": "Literal", - "src": "4952:1:4" + "src": "4952:1:0" } ], - "id": 1301, + "id": 273, "name": "BinaryOperation", - "src": "4948:5:4" + "src": "4948:5:0" }, { "attributes": { @@ -18627,19 +18627,19 @@ "type": "int_const 3", "value": "3" }, - "id": 1302, + "id": 274, "name": "Literal", - "src": "4956:1:4" + "src": "4956:1:0" } ], - "id": 1303, + "id": 275, "name": "BinaryOperation", - "src": "4948:9:4" + "src": "4948:9:0" } ], - "id": 1304, + "id": 276, "name": "IndexAccess", - "src": "4942:16:4" + "src": "4942:16:0" }, { "attributes": { @@ -18659,7 +18659,7 @@ "isPure": false, "lValueRequested": false, "member_name": "X", - "referencedDeclaration": 1038, + "referencedDeclaration": 10, "type": "uint256[2] memory" }, "children": [ @@ -18679,13 +18679,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1212, + "referencedDeclaration": 184, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1305, + "id": 277, "name": "Identifier", - "src": "4961:2:4" + "src": "4961:2:0" }, { "attributes": { @@ -18693,23 +18693,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1306, + "id": 278, "name": "Identifier", - "src": "4964:1:4" + "src": "4964:1:0" } ], - "id": 1307, + "id": 279, "name": "IndexAccess", - "src": "4961:5:4" + "src": "4961:5:0" } ], - "id": 1308, + "id": 280, "name": "MemberAccess", - "src": "4961:7:4" + "src": "4961:7:0" }, { "attributes": { @@ -18724,24 +18724,24 @@ "type": "int_const 1", "value": "1" }, - "id": 1309, + "id": 281, "name": "Literal", - "src": "4969:1:4" + "src": "4969:1:0" } ], - "id": 1310, + "id": 282, "name": "IndexAccess", - "src": "4961:10:4" + "src": "4961:10:0" } ], - "id": 1311, + "id": 283, "name": "Assignment", - "src": "4942:29:4" + "src": "4942:29:0" } ], - "id": 1312, + "id": 284, "name": "ExpressionStatement", - "src": "4942:29:4" + "src": "4942:29:0" }, { "children": [ @@ -18772,13 +18772,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1240, + "referencedDeclaration": 212, "type": "uint256[] memory", "value": "input" }, - "id": 1313, + "id": 285, "name": "Identifier", - "src": "4985:5:4" + "src": "4985:5:0" }, { "attributes": { @@ -18816,13 +18816,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1314, + "id": 286, "name": "Identifier", - "src": "4991:1:4" + "src": "4991:1:0" }, { "attributes": { @@ -18837,14 +18837,14 @@ "type": "int_const 6", "value": "6" }, - "id": 1315, + "id": 287, "name": "Literal", - "src": "4995:1:4" + "src": "4995:1:0" } ], - "id": 1316, + "id": 288, "name": "BinaryOperation", - "src": "4991:5:4" + "src": "4991:5:0" }, { "attributes": { @@ -18859,19 +18859,19 @@ "type": "int_const 4", "value": "4" }, - "id": 1317, + "id": 289, "name": "Literal", - "src": "4999:1:4" + "src": "4999:1:0" } ], - "id": 1318, + "id": 290, "name": "BinaryOperation", - "src": "4991:9:4" + "src": "4991:9:0" } ], - "id": 1319, + "id": 291, "name": "IndexAccess", - "src": "4985:16:4" + "src": "4985:16:0" }, { "attributes": { @@ -18891,7 +18891,7 @@ "isPure": false, "lValueRequested": false, "member_name": "Y", - "referencedDeclaration": 1042, + "referencedDeclaration": 14, "type": "uint256[2] memory" }, "children": [ @@ -18911,13 +18911,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1212, + "referencedDeclaration": 184, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1320, + "id": 292, "name": "Identifier", - "src": "5004:2:4" + "src": "5004:2:0" }, { "attributes": { @@ -18925,23 +18925,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1321, + "id": 293, "name": "Identifier", - "src": "5007:1:4" + "src": "5007:1:0" } ], - "id": 1322, + "id": 294, "name": "IndexAccess", - "src": "5004:5:4" + "src": "5004:5:0" } ], - "id": 1323, + "id": 295, "name": "MemberAccess", - "src": "5004:7:4" + "src": "5004:7:0" }, { "attributes": { @@ -18956,24 +18956,24 @@ "type": "int_const 0", "value": "0" }, - "id": 1324, + "id": 296, "name": "Literal", - "src": "5012:1:4" + "src": "5012:1:0" } ], - "id": 1325, + "id": 297, "name": "IndexAccess", - "src": "5004:10:4" + "src": "5004:10:0" } ], - "id": 1326, + "id": 298, "name": "Assignment", - "src": "4985:29:4" + "src": "4985:29:0" } ], - "id": 1327, + "id": 299, "name": "ExpressionStatement", - "src": "4985:29:4" + "src": "4985:29:0" }, { "children": [ @@ -19004,13 +19004,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1240, + "referencedDeclaration": 212, "type": "uint256[] memory", "value": "input" }, - "id": 1328, + "id": 300, "name": "Identifier", - "src": "5028:5:4" + "src": "5028:5:0" }, { "attributes": { @@ -19048,13 +19048,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1329, + "id": 301, "name": "Identifier", - "src": "5034:1:4" + "src": "5034:1:0" }, { "attributes": { @@ -19069,14 +19069,14 @@ "type": "int_const 6", "value": "6" }, - "id": 1330, + "id": 302, "name": "Literal", - "src": "5038:1:4" + "src": "5038:1:0" } ], - "id": 1331, + "id": 303, "name": "BinaryOperation", - "src": "5034:5:4" + "src": "5034:5:0" }, { "attributes": { @@ -19091,19 +19091,19 @@ "type": "int_const 5", "value": "5" }, - "id": 1332, + "id": 304, "name": "Literal", - "src": "5042:1:4" + "src": "5042:1:0" } ], - "id": 1333, + "id": 305, "name": "BinaryOperation", - "src": "5034:9:4" + "src": "5034:9:0" } ], - "id": 1334, + "id": 306, "name": "IndexAccess", - "src": "5028:16:4" + "src": "5028:16:0" }, { "attributes": { @@ -19123,7 +19123,7 @@ "isPure": false, "lValueRequested": false, "member_name": "Y", - "referencedDeclaration": 1042, + "referencedDeclaration": 14, "type": "uint256[2] memory" }, "children": [ @@ -19143,13 +19143,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1212, + "referencedDeclaration": 184, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1335, + "id": 307, "name": "Identifier", - "src": "5047:2:4" + "src": "5047:2:0" }, { "attributes": { @@ -19157,23 +19157,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1336, + "id": 308, "name": "Identifier", - "src": "5050:1:4" + "src": "5050:1:0" } ], - "id": 1337, + "id": 309, "name": "IndexAccess", - "src": "5047:5:4" + "src": "5047:5:0" } ], - "id": 1338, + "id": 310, "name": "MemberAccess", - "src": "5047:7:4" + "src": "5047:7:0" }, { "attributes": { @@ -19188,39 +19188,39 @@ "type": "int_const 1", "value": "1" }, - "id": 1339, + "id": 311, "name": "Literal", - "src": "5055:1:4" + "src": "5055:1:0" } ], - "id": 1340, + "id": 312, "name": "IndexAccess", - "src": "5047:10:4" + "src": "5047:10:0" } ], - "id": 1341, + "id": 313, "name": "Assignment", - "src": "5028:29:4" + "src": "5028:29:0" } ], - "id": 1342, + "id": 314, "name": "ExpressionStatement", - "src": "5028:29:4" + "src": "5028:29:0" } ], - "id": 1343, + "id": 315, "name": "Block", - "src": "4805:263:4" + "src": "4805:263:0" } ], - "id": 1344, + "id": 316, "name": "ForStatement", - "src": "4761:307:4" + "src": "4761:307:0" }, { "attributes": { "assignments": [ - 1349 + 321 ], "initialValue": null }, @@ -19229,7 +19229,7 @@ "attributes": { "constant": false, "name": "out", - "scope": 1366, + "scope": 338, "stateVariable": false, "storageLocation": "memory", "type": "uint256[1]", @@ -19247,9 +19247,9 @@ "name": "uint", "type": "uint256" }, - "id": 1347, + "id": 319, "name": "ElementaryTypeName", - "src": "5077:4:4" + "src": "5077:4:0" }, { "attributes": { @@ -19264,29 +19264,29 @@ "type": "int_const 1", "value": "1" }, - "id": 1346, + "id": 318, "name": "Literal", - "src": "5082:1:4" + "src": "5082:1:0" } ], - "id": 1348, + "id": 320, "name": "ArrayTypeName", - "src": "5077:7:4" + "src": "5077:7:0" } ], - "id": 1349, + "id": 321, "name": "VariableDeclaration", - "src": "5077:18:4" + "src": "5077:18:0" } ], - "id": 1350, + "id": 322, "name": "VariableDeclarationStatement", - "src": "5077:18:4" + "src": "5077:18:0" }, { "attributes": { "assignments": [ - 1352 + 324 ], "initialValue": null }, @@ -19295,7 +19295,7 @@ "attributes": { "constant": false, "name": "success", - "scope": 1366, + "scope": 338, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -19308,65 +19308,65 @@ "name": "bool", "type": "bool" }, - "id": 1351, + "id": 323, "name": "ElementaryTypeName", - "src": "5105:4:4" + "src": "5105:4:0" } ], - "id": 1352, + "id": 324, "name": "VariableDeclaration", - "src": "5105:12:4" + "src": "5105:12:0" } ], - "id": 1353, + "id": 325, "name": "VariableDeclarationStatement", - "src": "5105:12:4" + "src": "5105:12:0" }, { "attributes": { "externalReferences": [ { "success": { - "declaration": 1352, + "declaration": 324, "isOffset": false, "isSlot": false, - "src": "5214:7:4", + "src": "5214:7:0", "valueSize": 1 } }, { "input": { - "declaration": 1240, + "declaration": 212, "isOffset": false, "isSlot": false, - "src": "5259:5:4", + "src": "5259:5:0", "valueSize": 1 } }, { "success": { - "declaration": 1352, + "declaration": 324, "isOffset": false, "isSlot": false, - "src": "5382:7:4", + "src": "5382:7:0", "valueSize": 1 } }, { "inputSize": { - "declaration": 1232, + "declaration": 204, "isOffset": false, "isSlot": false, - "src": "5277:9:4", + "src": "5277:9:0", "valueSize": 1 } }, { "out": { - "declaration": 1349, + "declaration": 321, "isOffset": false, "isSlot": false, - "src": "5295:3:4", + "src": "5295:3:0", "valueSize": 1 } } @@ -19374,9 +19374,9 @@ "operations": "{\n success := staticcall(sub(gas(), 2000), 8, add(input, 0x20), mul(inputSize, 0x20), out, 0x20)\n switch success\n case 0 { invalid() }\n}" }, "children": [], - "id": 1354, + "id": 326, "name": "InlineAssembly", - "src": "5191:229:4" + "src": "5191:229:0" }, { "children": [ @@ -19408,16 +19408,16 @@ } ], "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, + "referencedDeclaration": 1077, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 1355, + "id": 327, "name": "Identifier", - "src": "5429:7:4" + "src": "5429:7:0" }, { "attributes": { @@ -19425,13 +19425,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1352, + "referencedDeclaration": 324, "type": "bool", "value": "success" }, - "id": 1356, + "id": 328, "name": "Identifier", - "src": "5437:7:4" + "src": "5437:7:0" }, { "attributes": { @@ -19446,23 +19446,23 @@ "type": "literal_string \"pairing-opcode-failed\"", "value": "pairing-opcode-failed" }, - "id": 1357, + "id": 329, "name": "Literal", - "src": "5445:23:4" + "src": "5445:23:0" } ], - "id": 1358, + "id": 330, "name": "FunctionCall", - "src": "5429:40:4" + "src": "5429:40:0" } ], - "id": 1359, + "id": 331, "name": "ExpressionStatement", - "src": "5429:40:4" + "src": "5429:40:0" }, { "attributes": { - "functionReturnParameters": 1216 + "functionReturnParameters": 188 }, "children": [ { @@ -19496,13 +19496,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1349, + "referencedDeclaration": 321, "type": "uint256[1] memory", "value": "out" }, - "id": 1360, + "id": 332, "name": "Identifier", - "src": "5486:3:4" + "src": "5486:3:0" }, { "attributes": { @@ -19517,14 +19517,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1361, + "id": 333, "name": "Literal", - "src": "5490:1:4" + "src": "5490:1:0" } ], - "id": 1362, + "id": 334, "name": "IndexAccess", - "src": "5486:6:4" + "src": "5486:6:0" }, { "attributes": { @@ -19539,29 +19539,29 @@ "type": "int_const 0", "value": "0" }, - "id": 1363, + "id": 335, "name": "Literal", - "src": "5496:1:4" + "src": "5496:1:0" } ], - "id": 1364, + "id": 336, "name": "BinaryOperation", - "src": "5486:11:4" + "src": "5486:11:0" } ], - "id": 1365, + "id": 337, "name": "Return", - "src": "5479:18:4" + "src": "5479:18:0" } ], - "id": 1366, + "id": 338, "name": "Block", - "src": "4558:946:4" + "src": "4558:946:0" } ], - "id": 1367, + "id": 339, "name": "FunctionDefinition", - "src": "4470:1034:4" + "src": "4470:1034:0" }, { "attributes": { @@ -19573,7 +19573,7 @@ null ], "name": "pairingProd2", - "scope": 1605, + "scope": 577, "stateMutability": "view", "superFunction": null, "visibility": "internal" @@ -19585,7 +19585,7 @@ "attributes": { "constant": false, "name": "a1", - "scope": 1430, + "scope": 402, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -19597,23 +19597,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1368, + "id": 340, "name": "UserDefinedTypeName", - "src": "5593:7:4" + "src": "5593:7:0" } ], - "id": 1369, + "id": 341, "name": "VariableDeclaration", - "src": "5593:17:4" + "src": "5593:17:0" }, { "attributes": { "constant": false, "name": "a2", - "scope": 1430, + "scope": 402, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -19625,23 +19625,23 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1370, + "id": 342, "name": "UserDefinedTypeName", - "src": "5612:7:4" + "src": "5612:7:0" } ], - "id": 1371, + "id": 343, "name": "VariableDeclaration", - "src": "5612:17:4" + "src": "5612:17:0" }, { "attributes": { "constant": false, "name": "b1", - "scope": 1430, + "scope": 402, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -19653,23 +19653,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1372, + "id": 344, "name": "UserDefinedTypeName", - "src": "5631:7:4" + "src": "5631:7:0" } ], - "id": 1373, + "id": 345, "name": "VariableDeclaration", - "src": "5631:17:4" + "src": "5631:17:0" }, { "attributes": { "constant": false, "name": "b2", - "scope": 1430, + "scope": 402, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -19681,22 +19681,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1374, + "id": 346, "name": "UserDefinedTypeName", - "src": "5650:7:4" + "src": "5650:7:0" } ], - "id": 1375, + "id": 347, "name": "VariableDeclaration", - "src": "5650:17:4" + "src": "5650:17:0" } ], - "id": 1376, + "id": 348, "name": "ParameterList", - "src": "5592:76:4" + "src": "5592:76:0" }, { "children": [ @@ -19704,7 +19704,7 @@ "attributes": { "constant": false, "name": "", - "scope": 1430, + "scope": 402, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -19717,26 +19717,26 @@ "name": "bool", "type": "bool" }, - "id": 1377, + "id": 349, "name": "ElementaryTypeName", - "src": "5692:4:4" + "src": "5692:4:0" } ], - "id": 1378, + "id": 350, "name": "VariableDeclaration", - "src": "5692:4:4" + "src": "5692:4:0" } ], - "id": 1379, + "id": 351, "name": "ParameterList", - "src": "5691:6:4" + "src": "5691:6:0" }, { "children": [ { "attributes": { "assignments": [ - 1383 + 355 ] }, "children": [ @@ -19744,7 +19744,7 @@ "attributes": { "constant": false, "name": "p1", - "scope": 1429, + "scope": 401, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point[]", @@ -19762,22 +19762,22 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1381, + "id": 353, "name": "UserDefinedTypeName", - "src": "5708:7:4" + "src": "5708:7:0" } ], - "id": 1382, + "id": 354, "name": "ArrayTypeName", - "src": "5708:9:4" + "src": "5708:9:0" } ], - "id": 1383, + "id": 355, "name": "VariableDeclaration", - "src": "5708:19:4" + "src": "5708:19:0" }, { "attributes": { @@ -19819,22 +19819,22 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1384, + "id": 356, "name": "UserDefinedTypeName", - "src": "5734:7:4" + "src": "5734:7:0" } ], - "id": 1385, + "id": 357, "name": "ArrayTypeName", - "src": "5734:9:4" + "src": "5734:9:0" } ], - "id": 1386, + "id": 358, "name": "NewExpression", - "src": "5730:13:4" + "src": "5730:13:0" }, { "attributes": { @@ -19849,24 +19849,24 @@ "type": "int_const 2", "value": "2" }, - "id": 1387, + "id": 359, "name": "Literal", - "src": "5744:1:4" + "src": "5744:1:0" } ], - "id": 1388, + "id": 360, "name": "FunctionCall", - "src": "5730:16:4" + "src": "5730:16:0" } ], - "id": 1389, + "id": 361, "name": "VariableDeclarationStatement", - "src": "5708:38:4" + "src": "5708:38:0" }, { "attributes": { "assignments": [ - 1393 + 365 ] }, "children": [ @@ -19874,7 +19874,7 @@ "attributes": { "constant": false, "name": "p2", - "scope": 1429, + "scope": 401, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point[]", @@ -19892,22 +19892,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1391, + "id": 363, "name": "UserDefinedTypeName", - "src": "5756:7:4" + "src": "5756:7:0" } ], - "id": 1392, + "id": 364, "name": "ArrayTypeName", - "src": "5756:9:4" + "src": "5756:9:0" } ], - "id": 1393, + "id": 365, "name": "VariableDeclaration", - "src": "5756:19:4" + "src": "5756:19:0" }, { "attributes": { @@ -19949,22 +19949,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1394, + "id": 366, "name": "UserDefinedTypeName", - "src": "5782:7:4" + "src": "5782:7:0" } ], - "id": 1395, + "id": 367, "name": "ArrayTypeName", - "src": "5782:9:4" + "src": "5782:9:0" } ], - "id": 1396, + "id": 368, "name": "NewExpression", - "src": "5778:13:4" + "src": "5778:13:0" }, { "attributes": { @@ -19979,19 +19979,19 @@ "type": "int_const 2", "value": "2" }, - "id": 1397, + "id": 369, "name": "Literal", - "src": "5792:1:4" + "src": "5792:1:0" } ], - "id": 1398, + "id": 370, "name": "FunctionCall", - "src": "5778:16:4" + "src": "5778:16:0" } ], - "id": 1399, + "id": 371, "name": "VariableDeclarationStatement", - "src": "5756:38:4" + "src": "5756:38:0" }, { "children": [ @@ -20022,13 +20022,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1383, + "referencedDeclaration": 355, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1400, + "id": 372, "name": "Identifier", - "src": "5804:2:4" + "src": "5804:2:0" }, { "attributes": { @@ -20043,14 +20043,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1401, + "id": 373, "name": "Literal", - "src": "5807:1:4" + "src": "5807:1:0" } ], - "id": 1402, + "id": 374, "name": "IndexAccess", - "src": "5804:5:4" + "src": "5804:5:0" }, { "attributes": { @@ -20058,23 +20058,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1369, + "referencedDeclaration": 341, "type": "struct Pairing.G1Point memory", "value": "a1" }, - "id": 1403, + "id": 375, "name": "Identifier", - "src": "5812:2:4" + "src": "5812:2:0" } ], - "id": 1404, + "id": 376, "name": "Assignment", - "src": "5804:10:4" + "src": "5804:10:0" } ], - "id": 1405, + "id": 377, "name": "ExpressionStatement", - "src": "5804:10:4" + "src": "5804:10:0" }, { "children": [ @@ -20105,13 +20105,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1383, + "referencedDeclaration": 355, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1406, + "id": 378, "name": "Identifier", - "src": "5824:2:4" + "src": "5824:2:0" }, { "attributes": { @@ -20126,14 +20126,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1407, + "id": 379, "name": "Literal", - "src": "5827:1:4" + "src": "5827:1:0" } ], - "id": 1408, + "id": 380, "name": "IndexAccess", - "src": "5824:5:4" + "src": "5824:5:0" }, { "attributes": { @@ -20141,23 +20141,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1373, + "referencedDeclaration": 345, "type": "struct Pairing.G1Point memory", "value": "b1" }, - "id": 1409, + "id": 381, "name": "Identifier", - "src": "5832:2:4" + "src": "5832:2:0" } ], - "id": 1410, + "id": 382, "name": "Assignment", - "src": "5824:10:4" + "src": "5824:10:0" } ], - "id": 1411, + "id": 383, "name": "ExpressionStatement", - "src": "5824:10:4" + "src": "5824:10:0" }, { "children": [ @@ -20188,13 +20188,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1393, + "referencedDeclaration": 365, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1412, + "id": 384, "name": "Identifier", - "src": "5844:2:4" + "src": "5844:2:0" }, { "attributes": { @@ -20209,14 +20209,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1413, + "id": 385, "name": "Literal", - "src": "5847:1:4" + "src": "5847:1:0" } ], - "id": 1414, + "id": 386, "name": "IndexAccess", - "src": "5844:5:4" + "src": "5844:5:0" }, { "attributes": { @@ -20224,23 +20224,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1371, + "referencedDeclaration": 343, "type": "struct Pairing.G2Point memory", "value": "a2" }, - "id": 1415, + "id": 387, "name": "Identifier", - "src": "5852:2:4" + "src": "5852:2:0" } ], - "id": 1416, + "id": 388, "name": "Assignment", - "src": "5844:10:4" + "src": "5844:10:0" } ], - "id": 1417, + "id": 389, "name": "ExpressionStatement", - "src": "5844:10:4" + "src": "5844:10:0" }, { "children": [ @@ -20271,13 +20271,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1393, + "referencedDeclaration": 365, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1418, + "id": 390, "name": "Identifier", - "src": "5864:2:4" + "src": "5864:2:0" }, { "attributes": { @@ -20292,14 +20292,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1419, + "id": 391, "name": "Literal", - "src": "5867:1:4" + "src": "5867:1:0" } ], - "id": 1420, + "id": 392, "name": "IndexAccess", - "src": "5864:5:4" + "src": "5864:5:0" }, { "attributes": { @@ -20307,27 +20307,27 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1375, + "referencedDeclaration": 347, "type": "struct Pairing.G2Point memory", "value": "b2" }, - "id": 1421, + "id": 393, "name": "Identifier", - "src": "5872:2:4" + "src": "5872:2:0" } ], - "id": 1422, + "id": 394, "name": "Assignment", - "src": "5864:10:4" + "src": "5864:10:0" } ], - "id": 1423, + "id": 395, "name": "ExpressionStatement", - "src": "5864:10:4" + "src": "5864:10:0" }, { "attributes": { - "functionReturnParameters": 1379 + "functionReturnParameters": 351 }, "children": [ { @@ -20349,24 +20349,24 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" }, { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } ], "overloadedDeclarations": [ null ], - "referencedDeclaration": 1367, + "referencedDeclaration": 339, "type": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)", "value": "pairing" }, - "id": 1424, + "id": 396, "name": "Identifier", - "src": "5891:7:4" + "src": "5891:7:0" }, { "attributes": { @@ -20374,13 +20374,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1383, + "referencedDeclaration": 355, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1425, + "id": 397, "name": "Identifier", - "src": "5899:2:4" + "src": "5899:2:0" }, { "attributes": { @@ -20388,33 +20388,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1393, + "referencedDeclaration": 365, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1426, + "id": 398, "name": "Identifier", - "src": "5903:2:4" + "src": "5903:2:0" } ], - "id": 1427, + "id": 399, "name": "FunctionCall", - "src": "5891:15:4" + "src": "5891:15:0" } ], - "id": 1428, + "id": 400, "name": "Return", - "src": "5884:22:4" + "src": "5884:22:0" } ], - "id": 1429, + "id": 401, "name": "Block", - "src": "5698:215:4" + "src": "5698:215:0" } ], - "id": 1430, + "id": 402, "name": "FunctionDefinition", - "src": "5571:342:4" + "src": "5571:342:0" }, { "attributes": { @@ -20426,7 +20426,7 @@ null ], "name": "pairingProd3", - "scope": 1605, + "scope": 577, "stateMutability": "view", "superFunction": null, "visibility": "internal" @@ -20438,7 +20438,7 @@ "attributes": { "constant": false, "name": "a1", - "scope": 1509, + "scope": 481, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -20450,23 +20450,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1431, + "id": 403, "name": "UserDefinedTypeName", - "src": "6017:7:4" + "src": "6017:7:0" } ], - "id": 1432, + "id": 404, "name": "VariableDeclaration", - "src": "6017:17:4" + "src": "6017:17:0" }, { "attributes": { "constant": false, "name": "a2", - "scope": 1509, + "scope": 481, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -20478,23 +20478,23 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1433, + "id": 405, "name": "UserDefinedTypeName", - "src": "6036:7:4" + "src": "6036:7:0" } ], - "id": 1434, + "id": 406, "name": "VariableDeclaration", - "src": "6036:17:4" + "src": "6036:17:0" }, { "attributes": { "constant": false, "name": "b1", - "scope": 1509, + "scope": 481, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -20506,23 +20506,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1435, + "id": 407, "name": "UserDefinedTypeName", - "src": "6067:7:4" + "src": "6067:7:0" } ], - "id": 1436, + "id": 408, "name": "VariableDeclaration", - "src": "6067:17:4" + "src": "6067:17:0" }, { "attributes": { "constant": false, "name": "b2", - "scope": 1509, + "scope": 481, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -20534,23 +20534,23 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1437, + "id": 409, "name": "UserDefinedTypeName", - "src": "6086:7:4" + "src": "6086:7:0" } ], - "id": 1438, + "id": 410, "name": "VariableDeclaration", - "src": "6086:17:4" + "src": "6086:17:0" }, { "attributes": { "constant": false, "name": "c1", - "scope": 1509, + "scope": 481, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -20562,23 +20562,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1439, + "id": 411, "name": "UserDefinedTypeName", - "src": "6117:7:4" + "src": "6117:7:0" } ], - "id": 1440, + "id": 412, "name": "VariableDeclaration", - "src": "6117:17:4" + "src": "6117:17:0" }, { "attributes": { "constant": false, "name": "c2", - "scope": 1509, + "scope": 481, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -20590,22 +20590,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1441, + "id": 413, "name": "UserDefinedTypeName", - "src": "6136:7:4" + "src": "6136:7:0" } ], - "id": 1442, + "id": 414, "name": "VariableDeclaration", - "src": "6136:17:4" + "src": "6136:17:0" } ], - "id": 1443, + "id": 415, "name": "ParameterList", - "src": "6003:156:4" + "src": "6003:156:0" }, { "children": [ @@ -20613,7 +20613,7 @@ "attributes": { "constant": false, "name": "", - "scope": 1509, + "scope": 481, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -20626,26 +20626,26 @@ "name": "bool", "type": "bool" }, - "id": 1444, + "id": 416, "name": "ElementaryTypeName", - "src": "6183:4:4" + "src": "6183:4:0" } ], - "id": 1445, + "id": 417, "name": "VariableDeclaration", - "src": "6183:4:4" + "src": "6183:4:0" } ], - "id": 1446, + "id": 418, "name": "ParameterList", - "src": "6182:6:4" + "src": "6182:6:0" }, { "children": [ { "attributes": { "assignments": [ - 1450 + 422 ] }, "children": [ @@ -20653,7 +20653,7 @@ "attributes": { "constant": false, "name": "p1", - "scope": 1508, + "scope": 480, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point[]", @@ -20671,22 +20671,22 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1448, + "id": 420, "name": "UserDefinedTypeName", - "src": "6199:7:4" + "src": "6199:7:0" } ], - "id": 1449, + "id": 421, "name": "ArrayTypeName", - "src": "6199:9:4" + "src": "6199:9:0" } ], - "id": 1450, + "id": 422, "name": "VariableDeclaration", - "src": "6199:19:4" + "src": "6199:19:0" }, { "attributes": { @@ -20728,22 +20728,22 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1451, + "id": 423, "name": "UserDefinedTypeName", - "src": "6225:7:4" + "src": "6225:7:0" } ], - "id": 1452, + "id": 424, "name": "ArrayTypeName", - "src": "6225:9:4" + "src": "6225:9:0" } ], - "id": 1453, + "id": 425, "name": "NewExpression", - "src": "6221:13:4" + "src": "6221:13:0" }, { "attributes": { @@ -20758,24 +20758,24 @@ "type": "int_const 3", "value": "3" }, - "id": 1454, + "id": 426, "name": "Literal", - "src": "6235:1:4" + "src": "6235:1:0" } ], - "id": 1455, + "id": 427, "name": "FunctionCall", - "src": "6221:16:4" + "src": "6221:16:0" } ], - "id": 1456, + "id": 428, "name": "VariableDeclarationStatement", - "src": "6199:38:4" + "src": "6199:38:0" }, { "attributes": { "assignments": [ - 1460 + 432 ] }, "children": [ @@ -20783,7 +20783,7 @@ "attributes": { "constant": false, "name": "p2", - "scope": 1508, + "scope": 480, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point[]", @@ -20801,22 +20801,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1458, + "id": 430, "name": "UserDefinedTypeName", - "src": "6247:7:4" + "src": "6247:7:0" } ], - "id": 1459, + "id": 431, "name": "ArrayTypeName", - "src": "6247:9:4" + "src": "6247:9:0" } ], - "id": 1460, + "id": 432, "name": "VariableDeclaration", - "src": "6247:19:4" + "src": "6247:19:0" }, { "attributes": { @@ -20858,22 +20858,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1461, + "id": 433, "name": "UserDefinedTypeName", - "src": "6273:7:4" + "src": "6273:7:0" } ], - "id": 1462, + "id": 434, "name": "ArrayTypeName", - "src": "6273:9:4" + "src": "6273:9:0" } ], - "id": 1463, + "id": 435, "name": "NewExpression", - "src": "6269:13:4" + "src": "6269:13:0" }, { "attributes": { @@ -20888,19 +20888,19 @@ "type": "int_const 3", "value": "3" }, - "id": 1464, + "id": 436, "name": "Literal", - "src": "6283:1:4" + "src": "6283:1:0" } ], - "id": 1465, + "id": 437, "name": "FunctionCall", - "src": "6269:16:4" + "src": "6269:16:0" } ], - "id": 1466, + "id": 438, "name": "VariableDeclarationStatement", - "src": "6247:38:4" + "src": "6247:38:0" }, { "children": [ @@ -20931,13 +20931,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1450, + "referencedDeclaration": 422, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1467, + "id": 439, "name": "Identifier", - "src": "6295:2:4" + "src": "6295:2:0" }, { "attributes": { @@ -20952,14 +20952,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1468, + "id": 440, "name": "Literal", - "src": "6298:1:4" + "src": "6298:1:0" } ], - "id": 1469, + "id": 441, "name": "IndexAccess", - "src": "6295:5:4" + "src": "6295:5:0" }, { "attributes": { @@ -20967,23 +20967,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1432, + "referencedDeclaration": 404, "type": "struct Pairing.G1Point memory", "value": "a1" }, - "id": 1470, + "id": 442, "name": "Identifier", - "src": "6303:2:4" + "src": "6303:2:0" } ], - "id": 1471, + "id": 443, "name": "Assignment", - "src": "6295:10:4" + "src": "6295:10:0" } ], - "id": 1472, + "id": 444, "name": "ExpressionStatement", - "src": "6295:10:4" + "src": "6295:10:0" }, { "children": [ @@ -21014,13 +21014,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1450, + "referencedDeclaration": 422, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1473, + "id": 445, "name": "Identifier", - "src": "6315:2:4" + "src": "6315:2:0" }, { "attributes": { @@ -21035,14 +21035,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1474, + "id": 446, "name": "Literal", - "src": "6318:1:4" + "src": "6318:1:0" } ], - "id": 1475, + "id": 447, "name": "IndexAccess", - "src": "6315:5:4" + "src": "6315:5:0" }, { "attributes": { @@ -21050,23 +21050,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1436, + "referencedDeclaration": 408, "type": "struct Pairing.G1Point memory", "value": "b1" }, - "id": 1476, + "id": 448, "name": "Identifier", - "src": "6323:2:4" + "src": "6323:2:0" } ], - "id": 1477, + "id": 449, "name": "Assignment", - "src": "6315:10:4" + "src": "6315:10:0" } ], - "id": 1478, + "id": 450, "name": "ExpressionStatement", - "src": "6315:10:4" + "src": "6315:10:0" }, { "children": [ @@ -21097,13 +21097,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1450, + "referencedDeclaration": 422, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1479, + "id": 451, "name": "Identifier", - "src": "6335:2:4" + "src": "6335:2:0" }, { "attributes": { @@ -21118,14 +21118,14 @@ "type": "int_const 2", "value": "2" }, - "id": 1480, + "id": 452, "name": "Literal", - "src": "6338:1:4" + "src": "6338:1:0" } ], - "id": 1481, + "id": 453, "name": "IndexAccess", - "src": "6335:5:4" + "src": "6335:5:0" }, { "attributes": { @@ -21133,23 +21133,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1440, + "referencedDeclaration": 412, "type": "struct Pairing.G1Point memory", "value": "c1" }, - "id": 1482, + "id": 454, "name": "Identifier", - "src": "6343:2:4" + "src": "6343:2:0" } ], - "id": 1483, + "id": 455, "name": "Assignment", - "src": "6335:10:4" + "src": "6335:10:0" } ], - "id": 1484, + "id": 456, "name": "ExpressionStatement", - "src": "6335:10:4" + "src": "6335:10:0" }, { "children": [ @@ -21180,13 +21180,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1460, + "referencedDeclaration": 432, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1485, + "id": 457, "name": "Identifier", - "src": "6355:2:4" + "src": "6355:2:0" }, { "attributes": { @@ -21201,14 +21201,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1486, + "id": 458, "name": "Literal", - "src": "6358:1:4" + "src": "6358:1:0" } ], - "id": 1487, + "id": 459, "name": "IndexAccess", - "src": "6355:5:4" + "src": "6355:5:0" }, { "attributes": { @@ -21216,23 +21216,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1434, + "referencedDeclaration": 406, "type": "struct Pairing.G2Point memory", "value": "a2" }, - "id": 1488, + "id": 460, "name": "Identifier", - "src": "6363:2:4" + "src": "6363:2:0" } ], - "id": 1489, + "id": 461, "name": "Assignment", - "src": "6355:10:4" + "src": "6355:10:0" } ], - "id": 1490, + "id": 462, "name": "ExpressionStatement", - "src": "6355:10:4" + "src": "6355:10:0" }, { "children": [ @@ -21263,13 +21263,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1460, + "referencedDeclaration": 432, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1491, + "id": 463, "name": "Identifier", - "src": "6375:2:4" + "src": "6375:2:0" }, { "attributes": { @@ -21284,14 +21284,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1492, + "id": 464, "name": "Literal", - "src": "6378:1:4" + "src": "6378:1:0" } ], - "id": 1493, + "id": 465, "name": "IndexAccess", - "src": "6375:5:4" + "src": "6375:5:0" }, { "attributes": { @@ -21299,23 +21299,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1438, + "referencedDeclaration": 410, "type": "struct Pairing.G2Point memory", "value": "b2" }, - "id": 1494, + "id": 466, "name": "Identifier", - "src": "6383:2:4" + "src": "6383:2:0" } ], - "id": 1495, + "id": 467, "name": "Assignment", - "src": "6375:10:4" + "src": "6375:10:0" } ], - "id": 1496, + "id": 468, "name": "ExpressionStatement", - "src": "6375:10:4" + "src": "6375:10:0" }, { "children": [ @@ -21346,13 +21346,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1460, + "referencedDeclaration": 432, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1497, + "id": 469, "name": "Identifier", - "src": "6395:2:4" + "src": "6395:2:0" }, { "attributes": { @@ -21367,14 +21367,14 @@ "type": "int_const 2", "value": "2" }, - "id": 1498, + "id": 470, "name": "Literal", - "src": "6398:1:4" + "src": "6398:1:0" } ], - "id": 1499, + "id": 471, "name": "IndexAccess", - "src": "6395:5:4" + "src": "6395:5:0" }, { "attributes": { @@ -21382,27 +21382,27 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1442, + "referencedDeclaration": 414, "type": "struct Pairing.G2Point memory", "value": "c2" }, - "id": 1500, + "id": 472, "name": "Identifier", - "src": "6403:2:4" + "src": "6403:2:0" } ], - "id": 1501, + "id": 473, "name": "Assignment", - "src": "6395:10:4" + "src": "6395:10:0" } ], - "id": 1502, + "id": 474, "name": "ExpressionStatement", - "src": "6395:10:4" + "src": "6395:10:0" }, { "attributes": { - "functionReturnParameters": 1446 + "functionReturnParameters": 418 }, "children": [ { @@ -21424,24 +21424,24 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" }, { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } ], "overloadedDeclarations": [ null ], - "referencedDeclaration": 1367, + "referencedDeclaration": 339, "type": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)", "value": "pairing" }, - "id": 1503, + "id": 475, "name": "Identifier", - "src": "6422:7:4" + "src": "6422:7:0" }, { "attributes": { @@ -21449,13 +21449,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1450, + "referencedDeclaration": 422, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1504, + "id": 476, "name": "Identifier", - "src": "6430:2:4" + "src": "6430:2:0" }, { "attributes": { @@ -21463,33 +21463,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1460, + "referencedDeclaration": 432, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1505, + "id": 477, "name": "Identifier", - "src": "6434:2:4" + "src": "6434:2:0" } ], - "id": 1506, + "id": 478, "name": "FunctionCall", - "src": "6422:15:4" + "src": "6422:15:0" } ], - "id": 1507, + "id": 479, "name": "Return", - "src": "6415:22:4" + "src": "6415:22:0" } ], - "id": 1508, + "id": 480, "name": "Block", - "src": "6189:255:4" + "src": "6189:255:0" } ], - "id": 1509, + "id": 481, "name": "FunctionDefinition", - "src": "5982:462:4" + "src": "5982:462:0" }, { "attributes": { @@ -21501,7 +21501,7 @@ null ], "name": "pairingProd4", - "scope": 1605, + "scope": 577, "stateMutability": "view", "superFunction": null, "visibility": "internal" @@ -21513,7 +21513,7 @@ "attributes": { "constant": false, "name": "a1", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -21525,23 +21525,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1510, + "id": 482, "name": "UserDefinedTypeName", - "src": "6547:7:4" + "src": "6547:7:0" } ], - "id": 1511, + "id": 483, "name": "VariableDeclaration", - "src": "6547:17:4" + "src": "6547:17:0" }, { "attributes": { "constant": false, "name": "a2", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -21553,23 +21553,23 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1512, + "id": 484, "name": "UserDefinedTypeName", - "src": "6566:7:4" + "src": "6566:7:0" } ], - "id": 1513, + "id": 485, "name": "VariableDeclaration", - "src": "6566:17:4" + "src": "6566:17:0" }, { "attributes": { "constant": false, "name": "b1", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -21581,23 +21581,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1514, + "id": 486, "name": "UserDefinedTypeName", - "src": "6597:7:4" + "src": "6597:7:0" } ], - "id": 1515, + "id": 487, "name": "VariableDeclaration", - "src": "6597:17:4" + "src": "6597:17:0" }, { "attributes": { "constant": false, "name": "b2", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -21609,23 +21609,23 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1516, + "id": 488, "name": "UserDefinedTypeName", - "src": "6616:7:4" + "src": "6616:7:0" } ], - "id": 1517, + "id": 489, "name": "VariableDeclaration", - "src": "6616:17:4" + "src": "6616:17:0" }, { "attributes": { "constant": false, "name": "c1", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -21637,23 +21637,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1518, + "id": 490, "name": "UserDefinedTypeName", - "src": "6647:7:4" + "src": "6647:7:0" } ], - "id": 1519, + "id": 491, "name": "VariableDeclaration", - "src": "6647:17:4" + "src": "6647:17:0" }, { "attributes": { "constant": false, "name": "c2", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -21665,23 +21665,23 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1520, + "id": 492, "name": "UserDefinedTypeName", - "src": "6666:7:4" + "src": "6666:7:0" } ], - "id": 1521, + "id": 493, "name": "VariableDeclaration", - "src": "6666:17:4" + "src": "6666:17:0" }, { "attributes": { "constant": false, "name": "d1", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -21693,23 +21693,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1522, + "id": 494, "name": "UserDefinedTypeName", - "src": "6697:7:4" + "src": "6697:7:0" } ], - "id": 1523, + "id": 495, "name": "VariableDeclaration", - "src": "6697:17:4" + "src": "6697:17:0" }, { "attributes": { "constant": false, "name": "d2", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -21721,22 +21721,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1524, + "id": 496, "name": "UserDefinedTypeName", - "src": "6716:7:4" + "src": "6716:7:0" } ], - "id": 1525, + "id": 497, "name": "VariableDeclaration", - "src": "6716:17:4" + "src": "6716:17:0" } ], - "id": 1526, + "id": 498, "name": "ParameterList", - "src": "6533:206:4" + "src": "6533:206:0" }, { "children": [ @@ -21744,7 +21744,7 @@ "attributes": { "constant": false, "name": "", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -21757,26 +21757,26 @@ "name": "bool", "type": "bool" }, - "id": 1527, + "id": 499, "name": "ElementaryTypeName", - "src": "6763:4:4" + "src": "6763:4:0" } ], - "id": 1528, + "id": 500, "name": "VariableDeclaration", - "src": "6763:4:4" + "src": "6763:4:0" } ], - "id": 1529, + "id": 501, "name": "ParameterList", - "src": "6762:6:4" + "src": "6762:6:0" }, { "children": [ { "attributes": { "assignments": [ - 1533 + 505 ] }, "children": [ @@ -21784,7 +21784,7 @@ "attributes": { "constant": false, "name": "p1", - "scope": 1603, + "scope": 575, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point[]", @@ -21802,22 +21802,22 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1531, + "id": 503, "name": "UserDefinedTypeName", - "src": "6779:7:4" + "src": "6779:7:0" } ], - "id": 1532, + "id": 504, "name": "ArrayTypeName", - "src": "6779:9:4" + "src": "6779:9:0" } ], - "id": 1533, + "id": 505, "name": "VariableDeclaration", - "src": "6779:19:4" + "src": "6779:19:0" }, { "attributes": { @@ -21859,22 +21859,22 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1534, + "id": 506, "name": "UserDefinedTypeName", - "src": "6805:7:4" + "src": "6805:7:0" } ], - "id": 1535, + "id": 507, "name": "ArrayTypeName", - "src": "6805:9:4" + "src": "6805:9:0" } ], - "id": 1536, + "id": 508, "name": "NewExpression", - "src": "6801:13:4" + "src": "6801:13:0" }, { "attributes": { @@ -21889,24 +21889,24 @@ "type": "int_const 4", "value": "4" }, - "id": 1537, + "id": 509, "name": "Literal", - "src": "6815:1:4" + "src": "6815:1:0" } ], - "id": 1538, + "id": 510, "name": "FunctionCall", - "src": "6801:16:4" + "src": "6801:16:0" } ], - "id": 1539, + "id": 511, "name": "VariableDeclarationStatement", - "src": "6779:38:4" + "src": "6779:38:0" }, { "attributes": { "assignments": [ - 1543 + 515 ] }, "children": [ @@ -21914,7 +21914,7 @@ "attributes": { "constant": false, "name": "p2", - "scope": 1603, + "scope": 575, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point[]", @@ -21932,22 +21932,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1541, + "id": 513, "name": "UserDefinedTypeName", - "src": "6827:7:4" + "src": "6827:7:0" } ], - "id": 1542, + "id": 514, "name": "ArrayTypeName", - "src": "6827:9:4" + "src": "6827:9:0" } ], - "id": 1543, + "id": 515, "name": "VariableDeclaration", - "src": "6827:19:4" + "src": "6827:19:0" }, { "attributes": { @@ -21989,22 +21989,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1544, + "id": 516, "name": "UserDefinedTypeName", - "src": "6853:7:4" + "src": "6853:7:0" } ], - "id": 1545, + "id": 517, "name": "ArrayTypeName", - "src": "6853:9:4" + "src": "6853:9:0" } ], - "id": 1546, + "id": 518, "name": "NewExpression", - "src": "6849:13:4" + "src": "6849:13:0" }, { "attributes": { @@ -22019,19 +22019,19 @@ "type": "int_const 4", "value": "4" }, - "id": 1547, + "id": 519, "name": "Literal", - "src": "6863:1:4" + "src": "6863:1:0" } ], - "id": 1548, + "id": 520, "name": "FunctionCall", - "src": "6849:16:4" + "src": "6849:16:0" } ], - "id": 1549, + "id": 521, "name": "VariableDeclarationStatement", - "src": "6827:38:4" + "src": "6827:38:0" }, { "children": [ @@ -22062,13 +22062,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1533, + "referencedDeclaration": 505, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1550, + "id": 522, "name": "Identifier", - "src": "6875:2:4" + "src": "6875:2:0" }, { "attributes": { @@ -22083,14 +22083,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1551, + "id": 523, "name": "Literal", - "src": "6878:1:4" + "src": "6878:1:0" } ], - "id": 1552, + "id": 524, "name": "IndexAccess", - "src": "6875:5:4" + "src": "6875:5:0" }, { "attributes": { @@ -22098,23 +22098,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1511, + "referencedDeclaration": 483, "type": "struct Pairing.G1Point memory", "value": "a1" }, - "id": 1553, + "id": 525, "name": "Identifier", - "src": "6883:2:4" + "src": "6883:2:0" } ], - "id": 1554, + "id": 526, "name": "Assignment", - "src": "6875:10:4" + "src": "6875:10:0" } ], - "id": 1555, + "id": 527, "name": "ExpressionStatement", - "src": "6875:10:4" + "src": "6875:10:0" }, { "children": [ @@ -22145,13 +22145,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1533, + "referencedDeclaration": 505, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1556, + "id": 528, "name": "Identifier", - "src": "6895:2:4" + "src": "6895:2:0" }, { "attributes": { @@ -22166,14 +22166,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1557, + "id": 529, "name": "Literal", - "src": "6898:1:4" + "src": "6898:1:0" } ], - "id": 1558, + "id": 530, "name": "IndexAccess", - "src": "6895:5:4" + "src": "6895:5:0" }, { "attributes": { @@ -22181,23 +22181,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1515, + "referencedDeclaration": 487, "type": "struct Pairing.G1Point memory", "value": "b1" }, - "id": 1559, + "id": 531, "name": "Identifier", - "src": "6903:2:4" + "src": "6903:2:0" } ], - "id": 1560, + "id": 532, "name": "Assignment", - "src": "6895:10:4" + "src": "6895:10:0" } ], - "id": 1561, + "id": 533, "name": "ExpressionStatement", - "src": "6895:10:4" + "src": "6895:10:0" }, { "children": [ @@ -22228,13 +22228,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1533, + "referencedDeclaration": 505, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1562, + "id": 534, "name": "Identifier", - "src": "6915:2:4" + "src": "6915:2:0" }, { "attributes": { @@ -22249,14 +22249,14 @@ "type": "int_const 2", "value": "2" }, - "id": 1563, + "id": 535, "name": "Literal", - "src": "6918:1:4" + "src": "6918:1:0" } ], - "id": 1564, + "id": 536, "name": "IndexAccess", - "src": "6915:5:4" + "src": "6915:5:0" }, { "attributes": { @@ -22264,23 +22264,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1519, + "referencedDeclaration": 491, "type": "struct Pairing.G1Point memory", "value": "c1" }, - "id": 1565, + "id": 537, "name": "Identifier", - "src": "6923:2:4" + "src": "6923:2:0" } ], - "id": 1566, + "id": 538, "name": "Assignment", - "src": "6915:10:4" + "src": "6915:10:0" } ], - "id": 1567, + "id": 539, "name": "ExpressionStatement", - "src": "6915:10:4" + "src": "6915:10:0" }, { "children": [ @@ -22311,13 +22311,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1533, + "referencedDeclaration": 505, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1568, + "id": 540, "name": "Identifier", - "src": "6935:2:4" + "src": "6935:2:0" }, { "attributes": { @@ -22332,14 +22332,14 @@ "type": "int_const 3", "value": "3" }, - "id": 1569, + "id": 541, "name": "Literal", - "src": "6938:1:4" + "src": "6938:1:0" } ], - "id": 1570, + "id": 542, "name": "IndexAccess", - "src": "6935:5:4" + "src": "6935:5:0" }, { "attributes": { @@ -22347,23 +22347,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1523, + "referencedDeclaration": 495, "type": "struct Pairing.G1Point memory", "value": "d1" }, - "id": 1571, + "id": 543, "name": "Identifier", - "src": "6943:2:4" + "src": "6943:2:0" } ], - "id": 1572, + "id": 544, "name": "Assignment", - "src": "6935:10:4" + "src": "6935:10:0" } ], - "id": 1573, + "id": 545, "name": "ExpressionStatement", - "src": "6935:10:4" + "src": "6935:10:0" }, { "children": [ @@ -22394,13 +22394,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1543, + "referencedDeclaration": 515, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1574, + "id": 546, "name": "Identifier", - "src": "6955:2:4" + "src": "6955:2:0" }, { "attributes": { @@ -22415,14 +22415,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1575, + "id": 547, "name": "Literal", - "src": "6958:1:4" + "src": "6958:1:0" } ], - "id": 1576, + "id": 548, "name": "IndexAccess", - "src": "6955:5:4" + "src": "6955:5:0" }, { "attributes": { @@ -22430,23 +22430,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1513, + "referencedDeclaration": 485, "type": "struct Pairing.G2Point memory", "value": "a2" }, - "id": 1577, + "id": 549, "name": "Identifier", - "src": "6963:2:4" + "src": "6963:2:0" } ], - "id": 1578, + "id": 550, "name": "Assignment", - "src": "6955:10:4" + "src": "6955:10:0" } ], - "id": 1579, + "id": 551, "name": "ExpressionStatement", - "src": "6955:10:4" + "src": "6955:10:0" }, { "children": [ @@ -22477,13 +22477,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1543, + "referencedDeclaration": 515, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1580, + "id": 552, "name": "Identifier", - "src": "6975:2:4" + "src": "6975:2:0" }, { "attributes": { @@ -22498,14 +22498,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1581, + "id": 553, "name": "Literal", - "src": "6978:1:4" + "src": "6978:1:0" } ], - "id": 1582, + "id": 554, "name": "IndexAccess", - "src": "6975:5:4" + "src": "6975:5:0" }, { "attributes": { @@ -22513,23 +22513,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1517, + "referencedDeclaration": 489, "type": "struct Pairing.G2Point memory", "value": "b2" }, - "id": 1583, + "id": 555, "name": "Identifier", - "src": "6983:2:4" + "src": "6983:2:0" } ], - "id": 1584, + "id": 556, "name": "Assignment", - "src": "6975:10:4" + "src": "6975:10:0" } ], - "id": 1585, + "id": 557, "name": "ExpressionStatement", - "src": "6975:10:4" + "src": "6975:10:0" }, { "children": [ @@ -22560,13 +22560,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1543, + "referencedDeclaration": 515, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1586, + "id": 558, "name": "Identifier", - "src": "6995:2:4" + "src": "6995:2:0" }, { "attributes": { @@ -22581,14 +22581,14 @@ "type": "int_const 2", "value": "2" }, - "id": 1587, + "id": 559, "name": "Literal", - "src": "6998:1:4" + "src": "6998:1:0" } ], - "id": 1588, + "id": 560, "name": "IndexAccess", - "src": "6995:5:4" + "src": "6995:5:0" }, { "attributes": { @@ -22596,23 +22596,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1521, + "referencedDeclaration": 493, "type": "struct Pairing.G2Point memory", "value": "c2" }, - "id": 1589, + "id": 561, "name": "Identifier", - "src": "7003:2:4" + "src": "7003:2:0" } ], - "id": 1590, + "id": 562, "name": "Assignment", - "src": "6995:10:4" + "src": "6995:10:0" } ], - "id": 1591, + "id": 563, "name": "ExpressionStatement", - "src": "6995:10:4" + "src": "6995:10:0" }, { "children": [ @@ -22643,13 +22643,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1543, + "referencedDeclaration": 515, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1592, + "id": 564, "name": "Identifier", - "src": "7015:2:4" + "src": "7015:2:0" }, { "attributes": { @@ -22664,14 +22664,14 @@ "type": "int_const 3", "value": "3" }, - "id": 1593, + "id": 565, "name": "Literal", - "src": "7018:1:4" + "src": "7018:1:0" } ], - "id": 1594, + "id": 566, "name": "IndexAccess", - "src": "7015:5:4" + "src": "7015:5:0" }, { "attributes": { @@ -22679,27 +22679,27 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1525, + "referencedDeclaration": 497, "type": "struct Pairing.G2Point memory", "value": "d2" }, - "id": 1595, + "id": 567, "name": "Identifier", - "src": "7023:2:4" + "src": "7023:2:0" } ], - "id": 1596, + "id": 568, "name": "Assignment", - "src": "7015:10:4" + "src": "7015:10:0" } ], - "id": 1597, + "id": 569, "name": "ExpressionStatement", - "src": "7015:10:4" + "src": "7015:10:0" }, { "attributes": { - "functionReturnParameters": 1529 + "functionReturnParameters": 501 }, "children": [ { @@ -22721,24 +22721,24 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" }, { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } ], "overloadedDeclarations": [ null ], - "referencedDeclaration": 1367, + "referencedDeclaration": 339, "type": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)", "value": "pairing" }, - "id": 1598, + "id": 570, "name": "Identifier", - "src": "7042:7:4" + "src": "7042:7:0" }, { "attributes": { @@ -22746,13 +22746,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1533, + "referencedDeclaration": 505, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1599, + "id": 571, "name": "Identifier", - "src": "7050:2:4" + "src": "7050:2:0" }, { "attributes": { @@ -22760,38 +22760,38 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1543, + "referencedDeclaration": 515, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1600, + "id": 572, "name": "Identifier", - "src": "7054:2:4" + "src": "7054:2:0" } ], - "id": 1601, + "id": 573, "name": "FunctionCall", - "src": "7042:15:4" + "src": "7042:15:0" } ], - "id": 1602, + "id": 574, "name": "Return", - "src": "7035:22:4" + "src": "7035:22:0" } ], - "id": 1603, + "id": 575, "name": "Block", - "src": "6769:295:4" + "src": "6769:295:0" } ], - "id": 1604, + "id": 576, "name": "FunctionDefinition", - "src": "6512:552:4" + "src": "6512:552:0" } ], - "id": 1605, + "id": 577, "name": "ContractDefinition", - "src": "1217:5849:4" + "src": "1217:5849:0" }, { "attributes": { @@ -22805,10 +22805,10 @@ "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ - 2086 + 1058 ], "name": "Verifier", - "scope": 2087 + "scope": 1059 }, "children": [ { @@ -22820,23 +22820,23 @@ "attributes": { "contractScope": null, "name": "Pairing", - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "library Pairing" }, - "id": 1606, + "id": 578, "name": "UserDefinedTypeName", - "src": "7097:7:4" + "src": "7097:7:0" } ], - "id": 1607, + "id": 579, "name": "UsingForDirective", - "src": "7091:20:4" + "src": "7091:20:0" }, { "attributes": { "canonicalName": "Verifier.VerifyingKey", "name": "VerifyingKey", - "scope": 2086, + "scope": 1058, "visibility": "public" }, "children": [ @@ -22844,7 +22844,7 @@ "attributes": { "constant": false, "name": "alfa1", - "scope": 1619, + "scope": 591, "stateVariable": false, "storageLocation": "default", "type": "struct Pairing.G1Point", @@ -22856,23 +22856,23 @@ "attributes": { "contractScope": null, "name": "Pairing.G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1608, + "id": 580, "name": "UserDefinedTypeName", - "src": "7146:15:4" + "src": "7146:15:0" } ], - "id": 1609, + "id": 581, "name": "VariableDeclaration", - "src": "7146:21:4" + "src": "7146:21:0" }, { "attributes": { "constant": false, "name": "beta2", - "scope": 1619, + "scope": 591, "stateVariable": false, "storageLocation": "default", "type": "struct Pairing.G2Point", @@ -22884,23 +22884,23 @@ "attributes": { "contractScope": null, "name": "Pairing.G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1610, + "id": 582, "name": "UserDefinedTypeName", - "src": "7177:15:4" + "src": "7177:15:0" } ], - "id": 1611, + "id": 583, "name": "VariableDeclaration", - "src": "7177:21:4" + "src": "7177:21:0" }, { "attributes": { "constant": false, "name": "gamma2", - "scope": 1619, + "scope": 591, "stateVariable": false, "storageLocation": "default", "type": "struct Pairing.G2Point", @@ -22912,23 +22912,23 @@ "attributes": { "contractScope": null, "name": "Pairing.G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1612, + "id": 584, "name": "UserDefinedTypeName", - "src": "7208:15:4" + "src": "7208:15:0" } ], - "id": 1613, + "id": 585, "name": "VariableDeclaration", - "src": "7208:22:4" + "src": "7208:22:0" }, { "attributes": { "constant": false, "name": "delta2", - "scope": 1619, + "scope": 591, "stateVariable": false, "storageLocation": "default", "type": "struct Pairing.G2Point", @@ -22940,23 +22940,23 @@ "attributes": { "contractScope": null, "name": "Pairing.G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1614, + "id": 586, "name": "UserDefinedTypeName", - "src": "7240:15:4" + "src": "7240:15:0" } ], - "id": 1615, + "id": 587, "name": "VariableDeclaration", - "src": "7240:22:4" + "src": "7240:22:0" }, { "attributes": { "constant": false, "name": "IC", - "scope": 1619, + "scope": 591, "stateVariable": false, "storageLocation": "default", "type": "struct Pairing.G1Point[]", @@ -22974,33 +22974,33 @@ "attributes": { "contractScope": null, "name": "Pairing.G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1616, + "id": 588, "name": "UserDefinedTypeName", - "src": "7272:15:4" + "src": "7272:15:0" } ], - "id": 1617, + "id": 589, "name": "ArrayTypeName", - "src": "7272:17:4" + "src": "7272:17:0" } ], - "id": 1618, + "id": 590, "name": "VariableDeclaration", - "src": "7272:20:4" + "src": "7272:20:0" } ], - "id": 1619, + "id": 591, "name": "StructDefinition", - "src": "7116:183:4" + "src": "7116:183:0" }, { "attributes": { "canonicalName": "Verifier.Proof", "name": "Proof", - "scope": 2086, + "scope": 1058, "visibility": "public" }, "children": [ @@ -23008,7 +23008,7 @@ "attributes": { "constant": false, "name": "A", - "scope": 1626, + "scope": 598, "stateVariable": false, "storageLocation": "default", "type": "struct Pairing.G1Point", @@ -23020,23 +23020,23 @@ "attributes": { "contractScope": null, "name": "Pairing.G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1620, + "id": 592, "name": "UserDefinedTypeName", - "src": "7327:15:4" + "src": "7327:15:0" } ], - "id": 1621, + "id": 593, "name": "VariableDeclaration", - "src": "7327:17:4" + "src": "7327:17:0" }, { "attributes": { "constant": false, "name": "B", - "scope": 1626, + "scope": 598, "stateVariable": false, "storageLocation": "default", "type": "struct Pairing.G2Point", @@ -23048,23 +23048,23 @@ "attributes": { "contractScope": null, "name": "Pairing.G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1622, + "id": 594, "name": "UserDefinedTypeName", - "src": "7354:15:4" + "src": "7354:15:0" } ], - "id": 1623, + "id": 595, "name": "VariableDeclaration", - "src": "7354:17:4" + "src": "7354:17:0" }, { "attributes": { "constant": false, "name": "C", - "scope": 1626, + "scope": 598, "stateVariable": false, "storageLocation": "default", "type": "struct Pairing.G1Point", @@ -23076,22 +23076,22 @@ "attributes": { "contractScope": null, "name": "Pairing.G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1624, + "id": 596, "name": "UserDefinedTypeName", - "src": "7381:15:4" + "src": "7381:15:0" } ], - "id": 1625, + "id": 597, "name": "VariableDeclaration", - "src": "7381:17:4" + "src": "7381:17:0" } ], - "id": 1626, + "id": 598, "name": "StructDefinition", - "src": "7304:101:4" + "src": "7304:101:0" }, { "attributes": { @@ -23103,7 +23103,7 @@ null ], "name": "verifyingKey", - "scope": 2086, + "scope": 1058, "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -23116,9 +23116,9 @@ ] }, "children": [], - "id": 1627, + "id": 599, "name": "ParameterList", - "src": "7431:2:4" + "src": "7431:2:0" }, { "children": [ @@ -23126,7 +23126,7 @@ "attributes": { "constant": false, "name": "vk", - "scope": 1778, + "scope": 750, "stateVariable": false, "storageLocation": "memory", "type": "struct Verifier.VerifyingKey", @@ -23138,22 +23138,22 @@ "attributes": { "contractScope": null, "name": "VerifyingKey", - "referencedDeclaration": 1619, + "referencedDeclaration": 591, "type": "struct Verifier.VerifyingKey" }, - "id": 1628, + "id": 600, "name": "UserDefinedTypeName", - "src": "7457:12:4" + "src": "7457:12:0" } ], - "id": 1629, + "id": 601, "name": "VariableDeclaration", - "src": "7457:22:4" + "src": "7457:22:0" } ], - "id": 1630, + "id": 602, "name": "ParameterList", - "src": "7456:24:4" + "src": "7456:24:0" }, { "children": [ @@ -23178,7 +23178,7 @@ "isPure": false, "lValueRequested": true, "member_name": "alfa1", - "referencedDeclaration": 1609, + "referencedDeclaration": 581, "type": "struct Pairing.G1Point memory" }, "children": [ @@ -23188,18 +23188,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1631, + "id": 603, "name": "Identifier", - "src": "7491:2:4" + "src": "7491:2:0" } ], - "id": 1633, + "id": 605, "name": "MemberAccess", - "src": "7491:8:4" + "src": "7491:8:0" }, { "attributes": { @@ -23220,12 +23220,12 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_rational_12460490708279467301202778391127510537683948258096796922127174268009168016746_by_1", - "typeString": "int_const 1246...(69 digits omitted)...6746" + "typeIdentifier": "t_rational_18657542331331594053741415770570506550706569498961410954133033897989591401189_by_1", + "typeString": "int_const 1865...(69 digits omitted)...1189" }, { - "typeIdentifier": "t_rational_2044073673724661651577421329709273081857081212805872863635504960509226496242_by_1", - "typeString": "int_const 2044...(68 digits omitted)...6242" + "typeIdentifier": "t_rational_6264260897865443982211421147903875993071737418978097054373843876593191958554_by_1", + "typeString": "int_const 6264...(68 digits omitted)...8554" } ], "isConstant": false, @@ -23233,7 +23233,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -23243,67 +23243,67 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1634, + "id": 606, "name": "Identifier", - "src": "7502:7:4" + "src": "7502:7:0" } ], - "id": 1635, + "id": 607, "name": "MemberAccess", - "src": "7502:15:4" + "src": "7502:15:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "3132343630343930373038323739343637333031323032373738333931313237353130353337363833393438323538303936373936393232313237313734323638303039313638303136373436", + "hexvalue": "3138363537353432333331333331353934303533373431343135373730353730353036353530373036353639343938393631343130393534313333303333383937393839353931343031313839", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1246...(69 digits omitted)...6746", - "value": "12460490708279467301202778391127510537683948258096796922127174268009168016746" + "type": "int_const 1865...(69 digits omitted)...1189", + "value": "18657542331331594053741415770570506550706569498961410954133033897989591401189" }, - "id": 1636, + "id": 608, "name": "Literal", - "src": "7518:77:4" + "src": "7518:77:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "32303434303733363733373234363631363531353737343231333239373039323733303831383537303831323132383035383732383633363335353034393630353039323236343936323432", + "hexvalue": "36323634323630383937383635343433393832323131343231313437393033383735393933303731373337343138393738303937303534333733383433383736353933313931393538353534", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 2044...(68 digits omitted)...6242", - "value": "2044073673724661651577421329709273081857081212805872863635504960509226496242" + "type": "int_const 6264...(68 digits omitted)...8554", + "value": "6264260897865443982211421147903875993071737418978097054373843876593191958554" }, - "id": 1637, + "id": 609, "name": "Literal", - "src": "7596:76:4" + "src": "7596:76:0" } ], - "id": 1638, + "id": 610, "name": "FunctionCall", - "src": "7502:171:4" + "src": "7502:171:0" } ], - "id": 1639, + "id": 611, "name": "Assignment", - "src": "7491:182:4" + "src": "7491:182:0" } ], - "id": 1640, + "id": 612, "name": "ExpressionStatement", - "src": "7491:182:4" + "src": "7491:182:0" }, { "children": [ @@ -23326,7 +23326,7 @@ "isPure": false, "lValueRequested": true, "member_name": "beta2", - "referencedDeclaration": 1611, + "referencedDeclaration": 583, "type": "struct Pairing.G2Point memory" }, "children": [ @@ -23336,18 +23336,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1641, + "id": 613, "name": "Identifier", - "src": "7683:2:4" + "src": "7683:2:0" } ], - "id": 1643, + "id": 615, "name": "MemberAccess", - "src": "7683:8:4" + "src": "7683:8:0" }, { "attributes": { @@ -23381,7 +23381,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "type(struct Pairing.G2Point storage pointer)" }, "children": [ @@ -23391,18 +23391,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1644, + "id": 616, "name": "Identifier", - "src": "7694:7:4" + "src": "7694:7:0" } ], - "id": 1645, + "id": 617, "name": "MemberAccess", - "src": "7694:15:4" + "src": "7694:15:0" }, { "attributes": { @@ -23418,41 +23418,41 @@ { "attributes": { "argumentTypes": null, - "hexvalue": "3136303837343930313933383736313631363337343438303435373034383837393233333934303730373439333031373239343031303432353238323037373830333037333533313438373534", + "hexvalue": "3136313435313436343933313035303531373331383335353737343331343636353232373737333132353536373132313032363432323538353836363034313536393635363438343839333233", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1608...(69 digits omitted)...8754", - "value": "16087490193876161637448045704887923394070749301729401042528207780307353148754" + "type": "int_const 1614...(69 digits omitted)...9323", + "value": "16145146493105051731835577431466522777312556712102642258586604156965648489323" }, - "id": 1646, + "id": 618, "name": "Literal", - "src": "7711:77:4" + "src": "7711:77:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "34303437333135353438323330373136363730373932373131333634313439343830363238303436353434363338373339343331393436313130383337343130343033393232393533333032", + "hexvalue": "31343038333937393037363330313738303834343735383431363238323838393739353630303331303737393233313631373230323930363536363435363930383838353134393030363930", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 4047...(68 digits omitted)...3302", - "value": "4047315548230716670792711364149480628046544638739431946110837410403922953302" + "type": "int_const 1408...(68 digits omitted)...0690", + "value": "1408397907630178084475841628288979560031077923161720290656645690888514900690" }, - "id": 1647, + "id": 619, "name": "Literal", - "src": "7789:76:4" + "src": "7789:76:0" } ], - "id": 1648, + "id": 620, "name": "TupleExpression", - "src": "7710:156:4" + "src": "7710:156:0" }, { "attributes": { @@ -23468,56 +23468,56 @@ { "attributes": { "argumentTypes": null, - "hexvalue": "3134323633313537353839393235353033303235353238373932353232343434313030303538373731343134363933323733393435313439303332383839393230373735353938323431353138", + "hexvalue": "3131393738393335343638313130393336343739343532353430343736363835363530393633323533353433343438343434343931303432343438363032393939323936353030383737353330", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1426...(69 digits omitted)...1518", - "value": "14263157589925503025528792522444100058771414693273945149032889920775598241518" + "type": "int_const 1197...(69 digits omitted)...7530", + "value": "11978935468110936479452540476685650963253543448444491042448602999296500877530" }, - "id": 1649, + "id": 621, "name": "Literal", - "src": "7869:77:4" + "src": "7869:77:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "32343033303839383232303531383538363434393835383038313639343634373537333735323530333032373535353932393934303039323934313130323337363136353532353935373538", + "hexvalue": "313132393138303633363430313434343033393532333737383335333234303635393136373732393238363330313236363434343836353738393636313932383934353237383434323432", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 2403...(68 digits omitted)...5758", - "value": "2403089822051858644985808169464757375250302755592994009294110237616552595758" + "type": "int_const 1129...(67 digits omitted)...4242", + "value": "112918063640144403952377835324065916772928630126644486578966192894527844242" }, - "id": 1650, + "id": 622, "name": "Literal", - "src": "7947:76:4" + "src": "7947:75:0" } ], - "id": 1651, + "id": 623, "name": "TupleExpression", - "src": "7868:156:4" + "src": "7868:155:0" } ], - "id": 1652, + "id": 624, "name": "FunctionCall", - "src": "7694:331:4" + "src": "7694:330:0" } ], - "id": 1653, + "id": 625, "name": "Assignment", - "src": "7683:342:4" + "src": "7683:341:0" } ], - "id": 1654, + "id": 626, "name": "ExpressionStatement", - "src": "7683:342:4" + "src": "7683:341:0" }, { "children": [ @@ -23540,7 +23540,7 @@ "isPure": false, "lValueRequested": true, "member_name": "gamma2", - "referencedDeclaration": 1613, + "referencedDeclaration": 585, "type": "struct Pairing.G2Point memory" }, "children": [ @@ -23550,18 +23550,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1655, + "id": 627, "name": "Identifier", - "src": "8035:2:4" + "src": "8034:2:0" } ], - "id": 1657, + "id": 629, "name": "MemberAccess", - "src": "8035:9:4" + "src": "8034:9:0" }, { "attributes": { @@ -23595,7 +23595,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "type(struct Pairing.G2Point storage pointer)" }, "children": [ @@ -23605,18 +23605,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1658, + "id": 630, "name": "Identifier", - "src": "8047:7:4" + "src": "8046:7:0" } ], - "id": 1659, + "id": 631, "name": "MemberAccess", - "src": "8047:15:4" + "src": "8046:15:0" }, { "attributes": { @@ -23632,41 +23632,41 @@ { "attributes": { "argumentTypes": null, - "hexvalue": "3138313233323736333034313237313630343338333933383031303838373137333138373831313938313332393631333938373933373630383132373439323537313836303633303134333337", + "hexvalue": "3134373134313631353431343732313930383430373036343037343630353737353730343731393535303230333833313634313237303134303434393639313439383435303939303839303433", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1812...(69 digits omitted)...4337", - "value": "18123276304127160438393801088717318781198132961398793760812749257186063014337" + "type": "int_const 1471...(69 digits omitted)...9043", + "value": "14714161541472190840706407460577570471955020383164127014044969149845099089043" }, - "id": 1660, + "id": 632, "name": "Literal", - "src": "8064:77:4" + "src": "8063:77:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "3137363037343233313035333133333335353235343332383639363637363739333532363234393234303636353935373537303332373137373832333939383232323537303230353033313337", + "hexvalue": "3231313534343035353736323436383139383930343830383537323631383133323435383733323930313137393232343936343631323434393531343337313030363739383032353939333032", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1760...(69 digits omitted)...3137", - "value": "17607423105313335525432869667679352624924066595757032717782399822257020503137" + "type": "int_const 2115...(69 digits omitted)...9302", + "value": "21154405576246819890480857261813245873290117922496461244951437100679802599302" }, - "id": 1661, + "id": 633, "name": "Literal", - "src": "8142:77:4" + "src": "8141:77:0" } ], - "id": 1662, + "id": 634, "name": "TupleExpression", - "src": "8063:157:4" + "src": "8062:157:0" }, { "attributes": { @@ -23682,56 +23682,56 @@ { "attributes": { "argumentTypes": null, - "hexvalue": "3131303235353831333239363530303437363531363739373537303836333838373234313637343735323139343036393133313134323730343938343330383838343833353236303130363834", + "hexvalue": "31383430303831383330323737393035383338373434333731383238353331383131313139363337333632303737373533303536363737333334383430303137363538333138353638333930", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1102...(69 digits omitted)...0684", - "value": "11025581329650047651679757086388724167475219406913114270498430888483526010684" + "type": "int_const 1840...(68 digits omitted)...8390", + "value": "1840081830277905838744371828531811119637362077753056677334840017658318568390" }, - "id": 1663, + "id": 635, "name": "Literal", - "src": "8223:77:4" + "src": "8222:76:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "3137323233303432313133303632303330353536323738383136363934363631393730333331363937323334393232363936303132303133313737313934373233353439353238343734323031", + "hexvalue": "343130393731373630383735323538323535303030373030313435393538393431343730393730343634343539353131323437393531383435323935373439313935353431363734373730", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1722...(69 digits omitted)...4201", - "value": "17223042113062030556278816694661970331697234922696012013177194723549528474201" + "type": "int_const 4109...(67 digits omitted)...4770", + "value": "410971760875258255000700145958941470970464459511247951845295749195541674770" }, - "id": 1664, + "id": 636, "name": "Literal", - "src": "8301:77:4" + "src": "8299:75:0" } ], - "id": 1665, + "id": 637, "name": "TupleExpression", - "src": "8222:157:4" + "src": "8221:154:0" } ], - "id": 1666, + "id": 638, "name": "FunctionCall", - "src": "8047:333:4" + "src": "8046:330:0" } ], - "id": 1667, + "id": 639, "name": "Assignment", - "src": "8035:345:4" + "src": "8034:342:0" } ], - "id": 1668, + "id": 640, "name": "ExpressionStatement", - "src": "8035:345:4" + "src": "8034:342:0" }, { "children": [ @@ -23754,7 +23754,7 @@ "isPure": false, "lValueRequested": true, "member_name": "delta2", - "referencedDeclaration": 1615, + "referencedDeclaration": 587, "type": "struct Pairing.G2Point memory" }, "children": [ @@ -23764,18 +23764,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1669, + "id": 641, "name": "Identifier", - "src": "8390:2:4" + "src": "8386:2:0" } ], - "id": 1671, + "id": 643, "name": "MemberAccess", - "src": "8390:9:4" + "src": "8386:9:0" }, { "attributes": { @@ -23809,7 +23809,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "type(struct Pairing.G2Point storage pointer)" }, "children": [ @@ -23819,18 +23819,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1672, + "id": 644, "name": "Identifier", - "src": "8402:7:4" + "src": "8398:7:0" } ], - "id": 1673, + "id": 645, "name": "MemberAccess", - "src": "8402:15:4" + "src": "8398:15:0" }, { "attributes": { @@ -23846,41 +23846,41 @@ { "attributes": { "argumentTypes": null, - "hexvalue": "36303337363233343438353132313638393837323630353636323031363838313232323435373931333731353235303238303938353035393532323539313634343331383437373735343931", + "hexvalue": "363039363232343936313538303134333235313130343230353538383034333635343130323233333439323830383339313439353639343634313631393632333433343237373634323837", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 6037...(68 digits omitted)...5491", - "value": "6037623448512168987260566201688122245791371525028098505952259164431847775491" + "type": "int_const 6096...(67 digits omitted)...4287", + "value": "609622496158014325110420558804365410223349280839149569464161962343427764287" }, - "id": 1674, + "id": 646, "name": "Literal", - "src": "8419:76:4" + "src": "8415:75:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "343538333336353735343333393938353036303136343538303137323138313131383632383739313836313339333034363534363036333831333732353833393134343436393539363137", + "hexvalue": "38333137333733343234323836333834303932353436353936393932343634373435303337313737323033373838323331303237323231343939333538323730323033393339373938333131", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 4583...(67 digits omitted)...9617", - "value": "458336575433998506016458017218111862879186139304654606381372583914446959617" + "type": "int_const 8317...(68 digits omitted)...8311", + "value": "8317373424286384092546596992464745037177203788231027221499358270203939798311" }, - "id": 1675, + "id": 647, "name": "Literal", - "src": "8496:75:4" + "src": "8491:76:0" } ], - "id": 1676, + "id": 648, "name": "TupleExpression", - "src": "8418:154:4" + "src": "8414:154:0" }, { "attributes": { @@ -23896,56 +23896,56 @@ { "attributes": { "argumentTypes": null, - "hexvalue": "3135303734373437333331343536383439313231303431343737393938303638373935333431333536353034313634353534333632393232383835383632323839303237393430393030343830", + "hexvalue": "38393634333830383136343833313934383839393931363639393937323639393237303938333130333036383330383835323635363134303434383539343734373834333031363136383339", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1507...(69 digits omitted)...0480", - "value": "15074747331456849121041477998068795341356504164554362922885862289027940900480" + "type": "int_const 8964...(68 digits omitted)...6839", + "value": "8964380816483194889991669997269927098310306830885265614044859474784301616839" }, - "id": 1677, + "id": 649, "name": "Literal", - "src": "8575:77:4" + "src": "8571:76:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "34353531373137333338363135373631373236383834353535373239383135373337323430393437323334323632303338363737393835393536383434313839323430393038363935363536", + "hexvalue": "34363537313536323439373935313631393139363238393134333033333236393633303139353634383035363936353238343831393031353336353236313236353739333038303930313339", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 4551...(68 digits omitted)...5656", - "value": "4551717338615761726884555729815737240947234262038677985956844189240908695656" + "type": "int_const 4657...(68 digits omitted)...0139", + "value": "4657156249795161919628914303326963019564805696528481901536526126579308090139" }, - "id": 1678, + "id": 650, "name": "Literal", - "src": "8653:76:4" + "src": "8648:76:0" } ], - "id": 1679, + "id": 651, "name": "TupleExpression", - "src": "8574:156:4" + "src": "8570:155:0" } ], - "id": 1680, + "id": 652, "name": "FunctionCall", - "src": "8402:329:4" + "src": "8398:328:0" } ], - "id": 1681, + "id": 653, "name": "Assignment", - "src": "8390:341:4" + "src": "8386:340:0" } ], - "id": 1682, + "id": 654, "name": "ExpressionStatement", - "src": "8390:341:4" + "src": "8386:340:0" }, { "children": [ @@ -23968,7 +23968,7 @@ "isPure": false, "lValueRequested": true, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -23978,18 +23978,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1683, + "id": 655, "name": "Identifier", - "src": "8741:2:4" + "src": "8736:2:0" } ], - "id": 1685, + "id": 657, "name": "MemberAccess", - "src": "8741:5:4" + "src": "8736:5:0" }, { "attributes": { @@ -24031,22 +24031,22 @@ "attributes": { "contractScope": null, "name": "Pairing.G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1686, + "id": 658, "name": "UserDefinedTypeName", - "src": "8753:15:4" + "src": "8748:15:0" } ], - "id": 1687, + "id": 659, "name": "ArrayTypeName", - "src": "8753:17:4" + "src": "8748:17:0" } ], - "id": 1688, + "id": 660, "name": "NewExpression", - "src": "8749:21:4" + "src": "8744:21:0" }, { "attributes": { @@ -24061,24 +24061,24 @@ "type": "int_const 7", "value": "7" }, - "id": 1689, + "id": 661, "name": "Literal", - "src": "8771:1:4" + "src": "8766:1:0" } ], - "id": 1690, + "id": 662, "name": "FunctionCall", - "src": "8749:24:4" + "src": "8744:24:0" } ], - "id": 1691, + "id": 663, "name": "Assignment", - "src": "8741:32:4" + "src": "8736:32:0" } ], - "id": 1692, + "id": 664, "name": "ExpressionStatement", - "src": "8741:32:4" + "src": "8736:32:0" }, { "children": [ @@ -24111,7 +24111,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -24121,18 +24121,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1693, + "id": 665, "name": "Identifier", - "src": "8783:2:4" + "src": "8778:2:0" } ], - "id": 1696, + "id": 668, "name": "MemberAccess", - "src": "8783:5:4" + "src": "8778:5:0" }, { "attributes": { @@ -24147,14 +24147,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1695, + "id": 667, "name": "Literal", - "src": "8789:1:4" + "src": "8784:1:0" } ], - "id": 1697, + "id": 669, "name": "IndexAccess", - "src": "8783:8:4" + "src": "8778:8:0" }, { "attributes": { @@ -24175,12 +24175,12 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_rational_3280151354857701104805815107342927006881561188181486049350149056802788902277_by_1", - "typeString": "int_const 3280...(68 digits omitted)...2277" + "typeIdentifier": "t_rational_20166610602661498805481216064041390370160663060098850035854617107084652933188_by_1", + "typeString": "int_const 2016...(69 digits omitted)...3188" }, { - "typeIdentifier": "t_rational_4096205864284246892786942491620896521544938058951378408773174891322097316913_by_1", - "typeString": "int_const 4096...(68 digits omitted)...6913" + "typeIdentifier": "t_rational_1659975302204996438525238174042926887396319013457610086028476512633965956990_by_1", + "typeString": "int_const 1659...(68 digits omitted)...6990" } ], "isConstant": false, @@ -24188,7 +24188,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -24198,67 +24198,67 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1698, + "id": 670, "name": "Identifier", - "src": "8794:7:4" + "src": "8789:7:0" } ], - "id": 1699, + "id": 671, "name": "MemberAccess", - "src": "8794:15:4" + "src": "8789:15:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "33323830313531333534383537373031313034383035383135313037333432393237303036383831353631313838313831343836303439333530313439303536383032373838393032323737", + "hexvalue": "3230313636363130363032363631343938383035343831323136303634303431333930333730313630363633303630303938383530303335383534363137313037303834363532393333313838", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 3280...(68 digits omitted)...2277", - "value": "3280151354857701104805815107342927006881561188181486049350149056802788902277" + "type": "int_const 2016...(69 digits omitted)...3188", + "value": "20166610602661498805481216064041390370160663060098850035854617107084652933188" }, - "id": 1700, + "id": 672, "name": "Literal", - "src": "8810:76:4" + "src": "8805:77:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "34303936323035383634323834323436383932373836393432343931363230383936353231353434393338303538393531333738343038373733313734383931333232303937333136393133", + "hexvalue": "31363539393735333032323034393936343338353235323338313734303432393236383837333936333139303133343537363130303836303238343736353132363333393635393536393930", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 4096...(68 digits omitted)...6913", - "value": "4096205864284246892786942491620896521544938058951378408773174891322097316913" + "type": "int_const 1659...(68 digits omitted)...6990", + "value": "1659975302204996438525238174042926887396319013457610086028476512633965956990" }, - "id": 1701, + "id": 673, "name": "Literal", - "src": "8887:76:4" + "src": "8883:76:0" } ], - "id": 1702, + "id": 674, "name": "FunctionCall", - "src": "8794:170:4" + "src": "8789:171:0" } ], - "id": 1703, + "id": 675, "name": "Assignment", - "src": "8783:181:4" + "src": "8778:182:0" } ], - "id": 1704, + "id": 676, "name": "ExpressionStatement", - "src": "8783:181:4" + "src": "8778:182:0" }, { "children": [ @@ -24291,7 +24291,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -24301,18 +24301,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1705, + "id": 677, "name": "Identifier", - "src": "8974:2:4" + "src": "8970:2:0" } ], - "id": 1708, + "id": 680, "name": "MemberAccess", - "src": "8974:5:4" + "src": "8970:5:0" }, { "attributes": { @@ -24327,14 +24327,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1707, + "id": 679, "name": "Literal", - "src": "8980:1:4" + "src": "8976:1:0" } ], - "id": 1709, + "id": 681, "name": "IndexAccess", - "src": "8974:8:4" + "src": "8970:8:0" }, { "attributes": { @@ -24355,12 +24355,12 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_rational_886075252733300330869950498066252804027245332188737089899561929180698930798_by_1", - "typeString": "int_const 8860...(67 digits omitted)...0798" + "typeIdentifier": "t_rational_4220871189670953026506414371868481831410889010217108719382613726183286975446_by_1", + "typeString": "int_const 4220...(68 digits omitted)...5446" }, { - "typeIdentifier": "t_rational_15570234229151758134113005312914035073446975470656183090215346868677091213005_by_1", - "typeString": "int_const 1557...(69 digits omitted)...3005" + "typeIdentifier": "t_rational_1000393167704732207794518371383982711909560731997085626334108036666911896515_by_1", + "typeString": "int_const 1000...(68 digits omitted)...6515" } ], "isConstant": false, @@ -24368,7 +24368,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -24378,67 +24378,67 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1710, + "id": 682, "name": "Identifier", - "src": "8985:7:4" + "src": "8981:7:0" } ], - "id": 1711, + "id": 683, "name": "MemberAccess", - "src": "8985:15:4" + "src": "8981:15:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "383836303735323532373333333030333330383639393530343938303636323532383034303237323435333332313838373337303839383939353631393239313830363938393330373938", + "hexvalue": "34323230383731313839363730393533303236353036343134333731383638343831383331343130383839303130323137313038373139333832363133373236313833323836393735343436", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 8860...(67 digits omitted)...0798", - "value": "886075252733300330869950498066252804027245332188737089899561929180698930798" + "type": "int_const 4220...(68 digits omitted)...5446", + "value": "4220871189670953026506414371868481831410889010217108719382613726183286975446" }, - "id": 1712, + "id": 684, "name": "Literal", - "src": "9001:75:4" + "src": "8997:76:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "3135353730323334323239313531373538313334313133303035333132393134303335303733343436393735343730363536313833303930323135333436383638363737303931323133303035", + "hexvalue": "31303030333933313637373034373332323037373934353138333731333833393832373131393039353630373331393937303835363236333334313038303336363636393131383936353135", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1557...(69 digits omitted)...3005", - "value": "15570234229151758134113005312914035073446975470656183090215346868677091213005" + "type": "int_const 1000...(68 digits omitted)...6515", + "value": "1000393167704732207794518371383982711909560731997085626334108036666911896515" }, - "id": 1713, + "id": 685, "name": "Literal", - "src": "9077:77:4" + "src": "9074:76:0" } ], - "id": 1714, + "id": 686, "name": "FunctionCall", - "src": "8985:170:4" + "src": "8981:170:0" } ], - "id": 1715, + "id": 687, "name": "Assignment", - "src": "8974:181:4" + "src": "8970:181:0" } ], - "id": 1716, + "id": 688, "name": "ExpressionStatement", - "src": "8974:181:4" + "src": "8970:181:0" }, { "children": [ @@ -24471,7 +24471,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -24481,18 +24481,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1717, + "id": 689, "name": "Identifier", - "src": "9165:2:4" + "src": "9161:2:0" } ], - "id": 1720, + "id": 692, "name": "MemberAccess", - "src": "9165:5:4" + "src": "9161:5:0" }, { "attributes": { @@ -24507,14 +24507,14 @@ "type": "int_const 2", "value": "2" }, - "id": 1719, + "id": 691, "name": "Literal", - "src": "9171:1:4" + "src": "9167:1:0" } ], - "id": 1721, + "id": 693, "name": "IndexAccess", - "src": "9165:8:4" + "src": "9161:8:0" }, { "attributes": { @@ -24535,12 +24535,12 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_rational_4803911529229921243819115938814624698011704327571816657368259655263810910424_by_1", - "typeString": "int_const 4803...(68 digits omitted)...0424" + "typeIdentifier": "t_rational_12239086110821316935616912649060211038392877351736651065425057336661040984065_by_1", + "typeString": "int_const 1223...(69 digits omitted)...4065" }, { - "typeIdentifier": "t_rational_9421521138574274245916449596797669329387046444348355383899676800456202039055_by_1", - "typeString": "int_const 9421...(68 digits omitted)...9055" + "typeIdentifier": "t_rational_5374452082587629349940763802872591986728213630869355796260909357433421532329_by_1", + "typeString": "int_const 5374...(68 digits omitted)...2329" } ], "isConstant": false, @@ -24548,7 +24548,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -24558,67 +24558,67 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1722, + "id": 694, "name": "Identifier", - "src": "9176:7:4" + "src": "9172:7:0" } ], - "id": 1723, + "id": 695, "name": "MemberAccess", - "src": "9176:15:4" + "src": "9172:15:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "34383033393131353239323239393231323433383139313135393338383134363234363938303131373034333237353731383136363537333638323539363535323633383130393130343234", + "hexvalue": "3132323339303836313130383231333136393335363136393132363439303630323131303338333932383737333531373336363531303635343235303537333336363631303430393834303635", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 4803...(68 digits omitted)...0424", - "value": "4803911529229921243819115938814624698011704327571816657368259655263810910424" + "type": "int_const 1223...(69 digits omitted)...4065", + "value": "12239086110821316935616912649060211038392877351736651065425057336661040984065" }, - "id": 1724, + "id": 696, "name": "Literal", - "src": "9192:76:4" + "src": "9188:77:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "39343231353231313338353734323734323435393136343439353936373937363639333239333837303436343434333438333535333833383939363736383030343536323032303339303535", + "hexvalue": "35333734343532303832353837363239333439393430373633383032383732353931393836373238323133363330383639333535373936323630393039333537343333343231353332333239", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 9421...(68 digits omitted)...9055", - "value": "9421521138574274245916449596797669329387046444348355383899676800456202039055" + "type": "int_const 5374...(68 digits omitted)...2329", + "value": "5374452082587629349940763802872591986728213630869355796260909357433421532329" }, - "id": 1725, + "id": 697, "name": "Literal", - "src": "9269:76:4" + "src": "9266:76:0" } ], - "id": 1726, + "id": 698, "name": "FunctionCall", - "src": "9176:170:4" + "src": "9172:171:0" } ], - "id": 1727, + "id": 699, "name": "Assignment", - "src": "9165:181:4" + "src": "9161:182:0" } ], - "id": 1728, + "id": 700, "name": "ExpressionStatement", - "src": "9165:181:4" + "src": "9161:182:0" }, { "children": [ @@ -24651,7 +24651,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -24661,18 +24661,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1729, + "id": 701, "name": "Identifier", - "src": "9356:2:4" + "src": "9353:2:0" } ], - "id": 1732, + "id": 704, "name": "MemberAccess", - "src": "9356:5:4" + "src": "9353:5:0" }, { "attributes": { @@ -24687,14 +24687,14 @@ "type": "int_const 3", "value": "3" }, - "id": 1731, + "id": 703, "name": "Literal", - "src": "9362:1:4" + "src": "9359:1:0" } ], - "id": 1733, + "id": 705, "name": "IndexAccess", - "src": "9356:8:4" + "src": "9353:8:0" }, { "attributes": { @@ -24715,12 +24715,12 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_rational_8556536154095961870679484985871880561903552891231663801453118433906208208634_by_1", - "typeString": "int_const 8556...(68 digits omitted)...8634" + "typeIdentifier": "t_rational_10285133610545411845819507508720146823943262881879468951491365404146203175832_by_1", + "typeString": "int_const 1028...(69 digits omitted)...5832" }, { - "typeIdentifier": "t_rational_3050601476829943501968050336923012297384352890508269063303888737139486918441_by_1", - "typeString": "int_const 3050...(68 digits omitted)...8441" + "typeIdentifier": "t_rational_2498247655234760266120312262546972165343297120557370090775420013522145792015_by_1", + "typeString": "int_const 2498...(68 digits omitted)...2015" } ], "isConstant": false, @@ -24728,7 +24728,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -24738,67 +24738,67 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1734, + "id": 706, "name": "Identifier", - "src": "9367:7:4" + "src": "9364:7:0" } ], - "id": 1735, + "id": 707, "name": "MemberAccess", - "src": "9367:15:4" + "src": "9364:15:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "38353536353336313534303935393631383730363739343834393835383731383830353631393033353532383931323331363633383031343533313138343333393036323038323038363334", + "hexvalue": "3130323835313333363130353435343131383435383139353037353038373230313436383233393433323632383831383739343638393531343931333635343034313436323033313735383332", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 8556...(68 digits omitted)...8634", - "value": "8556536154095961870679484985871880561903552891231663801453118433906208208634" + "type": "int_const 1028...(69 digits omitted)...5832", + "value": "10285133610545411845819507508720146823943262881879468951491365404146203175832" }, - "id": 1736, + "id": 708, "name": "Literal", - "src": "9383:76:4" + "src": "9380:77:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "33303530363031343736383239393433353031393638303530333336393233303132323937333834333532383930353038323639303633333033383838373337313339343836393138343431", + "hexvalue": "32343938323437363535323334373630323636313230333132323632353436393732313635333433323937313230353537333730303930373735343230303133353232313435373932303135", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 3050...(68 digits omitted)...8441", - "value": "3050601476829943501968050336923012297384352890508269063303888737139486918441" + "type": "int_const 2498...(68 digits omitted)...2015", + "value": "2498247655234760266120312262546972165343297120557370090775420013522145792015" }, - "id": 1737, + "id": 709, "name": "Literal", - "src": "9460:76:4" + "src": "9458:76:0" } ], - "id": 1738, + "id": 710, "name": "FunctionCall", - "src": "9367:170:4" + "src": "9364:171:0" } ], - "id": 1739, + "id": 711, "name": "Assignment", - "src": "9356:181:4" + "src": "9353:182:0" } ], - "id": 1740, + "id": 712, "name": "ExpressionStatement", - "src": "9356:181:4" + "src": "9353:182:0" }, { "children": [ @@ -24831,7 +24831,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -24841,18 +24841,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1741, + "id": 713, "name": "Identifier", - "src": "9547:2:4" + "src": "9545:2:0" } ], - "id": 1744, + "id": 716, "name": "MemberAccess", - "src": "9547:5:4" + "src": "9545:5:0" }, { "attributes": { @@ -24867,14 +24867,14 @@ "type": "int_const 4", "value": "4" }, - "id": 1743, + "id": 715, "name": "Literal", - "src": "9553:1:4" + "src": "9551:1:0" } ], - "id": 1745, + "id": 717, "name": "IndexAccess", - "src": "9547:8:4" + "src": "9545:8:0" }, { "attributes": { @@ -24895,12 +24895,12 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_rational_300970557484518070492531175714788912131243344262805477266806064126958929035_by_1", - "typeString": "int_const 3009...(67 digits omitted)...9035" + "typeIdentifier": "t_rational_18113182104873248546285711585405582060453978828497035767859046179153107375835_by_1", + "typeString": "int_const 1811...(69 digits omitted)...5835" }, { - "typeIdentifier": "t_rational_7398530781379870905922247634738956356372326243016843550426084862881205863447_by_1", - "typeString": "int_const 7398...(68 digits omitted)...3447" + "typeIdentifier": "t_rational_6729094613760083456600449536123737034270234634314951752808465378236383530847_by_1", + "typeString": "int_const 6729...(68 digits omitted)...0847" } ], "isConstant": false, @@ -24908,7 +24908,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -24918,67 +24918,67 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1746, + "id": 718, "name": "Identifier", - "src": "9558:7:4" + "src": "9556:7:0" } ], - "id": 1747, + "id": 719, "name": "MemberAccess", - "src": "9558:15:4" + "src": "9556:15:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "333030393730353537343834353138303730343932353331313735373134373838393132313331323433333434323632383035343737323636383036303634313236393538393239303335", + "hexvalue": "3138313133313832313034383733323438353436323835373131353835343035353832303630343533393738383238343937303335373637383539303436313739313533313037333735383335", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 3009...(67 digits omitted)...9035", - "value": "300970557484518070492531175714788912131243344262805477266806064126958929035" + "type": "int_const 1811...(69 digits omitted)...5835", + "value": "18113182104873248546285711585405582060453978828497035767859046179153107375835" }, - "id": 1748, + "id": 720, "name": "Literal", - "src": "9574:75:4" + "src": "9572:77:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "37333938353330373831333739383730393035393232323437363334373338393536333536333732333236323433303136383433353530343236303834383632383831323035383633343437", + "hexvalue": "36373239303934363133373630303833343536363030343439353336313233373337303334323730323334363334333134393531373532383038343635333738323336333833353330383437", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 7398...(68 digits omitted)...3447", - "value": "7398530781379870905922247634738956356372326243016843550426084862881205863447" + "type": "int_const 6729...(68 digits omitted)...0847", + "value": "6729094613760083456600449536123737034270234634314951752808465378236383530847" }, - "id": 1749, + "id": 721, "name": "Literal", - "src": "9650:76:4" + "src": "9650:76:0" } ], - "id": 1750, + "id": 722, "name": "FunctionCall", - "src": "9558:169:4" + "src": "9556:171:0" } ], - "id": 1751, + "id": 723, "name": "Assignment", - "src": "9547:180:4" + "src": "9545:182:0" } ], - "id": 1752, + "id": 724, "name": "ExpressionStatement", - "src": "9547:180:4" + "src": "9545:182:0" }, { "children": [ @@ -25011,7 +25011,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -25021,18 +25021,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1753, + "id": 725, "name": "Identifier", - "src": "9737:2:4" + "src": "9737:2:0" } ], - "id": 1756, + "id": 728, "name": "MemberAccess", - "src": "9737:5:4" + "src": "9737:5:0" }, { "attributes": { @@ -25047,14 +25047,14 @@ "type": "int_const 5", "value": "5" }, - "id": 1755, + "id": 727, "name": "Literal", - "src": "9743:1:4" + "src": "9743:1:0" } ], - "id": 1757, + "id": 729, "name": "IndexAccess", - "src": "9737:8:4" + "src": "9737:8:0" }, { "attributes": { @@ -25075,12 +25075,12 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_rational_19920099237792867409693124415022100529487012962841642820676567509262507193107_by_1", - "typeString": "int_const 1992...(69 digits omitted)...3107" + "typeIdentifier": "t_rational_2675854458152962472161665122142721791686118092900325507962353336751375645555_by_1", + "typeString": "int_const 2675...(68 digits omitted)...5555" }, { - "typeIdentifier": "t_rational_20219544009593389298713776672148908906084007300789292168389787721741450912038_by_1", - "typeString": "int_const 2021...(69 digits omitted)...2038" + "typeIdentifier": "t_rational_12913224302380448616475651904030096179632834250198895128713731772227526103851_by_1", + "typeString": "int_const 1291...(69 digits omitted)...3851" } ], "isConstant": false, @@ -25088,7 +25088,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -25098,67 +25098,67 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1758, + "id": 730, "name": "Identifier", - "src": "9748:7:4" + "src": "9748:7:0" } ], - "id": 1759, + "id": 731, "name": "MemberAccess", - "src": "9748:15:4" + "src": "9748:15:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "3139393230303939323337373932383637343039363933313234343135303232313030353239343837303132393632383431363432383230363736353637353039323632353037313933313037", + "hexvalue": "32363735383534343538313532393632343732313631363635313232313432373231373931363836313138303932393030333235353037393632333533333336373531333735363435353535", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1992...(69 digits omitted)...3107", - "value": "19920099237792867409693124415022100529487012962841642820676567509262507193107" + "type": "int_const 2675...(68 digits omitted)...5555", + "value": "2675854458152962472161665122142721791686118092900325507962353336751375645555" }, - "id": 1760, + "id": 732, "name": "Literal", - "src": "9764:77:4" + "src": "9764:76:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "3230323139353434303039353933333839323938373133373736363732313438393038393036303834303037333030373839323932313638333839373837373231373431343530393132303338", + "hexvalue": "3132393133323234333032333830343438363136343735363531393034303330303936313739363332383334323530313938383935313238373133373331373732323237353236313033383531", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 2021...(69 digits omitted)...2038", - "value": "20219544009593389298713776672148908906084007300789292168389787721741450912038" + "type": "int_const 1291...(69 digits omitted)...3851", + "value": "12913224302380448616475651904030096179632834250198895128713731772227526103851" }, - "id": 1761, + "id": 733, "name": "Literal", - "src": "9842:77:4" + "src": "9841:77:0" } ], - "id": 1762, + "id": 734, "name": "FunctionCall", - "src": "9748:172:4" + "src": "9748:171:0" } ], - "id": 1763, + "id": 735, "name": "Assignment", - "src": "9737:183:4" + "src": "9737:182:0" } ], - "id": 1764, + "id": 736, "name": "ExpressionStatement", - "src": "9737:183:4" + "src": "9737:182:0" }, { "children": [ @@ -25191,7 +25191,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -25201,18 +25201,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1765, + "id": 737, "name": "Identifier", - "src": "9930:2:4" + "src": "9929:2:0" } ], - "id": 1768, + "id": 740, "name": "MemberAccess", - "src": "9930:5:4" + "src": "9929:5:0" }, { "attributes": { @@ -25227,14 +25227,14 @@ "type": "int_const 6", "value": "6" }, - "id": 1767, + "id": 739, "name": "Literal", - "src": "9936:1:4" + "src": "9935:1:0" } ], - "id": 1769, + "id": 741, "name": "IndexAccess", - "src": "9930:8:4" + "src": "9929:8:0" }, { "attributes": { @@ -25255,12 +25255,12 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_rational_19738468465658587453371819831578835676337686216736310076443477948701915541203_by_1", - "typeString": "int_const 1973...(69 digits omitted)...1203" + "typeIdentifier": "t_rational_6904531203927324497190715701219512027355142032925478416168419557191017067138_by_1", + "typeString": "int_const 6904...(68 digits omitted)...7138" }, { - "typeIdentifier": "t_rational_17051611336678940832594719954268295083764993921610290255520015002513439413943_by_1", - "typeString": "int_const 1705...(69 digits omitted)...3943" + "typeIdentifier": "t_rational_3297385619144148685859898508280807841114612552526206265036207895270147740391_by_1", + "typeString": "int_const 3297...(68 digits omitted)...0391" } ], "isConstant": false, @@ -25268,7 +25268,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -25278,77 +25278,77 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1770, + "id": 742, "name": "Identifier", - "src": "9941:7:4" + "src": "9940:7:0" } ], - "id": 1771, + "id": 743, "name": "MemberAccess", - "src": "9941:15:4" + "src": "9940:15:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "3139373338343638343635363538353837343533333731383139383331353738383335363736333337363836323136373336333130303736343433343737393438373031393135353431323033", + "hexvalue": "36393034353331323033393237333234343937313930373135373031323139353132303237333535313432303332393235343738343136313638343139353537313931303137303637313338", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1973...(69 digits omitted)...1203", - "value": "19738468465658587453371819831578835676337686216736310076443477948701915541203" + "type": "int_const 6904...(68 digits omitted)...7138", + "value": "6904531203927324497190715701219512027355142032925478416168419557191017067138" }, - "id": 1772, + "id": 744, "name": "Literal", - "src": "9957:77:4" + "src": "9956:76:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "3137303531363131333336363738393430383332353934373139393534323638323935303833373634393933393231363130323930323535353230303135303032353133343339343133393433", + "hexvalue": "33323937333835363139313434313438363835383539383938353038323830383037383431313134363132353532353236323036323635303336323037383935323730313437373430333931", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1705...(69 digits omitted)...3943", - "value": "17051611336678940832594719954268295083764993921610290255520015002513439413943" + "type": "int_const 3297...(68 digits omitted)...0391", + "value": "3297385619144148685859898508280807841114612552526206265036207895270147740391" }, - "id": 1773, + "id": 745, "name": "Literal", - "src": "10035:77:4" + "src": "10033:76:0" } ], - "id": 1774, + "id": 746, "name": "FunctionCall", - "src": "9941:172:4" + "src": "9940:170:0" } ], - "id": 1775, + "id": 747, "name": "Assignment", - "src": "9930:183:4" + "src": "9929:181:0" } ], - "id": 1776, + "id": 748, "name": "ExpressionStatement", - "src": "9930:183:4" + "src": "9929:181:0" } ], - "id": 1777, + "id": 749, "name": "Block", - "src": "7481:2640:4" + "src": "7481:2637:0" } ], - "id": 1778, + "id": 750, "name": "FunctionDefinition", - "src": "7410:2711:4" + "src": "7410:2708:0" }, { "attributes": { @@ -25360,7 +25360,7 @@ null ], "name": "verify", - "scope": 2086, + "scope": 1058, "stateMutability": "view", "superFunction": null, "visibility": "internal" @@ -25372,7 +25372,7 @@ "attributes": { "constant": false, "name": "input", - "scope": 1899, + "scope": 871, "stateVariable": false, "storageLocation": "memory", "type": "uint256[]", @@ -25391,25 +25391,25 @@ "name": "uint", "type": "uint256" }, - "id": 1779, + "id": 751, "name": "ElementaryTypeName", - "src": "10142:4:4" + "src": "10139:4:0" } ], - "id": 1780, + "id": 752, "name": "ArrayTypeName", - "src": "10142:6:4" + "src": "10139:6:0" } ], - "id": 1781, + "id": 753, "name": "VariableDeclaration", - "src": "10142:19:4" + "src": "10139:19:0" }, { "attributes": { "constant": false, "name": "proof", - "scope": 1899, + "scope": 871, "stateVariable": false, "storageLocation": "memory", "type": "struct Verifier.Proof", @@ -25421,22 +25421,22 @@ "attributes": { "contractScope": null, "name": "Proof", - "referencedDeclaration": 1626, + "referencedDeclaration": 598, "type": "struct Verifier.Proof" }, - "id": 1782, + "id": 754, "name": "UserDefinedTypeName", - "src": "10163:5:4" + "src": "10160:5:0" } ], - "id": 1783, + "id": 755, "name": "VariableDeclaration", - "src": "10163:18:4" + "src": "10160:18:0" } ], - "id": 1784, + "id": 756, "name": "ParameterList", - "src": "10141:41:4" + "src": "10138:41:0" }, { "children": [ @@ -25444,7 +25444,7 @@ "attributes": { "constant": false, "name": "", - "scope": 1899, + "scope": 871, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -25457,26 +25457,26 @@ "name": "uint", "type": "uint256" }, - "id": 1785, + "id": 757, "name": "ElementaryTypeName", - "src": "10206:4:4" + "src": "10203:4:0" } ], - "id": 1786, + "id": 758, "name": "VariableDeclaration", - "src": "10206:4:4" + "src": "10203:4:0" } ], - "id": 1787, + "id": 759, "name": "ParameterList", - "src": "10205:6:4" + "src": "10202:6:0" }, { "children": [ { "attributes": { "assignments": [ - 1789 + 761 ] }, "children": [ @@ -25484,7 +25484,7 @@ "attributes": { "constant": false, "name": "snark_scalar_field", - "scope": 1898, + "scope": 870, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -25497,14 +25497,14 @@ "name": "uint256", "type": "uint256" }, - "id": 1788, + "id": 760, "name": "ElementaryTypeName", - "src": "10222:7:4" + "src": "10219:7:0" } ], - "id": 1789, + "id": 761, "name": "VariableDeclaration", - "src": "10222:26:4" + "src": "10219:26:0" }, { "attributes": { @@ -25519,19 +25519,19 @@ "type": "int_const 2188...(69 digits omitted)...5617", "value": "21888242871839275222246405745257275088548364400416034343698204186575808495617" }, - "id": 1790, + "id": 762, "name": "Literal", - "src": "10251:77:4" + "src": "10248:77:0" } ], - "id": 1791, + "id": 763, "name": "VariableDeclarationStatement", - "src": "10222:106:4" + "src": "10219:106:0" }, { "attributes": { "assignments": [ - 1793 + 765 ] }, "children": [ @@ -25539,7 +25539,7 @@ "attributes": { "constant": false, "name": "vk", - "scope": 1898, + "scope": 870, "stateVariable": false, "storageLocation": "memory", "type": "struct Verifier.VerifyingKey", @@ -25551,17 +25551,17 @@ "attributes": { "contractScope": null, "name": "VerifyingKey", - "referencedDeclaration": 1619, + "referencedDeclaration": 591, "type": "struct Verifier.VerifyingKey" }, - "id": 1792, + "id": 764, "name": "UserDefinedTypeName", - "src": "10338:12:4" + "src": "10335:12:0" } ], - "id": 1793, + "id": 765, "name": "VariableDeclaration", - "src": "10338:22:4" + "src": "10335:22:0" }, { "attributes": { @@ -25589,23 +25589,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1778, + "referencedDeclaration": 750, "type": "function () pure returns (struct Verifier.VerifyingKey memory)", "value": "verifyingKey" }, - "id": 1794, + "id": 766, "name": "Identifier", - "src": "10363:12:4" + "src": "10360:12:0" } ], - "id": 1795, + "id": 767, "name": "FunctionCall", - "src": "10363:14:4" + "src": "10360:14:0" } ], - "id": 1796, + "id": 768, "name": "VariableDeclarationStatement", - "src": "10338:39:4" + "src": "10335:39:0" }, { "children": [ @@ -25637,16 +25637,16 @@ } ], "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, + "referencedDeclaration": 1077, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 1797, + "id": 769, "name": "Identifier", - "src": "10387:7:4" + "src": "10384:7:0" }, { "attributes": { @@ -25696,18 +25696,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1781, + "referencedDeclaration": 753, "type": "uint256[] memory", "value": "input" }, - "id": 1798, + "id": 770, "name": "Identifier", - "src": "10395:5:4" + "src": "10392:5:0" } ], - "id": 1799, + "id": 771, "name": "MemberAccess", - "src": "10395:12:4" + "src": "10392:12:0" }, { "attributes": { @@ -25722,14 +25722,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1800, + "id": 772, "name": "Literal", - "src": "10410:1:4" + "src": "10407:1:0" } ], - "id": 1801, + "id": 773, "name": "BinaryOperation", - "src": "10395:16:4" + "src": "10392:16:0" }, { "attributes": { @@ -25751,7 +25751,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -25761,28 +25761,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1793, + "referencedDeclaration": 765, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1802, + "id": 774, "name": "Identifier", - "src": "10415:2:4" + "src": "10412:2:0" } ], - "id": 1803, + "id": 775, "name": "MemberAccess", - "src": "10415:5:4" + "src": "10412:5:0" } ], - "id": 1804, + "id": 776, "name": "MemberAccess", - "src": "10415:12:4" + "src": "10412:12:0" } ], - "id": 1805, + "id": 777, "name": "BinaryOperation", - "src": "10395:32:4" + "src": "10392:32:0" }, { "attributes": { @@ -25797,24 +25797,24 @@ "type": "literal_string \"verifier-bad-input\"", "value": "verifier-bad-input" }, - "id": 1806, + "id": 778, "name": "Literal", - "src": "10428:20:4" + "src": "10425:20:0" } ], - "id": 1807, + "id": 779, "name": "FunctionCall", - "src": "10387:62:4" + "src": "10384:62:0" } ], - "id": 1808, + "id": 780, "name": "ExpressionStatement", - "src": "10387:62:4" + "src": "10384:62:0" }, { "attributes": { "assignments": [ - 1812 + 784 ] }, "children": [ @@ -25822,7 +25822,7 @@ "attributes": { "constant": false, "name": "vk_x", - "scope": 1898, + "scope": 870, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -25834,17 +25834,17 @@ "attributes": { "contractScope": null, "name": "Pairing.G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1811, + "id": 783, "name": "UserDefinedTypeName", - "src": "10506:15:4" + "src": "10503:15:0" } ], - "id": 1812, + "id": 784, "name": "VariableDeclaration", - "src": "10506:27:4" + "src": "10503:27:0" }, { "attributes": { @@ -25878,7 +25878,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -25888,18 +25888,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1813, + "id": 785, "name": "Identifier", - "src": "10536:7:4" + "src": "10533:7:0" } ], - "id": 1814, + "id": 786, "name": "MemberAccess", - "src": "10536:15:4" + "src": "10533:15:0" }, { "attributes": { @@ -25914,9 +25914,9 @@ "type": "int_const 0", "value": "0" }, - "id": 1815, + "id": 787, "name": "Literal", - "src": "10552:1:4" + "src": "10549:1:0" }, { "attributes": { @@ -25931,26 +25931,26 @@ "type": "int_const 0", "value": "0" }, - "id": 1816, + "id": 788, "name": "Literal", - "src": "10555:1:4" + "src": "10552:1:0" } ], - "id": 1817, + "id": 789, "name": "FunctionCall", - "src": "10536:21:4" + "src": "10533:21:0" } ], - "id": 1818, + "id": 790, "name": "VariableDeclarationStatement", - "src": "10506:51:4" + "src": "10503:51:0" }, { "children": [ { "attributes": { "assignments": [ - 1820 + 792 ] }, "children": [ @@ -25958,7 +25958,7 @@ "attributes": { "constant": false, "name": "i", - "scope": 1859, + "scope": 831, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -25971,14 +25971,14 @@ "name": "uint", "type": "uint256" }, - "id": 1819, + "id": 791, "name": "ElementaryTypeName", - "src": "10572:4:4" + "src": "10569:4:0" } ], - "id": 1820, + "id": 792, "name": "VariableDeclaration", - "src": "10572:6:4" + "src": "10569:6:0" }, { "attributes": { @@ -25993,14 +25993,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1821, + "id": 793, "name": "Literal", - "src": "10581:1:4" + "src": "10578:1:0" } ], - "id": 1822, + "id": 794, "name": "VariableDeclarationStatement", - "src": "10572:10:4" + "src": "10569:10:0" }, { "attributes": { @@ -26023,13 +26023,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1820, + "referencedDeclaration": 792, "type": "uint256", "value": "i" }, - "id": 1823, + "id": 795, "name": "Identifier", - "src": "10584:1:4" + "src": "10581:1:0" }, { "attributes": { @@ -26049,23 +26049,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1781, + "referencedDeclaration": 753, "type": "uint256[] memory", "value": "input" }, - "id": 1824, + "id": 796, "name": "Identifier", - "src": "10588:5:4" + "src": "10585:5:0" } ], - "id": 1825, + "id": 797, "name": "MemberAccess", - "src": "10588:12:4" + "src": "10585:12:0" } ], - "id": 1826, + "id": 798, "name": "BinaryOperation", - "src": "10584:16:4" + "src": "10581:16:0" }, { "children": [ @@ -26087,23 +26087,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1820, + "referencedDeclaration": 792, "type": "uint256", "value": "i" }, - "id": 1827, + "id": 799, "name": "Identifier", - "src": "10602:1:4" + "src": "10599:1:0" } ], - "id": 1828, + "id": 800, "name": "UnaryOperation", - "src": "10602:3:4" + "src": "10599:3:0" } ], - "id": 1829, + "id": 801, "name": "ExpressionStatement", - "src": "10602:3:4" + "src": "10599:3:0" }, { "children": [ @@ -26137,16 +26137,16 @@ } ], "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, + "referencedDeclaration": 1077, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 1830, + "id": 802, "name": "Identifier", - "src": "10621:7:4" + "src": "10618:7:0" }, { "attributes": { @@ -26179,13 +26179,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1781, + "referencedDeclaration": 753, "type": "uint256[] memory", "value": "input" }, - "id": 1831, + "id": 803, "name": "Identifier", - "src": "10629:5:4" + "src": "10626:5:0" }, { "attributes": { @@ -26193,18 +26193,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1820, + "referencedDeclaration": 792, "type": "uint256", "value": "i" }, - "id": 1832, + "id": 804, "name": "Identifier", - "src": "10635:1:4" + "src": "10632:1:0" } ], - "id": 1833, + "id": 805, "name": "IndexAccess", - "src": "10629:8:4" + "src": "10626:8:0" }, { "attributes": { @@ -26212,18 +26212,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1789, + "referencedDeclaration": 761, "type": "uint256", "value": "snark_scalar_field" }, - "id": 1834, + "id": 806, "name": "Identifier", - "src": "10640:18:4" + "src": "10637:18:0" } ], - "id": 1835, + "id": 807, "name": "BinaryOperation", - "src": "10629:29:4" + "src": "10626:29:0" }, { "attributes": { @@ -26238,19 +26238,19 @@ "type": "literal_string \"verifier-gte-snark-scalar-field\"", "value": "verifier-gte-snark-scalar-field" }, - "id": 1836, + "id": 808, "name": "Literal", - "src": "10659:33:4" + "src": "10656:33:0" } ], - "id": 1837, + "id": 809, "name": "FunctionCall", - "src": "10621:72:4" + "src": "10618:72:0" } ], - "id": 1838, + "id": 810, "name": "ExpressionStatement", - "src": "10621:72:4" + "src": "10618:72:0" }, { "children": [ @@ -26271,13 +26271,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1812, + "referencedDeclaration": 784, "type": "struct Pairing.G1Point memory", "value": "vk_x" }, - "id": 1839, + "id": 811, "name": "Identifier", - "src": "10707:4:4" + "src": "10704:4:0" }, { "attributes": { @@ -26298,11 +26298,11 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } ], @@ -26311,7 +26311,7 @@ "isPure": false, "lValueRequested": false, "member_name": "addition", - "referencedDeclaration": 1161, + "referencedDeclaration": 133, "type": "function (struct Pairing.G1Point memory,struct Pairing.G1Point memory) view returns (struct Pairing.G1Point memory)" }, "children": [ @@ -26321,18 +26321,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1840, + "id": 812, "name": "Identifier", - "src": "10714:7:4" + "src": "10711:7:0" } ], - "id": 1841, + "id": 813, "name": "MemberAccess", - "src": "10714:16:4" + "src": "10711:16:0" }, { "attributes": { @@ -26340,13 +26340,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1812, + "referencedDeclaration": 784, "type": "struct Pairing.G1Point memory", "value": "vk_x" }, - "id": 1842, + "id": 814, "name": "Identifier", - "src": "10731:4:4" + "src": "10728:4:0" }, { "attributes": { @@ -26367,7 +26367,7 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" }, { @@ -26380,7 +26380,7 @@ "isPure": false, "lValueRequested": false, "member_name": "scalar_mul", - "referencedDeclaration": 1206, + "referencedDeclaration": 178, "type": "function (struct Pairing.G1Point memory,uint256) view returns (struct Pairing.G1Point memory)" }, "children": [ @@ -26390,18 +26390,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1843, + "id": 815, "name": "Identifier", - "src": "10737:7:4" + "src": "10734:7:0" } ], - "id": 1844, + "id": 816, "name": "MemberAccess", - "src": "10737:18:4" + "src": "10734:18:0" }, { "attributes": { @@ -26421,7 +26421,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -26431,18 +26431,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1793, + "referencedDeclaration": 765, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1845, + "id": 817, "name": "Identifier", - "src": "10756:2:4" + "src": "10753:2:0" } ], - "id": 1846, + "id": 818, "name": "MemberAccess", - "src": "10756:5:4" + "src": "10753:5:0" }, { "attributes": { @@ -26465,13 +26465,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1820, + "referencedDeclaration": 792, "type": "uint256", "value": "i" }, - "id": 1847, + "id": 819, "name": "Identifier", - "src": "10762:1:4" + "src": "10759:1:0" }, { "attributes": { @@ -26486,19 +26486,19 @@ "type": "int_const 1", "value": "1" }, - "id": 1848, + "id": 820, "name": "Literal", - "src": "10766:1:4" + "src": "10763:1:0" } ], - "id": 1849, + "id": 821, "name": "BinaryOperation", - "src": "10762:5:4" + "src": "10759:5:0" } ], - "id": 1850, + "id": 822, "name": "IndexAccess", - "src": "10756:12:4" + "src": "10753:12:0" }, { "attributes": { @@ -26516,13 +26516,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1781, + "referencedDeclaration": 753, "type": "uint256[] memory", "value": "input" }, - "id": 1851, + "id": 823, "name": "Identifier", - "src": "10770:5:4" + "src": "10767:5:0" }, { "attributes": { @@ -26530,48 +26530,48 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1820, + "referencedDeclaration": 792, "type": "uint256", "value": "i" }, - "id": 1852, + "id": 824, "name": "Identifier", - "src": "10776:1:4" + "src": "10773:1:0" } ], - "id": 1853, + "id": 825, "name": "IndexAccess", - "src": "10770:8:4" + "src": "10767:8:0" } ], - "id": 1854, + "id": 826, "name": "FunctionCall", - "src": "10737:42:4" + "src": "10734:42:0" } ], - "id": 1855, + "id": 827, "name": "FunctionCall", - "src": "10714:66:4" + "src": "10711:66:0" } ], - "id": 1856, + "id": 828, "name": "Assignment", - "src": "10707:73:4" + "src": "10704:73:0" } ], - "id": 1857, + "id": 829, "name": "ExpressionStatement", - "src": "10707:73:4" + "src": "10704:73:0" } ], - "id": 1858, + "id": 830, "name": "Block", - "src": "10607:184:4" + "src": "10604:184:0" } ], - "id": 1859, + "id": 831, "name": "ForStatement", - "src": "10567:224:4" + "src": "10564:224:0" }, { "children": [ @@ -26592,13 +26592,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1812, + "referencedDeclaration": 784, "type": "struct Pairing.G1Point memory", "value": "vk_x" }, - "id": 1860, + "id": 832, "name": "Identifier", - "src": "10800:4:4" + "src": "10797:4:0" }, { "attributes": { @@ -26619,11 +26619,11 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } ], @@ -26632,7 +26632,7 @@ "isPure": false, "lValueRequested": false, "member_name": "addition", - "referencedDeclaration": 1161, + "referencedDeclaration": 133, "type": "function (struct Pairing.G1Point memory,struct Pairing.G1Point memory) view returns (struct Pairing.G1Point memory)" }, "children": [ @@ -26642,18 +26642,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1861, + "id": 833, "name": "Identifier", - "src": "10807:7:4" + "src": "10804:7:0" } ], - "id": 1862, + "id": 834, "name": "MemberAccess", - "src": "10807:16:4" + "src": "10804:16:0" }, { "attributes": { @@ -26661,13 +26661,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1812, + "referencedDeclaration": 784, "type": "struct Pairing.G1Point memory", "value": "vk_x" }, - "id": 1863, + "id": 835, "name": "Identifier", - "src": "10824:4:4" + "src": "10821:4:0" }, { "attributes": { @@ -26687,7 +26687,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -26697,18 +26697,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1793, + "referencedDeclaration": 765, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1864, + "id": 836, "name": "Identifier", - "src": "10830:2:4" + "src": "10827:2:0" } ], - "id": 1865, + "id": 837, "name": "MemberAccess", - "src": "10830:5:4" + "src": "10827:5:0" }, { "attributes": { @@ -26723,29 +26723,29 @@ "type": "int_const 0", "value": "0" }, - "id": 1866, + "id": 838, "name": "Literal", - "src": "10836:1:4" + "src": "10833:1:0" } ], - "id": 1867, + "id": 839, "name": "IndexAccess", - "src": "10830:8:4" + "src": "10827:8:0" } ], - "id": 1868, + "id": 840, "name": "FunctionCall", - "src": "10807:32:4" + "src": "10804:32:0" } ], - "id": 1869, + "id": 841, "name": "Assignment", - "src": "10800:39:4" + "src": "10797:39:0" } ], - "id": 1870, + "id": 842, "name": "ExpressionStatement", - "src": "10800:39:4" + "src": "10797:39:0" }, { "attributes": { @@ -26783,35 +26783,35 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } ], @@ -26820,7 +26820,7 @@ "isPure": false, "lValueRequested": false, "member_name": "pairingProd4", - "referencedDeclaration": 1604, + "referencedDeclaration": 576, "type": "function (struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory) view returns (bool)" }, "children": [ @@ -26830,18 +26830,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1871, + "id": 843, "name": "Identifier", - "src": "10854:7:4" + "src": "10851:7:0" } ], - "id": 1872, + "id": 844, "name": "MemberAccess", - "src": "10854:20:4" + "src": "10851:20:0" }, { "attributes": { @@ -26862,7 +26862,7 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } ], @@ -26871,7 +26871,7 @@ "isPure": false, "lValueRequested": false, "member_name": "negate", - "referencedDeclaration": 1108, + "referencedDeclaration": 80, "type": "function (struct Pairing.G1Point memory) pure returns (struct Pairing.G1Point memory)" }, "children": [ @@ -26881,18 +26881,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1873, + "id": 845, "name": "Identifier", - "src": "10888:7:4" + "src": "10885:7:0" } ], - "id": 1874, + "id": 846, "name": "MemberAccess", - "src": "10888:14:4" + "src": "10885:14:0" }, { "attributes": { @@ -26902,7 +26902,7 @@ "isPure": false, "lValueRequested": false, "member_name": "A", - "referencedDeclaration": 1621, + "referencedDeclaration": 593, "type": "struct Pairing.G1Point memory" }, "children": [ @@ -26912,23 +26912,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1783, + "referencedDeclaration": 755, "type": "struct Verifier.Proof memory", "value": "proof" }, - "id": 1875, + "id": 847, "name": "Identifier", - "src": "10903:5:4" + "src": "10900:5:0" } ], - "id": 1876, + "id": 848, "name": "MemberAccess", - "src": "10903:7:4" + "src": "10900:7:0" } ], - "id": 1877, + "id": 849, "name": "FunctionCall", - "src": "10888:23:4" + "src": "10885:23:0" }, { "attributes": { @@ -26938,7 +26938,7 @@ "isPure": false, "lValueRequested": false, "member_name": "B", - "referencedDeclaration": 1623, + "referencedDeclaration": 595, "type": "struct Pairing.G2Point memory" }, "children": [ @@ -26948,18 +26948,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1783, + "referencedDeclaration": 755, "type": "struct Verifier.Proof memory", "value": "proof" }, - "id": 1878, + "id": 850, "name": "Identifier", - "src": "10913:5:4" + "src": "10910:5:0" } ], - "id": 1879, + "id": 851, "name": "MemberAccess", - "src": "10913:7:4" + "src": "10910:7:0" }, { "attributes": { @@ -26969,7 +26969,7 @@ "isPure": false, "lValueRequested": false, "member_name": "alfa1", - "referencedDeclaration": 1609, + "referencedDeclaration": 581, "type": "struct Pairing.G1Point memory" }, "children": [ @@ -26979,18 +26979,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1793, + "referencedDeclaration": 765, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1880, + "id": 852, "name": "Identifier", - "src": "10934:2:4" + "src": "10931:2:0" } ], - "id": 1881, + "id": 853, "name": "MemberAccess", - "src": "10934:8:4" + "src": "10931:8:0" }, { "attributes": { @@ -27000,7 +27000,7 @@ "isPure": false, "lValueRequested": false, "member_name": "beta2", - "referencedDeclaration": 1611, + "referencedDeclaration": 583, "type": "struct Pairing.G2Point memory" }, "children": [ @@ -27010,18 +27010,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1793, + "referencedDeclaration": 765, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1882, + "id": 854, "name": "Identifier", - "src": "10944:2:4" + "src": "10941:2:0" } ], - "id": 1883, + "id": 855, "name": "MemberAccess", - "src": "10944:8:4" + "src": "10941:8:0" }, { "attributes": { @@ -27029,13 +27029,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1812, + "referencedDeclaration": 784, "type": "struct Pairing.G1Point memory", "value": "vk_x" }, - "id": 1884, + "id": 856, "name": "Identifier", - "src": "10966:4:4" + "src": "10963:4:0" }, { "attributes": { @@ -27045,7 +27045,7 @@ "isPure": false, "lValueRequested": false, "member_name": "gamma2", - "referencedDeclaration": 1613, + "referencedDeclaration": 585, "type": "struct Pairing.G2Point memory" }, "children": [ @@ -27055,18 +27055,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1793, + "referencedDeclaration": 765, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1885, + "id": 857, "name": "Identifier", - "src": "10972:2:4" + "src": "10969:2:0" } ], - "id": 1886, + "id": 858, "name": "MemberAccess", - "src": "10972:9:4" + "src": "10969:9:0" }, { "attributes": { @@ -27076,7 +27076,7 @@ "isPure": false, "lValueRequested": false, "member_name": "C", - "referencedDeclaration": 1625, + "referencedDeclaration": 597, "type": "struct Pairing.G1Point memory" }, "children": [ @@ -27086,18 +27086,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1783, + "referencedDeclaration": 755, "type": "struct Verifier.Proof memory", "value": "proof" }, - "id": 1887, + "id": 859, "name": "Identifier", - "src": "10995:5:4" + "src": "10992:5:0" } ], - "id": 1888, + "id": 860, "name": "MemberAccess", - "src": "10995:7:4" + "src": "10992:7:0" }, { "attributes": { @@ -27107,7 +27107,7 @@ "isPure": false, "lValueRequested": false, "member_name": "delta2", - "referencedDeclaration": 1615, + "referencedDeclaration": 587, "type": "struct Pairing.G2Point memory" }, "children": [ @@ -27117,32 +27117,32 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1793, + "referencedDeclaration": 765, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1889, + "id": 861, "name": "Identifier", - "src": "11004:2:4" + "src": "11001:2:0" } ], - "id": 1890, + "id": 862, "name": "MemberAccess", - "src": "11004:9:4" + "src": "11001:9:0" } ], - "id": 1891, + "id": 863, "name": "FunctionCall", - "src": "10854:169:4" + "src": "10851:169:0" } ], - "id": 1892, + "id": 864, "name": "UnaryOperation", - "src": "10853:170:4" + "src": "10850:170:0" }, { "attributes": { - "functionReturnParameters": 1787 + "functionReturnParameters": 759 }, "children": [ { @@ -27158,23 +27158,23 @@ "type": "int_const 1", "value": "1" }, - "id": 1893, + "id": 865, "name": "Literal", - "src": "11032:1:4" + "src": "11029:1:0" } ], - "id": 1894, + "id": 866, "name": "Return", - "src": "11025:8:4" + "src": "11022:8:0" } ], - "id": 1895, + "id": 867, "name": "IfStatement", - "src": "10849:184:4" + "src": "10846:184:0" }, { "attributes": { - "functionReturnParameters": 1787 + "functionReturnParameters": 759 }, "children": [ { @@ -27190,24 +27190,24 @@ "type": "int_const 0", "value": "0" }, - "id": 1896, + "id": 868, "name": "Literal", - "src": "11050:1:4" + "src": "11047:1:0" } ], - "id": 1897, + "id": 869, "name": "Return", - "src": "11043:8:4" + "src": "11040:8:0" } ], - "id": 1898, + "id": 870, "name": "Block", - "src": "10212:846:4" + "src": "10209:846:0" } ], - "id": 1899, + "id": 871, "name": "FunctionDefinition", - "src": "10126:932:4" + "src": "10123:932:0" }, { "attributes": { @@ -27219,7 +27219,7 @@ null ], "name": "verifyProof", - "scope": 2086, + "scope": 1058, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -27231,7 +27231,7 @@ "attributes": { "constant": false, "name": "a", - "scope": 2029, + "scope": 1001, "stateVariable": false, "storageLocation": "memory", "type": "uint256[2]", @@ -27249,9 +27249,9 @@ "name": "uint", "type": "uint256" }, - "id": 1900, + "id": 872, "name": "ElementaryTypeName", - "src": "11097:4:4" + "src": "11094:4:0" }, { "attributes": { @@ -27266,25 +27266,25 @@ "type": "int_const 2", "value": "2" }, - "id": 1901, + "id": 873, "name": "Literal", - "src": "11102:1:4" + "src": "11099:1:0" } ], - "id": 1902, + "id": 874, "name": "ArrayTypeName", - "src": "11097:7:4" + "src": "11094:7:0" } ], - "id": 1903, + "id": 875, "name": "VariableDeclaration", - "src": "11097:16:4" + "src": "11094:16:0" }, { "attributes": { "constant": false, "name": "b", - "scope": 2029, + "scope": 1001, "stateVariable": false, "storageLocation": "memory", "type": "uint256[2][2]", @@ -27307,9 +27307,9 @@ "name": "uint", "type": "uint256" }, - "id": 1904, + "id": 876, "name": "ElementaryTypeName", - "src": "11127:4:4" + "src": "11124:4:0" }, { "attributes": { @@ -27324,14 +27324,14 @@ "type": "int_const 2", "value": "2" }, - "id": 1905, + "id": 877, "name": "Literal", - "src": "11132:1:4" + "src": "11129:1:0" } ], - "id": 1906, + "id": 878, "name": "ArrayTypeName", - "src": "11127:7:4" + "src": "11124:7:0" }, { "attributes": { @@ -27346,25 +27346,25 @@ "type": "int_const 2", "value": "2" }, - "id": 1907, + "id": 879, "name": "Literal", - "src": "11135:1:4" + "src": "11132:1:0" } ], - "id": 1908, + "id": 880, "name": "ArrayTypeName", - "src": "11127:10:4" + "src": "11124:10:0" } ], - "id": 1909, + "id": 881, "name": "VariableDeclaration", - "src": "11127:19:4" + "src": "11124:19:0" }, { "attributes": { "constant": false, "name": "c", - "scope": 2029, + "scope": 1001, "stateVariable": false, "storageLocation": "memory", "type": "uint256[2]", @@ -27382,9 +27382,9 @@ "name": "uint", "type": "uint256" }, - "id": 1910, + "id": 882, "name": "ElementaryTypeName", - "src": "11160:4:4" + "src": "11157:4:0" }, { "attributes": { @@ -27399,25 +27399,25 @@ "type": "int_const 2", "value": "2" }, - "id": 1911, + "id": 883, "name": "Literal", - "src": "11165:1:4" + "src": "11162:1:0" } ], - "id": 1912, + "id": 884, "name": "ArrayTypeName", - "src": "11160:7:4" + "src": "11157:7:0" } ], - "id": 1913, + "id": 885, "name": "VariableDeclaration", - "src": "11160:16:4" + "src": "11157:16:0" }, { "attributes": { "constant": false, "name": "input", - "scope": 2029, + "scope": 1001, "stateVariable": false, "storageLocation": "memory", "type": "uint256[6]", @@ -27435,9 +27435,9 @@ "name": "uint", "type": "uint256" }, - "id": 1914, + "id": 886, "name": "ElementaryTypeName", - "src": "11190:4:4" + "src": "11187:4:0" }, { "attributes": { @@ -27452,24 +27452,24 @@ "type": "int_const 6", "value": "6" }, - "id": 1915, + "id": 887, "name": "Literal", - "src": "11195:1:4" + "src": "11192:1:0" } ], - "id": 1916, + "id": 888, "name": "ArrayTypeName", - "src": "11190:7:4" + "src": "11187:7:0" } ], - "id": 1917, + "id": 889, "name": "VariableDeclaration", - "src": "11190:20:4" + "src": "11187:20:0" } ], - "id": 1918, + "id": 890, "name": "ParameterList", - "src": "11083:137:4" + "src": "11080:137:0" }, { "children": [ @@ -27477,7 +27477,7 @@ "attributes": { "constant": false, "name": "r", - "scope": 2029, + "scope": 1001, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -27490,26 +27490,26 @@ "name": "bool", "type": "bool" }, - "id": 1919, + "id": 891, "name": "ElementaryTypeName", - "src": "11242:4:4" + "src": "11239:4:0" } ], - "id": 1920, + "id": 892, "name": "VariableDeclaration", - "src": "11242:6:4" + "src": "11239:6:0" } ], - "id": 1921, + "id": 893, "name": "ParameterList", - "src": "11241:8:4" + "src": "11238:8:0" }, { "children": [ { "attributes": { "assignments": [ - 1923 + 895 ], "initialValue": null }, @@ -27518,7 +27518,7 @@ "attributes": { "constant": false, "name": "proof", - "scope": 2028, + "scope": 1000, "stateVariable": false, "storageLocation": "memory", "type": "struct Verifier.Proof", @@ -27530,22 +27530,22 @@ "attributes": { "contractScope": null, "name": "Proof", - "referencedDeclaration": 1626, + "referencedDeclaration": 598, "type": "struct Verifier.Proof" }, - "id": 1922, + "id": 894, "name": "UserDefinedTypeName", - "src": "11260:5:4" + "src": "11257:5:0" } ], - "id": 1923, + "id": 895, "name": "VariableDeclaration", - "src": "11260:18:4" + "src": "11257:18:0" } ], - "id": 1924, + "id": 896, "name": "VariableDeclarationStatement", - "src": "11260:18:4" + "src": "11257:18:0" }, { "children": [ @@ -27568,7 +27568,7 @@ "isPure": false, "lValueRequested": true, "member_name": "A", - "referencedDeclaration": 1621, + "referencedDeclaration": 593, "type": "struct Pairing.G1Point memory" }, "children": [ @@ -27578,18 +27578,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1923, + "referencedDeclaration": 895, "type": "struct Verifier.Proof memory", "value": "proof" }, - "id": 1925, + "id": 897, "name": "Identifier", - "src": "11288:5:4" + "src": "11285:5:0" } ], - "id": 1927, + "id": 899, "name": "MemberAccess", - "src": "11288:7:4" + "src": "11285:7:0" }, { "attributes": { @@ -27623,7 +27623,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -27633,18 +27633,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1928, + "id": 900, "name": "Identifier", - "src": "11298:7:4" + "src": "11295:7:0" } ], - "id": 1929, + "id": 901, "name": "MemberAccess", - "src": "11298:15:4" + "src": "11295:15:0" }, { "attributes": { @@ -27662,13 +27662,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1903, + "referencedDeclaration": 875, "type": "uint256[2] memory", "value": "a" }, - "id": 1930, + "id": 902, "name": "Identifier", - "src": "11314:1:4" + "src": "11311:1:0" }, { "attributes": { @@ -27683,14 +27683,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1931, + "id": 903, "name": "Literal", - "src": "11316:1:4" + "src": "11313:1:0" } ], - "id": 1932, + "id": 904, "name": "IndexAccess", - "src": "11314:4:4" + "src": "11311:4:0" }, { "attributes": { @@ -27708,13 +27708,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1903, + "referencedDeclaration": 875, "type": "uint256[2] memory", "value": "a" }, - "id": 1933, + "id": 905, "name": "Identifier", - "src": "11320:1:4" + "src": "11317:1:0" }, { "attributes": { @@ -27729,29 +27729,29 @@ "type": "int_const 1", "value": "1" }, - "id": 1934, + "id": 906, "name": "Literal", - "src": "11322:1:4" + "src": "11319:1:0" } ], - "id": 1935, + "id": 907, "name": "IndexAccess", - "src": "11320:4:4" + "src": "11317:4:0" } ], - "id": 1936, + "id": 908, "name": "FunctionCall", - "src": "11298:27:4" + "src": "11295:27:0" } ], - "id": 1937, + "id": 909, "name": "Assignment", - "src": "11288:37:4" + "src": "11285:37:0" } ], - "id": 1938, + "id": 910, "name": "ExpressionStatement", - "src": "11288:37:4" + "src": "11285:37:0" }, { "children": [ @@ -27774,7 +27774,7 @@ "isPure": false, "lValueRequested": true, "member_name": "B", - "referencedDeclaration": 1623, + "referencedDeclaration": 595, "type": "struct Pairing.G2Point memory" }, "children": [ @@ -27784,18 +27784,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1923, + "referencedDeclaration": 895, "type": "struct Verifier.Proof memory", "value": "proof" }, - "id": 1939, + "id": 911, "name": "Identifier", - "src": "11335:5:4" + "src": "11332:5:0" } ], - "id": 1941, + "id": 913, "name": "MemberAccess", - "src": "11335:7:4" + "src": "11332:7:0" }, { "attributes": { @@ -27829,7 +27829,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "type(struct Pairing.G2Point storage pointer)" }, "children": [ @@ -27839,18 +27839,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1942, + "id": 914, "name": "Identifier", - "src": "11345:7:4" + "src": "11342:7:0" } ], - "id": 1943, + "id": 915, "name": "MemberAccess", - "src": "11345:15:4" + "src": "11342:15:0" }, { "attributes": { @@ -27889,13 +27889,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1909, + "referencedDeclaration": 881, "type": "uint256[2] memory[2] memory", "value": "b" }, - "id": 1944, + "id": 916, "name": "Identifier", - "src": "11362:1:4" + "src": "11359:1:0" }, { "attributes": { @@ -27910,14 +27910,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1945, + "id": 917, "name": "Literal", - "src": "11364:1:4" + "src": "11361:1:0" } ], - "id": 1946, + "id": 918, "name": "IndexAccess", - "src": "11362:4:4" + "src": "11359:4:0" }, { "attributes": { @@ -27932,14 +27932,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1947, + "id": 919, "name": "Literal", - "src": "11367:1:4" + "src": "11364:1:0" } ], - "id": 1948, + "id": 920, "name": "IndexAccess", - "src": "11362:7:4" + "src": "11359:7:0" }, { "attributes": { @@ -27967,13 +27967,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1909, + "referencedDeclaration": 881, "type": "uint256[2] memory[2] memory", "value": "b" }, - "id": 1949, + "id": 921, "name": "Identifier", - "src": "11371:1:4" + "src": "11368:1:0" }, { "attributes": { @@ -27988,14 +27988,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1950, + "id": 922, "name": "Literal", - "src": "11373:1:4" + "src": "11370:1:0" } ], - "id": 1951, + "id": 923, "name": "IndexAccess", - "src": "11371:4:4" + "src": "11368:4:0" }, { "attributes": { @@ -28010,19 +28010,19 @@ "type": "int_const 1", "value": "1" }, - "id": 1952, + "id": 924, "name": "Literal", - "src": "11376:1:4" + "src": "11373:1:0" } ], - "id": 1953, + "id": 925, "name": "IndexAccess", - "src": "11371:7:4" + "src": "11368:7:0" } ], - "id": 1954, + "id": 926, "name": "TupleExpression", - "src": "11361:18:4" + "src": "11358:18:0" }, { "attributes": { @@ -28061,13 +28061,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1909, + "referencedDeclaration": 881, "type": "uint256[2] memory[2] memory", "value": "b" }, - "id": 1955, + "id": 927, "name": "Identifier", - "src": "11382:1:4" + "src": "11379:1:0" }, { "attributes": { @@ -28082,14 +28082,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1956, + "id": 928, "name": "Literal", - "src": "11384:1:4" + "src": "11381:1:0" } ], - "id": 1957, + "id": 929, "name": "IndexAccess", - "src": "11382:4:4" + "src": "11379:4:0" }, { "attributes": { @@ -28104,14 +28104,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1958, + "id": 930, "name": "Literal", - "src": "11387:1:4" + "src": "11384:1:0" } ], - "id": 1959, + "id": 931, "name": "IndexAccess", - "src": "11382:7:4" + "src": "11379:7:0" }, { "attributes": { @@ -28139,13 +28139,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1909, + "referencedDeclaration": 881, "type": "uint256[2] memory[2] memory", "value": "b" }, - "id": 1960, + "id": 932, "name": "Identifier", - "src": "11391:1:4" + "src": "11388:1:0" }, { "attributes": { @@ -28160,14 +28160,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1961, + "id": 933, "name": "Literal", - "src": "11393:1:4" + "src": "11390:1:0" } ], - "id": 1962, + "id": 934, "name": "IndexAccess", - "src": "11391:4:4" + "src": "11388:4:0" }, { "attributes": { @@ -28182,34 +28182,34 @@ "type": "int_const 1", "value": "1" }, - "id": 1963, + "id": 935, "name": "Literal", - "src": "11396:1:4" + "src": "11393:1:0" } ], - "id": 1964, + "id": 936, "name": "IndexAccess", - "src": "11391:7:4" + "src": "11388:7:0" } ], - "id": 1965, + "id": 937, "name": "TupleExpression", - "src": "11381:18:4" + "src": "11378:18:0" } ], - "id": 1966, + "id": 938, "name": "FunctionCall", - "src": "11345:55:4" + "src": "11342:55:0" } ], - "id": 1967, + "id": 939, "name": "Assignment", - "src": "11335:65:4" + "src": "11332:65:0" } ], - "id": 1968, + "id": 940, "name": "ExpressionStatement", - "src": "11335:65:4" + "src": "11332:65:0" }, { "children": [ @@ -28232,7 +28232,7 @@ "isPure": false, "lValueRequested": true, "member_name": "C", - "referencedDeclaration": 1625, + "referencedDeclaration": 597, "type": "struct Pairing.G1Point memory" }, "children": [ @@ -28242,18 +28242,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1923, + "referencedDeclaration": 895, "type": "struct Verifier.Proof memory", "value": "proof" }, - "id": 1969, + "id": 941, "name": "Identifier", - "src": "11410:5:4" + "src": "11407:5:0" } ], - "id": 1971, + "id": 943, "name": "MemberAccess", - "src": "11410:7:4" + "src": "11407:7:0" }, { "attributes": { @@ -28287,7 +28287,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -28297,18 +28297,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1972, + "id": 944, "name": "Identifier", - "src": "11420:7:4" + "src": "11417:7:0" } ], - "id": 1973, + "id": 945, "name": "MemberAccess", - "src": "11420:15:4" + "src": "11417:15:0" }, { "attributes": { @@ -28326,13 +28326,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1913, + "referencedDeclaration": 885, "type": "uint256[2] memory", "value": "c" }, - "id": 1974, + "id": 946, "name": "Identifier", - "src": "11436:1:4" + "src": "11433:1:0" }, { "attributes": { @@ -28347,14 +28347,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1975, + "id": 947, "name": "Literal", - "src": "11438:1:4" + "src": "11435:1:0" } ], - "id": 1976, + "id": 948, "name": "IndexAccess", - "src": "11436:4:4" + "src": "11433:4:0" }, { "attributes": { @@ -28372,13 +28372,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1913, + "referencedDeclaration": 885, "type": "uint256[2] memory", "value": "c" }, - "id": 1977, + "id": 949, "name": "Identifier", - "src": "11442:1:4" + "src": "11439:1:0" }, { "attributes": { @@ -28393,34 +28393,34 @@ "type": "int_const 1", "value": "1" }, - "id": 1978, + "id": 950, "name": "Literal", - "src": "11444:1:4" + "src": "11441:1:0" } ], - "id": 1979, + "id": 951, "name": "IndexAccess", - "src": "11442:4:4" + "src": "11439:4:0" } ], - "id": 1980, + "id": 952, "name": "FunctionCall", - "src": "11420:27:4" + "src": "11417:27:0" } ], - "id": 1981, + "id": 953, "name": "Assignment", - "src": "11410:37:4" + "src": "11407:37:0" } ], - "id": 1982, + "id": 954, "name": "ExpressionStatement", - "src": "11410:37:4" + "src": "11407:37:0" }, { "attributes": { "assignments": [ - 1986 + 958 ] }, "children": [ @@ -28428,7 +28428,7 @@ "attributes": { "constant": false, "name": "inputValues", - "scope": 2028, + "scope": 1000, "stateVariable": false, "storageLocation": "memory", "type": "uint256[]", @@ -28447,19 +28447,19 @@ "name": "uint", "type": "uint256" }, - "id": 1984, + "id": 956, "name": "ElementaryTypeName", - "src": "11457:4:4" + "src": "11454:4:0" } ], - "id": 1985, + "id": 957, "name": "ArrayTypeName", - "src": "11457:6:4" + "src": "11454:6:0" } ], - "id": 1986, + "id": 958, "name": "VariableDeclaration", - "src": "11457:25:4" + "src": "11454:25:0" }, { "attributes": { @@ -28502,19 +28502,19 @@ "name": "uint", "type": "uint256" }, - "id": 1987, + "id": 959, "name": "ElementaryTypeName", - "src": "11489:4:4" + "src": "11486:4:0" } ], - "id": 1988, + "id": 960, "name": "ArrayTypeName", - "src": "11489:6:4" + "src": "11486:6:0" } ], - "id": 1989, + "id": 961, "name": "NewExpression", - "src": "11485:10:4" + "src": "11482:10:0" }, { "attributes": { @@ -28534,35 +28534,35 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1917, + "referencedDeclaration": 889, "type": "uint256[6] memory", "value": "input" }, - "id": 1990, + "id": 962, "name": "Identifier", - "src": "11496:5:4" + "src": "11493:5:0" } ], - "id": 1991, + "id": 963, "name": "MemberAccess", - "src": "11496:12:4" + "src": "11493:12:0" } ], - "id": 1992, + "id": 964, "name": "FunctionCall", - "src": "11485:24:4" + "src": "11482:24:0" } ], - "id": 1993, + "id": 965, "name": "VariableDeclarationStatement", - "src": "11457:52:4" + "src": "11454:52:0" }, { "children": [ { "attributes": { "assignments": [ - 1995 + 967 ] }, "children": [ @@ -28570,7 +28570,7 @@ "attributes": { "constant": false, "name": "i", - "scope": 2014, + "scope": 986, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -28583,14 +28583,14 @@ "name": "uint", "type": "uint256" }, - "id": 1994, + "id": 966, "name": "ElementaryTypeName", - "src": "11523:4:4" + "src": "11520:4:0" } ], - "id": 1995, + "id": 967, "name": "VariableDeclaration", - "src": "11523:6:4" + "src": "11520:6:0" }, { "attributes": { @@ -28605,14 +28605,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1996, + "id": 968, "name": "Literal", - "src": "11532:1:4" + "src": "11529:1:0" } ], - "id": 1997, + "id": 969, "name": "VariableDeclarationStatement", - "src": "11523:10:4" + "src": "11520:10:0" }, { "attributes": { @@ -28635,13 +28635,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1995, + "referencedDeclaration": 967, "type": "uint256", "value": "i" }, - "id": 1998, + "id": 970, "name": "Identifier", - "src": "11535:1:4" + "src": "11532:1:0" }, { "attributes": { @@ -28661,23 +28661,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1917, + "referencedDeclaration": 889, "type": "uint256[6] memory", "value": "input" }, - "id": 1999, + "id": 971, "name": "Identifier", - "src": "11539:5:4" + "src": "11536:5:0" } ], - "id": 2000, + "id": 972, "name": "MemberAccess", - "src": "11539:12:4" + "src": "11536:12:0" } ], - "id": 2001, + "id": 973, "name": "BinaryOperation", - "src": "11535:16:4" + "src": "11532:16:0" }, { "children": [ @@ -28699,23 +28699,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1995, + "referencedDeclaration": 967, "type": "uint256", "value": "i" }, - "id": 2002, + "id": 974, "name": "Identifier", - "src": "11553:1:4" + "src": "11550:1:0" } ], - "id": 2003, + "id": 975, "name": "UnaryOperation", - "src": "11553:3:4" + "src": "11550:3:0" } ], - "id": 2004, + "id": 976, "name": "ExpressionStatement", - "src": "11553:3:4" + "src": "11550:3:0" }, { "children": [ @@ -28748,13 +28748,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1986, + "referencedDeclaration": 958, "type": "uint256[] memory", "value": "inputValues" }, - "id": 2005, + "id": 977, "name": "Identifier", - "src": "11571:11:4" + "src": "11568:11:0" }, { "attributes": { @@ -28762,18 +28762,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1995, + "referencedDeclaration": 967, "type": "uint256", "value": "i" }, - "id": 2006, + "id": 978, "name": "Identifier", - "src": "11583:1:4" + "src": "11580:1:0" } ], - "id": 2007, + "id": 979, "name": "IndexAccess", - "src": "11571:14:4" + "src": "11568:14:0" }, { "attributes": { @@ -28791,13 +28791,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1917, + "referencedDeclaration": 889, "type": "uint256[6] memory", "value": "input" }, - "id": 2008, + "id": 980, "name": "Identifier", - "src": "11588:5:4" + "src": "11585:5:0" }, { "attributes": { @@ -28805,38 +28805,38 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1995, + "referencedDeclaration": 967, "type": "uint256", "value": "i" }, - "id": 2009, + "id": 981, "name": "Identifier", - "src": "11594:1:4" + "src": "11591:1:0" } ], - "id": 2010, + "id": 982, "name": "IndexAccess", - "src": "11588:8:4" + "src": "11585:8:0" } ], - "id": 2011, + "id": 983, "name": "Assignment", - "src": "11571:25:4" + "src": "11568:25:0" } ], - "id": 2012, + "id": 984, "name": "ExpressionStatement", - "src": "11571:25:4" + "src": "11568:25:0" } ], - "id": 2013, + "id": 985, "name": "Block", - "src": "11557:50:4" + "src": "11554:50:0" } ], - "id": 2014, + "id": 986, "name": "ForStatement", - "src": "11519:88:4" + "src": "11516:88:0" }, { "children": [ @@ -28878,20 +28878,20 @@ "typeString": "uint256[] memory" }, { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } ], "overloadedDeclarations": [ null ], - "referencedDeclaration": 1899, + "referencedDeclaration": 871, "type": "function (uint256[] memory,struct Verifier.Proof memory) view returns (uint256)", "value": "verify" }, - "id": 2015, + "id": 987, "name": "Identifier", - "src": "11620:6:4" + "src": "11617:6:0" }, { "attributes": { @@ -28899,13 +28899,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1986, + "referencedDeclaration": 958, "type": "uint256[] memory", "value": "inputValues" }, - "id": 2016, + "id": 988, "name": "Identifier", - "src": "11627:11:4" + "src": "11624:11:0" }, { "attributes": { @@ -28913,18 +28913,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1923, + "referencedDeclaration": 895, "type": "struct Verifier.Proof memory", "value": "proof" }, - "id": 2017, + "id": 989, "name": "Identifier", - "src": "11640:5:4" + "src": "11637:5:0" } ], - "id": 2018, + "id": 990, "name": "FunctionCall", - "src": "11620:26:4" + "src": "11617:26:0" }, { "attributes": { @@ -28939,20 +28939,20 @@ "type": "int_const 0", "value": "0" }, - "id": 2019, + "id": 991, "name": "Literal", - "src": "11650:1:4" + "src": "11647:1:0" } ], - "id": 2020, + "id": 992, "name": "BinaryOperation", - "src": "11620:31:4" + "src": "11617:31:0" }, { "children": [ { "attributes": { - "functionReturnParameters": 1921 + "functionReturnParameters": 893 }, "children": [ { @@ -28968,25 +28968,25 @@ "type": "bool", "value": "true" }, - "id": 2021, + "id": 993, "name": "Literal", - "src": "11674:4:4" + "src": "11671:4:0" } ], - "id": 2022, + "id": 994, "name": "Return", - "src": "11667:11:4" + "src": "11664:11:0" } ], - "id": 2023, + "id": 995, "name": "Block", - "src": "11653:36:4" + "src": "11650:36:0" }, { "children": [ { "attributes": { - "functionReturnParameters": 1921 + "functionReturnParameters": 893 }, "children": [ { @@ -29002,34 +29002,34 @@ "type": "bool", "value": "false" }, - "id": 2024, + "id": 996, "name": "Literal", - "src": "11716:5:4" + "src": "11713:5:0" } ], - "id": 2025, + "id": 997, "name": "Return", - "src": "11709:12:4" + "src": "11706:12:0" } ], - "id": 2026, + "id": 998, "name": "Block", - "src": "11695:37:4" + "src": "11692:37:0" } ], - "id": 2027, + "id": 999, "name": "IfStatement", - "src": "11616:116:4" + "src": "11613:116:0" } ], - "id": 2028, + "id": 1000, "name": "Block", - "src": "11250:488:4" + "src": "11247:488:0" } ], - "id": 2029, + "id": 1001, "name": "FunctionDefinition", - "src": "11063:675:4" + "src": "11060:675:0" }, { "attributes": { @@ -29041,7 +29041,7 @@ null ], "name": "verifyProof", - "scope": 2086, + "scope": 1058, "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -29053,7 +29053,7 @@ "attributes": { "constant": false, "name": "proof", - "scope": 2085, + "scope": 1057, "stateVariable": false, "storageLocation": "calldata", "type": "bytes", @@ -29066,20 +29066,20 @@ "name": "bytes", "type": "bytes" }, - "id": 2030, + "id": 1002, "name": "ElementaryTypeName", - "src": "11764:5:4" + "src": "11761:5:0" } ], - "id": 2031, + "id": 1003, "name": "VariableDeclaration", - "src": "11764:20:4" + "src": "11761:20:0" }, { "attributes": { "constant": false, "name": "inputs", - "scope": 2085, + "scope": 1057, "stateVariable": false, "storageLocation": "calldata", "type": "uint256[6]", @@ -29097,9 +29097,9 @@ "name": "uint", "type": "uint256" }, - "id": 2032, + "id": 1004, "name": "ElementaryTypeName", - "src": "11786:4:4" + "src": "11783:4:0" }, { "attributes": { @@ -29114,24 +29114,24 @@ "type": "int_const 6", "value": "6" }, - "id": 2033, + "id": 1005, "name": "Literal", - "src": "11791:1:4" + "src": "11788:1:0" } ], - "id": 2034, + "id": 1006, "name": "ArrayTypeName", - "src": "11786:7:4" + "src": "11783:7:0" } ], - "id": 2035, + "id": 1007, "name": "VariableDeclaration", - "src": "11786:23:4" + "src": "11783:23:0" } ], - "id": 2036, + "id": 1008, "name": "ParameterList", - "src": "11763:47:4" + "src": "11760:47:0" }, { "children": [ @@ -29139,7 +29139,7 @@ "attributes": { "constant": false, "name": "r", - "scope": 2085, + "scope": 1057, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -29152,29 +29152,29 @@ "name": "bool", "type": "bool" }, - "id": 2037, + "id": 1009, "name": "ElementaryTypeName", - "src": "11834:4:4" + "src": "11831:4:0" } ], - "id": 2038, + "id": 1010, "name": "VariableDeclaration", - "src": "11834:6:4" + "src": "11831:6:0" } ], - "id": 2039, + "id": 1011, "name": "ParameterList", - "src": "11833:8:4" + "src": "11830:8:0" }, { "children": [ { "attributes": { "assignments": [ - 2044, - 2048, - 2052, - 2056 + 1016, + 1020, + 1024, + 1028 ] }, "children": [ @@ -29182,7 +29182,7 @@ "attributes": { "constant": false, "name": "a", - "scope": 2084, + "scope": 1056, "stateVariable": false, "storageLocation": "memory", "type": "uint256[2]", @@ -29200,9 +29200,9 @@ "name": "uint", "type": "uint256" }, - "id": 2042, + "id": 1014, "name": "ElementaryTypeName", - "src": "11914:4:4" + "src": "11911:4:0" }, { "attributes": { @@ -29217,25 +29217,25 @@ "type": "int_const 2", "value": "2" }, - "id": 2041, + "id": 1013, "name": "Literal", - "src": "11919:1:4" + "src": "11916:1:0" } ], - "id": 2043, + "id": 1015, "name": "ArrayTypeName", - "src": "11914:7:4" + "src": "11911:7:0" } ], - "id": 2044, + "id": 1016, "name": "VariableDeclaration", - "src": "11914:16:4" + "src": "11911:16:0" }, { "attributes": { "constant": false, "name": "b1", - "scope": 2084, + "scope": 1056, "stateVariable": false, "storageLocation": "memory", "type": "uint256[2]", @@ -29253,9 +29253,9 @@ "name": "uint", "type": "uint256" }, - "id": 2045, + "id": 1017, "name": "ElementaryTypeName", - "src": "11932:4:4" + "src": "11929:4:0" }, { "attributes": { @@ -29270,25 +29270,25 @@ "type": "int_const 2", "value": "2" }, - "id": 2046, + "id": 1018, "name": "Literal", - "src": "11937:1:4" + "src": "11934:1:0" } ], - "id": 2047, + "id": 1019, "name": "ArrayTypeName", - "src": "11932:7:4" + "src": "11929:7:0" } ], - "id": 2048, + "id": 1020, "name": "VariableDeclaration", - "src": "11932:17:4" + "src": "11929:17:0" }, { "attributes": { "constant": false, "name": "b2", - "scope": 2084, + "scope": 1056, "stateVariable": false, "storageLocation": "memory", "type": "uint256[2]", @@ -29306,9 +29306,9 @@ "name": "uint", "type": "uint256" }, - "id": 2049, + "id": 1021, "name": "ElementaryTypeName", - "src": "11951:4:4" + "src": "11948:4:0" }, { "attributes": { @@ -29323,25 +29323,25 @@ "type": "int_const 2", "value": "2" }, - "id": 2050, + "id": 1022, "name": "Literal", - "src": "11956:1:4" + "src": "11953:1:0" } ], - "id": 2051, + "id": 1023, "name": "ArrayTypeName", - "src": "11951:7:4" + "src": "11948:7:0" } ], - "id": 2052, + "id": 1024, "name": "VariableDeclaration", - "src": "11951:17:4" + "src": "11948:17:0" }, { "attributes": { "constant": false, "name": "c", - "scope": 2084, + "scope": 1056, "stateVariable": false, "storageLocation": "memory", "type": "uint256[2]", @@ -29359,9 +29359,9 @@ "name": "uint", "type": "uint256" }, - "id": 2053, + "id": 1025, "name": "ElementaryTypeName", - "src": "11970:4:4" + "src": "11967:4:0" }, { "attributes": { @@ -29376,19 +29376,19 @@ "type": "int_const 2", "value": "2" }, - "id": 2054, + "id": 1026, "name": "Literal", - "src": "11975:1:4" + "src": "11972:1:0" } ], - "id": 2055, + "id": 1027, "name": "ArrayTypeName", - "src": "11970:7:4" + "src": "11967:7:0" } ], - "id": 2056, + "id": 1028, "name": "VariableDeclaration", - "src": "11970:16:4" + "src": "11967:16:0" }, { "attributes": { @@ -29432,18 +29432,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2118, + "referencedDeclaration": 1060, "type": "abi", "value": "abi" }, - "id": 2057, + "id": 1029, "name": "Identifier", - "src": "11990:3:4" + "src": "11987:3:0" } ], - "id": 2058, + "id": 1030, "name": "MemberAccess", - "src": "11990:10:4" + "src": "11987:10:0" }, { "attributes": { @@ -29451,13 +29451,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2031, + "referencedDeclaration": 1003, "type": "bytes calldata", "value": "proof" }, - "id": 2059, + "id": 1031, "name": "Identifier", - "src": "12001:5:4" + "src": "11998:5:0" }, { "attributes": { @@ -29490,9 +29490,9 @@ "type": "type(uint256)", "value": "uint" }, - "id": 2060, + "id": 1032, "name": "ElementaryTypeNameExpression", - "src": "12009:4:4" + "src": "12006:4:0" }, { "attributes": { @@ -29507,14 +29507,14 @@ "type": "int_const 2", "value": "2" }, - "id": 2061, + "id": 1033, "name": "Literal", - "src": "12014:1:4" + "src": "12011:1:0" } ], - "id": 2062, + "id": 1034, "name": "IndexAccess", - "src": "12009:7:4" + "src": "12006:7:0" }, { "attributes": { @@ -29536,9 +29536,9 @@ "type": "type(uint256)", "value": "uint" }, - "id": 2063, + "id": 1035, "name": "ElementaryTypeNameExpression", - "src": "12018:4:4" + "src": "12015:4:0" }, { "attributes": { @@ -29553,14 +29553,14 @@ "type": "int_const 2", "value": "2" }, - "id": 2064, + "id": 1036, "name": "Literal", - "src": "12023:1:4" + "src": "12020:1:0" } ], - "id": 2065, + "id": 1037, "name": "IndexAccess", - "src": "12018:7:4" + "src": "12015:7:0" }, { "attributes": { @@ -29582,9 +29582,9 @@ "type": "type(uint256)", "value": "uint" }, - "id": 2066, + "id": 1038, "name": "ElementaryTypeNameExpression", - "src": "12027:4:4" + "src": "12024:4:0" }, { "attributes": { @@ -29599,14 +29599,14 @@ "type": "int_const 2", "value": "2" }, - "id": 2067, + "id": 1039, "name": "Literal", - "src": "12032:1:4" + "src": "12029:1:0" } ], - "id": 2068, + "id": 1040, "name": "IndexAccess", - "src": "12027:7:4" + "src": "12024:7:0" }, { "attributes": { @@ -29628,9 +29628,9 @@ "type": "type(uint256)", "value": "uint" }, - "id": 2069, + "id": 1041, "name": "ElementaryTypeNameExpression", - "src": "12036:4:4" + "src": "12033:4:0" }, { "attributes": { @@ -29645,33 +29645,33 @@ "type": "int_const 2", "value": "2" }, - "id": 2070, + "id": 1042, "name": "Literal", - "src": "12041:1:4" + "src": "12038:1:0" } ], - "id": 2071, + "id": 1043, "name": "IndexAccess", - "src": "12036:7:4" + "src": "12033:7:0" } ], - "id": 2072, + "id": 1044, "name": "TupleExpression", - "src": "12008:36:4" + "src": "12005:36:0" } ], - "id": 2073, + "id": 1045, "name": "FunctionCall", - "src": "11990:55:4" + "src": "11987:55:0" } ], - "id": 2074, + "id": 1046, "name": "VariableDeclarationStatement", - "src": "11913:132:4" + "src": "11910:132:0" }, { "attributes": { - "functionReturnParameters": 2039 + "functionReturnParameters": 1011 }, "children": [ { @@ -29712,13 +29712,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2029, + "referencedDeclaration": 1001, "type": "function (uint256[2] memory,uint256[2] memory[2] memory,uint256[2] memory,uint256[6] memory) view returns (bool)", "value": "verifyProof" }, - "id": 2075, + "id": 1047, "name": "Identifier", - "src": "12062:11:4" + "src": "12059:11:0" }, { "attributes": { @@ -29726,13 +29726,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2044, + "referencedDeclaration": 1016, "type": "uint256[2] memory", "value": "a" }, - "id": 2076, + "id": 1048, "name": "Identifier", - "src": "12074:1:4" + "src": "12071:1:0" }, { "attributes": { @@ -29751,13 +29751,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2048, + "referencedDeclaration": 1020, "type": "uint256[2] memory", "value": "b1" }, - "id": 2077, + "id": 1049, "name": "Identifier", - "src": "12078:2:4" + "src": "12075:2:0" }, { "attributes": { @@ -29765,18 +29765,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2052, + "referencedDeclaration": 1024, "type": "uint256[2] memory", "value": "b2" }, - "id": 2078, + "id": 1050, "name": "Identifier", - "src": "12082:2:4" + "src": "12079:2:0" } ], - "id": 2079, + "id": 1051, "name": "TupleExpression", - "src": "12077:8:4" + "src": "12074:8:0" }, { "attributes": { @@ -29784,13 +29784,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2056, + "referencedDeclaration": 1028, "type": "uint256[2] memory", "value": "c" }, - "id": 2080, + "id": 1052, "name": "Identifier", - "src": "12087:1:4" + "src": "12084:1:0" }, { "attributes": { @@ -29798,43 +29798,43 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2035, + "referencedDeclaration": 1007, "type": "uint256[6] calldata", "value": "inputs" }, - "id": 2081, + "id": 1053, "name": "Identifier", - "src": "12090:6:4" + "src": "12087:6:0" } ], - "id": 2082, + "id": 1054, "name": "FunctionCall", - "src": "12062:35:4" + "src": "12059:35:0" } ], - "id": 2083, + "id": 1055, "name": "Return", - "src": "12055:42:4" + "src": "12052:42:0" } ], - "id": 2084, + "id": 1056, "name": "Block", - "src": "11842:262:4" + "src": "11839:262:0" } ], - "id": 2085, + "id": 1057, "name": "FunctionDefinition", - "src": "11743:361:4" + "src": "11740:361:0" } ], - "id": 2086, + "id": 1058, "name": "ContractDefinition", - "src": "7067:5039:4" + "src": "7067:5036:0" } ], - "id": 2087, + "id": 1059, "name": "SourceUnit", - "src": "1193:10914:4" + "src": "1193:10911:0" }, "compiler": { "name": "solc", @@ -29842,7 +29842,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-04-02T20:48:07.488Z", + "updatedAt": "2021-04-04T20:41:20.196Z", "devdoc": { "methods": {} }, diff --git a/client/contracts/ReentrancyGuard.json b/client/contracts/ReentrancyGuard.json index 880d76a..1bbf9b1 100644 --- a/client/contracts/ReentrancyGuard.json +++ b/client/contracts/ReentrancyGuard.json @@ -19,14 +19,14 @@ "absolutePath": "@openzeppelin/contracts/utils/ReentrancyGuard.sol", "exportedSymbols": { "ReentrancyGuard": [ - 3245 + 3255 ] }, - "id": 3246, + "id": 3256, "nodeType": "SourceUnit", "nodes": [ { - "id": 3217, + "id": 3227, "literals": [ "solidity", "^", @@ -42,19 +42,19 @@ "contractKind": "contract", "documentation": "@dev Contract module that helps prevent reentrant calls to a function.\n * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\navailable, which can be applied to functions to make sure there are no nested\n(reentrant) calls to them.\n * Note that because there is a single `nonReentrant` guard, functions marked as\n`nonReentrant` may not call one another. This can be worked around by making\nthose functions `private`, and then adding `external` `nonReentrant` entry\npoints to them.\n * TIP: If you would like to learn more about reentrancy and alternative ways\nto protect against it, check out our blog post\nhttps://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\n * _Since v2.5.0:_ this module is now much more gas efficient, given net gas\nmetering changes introduced in the Istanbul hardfork.", "fullyImplemented": true, - "id": 3245, + "id": 3255, "linearizedBaseContracts": [ - 3245 + 3255 ], "name": "ReentrancyGuard", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 3219, + "id": 3229, "name": "_notEntered", "nodeType": "VariableDeclaration", - "scope": 3245, + "scope": 3255, "src": "944:24:18", "stateVariable": true, "storageLocation": "default", @@ -63,7 +63,7 @@ "typeString": "bool" }, "typeName": { - "id": 3218, + "id": 3228, "name": "bool", "nodeType": "ElementaryTypeName", "src": "944:4:18", @@ -77,25 +77,25 @@ }, { "body": { - "id": 3226, + "id": 3236, "nodeType": "Block", "src": "999:447:18", "statements": [ { "expression": { "argumentTypes": null, - "id": 3224, + "id": 3234, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3222, + "id": 3232, "name": "_notEntered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3219, + "referencedDeclaration": 3229, "src": "1421:11:18", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -107,7 +107,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 3223, + "id": 3233, "isConstant": false, "isLValue": false, "isPure": true, @@ -128,32 +128,32 @@ "typeString": "bool" } }, - "id": 3225, + "id": 3235, "nodeType": "ExpressionStatement", "src": "1421:18:18" } ] }, "documentation": null, - "id": 3227, + "id": 3237, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 3220, + "id": 3230, "nodeType": "ParameterList", "parameters": [], "src": "987:2:18" }, "returnParameters": { - "id": 3221, + "id": 3231, "nodeType": "ParameterList", "parameters": [], "src": "999:0:18" }, - "scope": 3245, + "scope": 3255, "src": "975:471:18", "stateMutability": "nonpayable", "superFunction": null, @@ -161,7 +161,7 @@ }, { "body": { - "id": 3243, + "id": 3253, "nodeType": "Block", "src": "1845:410:18", "statements": [ @@ -171,11 +171,11 @@ "arguments": [ { "argumentTypes": null, - "id": 3230, + "id": 3240, "name": "_notEntered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3219, + "referencedDeclaration": 3229, "src": "1934:11:18", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -185,7 +185,7 @@ { "argumentTypes": null, "hexValue": "5265656e7472616e637947756172643a207265656e7472616e742063616c6c", - "id": 3231, + "id": 3241, "isConstant": false, "isLValue": false, "isPure": true, @@ -212,21 +212,21 @@ "typeString": "literal_string \"ReentrancyGuard: reentrant call\"" } ], - "id": 3229, + "id": 3239, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "1926:7:18", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 3232, + "id": 3242, "isConstant": false, "isLValue": false, "isPure": false, @@ -240,25 +240,25 @@ "typeString": "tuple()" } }, - "id": 3233, + "id": 3243, "nodeType": "ExpressionStatement", "src": "1926:55:18" }, { "expression": { "argumentTypes": null, - "id": 3236, + "id": 3246, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3234, + "id": 3244, "name": "_notEntered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3219, + "referencedDeclaration": 3229, "src": "2056:11:18", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -270,7 +270,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 3235, + "id": 3245, "isConstant": false, "isLValue": false, "isPure": true, @@ -291,30 +291,30 @@ "typeString": "bool" } }, - "id": 3237, + "id": 3247, "nodeType": "ExpressionStatement", "src": "2056:19:18" }, { - "id": 3238, + "id": 3248, "nodeType": "PlaceholderStatement", "src": "2086:1:18" }, { "expression": { "argumentTypes": null, - "id": 3241, + "id": 3251, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 3239, + "id": 3249, "name": "_notEntered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3219, + "referencedDeclaration": 3229, "src": "2230:11:18", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -326,7 +326,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 3240, + "id": 3250, "isConstant": false, "isLValue": false, "isPure": true, @@ -347,18 +347,18 @@ "typeString": "bool" } }, - "id": 3242, + "id": 3252, "nodeType": "ExpressionStatement", "src": "2230:18:18" } ] }, "documentation": "@dev Prevents a contract from calling itself, directly or indirectly.\nCalling a `nonReentrant` function from another `nonReentrant`\nfunction is not supported. It is possible to prevent this from happening\nby making the `nonReentrant` function external, and make it call a\n`private` function that does the actual work.", - "id": 3244, + "id": 3254, "name": "nonReentrant", "nodeType": "ModifierDefinition", "parameters": { - "id": 3228, + "id": 3238, "nodeType": "ParameterList", "parameters": [], "src": "1842:2:18" @@ -367,7 +367,7 @@ "visibility": "internal" } ], - "scope": 3246, + "scope": 3256, "src": "913:1344:18" } ], @@ -378,7 +378,7 @@ "absolutePath": "@openzeppelin/contracts/utils/ReentrancyGuard.sol", "exportedSymbols": { "ReentrancyGuard": [ - 3245 + 3255 ] } }, @@ -392,7 +392,7 @@ ".0" ] }, - "id": 3217, + "id": 3227, "name": "PragmaDirective", "src": "0:23:18" }, @@ -408,17 +408,17 @@ "documentation": "@dev Contract module that helps prevent reentrant calls to a function.\n * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\navailable, which can be applied to functions to make sure there are no nested\n(reentrant) calls to them.\n * Note that because there is a single `nonReentrant` guard, functions marked as\n`nonReentrant` may not call one another. This can be worked around by making\nthose functions `private`, and then adding `external` `nonReentrant` entry\npoints to them.\n * TIP: If you would like to learn more about reentrancy and alternative ways\nto protect against it, check out our blog post\nhttps://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\n * _Since v2.5.0:_ this module is now much more gas efficient, given net gas\nmetering changes introduced in the Istanbul hardfork.", "fullyImplemented": true, "linearizedBaseContracts": [ - 3245 + 3255 ], "name": "ReentrancyGuard", - "scope": 3246 + "scope": 3256 }, "children": [ { "attributes": { "constant": false, "name": "_notEntered", - "scope": 3245, + "scope": 3255, "stateVariable": true, "storageLocation": "default", "type": "bool", @@ -431,12 +431,12 @@ "name": "bool", "type": "bool" }, - "id": 3218, + "id": 3228, "name": "ElementaryTypeName", "src": "944:4:18" } ], - "id": 3219, + "id": 3229, "name": "VariableDeclaration", "src": "944:24:18" }, @@ -450,7 +450,7 @@ null ], "name": "", - "scope": 3245, + "scope": 3255, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -463,7 +463,7 @@ ] }, "children": [], - "id": 3220, + "id": 3230, "name": "ParameterList", "src": "987:2:18" }, @@ -474,7 +474,7 @@ ] }, "children": [], - "id": 3221, + "id": 3231, "name": "ParameterList", "src": "999:0:18" }, @@ -499,11 +499,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3219, + "referencedDeclaration": 3229, "type": "bool", "value": "_notEntered" }, - "id": 3222, + "id": 3232, "name": "Identifier", "src": "1421:11:18" }, @@ -520,27 +520,27 @@ "type": "bool", "value": "true" }, - "id": 3223, + "id": 3233, "name": "Literal", "src": "1435:4:18" } ], - "id": 3224, + "id": 3234, "name": "Assignment", "src": "1421:18:18" } ], - "id": 3225, + "id": 3235, "name": "ExpressionStatement", "src": "1421:18:18" } ], - "id": 3226, + "id": 3236, "name": "Block", "src": "999:447:18" } ], - "id": 3227, + "id": 3237, "name": "FunctionDefinition", "src": "975:471:18" }, @@ -558,7 +558,7 @@ ] }, "children": [], - "id": 3228, + "id": 3238, "name": "ParameterList", "src": "1842:2:18" }, @@ -594,14 +594,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 3229, + "id": 3239, "name": "Identifier", "src": "1926:7:18" }, @@ -611,11 +611,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3219, + "referencedDeclaration": 3229, "type": "bool", "value": "_notEntered" }, - "id": 3230, + "id": 3240, "name": "Identifier", "src": "1934:11:18" }, @@ -632,17 +632,17 @@ "type": "literal_string \"ReentrancyGuard: reentrant call\"", "value": "ReentrancyGuard: reentrant call" }, - "id": 3231, + "id": 3241, "name": "Literal", "src": "1947:33:18" } ], - "id": 3232, + "id": 3242, "name": "FunctionCall", "src": "1926:55:18" } ], - "id": 3233, + "id": 3243, "name": "ExpressionStatement", "src": "1926:55:18" }, @@ -665,11 +665,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3219, + "referencedDeclaration": 3229, "type": "bool", "value": "_notEntered" }, - "id": 3234, + "id": 3244, "name": "Identifier", "src": "2056:11:18" }, @@ -686,22 +686,22 @@ "type": "bool", "value": "false" }, - "id": 3235, + "id": 3245, "name": "Literal", "src": "2070:5:18" } ], - "id": 3236, + "id": 3246, "name": "Assignment", "src": "2056:19:18" } ], - "id": 3237, + "id": 3247, "name": "ExpressionStatement", "src": "2056:19:18" }, { - "id": 3238, + "id": 3248, "name": "PlaceholderStatement", "src": "2086:1:18" }, @@ -724,11 +724,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 3219, + "referencedDeclaration": 3229, "type": "bool", "value": "_notEntered" }, - "id": 3239, + "id": 3249, "name": "Identifier", "src": "2230:11:18" }, @@ -745,37 +745,37 @@ "type": "bool", "value": "true" }, - "id": 3240, + "id": 3250, "name": "Literal", "src": "2244:4:18" } ], - "id": 3241, + "id": 3251, "name": "Assignment", "src": "2230:18:18" } ], - "id": 3242, + "id": 3252, "name": "ExpressionStatement", "src": "2230:18:18" } ], - "id": 3243, + "id": 3253, "name": "Block", "src": "1845:410:18" } ], - "id": 3244, + "id": 3254, "name": "ModifierDefinition", "src": "1821:434:18" } ], - "id": 3245, + "id": 3255, "name": "ContractDefinition", "src": "913:1344:18" } ], - "id": 3246, + "id": 3256, "name": "SourceUnit", "src": "0:2258:18" }, @@ -785,7 +785,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-03-14T02:18:33.155Z", + "updatedAt": "2021-04-04T20:21:29.919Z", "devdoc": { "details": "Contract module that helps prevent reentrant calls to a function. * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier available, which can be applied to functions to make sure there are no nested (reentrant) calls to them. * Note that because there is a single `nonReentrant` guard, functions marked as `nonReentrant` may not call one another. This can be worked around by making those functions `private`, and then adding `external` `nonReentrant` entry points to them. * TIP: If you would like to learn more about reentrancy and alternative ways to protect against it, check out our blog post https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. * _Since v2.5.0:_ this module is now much more gas efficient, given net gas metering changes introduced in the Istanbul hardfork.", "methods": {} diff --git a/client/contracts/Roles.json b/client/contracts/Roles.json index 5041874..87e36c8 100644 --- a/client/contracts/Roles.json +++ b/client/contracts/Roles.json @@ -12,14 +12,14 @@ "absolutePath": "@openzeppelin/contracts/access/Roles.sol", "exportedSymbols": { "Roles": [ - 2361 + 2371 ] }, - "id": 2362, + "id": 2372, "nodeType": "SourceUnit", "nodes": [ { - "id": 2282, + "id": 2292, "literals": [ "solidity", "^", @@ -35,23 +35,23 @@ "contractKind": "library", "documentation": "@title Roles\n@dev Library for managing addresses assigned to a Role.", "fullyImplemented": true, - "id": 2361, + "id": 2371, "linearizedBaseContracts": [ - 2361 + 2371 ], "name": "Roles", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "Roles.Role", - "id": 2287, + "id": 2297, "members": [ { "constant": false, - "id": 2286, + "id": 2296, "name": "bearer", "nodeType": "VariableDeclaration", - "scope": 2287, + "scope": 2297, "src": "150:32:11", "stateVariable": false, "storageLocation": "default", @@ -60,9 +60,9 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 2285, + "id": 2295, "keyType": { - "id": 2283, + "id": 2293, "name": "address", "nodeType": "ElementaryTypeName", "src": "159:7:11", @@ -78,7 +78,7 @@ "typeString": "mapping(address => bool)" }, "valueType": { - "id": 2284, + "id": 2294, "name": "bool", "nodeType": "ElementaryTypeName", "src": "170:4:11", @@ -94,13 +94,13 @@ ], "name": "Role", "nodeType": "StructDefinition", - "scope": 2361, + "scope": 2371, "src": "128:61:11", "visibility": "public" }, { "body": { - "id": 2311, + "id": 2321, "nodeType": "Block", "src": "318:117:11", "statements": [ @@ -110,7 +110,7 @@ "arguments": [ { "argumentTypes": null, - "id": 2299, + "id": 2309, "isConstant": false, "isLValue": false, "isPure": false, @@ -124,24 +124,24 @@ "arguments": [ { "argumentTypes": null, - "id": 2296, + "id": 2306, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2289, + "referencedDeclaration": 2299, "src": "341:4:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$2287_storage_ptr", + "typeIdentifier": "t_struct$_Role_$2297_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 2297, + "id": 2307, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2291, + "referencedDeclaration": 2301, "src": "347:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -152,7 +152,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$2287_storage_ptr", + "typeIdentifier": "t_struct$_Role_$2297_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -160,18 +160,18 @@ "typeString": "address" } ], - "id": 2295, + "id": 2305, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2360, + "referencedDeclaration": 2370, "src": "337:3:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$2287_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$2297_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 2298, + "id": 2308, "isConstant": false, "isLValue": false, "isPure": false, @@ -193,7 +193,7 @@ { "argumentTypes": null, "hexValue": "526f6c65733a206163636f756e7420616c72656164792068617320726f6c65", - "id": 2300, + "id": 2310, "isConstant": false, "isLValue": false, "isPure": true, @@ -220,21 +220,21 @@ "typeString": "literal_string \"Roles: account already has role\"" } ], - "id": 2294, + "id": 2304, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "328:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2301, + "id": 2311, "isConstant": false, "isLValue": false, "isPure": false, @@ -248,14 +248,14 @@ "typeString": "tuple()" } }, - "id": 2302, + "id": 2312, "nodeType": "ExpressionStatement", "src": "328:63:11" }, { "expression": { "argumentTypes": null, - "id": 2309, + "id": 2319, "isConstant": false, "isLValue": false, "isPure": false, @@ -266,39 +266,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2303, + "id": 2313, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2289, + "referencedDeclaration": 2299, "src": "401:4:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$2287_storage_ptr", + "typeIdentifier": "t_struct$_Role_$2297_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 2306, + "id": 2316, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 2286, + "referencedDeclaration": 2296, "src": "401:11:11", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 2307, + "id": 2317, "indexExpression": { "argumentTypes": null, - "id": 2305, + "id": 2315, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2291, + "referencedDeclaration": 2301, "src": "413:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -321,7 +321,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 2308, + "id": 2318, "isConstant": false, "isLValue": false, "isPure": true, @@ -342,45 +342,45 @@ "typeString": "bool" } }, - "id": 2310, + "id": 2320, "nodeType": "ExpressionStatement", "src": "401:27:11" } ] }, "documentation": "@dev Give an account access to this role.", - "id": 2312, + "id": 2322, "implemented": true, "kind": "function", "modifiers": [], "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 2292, + "id": 2302, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2289, + "id": 2299, "name": "role", "nodeType": "VariableDeclaration", - "scope": 2312, + "scope": 2322, "src": "273:17:11", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$2287_storage_ptr", + "typeIdentifier": "t_struct$_Role_$2297_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 2288, + "id": 2298, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2287, + "referencedDeclaration": 2297, "src": "273:4:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$2287_storage_ptr", + "typeIdentifier": "t_struct$_Role_$2297_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -389,10 +389,10 @@ }, { "constant": false, - "id": 2291, + "id": 2301, "name": "account", "nodeType": "VariableDeclaration", - "scope": 2312, + "scope": 2322, "src": "292:15:11", "stateVariable": false, "storageLocation": "default", @@ -401,7 +401,7 @@ "typeString": "address" }, "typeName": { - "id": 2290, + "id": 2300, "name": "address", "nodeType": "ElementaryTypeName", "src": "292:7:11", @@ -418,12 +418,12 @@ "src": "272:36:11" }, "returnParameters": { - "id": 2293, + "id": 2303, "nodeType": "ParameterList", "parameters": [], "src": "318:0:11" }, - "scope": 2361, + "scope": 2371, "src": "260:175:11", "stateMutability": "nonpayable", "superFunction": null, @@ -431,7 +431,7 @@ }, { "body": { - "id": 2335, + "id": 2345, "nodeType": "Block", "src": "571:119:11", "statements": [ @@ -444,24 +444,24 @@ "arguments": [ { "argumentTypes": null, - "id": 2321, + "id": 2331, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2314, + "referencedDeclaration": 2324, "src": "593:4:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$2287_storage_ptr", + "typeIdentifier": "t_struct$_Role_$2297_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, { "argumentTypes": null, - "id": 2322, + "id": 2332, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2316, + "referencedDeclaration": 2326, "src": "599:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -472,7 +472,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$2287_storage_ptr", + "typeIdentifier": "t_struct$_Role_$2297_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -480,18 +480,18 @@ "typeString": "address" } ], - "id": 2320, + "id": 2330, "name": "has", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2360, + "referencedDeclaration": 2370, "src": "589:3:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$2287_storage_ptr_$_t_address_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$2297_storage_ptr_$_t_address_$returns$_t_bool_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, - "id": 2323, + "id": 2333, "isConstant": false, "isLValue": false, "isPure": false, @@ -508,7 +508,7 @@ { "argumentTypes": null, "hexValue": "526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65", - "id": 2324, + "id": 2334, "isConstant": false, "isLValue": false, "isPure": true, @@ -535,21 +535,21 @@ "typeString": "literal_string \"Roles: account does not have role\"" } ], - "id": 2319, + "id": 2329, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "581:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2325, + "id": 2335, "isConstant": false, "isLValue": false, "isPure": false, @@ -563,14 +563,14 @@ "typeString": "tuple()" } }, - "id": 2326, + "id": 2336, "nodeType": "ExpressionStatement", "src": "581:64:11" }, { "expression": { "argumentTypes": null, - "id": 2333, + "id": 2343, "isConstant": false, "isLValue": false, "isPure": false, @@ -581,39 +581,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2327, + "id": 2337, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2314, + "referencedDeclaration": 2324, "src": "655:4:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$2287_storage_ptr", + "typeIdentifier": "t_struct$_Role_$2297_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 2330, + "id": 2340, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 2286, + "referencedDeclaration": 2296, "src": "655:11:11", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 2331, + "id": 2341, "indexExpression": { "argumentTypes": null, - "id": 2329, + "id": 2339, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2316, + "referencedDeclaration": 2326, "src": "667:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -636,7 +636,7 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 2332, + "id": 2342, "isConstant": false, "isLValue": false, "isPure": true, @@ -657,45 +657,45 @@ "typeString": "bool" } }, - "id": 2334, + "id": 2344, "nodeType": "ExpressionStatement", "src": "655:28:11" } ] }, "documentation": "@dev Remove an account's access to this role.", - "id": 2336, + "id": 2346, "implemented": true, "kind": "function", "modifiers": [], "name": "remove", "nodeType": "FunctionDefinition", "parameters": { - "id": 2317, + "id": 2327, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2314, + "id": 2324, "name": "role", "nodeType": "VariableDeclaration", - "scope": 2336, + "scope": 2346, "src": "526:17:11", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$2287_storage_ptr", + "typeIdentifier": "t_struct$_Role_$2297_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 2313, + "id": 2323, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2287, + "referencedDeclaration": 2297, "src": "526:4:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$2287_storage_ptr", + "typeIdentifier": "t_struct$_Role_$2297_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -704,10 +704,10 @@ }, { "constant": false, - "id": 2316, + "id": 2326, "name": "account", "nodeType": "VariableDeclaration", - "scope": 2336, + "scope": 2346, "src": "545:15:11", "stateVariable": false, "storageLocation": "default", @@ -716,7 +716,7 @@ "typeString": "address" }, "typeName": { - "id": 2315, + "id": 2325, "name": "address", "nodeType": "ElementaryTypeName", "src": "545:7:11", @@ -733,12 +733,12 @@ "src": "525:36:11" }, "returnParameters": { - "id": 2318, + "id": 2328, "nodeType": "ParameterList", "parameters": [], "src": "571:0:11" }, - "scope": 2361, + "scope": 2371, "src": "510:180:11", "stateMutability": "nonpayable", "superFunction": null, @@ -746,7 +746,7 @@ }, { "body": { - "id": 2359, + "id": 2369, "nodeType": "Block", "src": "857:122:11", "statements": [ @@ -760,18 +760,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2350, + "id": 2360, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2346, + "id": 2356, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2340, + "referencedDeclaration": 2350, "src": "875:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -786,7 +786,7 @@ { "argumentTypes": null, "hexValue": "30", - "id": 2348, + "id": 2358, "isConstant": false, "isLValue": false, "isPure": true, @@ -809,7 +809,7 @@ "typeString": "int_const 0" } ], - "id": 2347, + "id": 2357, "isConstant": false, "isLValue": false, "isPure": true, @@ -822,7 +822,7 @@ }, "typeName": "address" }, - "id": 2349, + "id": 2359, "isConstant": false, "isLValue": false, "isPure": true, @@ -845,7 +845,7 @@ { "argumentTypes": null, "hexValue": "526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373", - "id": 2351, + "id": 2361, "isConstant": false, "isLValue": false, "isPure": true, @@ -872,21 +872,21 @@ "typeString": "literal_string \"Roles: account is the zero address\"" } ], - "id": 2345, + "id": 2355, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "867:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2352, + "id": 2362, "isConstant": false, "isLValue": false, "isPure": false, @@ -900,7 +900,7 @@ "typeString": "tuple()" } }, - "id": 2353, + "id": 2363, "nodeType": "ExpressionStatement", "src": "867:68:11" }, @@ -911,39 +911,39 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 2354, + "id": 2364, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2338, + "referencedDeclaration": 2348, "src": "952:4:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$2287_storage_ptr", + "typeIdentifier": "t_struct$_Role_$2297_storage_ptr", "typeString": "struct Roles.Role storage pointer" } }, - "id": 2355, + "id": 2365, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bearer", "nodeType": "MemberAccess", - "referencedDeclaration": 2286, + "referencedDeclaration": 2296, "src": "952:11:11", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 2357, + "id": 2367, "indexExpression": { "argumentTypes": null, - "id": 2356, + "id": 2366, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2340, + "referencedDeclaration": 2350, "src": "964:7:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -961,46 +961,46 @@ "typeString": "bool" } }, - "functionReturnParameters": 2344, - "id": 2358, + "functionReturnParameters": 2354, + "id": 2368, "nodeType": "Return", "src": "945:27:11" } ] }, "documentation": "@dev Check if an account has this role.\n@return bool", - "id": 2360, + "id": 2370, "implemented": true, "kind": "function", "modifiers": [], "name": "has", "nodeType": "FunctionDefinition", "parameters": { - "id": 2341, + "id": 2351, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2338, + "id": 2348, "name": "role", "nodeType": "VariableDeclaration", - "scope": 2360, + "scope": 2370, "src": "792:17:11", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$2287_storage_ptr", + "typeIdentifier": "t_struct$_Role_$2297_storage_ptr", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, - "id": 2337, + "id": 2347, "name": "Role", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2287, + "referencedDeclaration": 2297, "src": "792:4:11", "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$2287_storage_ptr", + "typeIdentifier": "t_struct$_Role_$2297_storage_ptr", "typeString": "struct Roles.Role" } }, @@ -1009,10 +1009,10 @@ }, { "constant": false, - "id": 2340, + "id": 2350, "name": "account", "nodeType": "VariableDeclaration", - "scope": 2360, + "scope": 2370, "src": "811:15:11", "stateVariable": false, "storageLocation": "default", @@ -1021,7 +1021,7 @@ "typeString": "address" }, "typeName": { - "id": 2339, + "id": 2349, "name": "address", "nodeType": "ElementaryTypeName", "src": "811:7:11", @@ -1038,15 +1038,15 @@ "src": "791:36:11" }, "returnParameters": { - "id": 2344, + "id": 2354, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2343, + "id": 2353, "name": "", "nodeType": "VariableDeclaration", - "scope": 2360, + "scope": 2370, "src": "851:4:11", "stateVariable": false, "storageLocation": "default", @@ -1055,7 +1055,7 @@ "typeString": "bool" }, "typeName": { - "id": 2342, + "id": 2352, "name": "bool", "nodeType": "ElementaryTypeName", "src": "851:4:11", @@ -1070,14 +1070,14 @@ ], "src": "850:6:11" }, - "scope": 2361, + "scope": 2371, "src": "779:200:11", "stateMutability": "view", "superFunction": null, "visibility": "internal" } ], - "scope": 2362, + "scope": 2372, "src": "108:873:11" } ], @@ -1088,7 +1088,7 @@ "absolutePath": "@openzeppelin/contracts/access/Roles.sol", "exportedSymbols": { "Roles": [ - 2361 + 2371 ] } }, @@ -1102,7 +1102,7 @@ ".0" ] }, - "id": 2282, + "id": 2292, "name": "PragmaDirective", "src": "0:23:11" }, @@ -1118,17 +1118,17 @@ "documentation": "@title Roles\n@dev Library for managing addresses assigned to a Role.", "fullyImplemented": true, "linearizedBaseContracts": [ - 2361 + 2371 ], "name": "Roles", - "scope": 2362 + "scope": 2372 }, "children": [ { "attributes": { "canonicalName": "Roles.Role", "name": "Role", - "scope": 2361, + "scope": 2371, "visibility": "public" }, "children": [ @@ -1136,7 +1136,7 @@ "attributes": { "constant": false, "name": "bearer", - "scope": 2287, + "scope": 2297, "stateVariable": false, "storageLocation": "default", "type": "mapping(address => bool)", @@ -1154,7 +1154,7 @@ "name": "address", "type": "address" }, - "id": 2283, + "id": 2293, "name": "ElementaryTypeName", "src": "159:7:11" }, @@ -1163,22 +1163,22 @@ "name": "bool", "type": "bool" }, - "id": 2284, + "id": 2294, "name": "ElementaryTypeName", "src": "170:4:11" } ], - "id": 2285, + "id": 2295, "name": "Mapping", "src": "150:25:11" } ], - "id": 2286, + "id": 2296, "name": "VariableDeclaration", "src": "150:32:11" } ], - "id": 2287, + "id": 2297, "name": "StructDefinition", "src": "128:61:11" }, @@ -1192,7 +1192,7 @@ null ], "name": "add", - "scope": 2361, + "scope": 2371, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -1204,7 +1204,7 @@ "attributes": { "constant": false, "name": "role", - "scope": 2312, + "scope": 2322, "stateVariable": false, "storageLocation": "storage", "type": "struct Roles.Role", @@ -1216,15 +1216,15 @@ "attributes": { "contractScope": null, "name": "Role", - "referencedDeclaration": 2287, + "referencedDeclaration": 2297, "type": "struct Roles.Role" }, - "id": 2288, + "id": 2298, "name": "UserDefinedTypeName", "src": "273:4:11" } ], - "id": 2289, + "id": 2299, "name": "VariableDeclaration", "src": "273:17:11" }, @@ -1232,7 +1232,7 @@ "attributes": { "constant": false, "name": "account", - "scope": 2312, + "scope": 2322, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1246,17 +1246,17 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2290, + "id": 2300, "name": "ElementaryTypeName", "src": "292:7:11" } ], - "id": 2291, + "id": 2301, "name": "VariableDeclaration", "src": "292:15:11" } ], - "id": 2292, + "id": 2302, "name": "ParameterList", "src": "272:36:11" }, @@ -1267,7 +1267,7 @@ ] }, "children": [], - "id": 2293, + "id": 2303, "name": "ParameterList", "src": "318:0:11" }, @@ -1303,14 +1303,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 2294, + "id": 2304, "name": "Identifier", "src": "328:7:11" }, @@ -1345,7 +1345,7 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$2287_storage_ptr", + "typeIdentifier": "t_struct$_Role_$2297_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -1356,11 +1356,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2360, + "referencedDeclaration": 2370, "type": "function (struct Roles.Role storage pointer,address) view returns (bool)", "value": "has" }, - "id": 2295, + "id": 2305, "name": "Identifier", "src": "337:3:11" }, @@ -1370,11 +1370,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2289, + "referencedDeclaration": 2299, "type": "struct Roles.Role storage pointer", "value": "role" }, - "id": 2296, + "id": 2306, "name": "Identifier", "src": "341:4:11" }, @@ -1384,21 +1384,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2291, + "referencedDeclaration": 2301, "type": "address", "value": "account" }, - "id": 2297, + "id": 2307, "name": "Identifier", "src": "347:7:11" } ], - "id": 2298, + "id": 2308, "name": "FunctionCall", "src": "337:18:11" } ], - "id": 2299, + "id": 2309, "name": "UnaryOperation", "src": "336:19:11" }, @@ -1415,17 +1415,17 @@ "type": "literal_string \"Roles: account already has role\"", "value": "Roles: account already has role" }, - "id": 2300, + "id": 2310, "name": "Literal", "src": "357:33:11" } ], - "id": 2301, + "id": 2311, "name": "FunctionCall", "src": "328:63:11" } ], - "id": 2302, + "id": 2312, "name": "ExpressionStatement", "src": "328:63:11" }, @@ -1460,7 +1460,7 @@ "isPure": false, "lValueRequested": false, "member_name": "bearer", - "referencedDeclaration": 2286, + "referencedDeclaration": 2296, "type": "mapping(address => bool)" }, "children": [ @@ -1470,16 +1470,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2289, + "referencedDeclaration": 2299, "type": "struct Roles.Role storage pointer", "value": "role" }, - "id": 2303, + "id": 2313, "name": "Identifier", "src": "401:4:11" } ], - "id": 2306, + "id": 2316, "name": "MemberAccess", "src": "401:11:11" }, @@ -1489,16 +1489,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2291, + "referencedDeclaration": 2301, "type": "address", "value": "account" }, - "id": 2305, + "id": 2315, "name": "Identifier", "src": "413:7:11" } ], - "id": 2307, + "id": 2317, "name": "IndexAccess", "src": "401:20:11" }, @@ -1515,27 +1515,27 @@ "type": "bool", "value": "true" }, - "id": 2308, + "id": 2318, "name": "Literal", "src": "424:4:11" } ], - "id": 2309, + "id": 2319, "name": "Assignment", "src": "401:27:11" } ], - "id": 2310, + "id": 2320, "name": "ExpressionStatement", "src": "401:27:11" } ], - "id": 2311, + "id": 2321, "name": "Block", "src": "318:117:11" } ], - "id": 2312, + "id": 2322, "name": "FunctionDefinition", "src": "260:175:11" }, @@ -1549,7 +1549,7 @@ null ], "name": "remove", - "scope": 2361, + "scope": 2371, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -1561,7 +1561,7 @@ "attributes": { "constant": false, "name": "role", - "scope": 2336, + "scope": 2346, "stateVariable": false, "storageLocation": "storage", "type": "struct Roles.Role", @@ -1573,15 +1573,15 @@ "attributes": { "contractScope": null, "name": "Role", - "referencedDeclaration": 2287, + "referencedDeclaration": 2297, "type": "struct Roles.Role" }, - "id": 2313, + "id": 2323, "name": "UserDefinedTypeName", "src": "526:4:11" } ], - "id": 2314, + "id": 2324, "name": "VariableDeclaration", "src": "526:17:11" }, @@ -1589,7 +1589,7 @@ "attributes": { "constant": false, "name": "account", - "scope": 2336, + "scope": 2346, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1603,17 +1603,17 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2315, + "id": 2325, "name": "ElementaryTypeName", "src": "545:7:11" } ], - "id": 2316, + "id": 2326, "name": "VariableDeclaration", "src": "545:15:11" } ], - "id": 2317, + "id": 2327, "name": "ParameterList", "src": "525:36:11" }, @@ -1624,7 +1624,7 @@ ] }, "children": [], - "id": 2318, + "id": 2328, "name": "ParameterList", "src": "571:0:11" }, @@ -1660,14 +1660,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 2319, + "id": 2329, "name": "Identifier", "src": "581:7:11" }, @@ -1690,7 +1690,7 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_Role_$2287_storage_ptr", + "typeIdentifier": "t_struct$_Role_$2297_storage_ptr", "typeString": "struct Roles.Role storage pointer" }, { @@ -1701,11 +1701,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2360, + "referencedDeclaration": 2370, "type": "function (struct Roles.Role storage pointer,address) view returns (bool)", "value": "has" }, - "id": 2320, + "id": 2330, "name": "Identifier", "src": "589:3:11" }, @@ -1715,11 +1715,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2314, + "referencedDeclaration": 2324, "type": "struct Roles.Role storage pointer", "value": "role" }, - "id": 2321, + "id": 2331, "name": "Identifier", "src": "593:4:11" }, @@ -1729,16 +1729,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2316, + "referencedDeclaration": 2326, "type": "address", "value": "account" }, - "id": 2322, + "id": 2332, "name": "Identifier", "src": "599:7:11" } ], - "id": 2323, + "id": 2333, "name": "FunctionCall", "src": "589:18:11" }, @@ -1755,17 +1755,17 @@ "type": "literal_string \"Roles: account does not have role\"", "value": "Roles: account does not have role" }, - "id": 2324, + "id": 2334, "name": "Literal", "src": "609:35:11" } ], - "id": 2325, + "id": 2335, "name": "FunctionCall", "src": "581:64:11" } ], - "id": 2326, + "id": 2336, "name": "ExpressionStatement", "src": "581:64:11" }, @@ -1800,7 +1800,7 @@ "isPure": false, "lValueRequested": false, "member_name": "bearer", - "referencedDeclaration": 2286, + "referencedDeclaration": 2296, "type": "mapping(address => bool)" }, "children": [ @@ -1810,16 +1810,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2314, + "referencedDeclaration": 2324, "type": "struct Roles.Role storage pointer", "value": "role" }, - "id": 2327, + "id": 2337, "name": "Identifier", "src": "655:4:11" } ], - "id": 2330, + "id": 2340, "name": "MemberAccess", "src": "655:11:11" }, @@ -1829,16 +1829,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2316, + "referencedDeclaration": 2326, "type": "address", "value": "account" }, - "id": 2329, + "id": 2339, "name": "Identifier", "src": "667:7:11" } ], - "id": 2331, + "id": 2341, "name": "IndexAccess", "src": "655:20:11" }, @@ -1855,27 +1855,27 @@ "type": "bool", "value": "false" }, - "id": 2332, + "id": 2342, "name": "Literal", "src": "678:5:11" } ], - "id": 2333, + "id": 2343, "name": "Assignment", "src": "655:28:11" } ], - "id": 2334, + "id": 2344, "name": "ExpressionStatement", "src": "655:28:11" } ], - "id": 2335, + "id": 2345, "name": "Block", "src": "571:119:11" } ], - "id": 2336, + "id": 2346, "name": "FunctionDefinition", "src": "510:180:11" }, @@ -1889,7 +1889,7 @@ null ], "name": "has", - "scope": 2361, + "scope": 2371, "stateMutability": "view", "superFunction": null, "visibility": "internal" @@ -1901,7 +1901,7 @@ "attributes": { "constant": false, "name": "role", - "scope": 2360, + "scope": 2370, "stateVariable": false, "storageLocation": "storage", "type": "struct Roles.Role", @@ -1913,15 +1913,15 @@ "attributes": { "contractScope": null, "name": "Role", - "referencedDeclaration": 2287, + "referencedDeclaration": 2297, "type": "struct Roles.Role" }, - "id": 2337, + "id": 2347, "name": "UserDefinedTypeName", "src": "792:4:11" } ], - "id": 2338, + "id": 2348, "name": "VariableDeclaration", "src": "792:17:11" }, @@ -1929,7 +1929,7 @@ "attributes": { "constant": false, "name": "account", - "scope": 2360, + "scope": 2370, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1943,17 +1943,17 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 2339, + "id": 2349, "name": "ElementaryTypeName", "src": "811:7:11" } ], - "id": 2340, + "id": 2350, "name": "VariableDeclaration", "src": "811:15:11" } ], - "id": 2341, + "id": 2351, "name": "ParameterList", "src": "791:36:11" }, @@ -1963,7 +1963,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2360, + "scope": 2370, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -1976,17 +1976,17 @@ "name": "bool", "type": "bool" }, - "id": 2342, + "id": 2352, "name": "ElementaryTypeName", "src": "851:4:11" } ], - "id": 2343, + "id": 2353, "name": "VariableDeclaration", "src": "851:4:11" } ], - "id": 2344, + "id": 2354, "name": "ParameterList", "src": "850:6:11" }, @@ -2022,14 +2022,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 2345, + "id": 2355, "name": "Identifier", "src": "867:7:11" }, @@ -2054,11 +2054,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2340, + "referencedDeclaration": 2350, "type": "address", "value": "account" }, - "id": 2346, + "id": 2356, "name": "Identifier", "src": "875:7:11" }, @@ -2092,7 +2092,7 @@ "type": "type(address)", "value": "address" }, - "id": 2347, + "id": 2357, "name": "ElementaryTypeNameExpression", "src": "886:7:11" }, @@ -2109,17 +2109,17 @@ "type": "int_const 0", "value": "0" }, - "id": 2348, + "id": 2358, "name": "Literal", "src": "894:1:11" } ], - "id": 2349, + "id": 2359, "name": "FunctionCall", "src": "886:10:11" } ], - "id": 2350, + "id": 2360, "name": "BinaryOperation", "src": "875:21:11" }, @@ -2136,23 +2136,23 @@ "type": "literal_string \"Roles: account is the zero address\"", "value": "Roles: account is the zero address" }, - "id": 2351, + "id": 2361, "name": "Literal", "src": "898:36:11" } ], - "id": 2352, + "id": 2362, "name": "FunctionCall", "src": "867:68:11" } ], - "id": 2353, + "id": 2363, "name": "ExpressionStatement", "src": "867:68:11" }, { "attributes": { - "functionReturnParameters": 2344 + "functionReturnParameters": 2354 }, "children": [ { @@ -2173,7 +2173,7 @@ "isPure": false, "lValueRequested": false, "member_name": "bearer", - "referencedDeclaration": 2286, + "referencedDeclaration": 2296, "type": "mapping(address => bool)" }, "children": [ @@ -2183,16 +2183,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2338, + "referencedDeclaration": 2348, "type": "struct Roles.Role storage pointer", "value": "role" }, - "id": 2354, + "id": 2364, "name": "Identifier", "src": "952:4:11" } ], - "id": 2355, + "id": 2365, "name": "MemberAccess", "src": "952:11:11" }, @@ -2202,41 +2202,41 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2340, + "referencedDeclaration": 2350, "type": "address", "value": "account" }, - "id": 2356, + "id": 2366, "name": "Identifier", "src": "964:7:11" } ], - "id": 2357, + "id": 2367, "name": "IndexAccess", "src": "952:20:11" } ], - "id": 2358, + "id": 2368, "name": "Return", "src": "945:27:11" } ], - "id": 2359, + "id": 2369, "name": "Block", "src": "857:122:11" } ], - "id": 2360, + "id": 2370, "name": "FunctionDefinition", "src": "779:200:11" } ], - "id": 2361, + "id": 2371, "name": "ContractDefinition", "src": "108:873:11" } ], - "id": 2362, + "id": 2372, "name": "SourceUnit", "src": "0:982:11" }, @@ -2246,7 +2246,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-03-14T02:18:33.143Z", + "updatedAt": "2021-04-04T20:21:29.908Z", "devdoc": { "details": "Library for managing addresses assigned to a Role.", "methods": {}, diff --git a/client/contracts/SafeMath.json b/client/contracts/SafeMath.json index 07f1c7c..35d5fc4 100644 --- a/client/contracts/SafeMath.json +++ b/client/contracts/SafeMath.json @@ -12,14 +12,14 @@ "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 2655 + 2665 ] }, - "id": 2656, + "id": 2666, "nodeType": "SourceUnit", "nodes": [ { - "id": 2470, + "id": 2480, "literals": [ "solidity", "^", @@ -35,30 +35,30 @@ "contractKind": "library", "documentation": "@dev Wrappers over Solidity's arithmetic operations with added overflow\nchecks.\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\nin bugs, because programmers usually assume that an overflow raises an\nerror, which is the standard behavior in high level programming languages.\n`SafeMath` restores this intuition by reverting the transaction when an\noperation overflows.\n * Using this library instead of the unchecked operations eliminates an entire\nclass of bugs, so it's recommended to use it always.", "fullyImplemented": true, - "id": 2655, + "id": 2665, "linearizedBaseContracts": [ - 2655 + 2665 ], "name": "SafeMath", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 2494, + "id": 2504, "nodeType": "Block", "src": "901:109:13", "statements": [ { "assignments": [ - 2480 + 2490 ], "declarations": [ { "constant": false, - "id": 2480, + "id": 2490, "name": "c", "nodeType": "VariableDeclaration", - "scope": 2494, + "scope": 2504, "src": "911:9:13", "stateVariable": false, "storageLocation": "default", @@ -67,7 +67,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2479, + "id": 2489, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "911:7:13", @@ -80,25 +80,25 @@ "visibility": "internal" } ], - "id": 2484, + "id": 2494, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2483, + "id": 2493, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2481, + "id": 2491, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2472, + "referencedDeclaration": 2482, "src": "923:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -109,11 +109,11 @@ "operator": "+", "rightExpression": { "argumentTypes": null, - "id": 2482, + "id": 2492, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2474, + "referencedDeclaration": 2484, "src": "927:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -139,18 +139,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2488, + "id": 2498, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2486, + "id": 2496, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2480, + "referencedDeclaration": 2490, "src": "946:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -161,11 +161,11 @@ "operator": ">=", "rightExpression": { "argumentTypes": null, - "id": 2487, + "id": 2497, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2472, + "referencedDeclaration": 2482, "src": "951:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -181,7 +181,7 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206164646974696f6e206f766572666c6f77", - "id": 2489, + "id": 2499, "isConstant": false, "isLValue": false, "isPure": true, @@ -208,21 +208,21 @@ "typeString": "literal_string \"SafeMath: addition overflow\"" } ], - "id": 2485, + "id": 2495, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "938:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2490, + "id": 2500, "isConstant": false, "isLValue": false, "isPure": false, @@ -236,48 +236,48 @@ "typeString": "tuple()" } }, - "id": 2491, + "id": 2501, "nodeType": "ExpressionStatement", "src": "938:46:13" }, { "expression": { "argumentTypes": null, - "id": 2492, + "id": 2502, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2480, + "referencedDeclaration": 2490, "src": "1002:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 2478, - "id": 2493, + "functionReturnParameters": 2488, + "id": 2503, "nodeType": "Return", "src": "995:8:13" } ] }, "documentation": "@dev Returns the addition of two unsigned integers, reverting on\noverflow.\n * Counterpart to Solidity's `+` operator.\n * Requirements:\n- Addition cannot overflow.", - "id": 2495, + "id": 2505, "implemented": true, "kind": "function", "modifiers": [], "name": "add", "nodeType": "FunctionDefinition", "parameters": { - "id": 2475, + "id": 2485, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2472, + "id": 2482, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2495, + "scope": 2505, "src": "847:9:13", "stateVariable": false, "storageLocation": "default", @@ -286,7 +286,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2471, + "id": 2481, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "847:7:13", @@ -300,10 +300,10 @@ }, { "constant": false, - "id": 2474, + "id": 2484, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2495, + "scope": 2505, "src": "858:9:13", "stateVariable": false, "storageLocation": "default", @@ -312,7 +312,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2473, + "id": 2483, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "858:7:13", @@ -328,15 +328,15 @@ "src": "846:22:13" }, "returnParameters": { - "id": 2478, + "id": 2488, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2477, + "id": 2487, "name": "", "nodeType": "VariableDeclaration", - "scope": 2495, + "scope": 2505, "src": "892:7:13", "stateVariable": false, "storageLocation": "default", @@ -345,7 +345,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2476, + "id": 2486, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "892:7:13", @@ -360,7 +360,7 @@ ], "src": "891:9:13" }, - "scope": 2655, + "scope": 2665, "src": "834:176:13", "stateMutability": "pure", "superFunction": null, @@ -368,7 +368,7 @@ }, { "body": { - "id": 2510, + "id": 2520, "nodeType": "Block", "src": "1341:67:13", "statements": [ @@ -378,11 +378,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2505, + "id": 2515, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2497, + "referencedDeclaration": 2507, "src": "1362:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -391,11 +391,11 @@ }, { "argumentTypes": null, - "id": 2506, + "id": 2516, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2499, + "referencedDeclaration": 2509, "src": "1365:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -405,7 +405,7 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a207375627472616374696f6e206f766572666c6f77", - "id": 2507, + "id": 2517, "isConstant": false, "isLValue": false, "isPure": true, @@ -436,21 +436,21 @@ "typeString": "literal_string \"SafeMath: subtraction overflow\"" } ], - "id": 2504, + "id": 2514, "name": "sub", "nodeType": "Identifier", "overloadedDeclarations": [ - 2511, - 2538 + 2521, + 2548 ], - "referencedDeclaration": 2538, + "referencedDeclaration": 2548, "src": "1358:3:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 2508, + "id": 2518, "isConstant": false, "isLValue": false, "isPure": false, @@ -464,30 +464,30 @@ "typeString": "uint256" } }, - "functionReturnParameters": 2503, - "id": 2509, + "functionReturnParameters": 2513, + "id": 2519, "nodeType": "Return", "src": "1351:50:13" } ] }, "documentation": "@dev Returns the subtraction of two unsigned integers, reverting on\noverflow (when the result is negative).\n * Counterpart to Solidity's `-` operator.\n * Requirements:\n- Subtraction cannot overflow.", - "id": 2511, + "id": 2521, "implemented": true, "kind": "function", "modifiers": [], "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 2500, + "id": 2510, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2497, + "id": 2507, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2511, + "scope": 2521, "src": "1287:9:13", "stateVariable": false, "storageLocation": "default", @@ -496,7 +496,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2496, + "id": 2506, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1287:7:13", @@ -510,10 +510,10 @@ }, { "constant": false, - "id": 2499, + "id": 2509, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2511, + "scope": 2521, "src": "1298:9:13", "stateVariable": false, "storageLocation": "default", @@ -522,7 +522,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2498, + "id": 2508, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1298:7:13", @@ -538,15 +538,15 @@ "src": "1286:22:13" }, "returnParameters": { - "id": 2503, + "id": 2513, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2502, + "id": 2512, "name": "", "nodeType": "VariableDeclaration", - "scope": 2511, + "scope": 2521, "src": "1332:7:13", "stateVariable": false, "storageLocation": "default", @@ -555,7 +555,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2501, + "id": 2511, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1332:7:13", @@ -570,7 +570,7 @@ ], "src": "1331:9:13" }, - "scope": 2655, + "scope": 2665, "src": "1274:134:13", "stateMutability": "pure", "superFunction": null, @@ -578,7 +578,7 @@ }, { "body": { - "id": 2537, + "id": 2547, "nodeType": "Block", "src": "1827:92:13", "statements": [ @@ -592,18 +592,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2525, + "id": 2535, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2523, + "id": 2533, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2515, + "referencedDeclaration": 2525, "src": "1845:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -614,11 +614,11 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 2524, + "id": 2534, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2513, + "referencedDeclaration": 2523, "src": "1850:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -633,11 +633,11 @@ }, { "argumentTypes": null, - "id": 2526, + "id": 2536, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2517, + "referencedDeclaration": 2527, "src": "1853:12:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -656,21 +656,21 @@ "typeString": "string memory" } ], - "id": 2522, + "id": 2532, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "1837:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2527, + "id": 2537, "isConstant": false, "isLValue": false, "isPure": false, @@ -684,21 +684,21 @@ "typeString": "tuple()" } }, - "id": 2528, + "id": 2538, "nodeType": "ExpressionStatement", "src": "1837:29:13" }, { "assignments": [ - 2530 + 2540 ], "declarations": [ { "constant": false, - "id": 2530, + "id": 2540, "name": "c", "nodeType": "VariableDeclaration", - "scope": 2537, + "scope": 2547, "src": "1876:9:13", "stateVariable": false, "storageLocation": "default", @@ -707,7 +707,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2529, + "id": 2539, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1876:7:13", @@ -720,25 +720,25 @@ "visibility": "internal" } ], - "id": 2534, + "id": 2544, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2533, + "id": 2543, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2531, + "id": 2541, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2513, + "referencedDeclaration": 2523, "src": "1888:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -749,11 +749,11 @@ "operator": "-", "rightExpression": { "argumentTypes": null, - "id": 2532, + "id": 2542, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2515, + "referencedDeclaration": 2525, "src": "1892:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -772,41 +772,41 @@ { "expression": { "argumentTypes": null, - "id": 2535, + "id": 2545, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2530, + "referencedDeclaration": 2540, "src": "1911:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 2521, - "id": 2536, + "functionReturnParameters": 2531, + "id": 2546, "nodeType": "Return", "src": "1904:8:13" } ] }, "documentation": "@dev Returns the subtraction of two unsigned integers, reverting with custom message on\noverflow (when the result is negative).\n * Counterpart to Solidity's `-` operator.\n * Requirements:\n- Subtraction cannot overflow.\n * _Available since v2.4.0._", - "id": 2538, + "id": 2548, "implemented": true, "kind": "function", "modifiers": [], "name": "sub", "nodeType": "FunctionDefinition", "parameters": { - "id": 2518, + "id": 2528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2513, + "id": 2523, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2538, + "scope": 2548, "src": "1745:9:13", "stateVariable": false, "storageLocation": "default", @@ -815,7 +815,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2512, + "id": 2522, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1745:7:13", @@ -829,10 +829,10 @@ }, { "constant": false, - "id": 2515, + "id": 2525, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2538, + "scope": 2548, "src": "1756:9:13", "stateVariable": false, "storageLocation": "default", @@ -841,7 +841,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2514, + "id": 2524, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1756:7:13", @@ -855,10 +855,10 @@ }, { "constant": false, - "id": 2517, + "id": 2527, "name": "errorMessage", "nodeType": "VariableDeclaration", - "scope": 2538, + "scope": 2548, "src": "1767:26:13", "stateVariable": false, "storageLocation": "memory", @@ -867,7 +867,7 @@ "typeString": "string" }, "typeName": { - "id": 2516, + "id": 2526, "name": "string", "nodeType": "ElementaryTypeName", "src": "1767:6:13", @@ -883,15 +883,15 @@ "src": "1744:50:13" }, "returnParameters": { - "id": 2521, + "id": 2531, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2520, + "id": 2530, "name": "", "nodeType": "VariableDeclaration", - "scope": 2538, + "scope": 2548, "src": "1818:7:13", "stateVariable": false, "storageLocation": "default", @@ -900,7 +900,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2519, + "id": 2529, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1818:7:13", @@ -915,7 +915,7 @@ ], "src": "1817:9:13" }, - "scope": 2655, + "scope": 2665, "src": "1732:187:13", "stateMutability": "pure", "superFunction": null, @@ -923,7 +923,7 @@ }, { "body": { - "id": 2571, + "id": 2581, "nodeType": "Block", "src": "2226:392:13", "statements": [ @@ -934,18 +934,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2549, + "id": 2559, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2547, + "id": 2557, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2540, + "referencedDeclaration": 2550, "src": "2458:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -957,7 +957,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2548, + "id": 2558, "isConstant": false, "isLValue": false, "isPure": true, @@ -979,11 +979,11 @@ } }, "falseBody": null, - "id": 2553, + "id": 2563, "nodeType": "IfStatement", "src": "2454:45:13", "trueBody": { - "id": 2552, + "id": 2562, "nodeType": "Block", "src": "2466:33:13", "statements": [ @@ -991,7 +991,7 @@ "expression": { "argumentTypes": null, "hexValue": "30", - "id": 2550, + "id": 2560, "isConstant": false, "isLValue": false, "isPure": true, @@ -1006,8 +1006,8 @@ }, "value": "0" }, - "functionReturnParameters": 2546, - "id": 2551, + "functionReturnParameters": 2556, + "id": 2561, "nodeType": "Return", "src": "2480:8:13" } @@ -1016,15 +1016,15 @@ }, { "assignments": [ - 2555 + 2565 ], "declarations": [ { "constant": false, - "id": 2555, + "id": 2565, "name": "c", "nodeType": "VariableDeclaration", - "scope": 2571, + "scope": 2581, "src": "2509:9:13", "stateVariable": false, "storageLocation": "default", @@ -1033,7 +1033,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2554, + "id": 2564, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2509:7:13", @@ -1046,25 +1046,25 @@ "visibility": "internal" } ], - "id": 2559, + "id": 2569, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2558, + "id": 2568, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2556, + "id": 2566, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2540, + "referencedDeclaration": 2550, "src": "2521:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1075,11 +1075,11 @@ "operator": "*", "rightExpression": { "argumentTypes": null, - "id": 2557, + "id": 2567, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2542, + "referencedDeclaration": 2552, "src": "2525:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1105,7 +1105,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2565, + "id": 2575, "isConstant": false, "isLValue": false, "isPure": false, @@ -1116,18 +1116,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2563, + "id": 2573, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2561, + "id": 2571, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2555, + "referencedDeclaration": 2565, "src": "2544:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1138,11 +1138,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 2562, + "id": 2572, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2540, + "referencedDeclaration": 2550, "src": "2548:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1159,11 +1159,11 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 2564, + "id": 2574, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2542, + "referencedDeclaration": 2552, "src": "2553:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1179,7 +1179,7 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", - "id": 2566, + "id": 2576, "isConstant": false, "isLValue": false, "isPure": true, @@ -1206,21 +1206,21 @@ "typeString": "literal_string \"SafeMath: multiplication overflow\"" } ], - "id": 2560, + "id": 2570, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "2536:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2567, + "id": 2577, "isConstant": false, "isLValue": false, "isPure": false, @@ -1234,48 +1234,48 @@ "typeString": "tuple()" } }, - "id": 2568, + "id": 2578, "nodeType": "ExpressionStatement", "src": "2536:56:13" }, { "expression": { "argumentTypes": null, - "id": 2569, + "id": 2579, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2555, + "referencedDeclaration": 2565, "src": "2610:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 2546, - "id": 2570, + "functionReturnParameters": 2556, + "id": 2580, "nodeType": "Return", "src": "2603:8:13" } ] }, "documentation": "@dev Returns the multiplication of two unsigned integers, reverting on\noverflow.\n * Counterpart to Solidity's `*` operator.\n * Requirements:\n- Multiplication cannot overflow.", - "id": 2572, + "id": 2582, "implemented": true, "kind": "function", "modifiers": [], "name": "mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 2543, + "id": 2553, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2540, + "id": 2550, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2572, + "scope": 2582, "src": "2172:9:13", "stateVariable": false, "storageLocation": "default", @@ -1284,7 +1284,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2539, + "id": 2549, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2172:7:13", @@ -1298,10 +1298,10 @@ }, { "constant": false, - "id": 2542, + "id": 2552, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2572, + "scope": 2582, "src": "2183:9:13", "stateVariable": false, "storageLocation": "default", @@ -1310,7 +1310,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2541, + "id": 2551, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2183:7:13", @@ -1326,15 +1326,15 @@ "src": "2171:22:13" }, "returnParameters": { - "id": 2546, + "id": 2556, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2545, + "id": 2555, "name": "", "nodeType": "VariableDeclaration", - "scope": 2572, + "scope": 2582, "src": "2217:7:13", "stateVariable": false, "storageLocation": "default", @@ -1343,7 +1343,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2544, + "id": 2554, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2217:7:13", @@ -1358,7 +1358,7 @@ ], "src": "2216:9:13" }, - "scope": 2655, + "scope": 2665, "src": "2159:459:13", "stateMutability": "pure", "superFunction": null, @@ -1366,7 +1366,7 @@ }, { "body": { - "id": 2587, + "id": 2597, "nodeType": "Block", "src": "3140:63:13", "statements": [ @@ -1376,11 +1376,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2582, + "id": 2592, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2574, + "referencedDeclaration": 2584, "src": "3161:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1389,11 +1389,11 @@ }, { "argumentTypes": null, - "id": 2583, + "id": 2593, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2576, + "referencedDeclaration": 2586, "src": "3164:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1403,7 +1403,7 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206469766973696f6e206279207a65726f", - "id": 2584, + "id": 2594, "isConstant": false, "isLValue": false, "isPure": true, @@ -1434,21 +1434,21 @@ "typeString": "literal_string \"SafeMath: division by zero\"" } ], - "id": 2581, + "id": 2591, "name": "div", "nodeType": "Identifier", "overloadedDeclarations": [ - 2588, - 2615 + 2598, + 2625 ], - "referencedDeclaration": 2615, + "referencedDeclaration": 2625, "src": "3157:3:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 2585, + "id": 2595, "isConstant": false, "isLValue": false, "isPure": false, @@ -1462,30 +1462,30 @@ "typeString": "uint256" } }, - "functionReturnParameters": 2580, - "id": 2586, + "functionReturnParameters": 2590, + "id": 2596, "nodeType": "Return", "src": "3150:46:13" } ] }, "documentation": "@dev Returns the integer division of two unsigned integers. Reverts on\ndivision by zero. The result is rounded towards zero.\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n`revert` opcode (which leaves remaining gas untouched) while Solidity\nuses an invalid opcode to revert (consuming all remaining gas).\n * Requirements:\n- The divisor cannot be zero.", - "id": 2588, + "id": 2598, "implemented": true, "kind": "function", "modifiers": [], "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 2577, + "id": 2587, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2574, + "id": 2584, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2588, + "scope": 2598, "src": "3086:9:13", "stateVariable": false, "storageLocation": "default", @@ -1494,7 +1494,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2573, + "id": 2583, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3086:7:13", @@ -1508,10 +1508,10 @@ }, { "constant": false, - "id": 2576, + "id": 2586, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2588, + "scope": 2598, "src": "3097:9:13", "stateVariable": false, "storageLocation": "default", @@ -1520,7 +1520,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2575, + "id": 2585, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3097:7:13", @@ -1536,15 +1536,15 @@ "src": "3085:22:13" }, "returnParameters": { - "id": 2580, + "id": 2590, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2579, + "id": 2589, "name": "", "nodeType": "VariableDeclaration", - "scope": 2588, + "scope": 2598, "src": "3131:7:13", "stateVariable": false, "storageLocation": "default", @@ -1553,7 +1553,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2578, + "id": 2588, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3131:7:13", @@ -1568,7 +1568,7 @@ ], "src": "3130:9:13" }, - "scope": 2655, + "scope": 2665, "src": "3073:130:13", "stateMutability": "pure", "superFunction": null, @@ -1576,7 +1576,7 @@ }, { "body": { - "id": 2614, + "id": 2624, "nodeType": "Block", "src": "3813:243:13", "statements": [ @@ -1590,18 +1590,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2602, + "id": 2612, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2600, + "id": 2610, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2592, + "referencedDeclaration": 2602, "src": "3897:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1613,7 +1613,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2601, + "id": 2611, "isConstant": false, "isLValue": false, "isPure": true, @@ -1636,11 +1636,11 @@ }, { "argumentTypes": null, - "id": 2603, + "id": 2613, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2594, + "referencedDeclaration": 2604, "src": "3904:12:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -1659,21 +1659,21 @@ "typeString": "string memory" } ], - "id": 2599, + "id": 2609, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "3889:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2604, + "id": 2614, "isConstant": false, "isLValue": false, "isPure": false, @@ -1687,21 +1687,21 @@ "typeString": "tuple()" } }, - "id": 2605, + "id": 2615, "nodeType": "ExpressionStatement", "src": "3889:28:13" }, { "assignments": [ - 2607 + 2617 ], "declarations": [ { "constant": false, - "id": 2607, + "id": 2617, "name": "c", "nodeType": "VariableDeclaration", - "scope": 2614, + "scope": 2624, "src": "3927:9:13", "stateVariable": false, "storageLocation": "default", @@ -1710,7 +1710,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2606, + "id": 2616, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3927:7:13", @@ -1723,25 +1723,25 @@ "visibility": "internal" } ], - "id": 2611, + "id": 2621, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2610, + "id": 2620, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2608, + "id": 2618, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2590, + "referencedDeclaration": 2600, "src": "3939:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1752,11 +1752,11 @@ "operator": "/", "rightExpression": { "argumentTypes": null, - "id": 2609, + "id": 2619, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2592, + "referencedDeclaration": 2602, "src": "3943:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1775,41 +1775,41 @@ { "expression": { "argumentTypes": null, - "id": 2612, + "id": 2622, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2607, + "referencedDeclaration": 2617, "src": "4048:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 2598, - "id": 2613, + "functionReturnParameters": 2608, + "id": 2623, "nodeType": "Return", "src": "4041:8:13" } ] }, "documentation": "@dev Returns the integer division of two unsigned integers. Reverts with custom message on\ndivision by zero. The result is rounded towards zero.\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n`revert` opcode (which leaves remaining gas untouched) while Solidity\nuses an invalid opcode to revert (consuming all remaining gas).\n * Requirements:\n- The divisor cannot be zero.\n * _Available since v2.4.0._", - "id": 2615, + "id": 2625, "implemented": true, "kind": "function", "modifiers": [], "name": "div", "nodeType": "FunctionDefinition", "parameters": { - "id": 2595, + "id": 2605, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2590, + "id": 2600, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2615, + "scope": 2625, "src": "3731:9:13", "stateVariable": false, "storageLocation": "default", @@ -1818,7 +1818,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2589, + "id": 2599, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3731:7:13", @@ -1832,10 +1832,10 @@ }, { "constant": false, - "id": 2592, + "id": 2602, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2615, + "scope": 2625, "src": "3742:9:13", "stateVariable": false, "storageLocation": "default", @@ -1844,7 +1844,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2591, + "id": 2601, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3742:7:13", @@ -1858,10 +1858,10 @@ }, { "constant": false, - "id": 2594, + "id": 2604, "name": "errorMessage", "nodeType": "VariableDeclaration", - "scope": 2615, + "scope": 2625, "src": "3753:26:13", "stateVariable": false, "storageLocation": "memory", @@ -1870,7 +1870,7 @@ "typeString": "string" }, "typeName": { - "id": 2593, + "id": 2603, "name": "string", "nodeType": "ElementaryTypeName", "src": "3753:6:13", @@ -1886,15 +1886,15 @@ "src": "3730:50:13" }, "returnParameters": { - "id": 2598, + "id": 2608, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2597, + "id": 2607, "name": "", "nodeType": "VariableDeclaration", - "scope": 2615, + "scope": 2625, "src": "3804:7:13", "stateVariable": false, "storageLocation": "default", @@ -1903,7 +1903,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2596, + "id": 2606, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3804:7:13", @@ -1918,7 +1918,7 @@ ], "src": "3803:9:13" }, - "scope": 2655, + "scope": 2665, "src": "3718:338:13", "stateMutability": "pure", "superFunction": null, @@ -1926,7 +1926,7 @@ }, { "body": { - "id": 2630, + "id": 2640, "nodeType": "Block", "src": "4567:61:13", "statements": [ @@ -1936,11 +1936,11 @@ "arguments": [ { "argumentTypes": null, - "id": 2625, + "id": 2635, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2617, + "referencedDeclaration": 2627, "src": "4588:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1949,11 +1949,11 @@ }, { "argumentTypes": null, - "id": 2626, + "id": 2636, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2619, + "referencedDeclaration": 2629, "src": "4591:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -1963,7 +1963,7 @@ { "argumentTypes": null, "hexValue": "536166654d6174683a206d6f64756c6f206279207a65726f", - "id": 2627, + "id": 2637, "isConstant": false, "isLValue": false, "isPure": true, @@ -1994,21 +1994,21 @@ "typeString": "literal_string \"SafeMath: modulo by zero\"" } ], - "id": 2624, + "id": 2634, "name": "mod", "nodeType": "Identifier", "overloadedDeclarations": [ - 2631, - 2654 + 2641, + 2664 ], - "referencedDeclaration": 2654, + "referencedDeclaration": 2664, "src": "4584:3:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" } }, - "id": 2628, + "id": 2638, "isConstant": false, "isLValue": false, "isPure": false, @@ -2022,30 +2022,30 @@ "typeString": "uint256" } }, - "functionReturnParameters": 2623, - "id": 2629, + "functionReturnParameters": 2633, + "id": 2639, "nodeType": "Return", "src": "4577:44:13" } ] }, "documentation": "@dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\nReverts when dividing by zero.\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\nopcode (which leaves remaining gas untouched) while Solidity uses an\ninvalid opcode to revert (consuming all remaining gas).\n * Requirements:\n- The divisor cannot be zero.", - "id": 2631, + "id": 2641, "implemented": true, "kind": "function", "modifiers": [], "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 2620, + "id": 2630, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2617, + "id": 2627, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2631, + "scope": 2641, "src": "4513:9:13", "stateVariable": false, "storageLocation": "default", @@ -2054,7 +2054,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2616, + "id": 2626, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4513:7:13", @@ -2068,10 +2068,10 @@ }, { "constant": false, - "id": 2619, + "id": 2629, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2631, + "scope": 2641, "src": "4524:9:13", "stateVariable": false, "storageLocation": "default", @@ -2080,7 +2080,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2618, + "id": 2628, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4524:7:13", @@ -2096,15 +2096,15 @@ "src": "4512:22:13" }, "returnParameters": { - "id": 2623, + "id": 2633, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2622, + "id": 2632, "name": "", "nodeType": "VariableDeclaration", - "scope": 2631, + "scope": 2641, "src": "4558:7:13", "stateVariable": false, "storageLocation": "default", @@ -2113,7 +2113,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2621, + "id": 2631, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4558:7:13", @@ -2128,7 +2128,7 @@ ], "src": "4557:9:13" }, - "scope": 2655, + "scope": 2665, "src": "4500:128:13", "stateMutability": "pure", "superFunction": null, @@ -2136,7 +2136,7 @@ }, { "body": { - "id": 2653, + "id": 2663, "nodeType": "Block", "src": "5227:68:13", "statements": [ @@ -2150,18 +2150,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2645, + "id": 2655, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2643, + "id": 2653, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2635, + "referencedDeclaration": 2645, "src": "5245:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2173,7 +2173,7 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2644, + "id": 2654, "isConstant": false, "isLValue": false, "isPure": true, @@ -2196,11 +2196,11 @@ }, { "argumentTypes": null, - "id": 2646, + "id": 2656, "name": "errorMessage", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2637, + "referencedDeclaration": 2647, "src": "5253:12:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -2219,21 +2219,21 @@ "typeString": "string memory" } ], - "id": 2642, + "id": 2652, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "src": "5237:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2647, + "id": 2657, "isConstant": false, "isLValue": false, "isPure": false, @@ -2247,7 +2247,7 @@ "typeString": "tuple()" } }, - "id": 2648, + "id": 2658, "nodeType": "ExpressionStatement", "src": "5237:29:13" }, @@ -2258,18 +2258,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2651, + "id": 2661, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 2649, + "id": 2659, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2633, + "referencedDeclaration": 2643, "src": "5283:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2280,11 +2280,11 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 2650, + "id": 2660, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2635, + "referencedDeclaration": 2645, "src": "5287:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2297,30 +2297,30 @@ "typeString": "uint256" } }, - "functionReturnParameters": 2641, - "id": 2652, + "functionReturnParameters": 2651, + "id": 2662, "nodeType": "Return", "src": "5276:12:13" } ] }, "documentation": "@dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\nReverts with custom message when dividing by zero.\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\nopcode (which leaves remaining gas untouched) while Solidity uses an\ninvalid opcode to revert (consuming all remaining gas).\n * Requirements:\n- The divisor cannot be zero.\n * _Available since v2.4.0._", - "id": 2654, + "id": 2664, "implemented": true, "kind": "function", "modifiers": [], "name": "mod", "nodeType": "FunctionDefinition", "parameters": { - "id": 2638, + "id": 2648, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2633, + "id": 2643, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2654, + "scope": 2664, "src": "5145:9:13", "stateVariable": false, "storageLocation": "default", @@ -2329,7 +2329,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2632, + "id": 2642, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5145:7:13", @@ -2343,10 +2343,10 @@ }, { "constant": false, - "id": 2635, + "id": 2645, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2654, + "scope": 2664, "src": "5156:9:13", "stateVariable": false, "storageLocation": "default", @@ -2355,7 +2355,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2634, + "id": 2644, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5156:7:13", @@ -2369,10 +2369,10 @@ }, { "constant": false, - "id": 2637, + "id": 2647, "name": "errorMessage", "nodeType": "VariableDeclaration", - "scope": 2654, + "scope": 2664, "src": "5167:26:13", "stateVariable": false, "storageLocation": "memory", @@ -2381,7 +2381,7 @@ "typeString": "string" }, "typeName": { - "id": 2636, + "id": 2646, "name": "string", "nodeType": "ElementaryTypeName", "src": "5167:6:13", @@ -2397,15 +2397,15 @@ "src": "5144:50:13" }, "returnParameters": { - "id": 2641, + "id": 2651, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2640, + "id": 2650, "name": "", "nodeType": "VariableDeclaration", - "scope": 2654, + "scope": 2664, "src": "5218:7:13", "stateVariable": false, "storageLocation": "default", @@ -2414,7 +2414,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2639, + "id": 2649, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5218:7:13", @@ -2429,14 +2429,14 @@ ], "src": "5217:9:13" }, - "scope": 2655, + "scope": 2665, "src": "5132:163:13", "stateMutability": "pure", "superFunction": null, "visibility": "internal" } ], - "scope": 2656, + "scope": 2666, "src": "589:4708:13" } ], @@ -2447,7 +2447,7 @@ "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", "exportedSymbols": { "SafeMath": [ - 2655 + 2665 ] } }, @@ -2461,7 +2461,7 @@ ".0" ] }, - "id": 2470, + "id": 2480, "name": "PragmaDirective", "src": "0:23:13" }, @@ -2477,10 +2477,10 @@ "documentation": "@dev Wrappers over Solidity's arithmetic operations with added overflow\nchecks.\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\nin bugs, because programmers usually assume that an overflow raises an\nerror, which is the standard behavior in high level programming languages.\n`SafeMath` restores this intuition by reverting the transaction when an\noperation overflows.\n * Using this library instead of the unchecked operations eliminates an entire\nclass of bugs, so it's recommended to use it always.", "fullyImplemented": true, "linearizedBaseContracts": [ - 2655 + 2665 ], "name": "SafeMath", - "scope": 2656 + "scope": 2666 }, "children": [ { @@ -2493,7 +2493,7 @@ null ], "name": "add", - "scope": 2655, + "scope": 2665, "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -2505,7 +2505,7 @@ "attributes": { "constant": false, "name": "a", - "scope": 2495, + "scope": 2505, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -2518,12 +2518,12 @@ "name": "uint256", "type": "uint256" }, - "id": 2471, + "id": 2481, "name": "ElementaryTypeName", "src": "847:7:13" } ], - "id": 2472, + "id": 2482, "name": "VariableDeclaration", "src": "847:9:13" }, @@ -2531,7 +2531,7 @@ "attributes": { "constant": false, "name": "b", - "scope": 2495, + "scope": 2505, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -2544,17 +2544,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2473, + "id": 2483, "name": "ElementaryTypeName", "src": "858:7:13" } ], - "id": 2474, + "id": 2484, "name": "VariableDeclaration", "src": "858:9:13" } ], - "id": 2475, + "id": 2485, "name": "ParameterList", "src": "846:22:13" }, @@ -2564,7 +2564,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2495, + "scope": 2505, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -2577,17 +2577,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2476, + "id": 2486, "name": "ElementaryTypeName", "src": "892:7:13" } ], - "id": 2477, + "id": 2487, "name": "VariableDeclaration", "src": "892:7:13" } ], - "id": 2478, + "id": 2488, "name": "ParameterList", "src": "891:9:13" }, @@ -2596,7 +2596,7 @@ { "attributes": { "assignments": [ - 2480 + 2490 ] }, "children": [ @@ -2604,7 +2604,7 @@ "attributes": { "constant": false, "name": "c", - "scope": 2494, + "scope": 2504, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -2617,12 +2617,12 @@ "name": "uint256", "type": "uint256" }, - "id": 2479, + "id": 2489, "name": "ElementaryTypeName", "src": "911:7:13" } ], - "id": 2480, + "id": 2490, "name": "VariableDeclaration", "src": "911:9:13" }, @@ -2647,11 +2647,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2472, + "referencedDeclaration": 2482, "type": "uint256", "value": "a" }, - "id": 2481, + "id": 2491, "name": "Identifier", "src": "923:1:13" }, @@ -2661,21 +2661,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2474, + "referencedDeclaration": 2484, "type": "uint256", "value": "b" }, - "id": 2482, + "id": 2492, "name": "Identifier", "src": "927:1:13" } ], - "id": 2483, + "id": 2493, "name": "BinaryOperation", "src": "923:5:13" } ], - "id": 2484, + "id": 2494, "name": "VariableDeclarationStatement", "src": "911:17:13" }, @@ -2709,14 +2709,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 2485, + "id": 2495, "name": "Identifier", "src": "938:7:13" }, @@ -2741,11 +2741,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2480, + "referencedDeclaration": 2490, "type": "uint256", "value": "c" }, - "id": 2486, + "id": 2496, "name": "Identifier", "src": "946:1:13" }, @@ -2755,16 +2755,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2472, + "referencedDeclaration": 2482, "type": "uint256", "value": "a" }, - "id": 2487, + "id": 2497, "name": "Identifier", "src": "951:1:13" } ], - "id": 2488, + "id": 2498, "name": "BinaryOperation", "src": "946:6:13" }, @@ -2781,23 +2781,23 @@ "type": "literal_string \"SafeMath: addition overflow\"", "value": "SafeMath: addition overflow" }, - "id": 2489, + "id": 2499, "name": "Literal", "src": "954:29:13" } ], - "id": 2490, + "id": 2500, "name": "FunctionCall", "src": "938:46:13" } ], - "id": 2491, + "id": 2501, "name": "ExpressionStatement", "src": "938:46:13" }, { "attributes": { - "functionReturnParameters": 2478 + "functionReturnParameters": 2488 }, "children": [ { @@ -2806,26 +2806,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2480, + "referencedDeclaration": 2490, "type": "uint256", "value": "c" }, - "id": 2492, + "id": 2502, "name": "Identifier", "src": "1002:1:13" } ], - "id": 2493, + "id": 2503, "name": "Return", "src": "995:8:13" } ], - "id": 2494, + "id": 2504, "name": "Block", "src": "901:109:13" } ], - "id": 2495, + "id": 2505, "name": "FunctionDefinition", "src": "834:176:13" }, @@ -2839,7 +2839,7 @@ null ], "name": "sub", - "scope": 2655, + "scope": 2665, "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -2851,7 +2851,7 @@ "attributes": { "constant": false, "name": "a", - "scope": 2511, + "scope": 2521, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -2864,12 +2864,12 @@ "name": "uint256", "type": "uint256" }, - "id": 2496, + "id": 2506, "name": "ElementaryTypeName", "src": "1287:7:13" } ], - "id": 2497, + "id": 2507, "name": "VariableDeclaration", "src": "1287:9:13" }, @@ -2877,7 +2877,7 @@ "attributes": { "constant": false, "name": "b", - "scope": 2511, + "scope": 2521, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -2890,17 +2890,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2498, + "id": 2508, "name": "ElementaryTypeName", "src": "1298:7:13" } ], - "id": 2499, + "id": 2509, "name": "VariableDeclaration", "src": "1298:9:13" } ], - "id": 2500, + "id": 2510, "name": "ParameterList", "src": "1286:22:13" }, @@ -2910,7 +2910,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2511, + "scope": 2521, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -2923,17 +2923,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2501, + "id": 2511, "name": "ElementaryTypeName", "src": "1332:7:13" } ], - "id": 2502, + "id": 2512, "name": "VariableDeclaration", "src": "1332:7:13" } ], - "id": 2503, + "id": 2513, "name": "ParameterList", "src": "1331:9:13" }, @@ -2941,7 +2941,7 @@ "children": [ { "attributes": { - "functionReturnParameters": 2503 + "functionReturnParameters": 2513 }, "children": [ { @@ -2976,14 +2976,14 @@ } ], "overloadedDeclarations": [ - 2511, - 2538 + 2521, + 2548 ], - "referencedDeclaration": 2538, + "referencedDeclaration": 2548, "type": "function (uint256,uint256,string memory) pure returns (uint256)", "value": "sub" }, - "id": 2504, + "id": 2514, "name": "Identifier", "src": "1358:3:13" }, @@ -2993,11 +2993,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2497, + "referencedDeclaration": 2507, "type": "uint256", "value": "a" }, - "id": 2505, + "id": 2515, "name": "Identifier", "src": "1362:1:13" }, @@ -3007,11 +3007,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2499, + "referencedDeclaration": 2509, "type": "uint256", "value": "b" }, - "id": 2506, + "id": 2516, "name": "Identifier", "src": "1365:1:13" }, @@ -3028,27 +3028,27 @@ "type": "literal_string \"SafeMath: subtraction overflow\"", "value": "SafeMath: subtraction overflow" }, - "id": 2507, + "id": 2517, "name": "Literal", "src": "1368:32:13" } ], - "id": 2508, + "id": 2518, "name": "FunctionCall", "src": "1358:43:13" } ], - "id": 2509, + "id": 2519, "name": "Return", "src": "1351:50:13" } ], - "id": 2510, + "id": 2520, "name": "Block", "src": "1341:67:13" } ], - "id": 2511, + "id": 2521, "name": "FunctionDefinition", "src": "1274:134:13" }, @@ -3062,7 +3062,7 @@ null ], "name": "sub", - "scope": 2655, + "scope": 2665, "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -3074,7 +3074,7 @@ "attributes": { "constant": false, "name": "a", - "scope": 2538, + "scope": 2548, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -3087,12 +3087,12 @@ "name": "uint256", "type": "uint256" }, - "id": 2512, + "id": 2522, "name": "ElementaryTypeName", "src": "1745:7:13" } ], - "id": 2513, + "id": 2523, "name": "VariableDeclaration", "src": "1745:9:13" }, @@ -3100,7 +3100,7 @@ "attributes": { "constant": false, "name": "b", - "scope": 2538, + "scope": 2548, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -3113,12 +3113,12 @@ "name": "uint256", "type": "uint256" }, - "id": 2514, + "id": 2524, "name": "ElementaryTypeName", "src": "1756:7:13" } ], - "id": 2515, + "id": 2525, "name": "VariableDeclaration", "src": "1756:9:13" }, @@ -3126,7 +3126,7 @@ "attributes": { "constant": false, "name": "errorMessage", - "scope": 2538, + "scope": 2548, "stateVariable": false, "storageLocation": "memory", "type": "string", @@ -3139,17 +3139,17 @@ "name": "string", "type": "string" }, - "id": 2516, + "id": 2526, "name": "ElementaryTypeName", "src": "1767:6:13" } ], - "id": 2517, + "id": 2527, "name": "VariableDeclaration", "src": "1767:26:13" } ], - "id": 2518, + "id": 2528, "name": "ParameterList", "src": "1744:50:13" }, @@ -3159,7 +3159,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2538, + "scope": 2548, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -3172,17 +3172,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2519, + "id": 2529, "name": "ElementaryTypeName", "src": "1818:7:13" } ], - "id": 2520, + "id": 2530, "name": "VariableDeclaration", "src": "1818:7:13" } ], - "id": 2521, + "id": 2531, "name": "ParameterList", "src": "1817:9:13" }, @@ -3218,14 +3218,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 2522, + "id": 2532, "name": "Identifier", "src": "1837:7:13" }, @@ -3250,11 +3250,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2515, + "referencedDeclaration": 2525, "type": "uint256", "value": "b" }, - "id": 2523, + "id": 2533, "name": "Identifier", "src": "1845:1:13" }, @@ -3264,16 +3264,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2513, + "referencedDeclaration": 2523, "type": "uint256", "value": "a" }, - "id": 2524, + "id": 2534, "name": "Identifier", "src": "1850:1:13" } ], - "id": 2525, + "id": 2535, "name": "BinaryOperation", "src": "1845:6:13" }, @@ -3283,28 +3283,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2517, + "referencedDeclaration": 2527, "type": "string memory", "value": "errorMessage" }, - "id": 2526, + "id": 2536, "name": "Identifier", "src": "1853:12:13" } ], - "id": 2527, + "id": 2537, "name": "FunctionCall", "src": "1837:29:13" } ], - "id": 2528, + "id": 2538, "name": "ExpressionStatement", "src": "1837:29:13" }, { "attributes": { "assignments": [ - 2530 + 2540 ] }, "children": [ @@ -3312,7 +3312,7 @@ "attributes": { "constant": false, "name": "c", - "scope": 2537, + "scope": 2547, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -3325,12 +3325,12 @@ "name": "uint256", "type": "uint256" }, - "id": 2529, + "id": 2539, "name": "ElementaryTypeName", "src": "1876:7:13" } ], - "id": 2530, + "id": 2540, "name": "VariableDeclaration", "src": "1876:9:13" }, @@ -3355,11 +3355,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2513, + "referencedDeclaration": 2523, "type": "uint256", "value": "a" }, - "id": 2531, + "id": 2541, "name": "Identifier", "src": "1888:1:13" }, @@ -3369,27 +3369,27 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2515, + "referencedDeclaration": 2525, "type": "uint256", "value": "b" }, - "id": 2532, + "id": 2542, "name": "Identifier", "src": "1892:1:13" } ], - "id": 2533, + "id": 2543, "name": "BinaryOperation", "src": "1888:5:13" } ], - "id": 2534, + "id": 2544, "name": "VariableDeclarationStatement", "src": "1876:17:13" }, { "attributes": { - "functionReturnParameters": 2521 + "functionReturnParameters": 2531 }, "children": [ { @@ -3398,26 +3398,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2530, + "referencedDeclaration": 2540, "type": "uint256", "value": "c" }, - "id": 2535, + "id": 2545, "name": "Identifier", "src": "1911:1:13" } ], - "id": 2536, + "id": 2546, "name": "Return", "src": "1904:8:13" } ], - "id": 2537, + "id": 2547, "name": "Block", "src": "1827:92:13" } ], - "id": 2538, + "id": 2548, "name": "FunctionDefinition", "src": "1732:187:13" }, @@ -3431,7 +3431,7 @@ null ], "name": "mul", - "scope": 2655, + "scope": 2665, "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -3443,7 +3443,7 @@ "attributes": { "constant": false, "name": "a", - "scope": 2572, + "scope": 2582, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -3456,12 +3456,12 @@ "name": "uint256", "type": "uint256" }, - "id": 2539, + "id": 2549, "name": "ElementaryTypeName", "src": "2172:7:13" } ], - "id": 2540, + "id": 2550, "name": "VariableDeclaration", "src": "2172:9:13" }, @@ -3469,7 +3469,7 @@ "attributes": { "constant": false, "name": "b", - "scope": 2572, + "scope": 2582, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -3482,17 +3482,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2541, + "id": 2551, "name": "ElementaryTypeName", "src": "2183:7:13" } ], - "id": 2542, + "id": 2552, "name": "VariableDeclaration", "src": "2183:9:13" } ], - "id": 2543, + "id": 2553, "name": "ParameterList", "src": "2171:22:13" }, @@ -3502,7 +3502,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2572, + "scope": 2582, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -3515,17 +3515,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2544, + "id": 2554, "name": "ElementaryTypeName", "src": "2217:7:13" } ], - "id": 2545, + "id": 2555, "name": "VariableDeclaration", "src": "2217:7:13" } ], - "id": 2546, + "id": 2556, "name": "ParameterList", "src": "2216:9:13" }, @@ -3557,11 +3557,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2540, + "referencedDeclaration": 2550, "type": "uint256", "value": "a" }, - "id": 2547, + "id": 2557, "name": "Identifier", "src": "2458:1:13" }, @@ -3578,12 +3578,12 @@ "type": "int_const 0", "value": "0" }, - "id": 2548, + "id": 2558, "name": "Literal", "src": "2463:1:13" } ], - "id": 2549, + "id": 2559, "name": "BinaryOperation", "src": "2458:6:13" }, @@ -3591,7 +3591,7 @@ "children": [ { "attributes": { - "functionReturnParameters": 2546 + "functionReturnParameters": 2556 }, "children": [ { @@ -3607,29 +3607,29 @@ "type": "int_const 0", "value": "0" }, - "id": 2550, + "id": 2560, "name": "Literal", "src": "2487:1:13" } ], - "id": 2551, + "id": 2561, "name": "Return", "src": "2480:8:13" } ], - "id": 2552, + "id": 2562, "name": "Block", "src": "2466:33:13" } ], - "id": 2553, + "id": 2563, "name": "IfStatement", "src": "2454:45:13" }, { "attributes": { "assignments": [ - 2555 + 2565 ] }, "children": [ @@ -3637,7 +3637,7 @@ "attributes": { "constant": false, "name": "c", - "scope": 2571, + "scope": 2581, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -3650,12 +3650,12 @@ "name": "uint256", "type": "uint256" }, - "id": 2554, + "id": 2564, "name": "ElementaryTypeName", "src": "2509:7:13" } ], - "id": 2555, + "id": 2565, "name": "VariableDeclaration", "src": "2509:9:13" }, @@ -3680,11 +3680,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2540, + "referencedDeclaration": 2550, "type": "uint256", "value": "a" }, - "id": 2556, + "id": 2566, "name": "Identifier", "src": "2521:1:13" }, @@ -3694,21 +3694,21 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2542, + "referencedDeclaration": 2552, "type": "uint256", "value": "b" }, - "id": 2557, + "id": 2567, "name": "Identifier", "src": "2525:1:13" } ], - "id": 2558, + "id": 2568, "name": "BinaryOperation", "src": "2521:5:13" } ], - "id": 2559, + "id": 2569, "name": "VariableDeclarationStatement", "src": "2509:17:13" }, @@ -3742,14 +3742,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 2560, + "id": 2570, "name": "Identifier", "src": "2536:7:13" }, @@ -3789,11 +3789,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2555, + "referencedDeclaration": 2565, "type": "uint256", "value": "c" }, - "id": 2561, + "id": 2571, "name": "Identifier", "src": "2544:1:13" }, @@ -3803,16 +3803,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2540, + "referencedDeclaration": 2550, "type": "uint256", "value": "a" }, - "id": 2562, + "id": 2572, "name": "Identifier", "src": "2548:1:13" } ], - "id": 2563, + "id": 2573, "name": "BinaryOperation", "src": "2544:5:13" }, @@ -3822,16 +3822,16 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2542, + "referencedDeclaration": 2552, "type": "uint256", "value": "b" }, - "id": 2564, + "id": 2574, "name": "Identifier", "src": "2553:1:13" } ], - "id": 2565, + "id": 2575, "name": "BinaryOperation", "src": "2544:10:13" }, @@ -3848,23 +3848,23 @@ "type": "literal_string \"SafeMath: multiplication overflow\"", "value": "SafeMath: multiplication overflow" }, - "id": 2566, + "id": 2576, "name": "Literal", "src": "2556:35:13" } ], - "id": 2567, + "id": 2577, "name": "FunctionCall", "src": "2536:56:13" } ], - "id": 2568, + "id": 2578, "name": "ExpressionStatement", "src": "2536:56:13" }, { "attributes": { - "functionReturnParameters": 2546 + "functionReturnParameters": 2556 }, "children": [ { @@ -3873,26 +3873,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2555, + "referencedDeclaration": 2565, "type": "uint256", "value": "c" }, - "id": 2569, + "id": 2579, "name": "Identifier", "src": "2610:1:13" } ], - "id": 2570, + "id": 2580, "name": "Return", "src": "2603:8:13" } ], - "id": 2571, + "id": 2581, "name": "Block", "src": "2226:392:13" } ], - "id": 2572, + "id": 2582, "name": "FunctionDefinition", "src": "2159:459:13" }, @@ -3906,7 +3906,7 @@ null ], "name": "div", - "scope": 2655, + "scope": 2665, "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -3918,7 +3918,7 @@ "attributes": { "constant": false, "name": "a", - "scope": 2588, + "scope": 2598, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -3931,12 +3931,12 @@ "name": "uint256", "type": "uint256" }, - "id": 2573, + "id": 2583, "name": "ElementaryTypeName", "src": "3086:7:13" } ], - "id": 2574, + "id": 2584, "name": "VariableDeclaration", "src": "3086:9:13" }, @@ -3944,7 +3944,7 @@ "attributes": { "constant": false, "name": "b", - "scope": 2588, + "scope": 2598, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -3957,17 +3957,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2575, + "id": 2585, "name": "ElementaryTypeName", "src": "3097:7:13" } ], - "id": 2576, + "id": 2586, "name": "VariableDeclaration", "src": "3097:9:13" } ], - "id": 2577, + "id": 2587, "name": "ParameterList", "src": "3085:22:13" }, @@ -3977,7 +3977,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2588, + "scope": 2598, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -3990,17 +3990,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2578, + "id": 2588, "name": "ElementaryTypeName", "src": "3131:7:13" } ], - "id": 2579, + "id": 2589, "name": "VariableDeclaration", "src": "3131:7:13" } ], - "id": 2580, + "id": 2590, "name": "ParameterList", "src": "3130:9:13" }, @@ -4008,7 +4008,7 @@ "children": [ { "attributes": { - "functionReturnParameters": 2580 + "functionReturnParameters": 2590 }, "children": [ { @@ -4043,14 +4043,14 @@ } ], "overloadedDeclarations": [ - 2588, - 2615 + 2598, + 2625 ], - "referencedDeclaration": 2615, + "referencedDeclaration": 2625, "type": "function (uint256,uint256,string memory) pure returns (uint256)", "value": "div" }, - "id": 2581, + "id": 2591, "name": "Identifier", "src": "3157:3:13" }, @@ -4060,11 +4060,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2574, + "referencedDeclaration": 2584, "type": "uint256", "value": "a" }, - "id": 2582, + "id": 2592, "name": "Identifier", "src": "3161:1:13" }, @@ -4074,11 +4074,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2576, + "referencedDeclaration": 2586, "type": "uint256", "value": "b" }, - "id": 2583, + "id": 2593, "name": "Identifier", "src": "3164:1:13" }, @@ -4095,27 +4095,27 @@ "type": "literal_string \"SafeMath: division by zero\"", "value": "SafeMath: division by zero" }, - "id": 2584, + "id": 2594, "name": "Literal", "src": "3167:28:13" } ], - "id": 2585, + "id": 2595, "name": "FunctionCall", "src": "3157:39:13" } ], - "id": 2586, + "id": 2596, "name": "Return", "src": "3150:46:13" } ], - "id": 2587, + "id": 2597, "name": "Block", "src": "3140:63:13" } ], - "id": 2588, + "id": 2598, "name": "FunctionDefinition", "src": "3073:130:13" }, @@ -4129,7 +4129,7 @@ null ], "name": "div", - "scope": 2655, + "scope": 2665, "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -4141,7 +4141,7 @@ "attributes": { "constant": false, "name": "a", - "scope": 2615, + "scope": 2625, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -4154,12 +4154,12 @@ "name": "uint256", "type": "uint256" }, - "id": 2589, + "id": 2599, "name": "ElementaryTypeName", "src": "3731:7:13" } ], - "id": 2590, + "id": 2600, "name": "VariableDeclaration", "src": "3731:9:13" }, @@ -4167,7 +4167,7 @@ "attributes": { "constant": false, "name": "b", - "scope": 2615, + "scope": 2625, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -4180,12 +4180,12 @@ "name": "uint256", "type": "uint256" }, - "id": 2591, + "id": 2601, "name": "ElementaryTypeName", "src": "3742:7:13" } ], - "id": 2592, + "id": 2602, "name": "VariableDeclaration", "src": "3742:9:13" }, @@ -4193,7 +4193,7 @@ "attributes": { "constant": false, "name": "errorMessage", - "scope": 2615, + "scope": 2625, "stateVariable": false, "storageLocation": "memory", "type": "string", @@ -4206,17 +4206,17 @@ "name": "string", "type": "string" }, - "id": 2593, + "id": 2603, "name": "ElementaryTypeName", "src": "3753:6:13" } ], - "id": 2594, + "id": 2604, "name": "VariableDeclaration", "src": "3753:26:13" } ], - "id": 2595, + "id": 2605, "name": "ParameterList", "src": "3730:50:13" }, @@ -4226,7 +4226,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2615, + "scope": 2625, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -4239,17 +4239,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2596, + "id": 2606, "name": "ElementaryTypeName", "src": "3804:7:13" } ], - "id": 2597, + "id": 2607, "name": "VariableDeclaration", "src": "3804:7:13" } ], - "id": 2598, + "id": 2608, "name": "ParameterList", "src": "3803:9:13" }, @@ -4285,14 +4285,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 2599, + "id": 2609, "name": "Identifier", "src": "3889:7:13" }, @@ -4317,11 +4317,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2592, + "referencedDeclaration": 2602, "type": "uint256", "value": "b" }, - "id": 2600, + "id": 2610, "name": "Identifier", "src": "3897:1:13" }, @@ -4338,12 +4338,12 @@ "type": "int_const 0", "value": "0" }, - "id": 2601, + "id": 2611, "name": "Literal", "src": "3901:1:13" } ], - "id": 2602, + "id": 2612, "name": "BinaryOperation", "src": "3897:5:13" }, @@ -4353,28 +4353,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2594, + "referencedDeclaration": 2604, "type": "string memory", "value": "errorMessage" }, - "id": 2603, + "id": 2613, "name": "Identifier", "src": "3904:12:13" } ], - "id": 2604, + "id": 2614, "name": "FunctionCall", "src": "3889:28:13" } ], - "id": 2605, + "id": 2615, "name": "ExpressionStatement", "src": "3889:28:13" }, { "attributes": { "assignments": [ - 2607 + 2617 ] }, "children": [ @@ -4382,7 +4382,7 @@ "attributes": { "constant": false, "name": "c", - "scope": 2614, + "scope": 2624, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -4395,12 +4395,12 @@ "name": "uint256", "type": "uint256" }, - "id": 2606, + "id": 2616, "name": "ElementaryTypeName", "src": "3927:7:13" } ], - "id": 2607, + "id": 2617, "name": "VariableDeclaration", "src": "3927:9:13" }, @@ -4425,11 +4425,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2590, + "referencedDeclaration": 2600, "type": "uint256", "value": "a" }, - "id": 2608, + "id": 2618, "name": "Identifier", "src": "3939:1:13" }, @@ -4439,27 +4439,27 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2592, + "referencedDeclaration": 2602, "type": "uint256", "value": "b" }, - "id": 2609, + "id": 2619, "name": "Identifier", "src": "3943:1:13" } ], - "id": 2610, + "id": 2620, "name": "BinaryOperation", "src": "3939:5:13" } ], - "id": 2611, + "id": 2621, "name": "VariableDeclarationStatement", "src": "3927:17:13" }, { "attributes": { - "functionReturnParameters": 2598 + "functionReturnParameters": 2608 }, "children": [ { @@ -4468,26 +4468,26 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2607, + "referencedDeclaration": 2617, "type": "uint256", "value": "c" }, - "id": 2612, + "id": 2622, "name": "Identifier", "src": "4048:1:13" } ], - "id": 2613, + "id": 2623, "name": "Return", "src": "4041:8:13" } ], - "id": 2614, + "id": 2624, "name": "Block", "src": "3813:243:13" } ], - "id": 2615, + "id": 2625, "name": "FunctionDefinition", "src": "3718:338:13" }, @@ -4501,7 +4501,7 @@ null ], "name": "mod", - "scope": 2655, + "scope": 2665, "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -4513,7 +4513,7 @@ "attributes": { "constant": false, "name": "a", - "scope": 2631, + "scope": 2641, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -4526,12 +4526,12 @@ "name": "uint256", "type": "uint256" }, - "id": 2616, + "id": 2626, "name": "ElementaryTypeName", "src": "4513:7:13" } ], - "id": 2617, + "id": 2627, "name": "VariableDeclaration", "src": "4513:9:13" }, @@ -4539,7 +4539,7 @@ "attributes": { "constant": false, "name": "b", - "scope": 2631, + "scope": 2641, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -4552,17 +4552,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2618, + "id": 2628, "name": "ElementaryTypeName", "src": "4524:7:13" } ], - "id": 2619, + "id": 2629, "name": "VariableDeclaration", "src": "4524:9:13" } ], - "id": 2620, + "id": 2630, "name": "ParameterList", "src": "4512:22:13" }, @@ -4572,7 +4572,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2631, + "scope": 2641, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -4585,17 +4585,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2621, + "id": 2631, "name": "ElementaryTypeName", "src": "4558:7:13" } ], - "id": 2622, + "id": 2632, "name": "VariableDeclaration", "src": "4558:7:13" } ], - "id": 2623, + "id": 2633, "name": "ParameterList", "src": "4557:9:13" }, @@ -4603,7 +4603,7 @@ "children": [ { "attributes": { - "functionReturnParameters": 2623 + "functionReturnParameters": 2633 }, "children": [ { @@ -4638,14 +4638,14 @@ } ], "overloadedDeclarations": [ - 2631, - 2654 + 2641, + 2664 ], - "referencedDeclaration": 2654, + "referencedDeclaration": 2664, "type": "function (uint256,uint256,string memory) pure returns (uint256)", "value": "mod" }, - "id": 2624, + "id": 2634, "name": "Identifier", "src": "4584:3:13" }, @@ -4655,11 +4655,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2617, + "referencedDeclaration": 2627, "type": "uint256", "value": "a" }, - "id": 2625, + "id": 2635, "name": "Identifier", "src": "4588:1:13" }, @@ -4669,11 +4669,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2619, + "referencedDeclaration": 2629, "type": "uint256", "value": "b" }, - "id": 2626, + "id": 2636, "name": "Identifier", "src": "4591:1:13" }, @@ -4690,27 +4690,27 @@ "type": "literal_string \"SafeMath: modulo by zero\"", "value": "SafeMath: modulo by zero" }, - "id": 2627, + "id": 2637, "name": "Literal", "src": "4594:26:13" } ], - "id": 2628, + "id": 2638, "name": "FunctionCall", "src": "4584:37:13" } ], - "id": 2629, + "id": 2639, "name": "Return", "src": "4577:44:13" } ], - "id": 2630, + "id": 2640, "name": "Block", "src": "4567:61:13" } ], - "id": 2631, + "id": 2641, "name": "FunctionDefinition", "src": "4500:128:13" }, @@ -4724,7 +4724,7 @@ null ], "name": "mod", - "scope": 2655, + "scope": 2665, "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -4736,7 +4736,7 @@ "attributes": { "constant": false, "name": "a", - "scope": 2654, + "scope": 2664, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -4749,12 +4749,12 @@ "name": "uint256", "type": "uint256" }, - "id": 2632, + "id": 2642, "name": "ElementaryTypeName", "src": "5145:7:13" } ], - "id": 2633, + "id": 2643, "name": "VariableDeclaration", "src": "5145:9:13" }, @@ -4762,7 +4762,7 @@ "attributes": { "constant": false, "name": "b", - "scope": 2654, + "scope": 2664, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -4775,12 +4775,12 @@ "name": "uint256", "type": "uint256" }, - "id": 2634, + "id": 2644, "name": "ElementaryTypeName", "src": "5156:7:13" } ], - "id": 2635, + "id": 2645, "name": "VariableDeclaration", "src": "5156:9:13" }, @@ -4788,7 +4788,7 @@ "attributes": { "constant": false, "name": "errorMessage", - "scope": 2654, + "scope": 2664, "stateVariable": false, "storageLocation": "memory", "type": "string", @@ -4801,17 +4801,17 @@ "name": "string", "type": "string" }, - "id": 2636, + "id": 2646, "name": "ElementaryTypeName", "src": "5167:6:13" } ], - "id": 2637, + "id": 2647, "name": "VariableDeclaration", "src": "5167:26:13" } ], - "id": 2638, + "id": 2648, "name": "ParameterList", "src": "5144:50:13" }, @@ -4821,7 +4821,7 @@ "attributes": { "constant": false, "name": "", - "scope": 2654, + "scope": 2664, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -4834,17 +4834,17 @@ "name": "uint256", "type": "uint256" }, - "id": 2639, + "id": 2649, "name": "ElementaryTypeName", "src": "5218:7:13" } ], - "id": 2640, + "id": 2650, "name": "VariableDeclaration", "src": "5218:7:13" } ], - "id": 2641, + "id": 2651, "name": "ParameterList", "src": "5217:9:13" }, @@ -4880,14 +4880,14 @@ } ], "overloadedDeclarations": [ - 3263, - 3264 + 3273, + 3274 ], - "referencedDeclaration": 3264, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 2642, + "id": 2652, "name": "Identifier", "src": "5237:7:13" }, @@ -4912,11 +4912,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2635, + "referencedDeclaration": 2645, "type": "uint256", "value": "b" }, - "id": 2643, + "id": 2653, "name": "Identifier", "src": "5245:1:13" }, @@ -4933,12 +4933,12 @@ "type": "int_const 0", "value": "0" }, - "id": 2644, + "id": 2654, "name": "Literal", "src": "5250:1:13" } ], - "id": 2645, + "id": 2655, "name": "BinaryOperation", "src": "5245:6:13" }, @@ -4948,27 +4948,27 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2637, + "referencedDeclaration": 2647, "type": "string memory", "value": "errorMessage" }, - "id": 2646, + "id": 2656, "name": "Identifier", "src": "5253:12:13" } ], - "id": 2647, + "id": 2657, "name": "FunctionCall", "src": "5237:29:13" } ], - "id": 2648, + "id": 2658, "name": "ExpressionStatement", "src": "5237:29:13" }, { "attributes": { - "functionReturnParameters": 2641 + "functionReturnParameters": 2651 }, "children": [ { @@ -4992,11 +4992,11 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2633, + "referencedDeclaration": 2643, "type": "uint256", "value": "a" }, - "id": 2649, + "id": 2659, "name": "Identifier", "src": "5283:1:13" }, @@ -5006,41 +5006,41 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2635, + "referencedDeclaration": 2645, "type": "uint256", "value": "b" }, - "id": 2650, + "id": 2660, "name": "Identifier", "src": "5287:1:13" } ], - "id": 2651, + "id": 2661, "name": "BinaryOperation", "src": "5283:5:13" } ], - "id": 2652, + "id": 2662, "name": "Return", "src": "5276:12:13" } ], - "id": 2653, + "id": 2663, "name": "Block", "src": "5227:68:13" } ], - "id": 2654, + "id": 2664, "name": "FunctionDefinition", "src": "5132:163:13" } ], - "id": 2655, + "id": 2665, "name": "ContractDefinition", "src": "589:4708:13" } ], - "id": 2656, + "id": 2666, "name": "SourceUnit", "src": "0:5298:13" }, @@ -5050,7 +5050,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-03-14T02:18:33.145Z", + "updatedAt": "2021-04-04T20:21:29.911Z", "devdoc": { "details": "Wrappers over Solidity's arithmetic operations with added overflow checks. * Arithmetic operations in Solidity wrap on overflow. This can easily result in bugs, because programmers usually assume that an overflow raises an error, which is the standard behavior in high level programming languages. `SafeMath` restores this intuition by reverting the transaction when an operation overflows. * Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.", "methods": {} diff --git a/client/contracts/Tornado.json b/client/contracts/Tornado.json index 7a1ad3a..783b006 100644 --- a/client/contracts/Tornado.json +++ b/client/contracts/Tornado.json @@ -539,58 +539,58 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"contract IFeeManager\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_denomination\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_merkleTreeHeight\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commitment\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"leafIndex\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifierHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"FIELD_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ROOT_HISTORY_SIZE\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ZERO_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOperator\",\"type\":\"address\"}],\"name\":\"changeOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"commitments\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentRootIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"denomination\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_commitment\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeManager\",\"outputs\":[{\"internalType\":\"contract IFeeManager\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"filledSubtrees\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_right\",\"type\":\"bytes32\"}],\"name\":\"hashLeftRight\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"isKnownRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"}],\"name\":\"isSpent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_nullifierHashes\",\"type\":\"bytes32[]\"}],\"name\":\"isSpentArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"spent\",\"type\":\"bool[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"levels\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nullifierHashes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roots\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newVerifier\",\"type\":\"address\"}],\"name\":\"updateVerifier\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"verifier\",\"outputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"},{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_refund\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"zeros\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"changeOperator(address)\":{\"details\":\"operator can change his address \"},\"constructor\":{\"details\":\"The constructor\",\"params\":{\"_denomination\":\"transfer amount for each deposit\",\"_merkleTreeHeight\":\"the height of deposits' Merkle Tree\",\"_operator\":\"operator address (see operator comment above)\",\"_verifier\":\"the address of SNARK verifier for this contract\"}},\"deposit(bytes32)\":{\"details\":\"Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\",\"params\":{\"_commitment\":\"the note commitment, which is PedersenHash(nullifier + secret)\"}},\"getLastRoot()\":{\"details\":\"Returns the last root\"},\"hashLeftRight(bytes32,bytes32)\":{\"details\":\"Hash 2 tree leaves, returns MiMC(_left, _right)\"},\"isKnownRoot(bytes32)\":{\"details\":\"Whether the root is present in the root history\"},\"isSpent(bytes32)\":{\"details\":\"whether a note is already spent \"},\"isSpentArray(bytes32[])\":{\"details\":\"whether an array of notes is already spent \"},\"updateVerifier(address)\":{\"details\":\"allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held. After that operator rights are supposed to be transferred to zero address\"},\"withdraw(bytes,bytes32,bytes32,address,address,uint256,uint256)\":{\"details\":\"Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs `input` array consists of: - merkle root of all deposits in the contract - hash of unique deposit nullifier to prevent double spends - the recipient of funds - optional fee that goes to the transaction sender (usually a relay)\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol\":\"Tornado\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol\":{\"keccak256\":\"0xe7db8acb3efcecf95c7364f447ed1764c571dbf5090fd4641fe4668a965332eb\",\"urls\":[\"bzz-raw://45e790c247c38ed8ae473e3165c1148ea10a753cf6e9f9c8742394019be2aef6\",\"dweb:/ipfs/QmaGfk1ndvqur2NvCY3TWoKuorfBVShXeykKei18GDY582\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"_verifier\",\"type\":\"address\"},{\"internalType\":\"contract IFeeManager\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_denomination\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"_merkleTreeHeight\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commitment\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"leafIndex\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifierHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"relayer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"FIELD_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ROOT_HISTORY_SIZE\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ZERO_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOperator\",\"type\":\"address\"}],\"name\":\"changeOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"commitments\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentRootIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"denomination\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_commitment\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeManager\",\"outputs\":[{\"internalType\":\"contract IFeeManager\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"filledSubtrees\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_right\",\"type\":\"bytes32\"}],\"name\":\"hashLeftRight\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"}],\"name\":\"isKnownRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"}],\"name\":\"isSpent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"_nullifierHashes\",\"type\":\"bytes32[]\"}],\"name\":\"isSpentArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"spent\",\"type\":\"bool[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"levels\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nextIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nullifierHashes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roots\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newVerifier\",\"type\":\"address\"}],\"name\":\"updateVerifier\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"verifier\",\"outputs\":[{\"internalType\":\"contract IVerifier\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_root\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_nullifierHash\",\"type\":\"bytes32\"},{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_relayer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_fee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_refund\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"zeros\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"changeOperator(address)\":{\"details\":\"operator can change his address \"},\"constructor\":{\"details\":\"The constructor\",\"params\":{\"_denomination\":\"transfer amount for each deposit\",\"_merkleTreeHeight\":\"the height of deposits' Merkle Tree\",\"_operator\":\"operator address (see operator comment above)\",\"_verifier\":\"the address of SNARK verifier for this contract\"}},\"deposit(bytes32)\":{\"details\":\"Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\",\"params\":{\"_commitment\":\"the note commitment, which is PedersenHash(nullifier + secret)\"}},\"getLastRoot()\":{\"details\":\"Returns the last root\"},\"hashLeftRight(bytes32,bytes32)\":{\"details\":\"Hash 2 tree leaves, returns MiMC(_left, _right)\"},\"isKnownRoot(bytes32)\":{\"details\":\"Whether the root is present in the root history\"},\"isSpent(bytes32)\":{\"details\":\"whether a note is already spent \"},\"isSpentArray(bytes32[])\":{\"details\":\"whether an array of notes is already spent \"},\"updateVerifier(address)\":{\"details\":\"allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held. After that operator rights are supposed to be transferred to zero address\"},\"withdraw(bytes,bytes32,bytes32,address,address,uint256,uint256)\":{\"details\":\"Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs `input` array consists of: - merkle root of all deposits in the contract - hash of unique deposit nullifier to prevent double spends - the recipient of funds - optional fee that goes to the transaction sender (usually a relay)\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/Tornado.sol\":\"Tornado\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol\":{\"keccak256\":\"0x671cc9268dd70c47d18795f7e37fc4df11763fcbcca026edcf163f4239036254\",\"urls\":[\"bzz-raw://9c36a207ed164b60a514eae89bfb15e5b4de4b346c4a89a7a1cb50a940bc699d\",\"dweb:/ipfs/QmbPEqFJAGMpYduLEFsbPazyBsYWcjRtpth8X26wCHALwk\"]},\"/home/home/dotfiles/tornado-core/contracts/Tornado.sol\":{\"keccak256\":\"0xe7db8acb3efcecf95c7364f447ed1764c571dbf5090fd4641fe4668a965332eb\",\"urls\":[\"bzz-raw://45e790c247c38ed8ae473e3165c1148ea10a753cf6e9f9c8742394019be2aef6\",\"dweb:/ipfs/QmaGfk1ndvqur2NvCY3TWoKuorfBVShXeykKei18GDY582\"]},\"@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xb63221b23818d622bfd83d18e0968307e4fcb7a35536bdceded76e1cf8349acd\",\"urls\":[\"bzz-raw://44e1e8c22362c4708a8c3362735f1465f5b05e2f7315e16c7010d694ce019d73\",\"dweb:/ipfs/QmWj9g8X1hxkXRre2kwkEjLBetjuzmSbWHD81bsSojnBkS\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", "source": "pragma solidity 0.5.17;\n\nimport \"./MerkleTreeWithHistory.sol\";\nimport \"@openzeppelin/contracts/utils/ReentrancyGuard.sol\";\n\ncontract IVerifier {\n function verifyProof(bytes memory _proof, uint256[6] memory _input) public returns(bool);\n}\n\ncontract IFeeManager {\n function feeTo() external view returns (address);\n}\n\ncontract Tornado is MerkleTreeWithHistory, ReentrancyGuard {\n uint256 public denomination;\n mapping(bytes32 => bool) public nullifierHashes;\n // we store all commitments just to prevent accidental deposits with the same commitment\n mapping(bytes32 => bool) public commitments;\n IVerifier public verifier;\n IFeeManager public feeManager;\n\n // operator can update snark verification key\n // after the final trusted setup ceremony operator rights are supposed to be transferred to zero address\n address public operator;\n modifier onlyOperator {\n require(msg.sender == operator, \"Only operator can call this function.\");\n _;\n }\n\n event Deposit(bytes32 indexed commitment, uint32 leafIndex, uint256 timestamp);\n event Withdrawal(address to, bytes32 nullifierHash, address indexed relayer, uint256 fee);\n\n /**\n @dev The constructor\n @param _verifier the address of SNARK verifier for this contract\n @param _denomination transfer amount for each deposit\n @param _merkleTreeHeight the height of deposits' Merkle Tree\n @param _operator operator address (see operator comment above)\n */\n constructor(\n IVerifier _verifier,\n IFeeManager _feeManager,\n uint256 _denomination,\n uint32 _merkleTreeHeight,\n address _operator\n ) MerkleTreeWithHistory(_merkleTreeHeight) public {\n require(_denomination > 0, \"denomination should be greater than 0\");\n verifier = _verifier;\n feeManager = _feeManager;\n operator = _operator;\n denomination = _denomination;\n }\n\n /**\n @dev Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\n @param _commitment the note commitment, which is PedersenHash(nullifier + secret)\n */\n function deposit(bytes32 _commitment) external payable nonReentrant {\n require(!commitments[_commitment], \"The commitment has been submitted\");\n\n uint32 insertedIndex = _insert(_commitment);\n commitments[_commitment] = true;\n _processDeposit();\n\n emit Deposit(_commitment, insertedIndex, block.timestamp);\n }\n\n /** @dev this function is defined in a child contract */\n function _processDeposit() internal;\n\n /**\n @dev Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs\n `input` array consists of:\n - merkle root of all deposits in the contract\n - hash of unique deposit nullifier to prevent double spends\n - the recipient of funds\n - optional fee that goes to the transaction sender (usually a relay)\n */\n function withdraw(bytes calldata _proof, bytes32 _root, bytes32 _nullifierHash, address payable _recipient, address payable _relayer, uint256 _fee, uint256 _refund) external payable nonReentrant {\n require(_fee <= denomination, \"Fee exceeds transfer value\");\n require(!nullifierHashes[_nullifierHash], \"The note has been already spent\");\n require(isKnownRoot(_root), \"Cannot find your merkle root\"); // Make sure to use a recent one\n require(verifier.verifyProof(_proof, [uint256(_root), uint256(_nullifierHash), uint256(_recipient), uint256(_relayer), _fee, _refund]), \"Invalid withdraw proof\");\n\n nullifierHashes[_nullifierHash] = true;\n _processWithdraw(_recipient, _relayer, _fee, _refund, feeManager.feeTo());\n emit Withdrawal(_recipient, _nullifierHash, _relayer, _fee);\n }\n\n /** @dev this function is defined in a child contract */\n function _processWithdraw(address payable _recipient, address payable _relayer, uint256 _relayer_fee, uint256 _refund, address _feeTo) internal;\n\n /** @dev whether a note is already spent */\n function isSpent(bytes32 _nullifierHash) public view returns(bool) {\n return nullifierHashes[_nullifierHash];\n }\n\n /** @dev whether an array of notes is already spent */\n function isSpentArray(bytes32[] calldata _nullifierHashes) external view returns(bool[] memory spent) {\n spent = new bool[](_nullifierHashes.length);\n for(uint i = 0; i < _nullifierHashes.length; i++) {\n if (isSpent(_nullifierHashes[i])) {\n spent[i] = true;\n }\n }\n }\n\n /**\n @dev allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held.\n After that operator rights are supposed to be transferred to zero address\n */\n function updateVerifier(address _newVerifier) external onlyOperator {\n verifier = IVerifier(_newVerifier);\n }\n\n /** @dev operator can change his address */\n function changeOperator(address _newOperator) external onlyOperator {\n operator = _newOperator;\n }\n}\n", - "sourcePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "exportedSymbols": { "IFeeManager": [ - 707 + 888 ], "IVerifier": [ - 701 + 882 ], "Tornado": [ - 1023 + 1204 ] }, - "id": 1024, + "id": 1205, "nodeType": "SourceUnit", "nodes": [ { - "id": 687, + "id": 868, "literals": [ "solidity", "0.5", ".17" ], "nodeType": "PragmaDirective", - "src": "0:23:3" + "src": "0:23:8" }, { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", "file": "./MerkleTreeWithHistory.sol", - "id": 688, + "id": 869, "nodeType": "ImportDirective", - "scope": 1024, + "scope": 1205, "sourceUnit": 686, - "src": "25:37:3", + "src": "25:37:8", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/utils/ReentrancyGuard.sol", "file": "@openzeppelin/contracts/utils/ReentrancyGuard.sol", - "id": 689, + "id": 870, "nodeType": "ImportDirective", - "scope": 1024, - "sourceUnit": 1054, - "src": "63:59:3", + "scope": 1205, + "sourceUnit": 3256, + "src": "63:59:8", "symbolAliases": [], "unitAlias": "" }, @@ -600,9 +600,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 701, + "id": 882, "linearizedBaseContracts": [ - 701 + 882 ], "name": "IVerifier", "nodeType": "ContractDefinition", @@ -610,23 +610,23 @@ { "body": null, "documentation": null, - "id": 700, + "id": 881, "implemented": false, "kind": "function", "modifiers": [], "name": "verifyProof", "nodeType": "FunctionDefinition", "parameters": { - "id": 696, + "id": 877, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 691, + "id": 872, "name": "_proof", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "168:19:3", + "scope": 881, + "src": "168:19:8", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -634,10 +634,10 @@ "typeString": "bytes" }, "typeName": { - "id": 690, + "id": 871, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "168:5:3", + "src": "168:5:8", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -648,11 +648,11 @@ }, { "constant": false, - "id": 695, + "id": 876, "name": "_input", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "189:24:3", + "scope": 881, + "src": "189:24:8", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -661,27 +661,27 @@ }, "typeName": { "baseType": { - "id": 692, + "id": 873, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "189:7:3", + "src": "189:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 694, + "id": 875, "length": { "argumentTypes": null, "hexValue": "36", - "id": 693, + "id": 874, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "197:1:3", + "src": "197:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -690,7 +690,7 @@ "value": "6" }, "nodeType": "ArrayTypeName", - "src": "189:10:3", + "src": "189:10:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", "typeString": "uint256[6]" @@ -700,19 +700,19 @@ "visibility": "internal" } ], - "src": "167:47:3" + "src": "167:47:8" }, "returnParameters": { - "id": 699, + "id": 880, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 698, + "id": 879, "name": "", "nodeType": "VariableDeclaration", - "scope": 700, - "src": "230:4:3", + "scope": 881, + "src": "230:4:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -720,10 +720,10 @@ "typeString": "bool" }, "typeName": { - "id": 697, + "id": 878, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "230:4:3", + "src": "230:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -733,17 +733,17 @@ "visibility": "internal" } ], - "src": "229:6:3" + "src": "229:6:8" }, - "scope": 701, - "src": "147:89:3", + "scope": 882, + "src": "147:89:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], - "scope": 1024, - "src": "124:114:3" + "scope": 1205, + "src": "124:114:8" }, { "baseContracts": [], @@ -751,9 +751,9 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 707, + "id": 888, "linearizedBaseContracts": [ - 707 + 888 ], "name": "IFeeManager", "nodeType": "ContractDefinition", @@ -761,29 +761,29 @@ { "body": null, "documentation": null, - "id": 706, + "id": 887, "implemented": false, "kind": "function", "modifiers": [], "name": "feeTo", "nodeType": "FunctionDefinition", "parameters": { - "id": 702, + "id": 883, "nodeType": "ParameterList", "parameters": [], - "src": "279:2:3" + "src": "279:2:8" }, "returnParameters": { - "id": 705, + "id": 886, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 704, + "id": 885, "name": "", "nodeType": "VariableDeclaration", - "scope": 706, - "src": "305:7:3", + "scope": 887, + "src": "305:7:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -791,10 +791,10 @@ "typeString": "address" }, "typeName": { - "id": 703, + "id": 884, "name": "address", "nodeType": "ElementaryTypeName", - "src": "305:7:3", + "src": "305:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -805,17 +805,17 @@ "visibility": "internal" } ], - "src": "304:9:3" + "src": "304:9:8" }, - "scope": 707, - "src": "265:49:3", + "scope": 888, + "src": "265:49:8", "stateMutability": "view", "superFunction": null, "visibility": "external" } ], - "scope": 1024, - "src": "240:76:3" + "scope": 1205, + "src": "240:76:8" }, { "baseContracts": [ @@ -823,50 +823,50 @@ "arguments": null, "baseName": { "contractScope": null, - "id": 708, + "id": 889, "name": "MerkleTreeWithHistory", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 685, - "src": "338:21:3", + "src": "338:21:8", "typeDescriptions": { "typeIdentifier": "t_contract$_MerkleTreeWithHistory_$685", "typeString": "contract MerkleTreeWithHistory" } }, - "id": 709, + "id": 890, "nodeType": "InheritanceSpecifier", - "src": "338:21:3" + "src": "338:21:8" }, { "arguments": null, "baseName": { "contractScope": null, - "id": 710, + "id": 891, "name": "ReentrancyGuard", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1053, - "src": "361:15:3", + "referencedDeclaration": 3255, + "src": "361:15:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_ReentrancyGuard_$1053", + "typeIdentifier": "t_contract$_ReentrancyGuard_$3255", "typeString": "contract ReentrancyGuard" } }, - "id": 711, + "id": 892, "nodeType": "InheritanceSpecifier", - "src": "361:15:3" + "src": "361:15:8" } ], "contractDependencies": [ 685, - 1053 + 3255 ], "contractKind": "contract", "documentation": null, "fullyImplemented": false, - "id": 1023, + "id": 1204, "linearizedBaseContracts": [ - 1023, - 1053, + 1204, + 3255, 685 ], "name": "Tornado", @@ -874,11 +874,11 @@ "nodes": [ { "constant": false, - "id": 713, + "id": 894, "name": "denomination", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "381:27:3", + "scope": 1204, + "src": "381:27:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -886,10 +886,10 @@ "typeString": "uint256" }, "typeName": { - "id": 712, + "id": 893, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "381:7:3", + "src": "381:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -900,11 +900,11 @@ }, { "constant": false, - "id": 717, + "id": 898, "name": "nullifierHashes", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "412:47:3", + "scope": 1204, + "src": "412:47:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -912,28 +912,28 @@ "typeString": "mapping(bytes32 => bool)" }, "typeName": { - "id": 716, + "id": 897, "keyType": { - "id": 714, + "id": 895, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "420:7:3", + "src": "420:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "412:24:3", + "src": "412:24:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" }, "valueType": { - "id": 715, + "id": 896, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "431:4:3", + "src": "431:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -945,11 +945,11 @@ }, { "constant": false, - "id": 721, + "id": 902, "name": "commitments", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "554:43:3", + "scope": 1204, + "src": "554:43:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -957,28 +957,28 @@ "typeString": "mapping(bytes32 => bool)" }, "typeName": { - "id": 720, + "id": 901, "keyType": { - "id": 718, + "id": 899, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "562:7:3", + "src": "562:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "554:24:3", + "src": "554:24:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" }, "valueType": { - "id": 719, + "id": 900, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "573:4:3", + "src": "573:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -990,26 +990,26 @@ }, { "constant": false, - "id": 723, + "id": 904, "name": "verifier", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "601:25:3", + "scope": 1204, + "src": "601:25:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" }, "typeName": { "contractScope": null, - "id": 722, + "id": 903, "name": "IVerifier", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 701, - "src": "601:9:3", + "referencedDeclaration": 882, + "src": "601:9:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -1018,26 +1018,26 @@ }, { "constant": false, - "id": 725, + "id": 906, "name": "feeManager", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "630:29:3", + "scope": 1204, + "src": "630:29:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" }, "typeName": { "contractScope": null, - "id": 724, + "id": 905, "name": "IFeeManager", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 707, - "src": "630:11:3", + "referencedDeclaration": 888, + "src": "630:11:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -1046,11 +1046,11 @@ }, { "constant": false, - "id": 727, + "id": 908, "name": "operator", "nodeType": "VariableDeclaration", - "scope": 1023, - "src": "819:23:3", + "scope": 1204, + "src": "819:23:8", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -1058,10 +1058,10 @@ "typeString": "address" }, "typeName": { - "id": 726, + "id": 907, "name": "address", "nodeType": "ElementaryTypeName", - "src": "819:7:3", + "src": "819:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1073,9 +1073,9 @@ }, { "body": { - "id": 738, + "id": 919, "nodeType": "Block", - "src": "868:90:3", + "src": "868:90:8", "statements": [ { "expression": { @@ -1087,7 +1087,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 733, + "id": 914, "isConstant": false, "isLValue": false, "isPure": false, @@ -1096,18 +1096,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 730, + "id": 911, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1068, - "src": "882:3:3", + "referencedDeclaration": 3270, + "src": "882:3:8", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 731, + "id": 912, "isConstant": false, "isLValue": false, "isPure": false, @@ -1115,7 +1115,7 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "882:10:3", + "src": "882:10:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -1125,18 +1125,18 @@ "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 732, + "id": 913, "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "896:8:3", + "referencedDeclaration": 908, + "src": "896:8:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "882:22:3", + "src": "882:22:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1145,14 +1145,14 @@ { "argumentTypes": null, "hexValue": "4f6e6c79206f70657261746f722063616e2063616c6c20746869732066756e6374696f6e2e", - "id": 734, + "id": 915, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "906:39:3", + "src": "906:39:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e8393660073679be7a6133571fe2ca8983a31a683c72e9055f401ac33a2efffc", @@ -1172,21 +1172,21 @@ "typeString": "literal_string \"Only operator can call this function.\"" } ], - "id": 729, + "id": 910, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "874:7:3", + "referencedDeclaration": 3274, + "src": "874:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 735, + "id": 916, "isConstant": false, "isLValue": false, "isPure": false, @@ -1194,54 +1194,54 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "874:72:3", + "src": "874:72:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 736, + "id": 917, "nodeType": "ExpressionStatement", - "src": "874:72:3" + "src": "874:72:8" }, { - "id": 737, + "id": 918, "nodeType": "PlaceholderStatement", - "src": "952:1:3" + "src": "952:1:8" } ] }, "documentation": null, - "id": 739, + "id": 920, "name": "onlyOperator", "nodeType": "ModifierDefinition", "parameters": { - "id": 728, + "id": 909, "nodeType": "ParameterList", "parameters": [], - "src": "868:0:3" + "src": "868:0:8" }, - "src": "846:112:3", + "src": "846:112:8", "visibility": "internal" }, { "anonymous": false, "documentation": null, - "id": 747, + "id": 928, "name": "Deposit", "nodeType": "EventDefinition", "parameters": { - "id": 746, + "id": 927, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 741, + "id": 922, "indexed": true, "name": "commitment", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "976:26:3", + "scope": 928, + "src": "976:26:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1249,10 +1249,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 740, + "id": 921, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "976:7:3", + "src": "976:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1263,12 +1263,12 @@ }, { "constant": false, - "id": 743, + "id": 924, "indexed": false, "name": "leafIndex", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "1004:16:3", + "scope": 928, + "src": "1004:16:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1276,10 +1276,10 @@ "typeString": "uint32" }, "typeName": { - "id": 742, + "id": 923, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1004:6:3", + "src": "1004:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1290,12 +1290,12 @@ }, { "constant": false, - "id": 745, + "id": 926, "indexed": false, "name": "timestamp", "nodeType": "VariableDeclaration", - "scope": 747, - "src": "1022:17:3", + "scope": 928, + "src": "1022:17:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1303,10 +1303,10 @@ "typeString": "uint256" }, "typeName": { - "id": 744, + "id": 925, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1022:7:3", + "src": "1022:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1316,28 +1316,28 @@ "visibility": "internal" } ], - "src": "975:65:3" + "src": "975:65:8" }, - "src": "962:79:3" + "src": "962:79:8" }, { "anonymous": false, "documentation": null, - "id": 757, + "id": 938, "name": "Withdrawal", "nodeType": "EventDefinition", "parameters": { - "id": 756, + "id": 937, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 749, + "id": 930, "indexed": false, "name": "to", "nodeType": "VariableDeclaration", - "scope": 757, - "src": "1061:10:3", + "scope": 938, + "src": "1061:10:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1345,10 +1345,10 @@ "typeString": "address" }, "typeName": { - "id": 748, + "id": 929, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1061:7:3", + "src": "1061:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1360,12 +1360,12 @@ }, { "constant": false, - "id": 751, + "id": 932, "indexed": false, "name": "nullifierHash", "nodeType": "VariableDeclaration", - "scope": 757, - "src": "1073:21:3", + "scope": 938, + "src": "1073:21:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1373,10 +1373,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 750, + "id": 931, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1073:7:3", + "src": "1073:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1387,12 +1387,12 @@ }, { "constant": false, - "id": 753, + "id": 934, "indexed": true, "name": "relayer", "nodeType": "VariableDeclaration", - "scope": 757, - "src": "1096:23:3", + "scope": 938, + "src": "1096:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1400,10 +1400,10 @@ "typeString": "address" }, "typeName": { - "id": 752, + "id": 933, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1096:7:3", + "src": "1096:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1415,12 +1415,12 @@ }, { "constant": false, - "id": 755, + "id": 936, "indexed": false, "name": "fee", "nodeType": "VariableDeclaration", - "scope": 757, - "src": "1121:11:3", + "scope": 938, + "src": "1121:11:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1428,10 +1428,10 @@ "typeString": "uint256" }, "typeName": { - "id": 754, + "id": 935, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1121:7:3", + "src": "1121:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1441,15 +1441,15 @@ "visibility": "internal" } ], - "src": "1060:73:3" + "src": "1060:73:8" }, - "src": "1044:90:3" + "src": "1044:90:8" }, { "body": { - "id": 796, + "id": 977, "nodeType": "Block", - "src": "1631:194:3", + "src": "1631:194:8", "statements": [ { "expression": { @@ -1461,19 +1461,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 776, + "id": 957, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 774, + "id": 955, "name": "_denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 763, - "src": "1645:13:3", + "referencedDeclaration": 944, + "src": "1645:13:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1484,14 +1484,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 775, + "id": 956, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1661:1:3", + "src": "1661:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1499,7 +1499,7 @@ }, "value": "0" }, - "src": "1645:17:3", + "src": "1645:17:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1508,14 +1508,14 @@ { "argumentTypes": null, "hexValue": "64656e6f6d696e6174696f6e2073686f756c642062652067726561746572207468616e2030", - "id": 777, + "id": 958, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1664:39:3", + "src": "1664:39:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_04818fb803bf7e7ff6c9059d97eae335b77b108931ead0a529924d35ccaf3fc8", @@ -1535,21 +1535,21 @@ "typeString": "literal_string \"denomination should be greater than 0\"" } ], - "id": 773, + "id": 954, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "1637:7:3", + "referencedDeclaration": 3274, + "src": "1637:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 778, + "id": 959, "isConstant": false, "isLValue": false, "isPure": false, @@ -1557,34 +1557,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1637:67:3", + "src": "1637:67:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 779, + "id": 960, "nodeType": "ExpressionStatement", - "src": "1637:67:3" + "src": "1637:67:8" }, { "expression": { "argumentTypes": null, - "id": 782, + "id": 963, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 780, + "id": 961, "name": "verifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "1710:8:3", + "referencedDeclaration": 904, + "src": "1710:8:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -1592,45 +1592,45 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 781, + "id": 962, "name": "_verifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 759, - "src": "1721:9:3", + "referencedDeclaration": 940, + "src": "1721:9:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, - "src": "1710:20:3", + "src": "1710:20:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, - "id": 783, + "id": 964, "nodeType": "ExpressionStatement", - "src": "1710:20:3" + "src": "1710:20:8" }, { "expression": { "argumentTypes": null, - "id": 786, + "id": 967, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 784, + "id": 965, "name": "feeManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "1736:10:3", + "referencedDeclaration": 906, + "src": "1736:10:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -1638,43 +1638,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 785, + "id": 966, "name": "_feeManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 761, - "src": "1749:11:3", + "referencedDeclaration": 942, + "src": "1749:11:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, - "src": "1736:24:3", + "src": "1736:24:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, - "id": 787, + "id": 968, "nodeType": "ExpressionStatement", - "src": "1736:24:3" + "src": "1736:24:8" }, { "expression": { "argumentTypes": null, - "id": 790, + "id": 971, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 788, + "id": 969, "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "1766:8:3", + "referencedDeclaration": 908, + "src": "1766:8:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1684,43 +1684,43 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 789, + "id": 970, "name": "_operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 767, - "src": "1777:9:3", + "referencedDeclaration": 948, + "src": "1777:9:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1766:20:3", + "src": "1766:20:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 791, + "id": 972, "nodeType": "ExpressionStatement", - "src": "1766:20:3" + "src": "1766:20:8" }, { "expression": { "argumentTypes": null, - "id": 794, + "id": 975, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 792, + "id": 973, "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "1792:12:3", + "referencedDeclaration": 894, + "src": "1792:12:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1730,31 +1730,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 793, + "id": 974, "name": "_denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 763, - "src": "1807:13:3", + "referencedDeclaration": 944, + "src": "1807:13:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1792:28:3", + "src": "1792:28:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 795, + "id": 976, "nodeType": "ExpressionStatement", - "src": "1792:28:3" + "src": "1792:28:8" } ] }, "documentation": "@dev The constructor\n@param _verifier the address of SNARK verifier for this contract\n@param _denomination transfer amount for each deposit\n@param _merkleTreeHeight the height of deposits' Merkle Tree\n@param _operator operator address (see operator comment above)", - "id": 797, + "id": 978, "implemented": true, "kind": "constructor", "modifiers": [ @@ -1762,64 +1762,64 @@ "arguments": [ { "argumentTypes": null, - "id": 770, + "id": 951, "name": "_merkleTreeHeight", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 765, - "src": "1605:17:3", + "referencedDeclaration": 946, + "src": "1605:17:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } } ], - "id": 771, + "id": 952, "modifierName": { "argumentTypes": null, - "id": 769, + "id": 950, "name": "MerkleTreeWithHistory", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 685, - "src": "1583:21:3", + "src": "1583:21:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_MerkleTreeWithHistory_$685_$", "typeString": "type(contract MerkleTreeWithHistory)" } }, "nodeType": "ModifierInvocation", - "src": "1583:40:3" + "src": "1583:40:8" } ], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 768, + "id": 949, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 759, + "id": 940, "name": "_verifier", "nodeType": "VariableDeclaration", - "scope": 797, - "src": "1450:19:3", + "scope": 978, + "src": "1450:19:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" }, "typeName": { "contractScope": null, - "id": 758, + "id": 939, "name": "IVerifier", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 701, - "src": "1450:9:3", + "referencedDeclaration": 882, + "src": "1450:9:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -1828,26 +1828,26 @@ }, { "constant": false, - "id": 761, + "id": 942, "name": "_feeManager", "nodeType": "VariableDeclaration", - "scope": 797, - "src": "1475:23:3", + "scope": 978, + "src": "1475:23:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" }, "typeName": { "contractScope": null, - "id": 760, + "id": 941, "name": "IFeeManager", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 707, - "src": "1475:11:3", + "referencedDeclaration": 888, + "src": "1475:11:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, @@ -1856,11 +1856,11 @@ }, { "constant": false, - "id": 763, + "id": 944, "name": "_denomination", "nodeType": "VariableDeclaration", - "scope": 797, - "src": "1504:21:3", + "scope": 978, + "src": "1504:21:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1868,10 +1868,10 @@ "typeString": "uint256" }, "typeName": { - "id": 762, + "id": 943, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1504:7:3", + "src": "1504:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1882,11 +1882,11 @@ }, { "constant": false, - "id": 765, + "id": 946, "name": "_merkleTreeHeight", "nodeType": "VariableDeclaration", - "scope": 797, - "src": "1531:24:3", + "scope": 978, + "src": "1531:24:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1894,10 +1894,10 @@ "typeString": "uint32" }, "typeName": { - "id": 764, + "id": 945, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "1531:6:3", + "src": "1531:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -1908,11 +1908,11 @@ }, { "constant": false, - "id": 767, + "id": 948, "name": "_operator", "nodeType": "VariableDeclaration", - "scope": 797, - "src": "1561:17:3", + "scope": 978, + "src": "1561:17:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1920,10 +1920,10 @@ "typeString": "address" }, "typeName": { - "id": 766, + "id": 947, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1561:7:3", + "src": "1561:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1934,25 +1934,25 @@ "visibility": "internal" } ], - "src": "1444:138:3" + "src": "1444:138:8" }, "returnParameters": { - "id": 772, + "id": 953, "nodeType": "ParameterList", "parameters": [], - "src": "1631:0:3" + "src": "1631:0:8" }, - "scope": 1023, - "src": "1433:392:3", + "scope": 1204, + "src": "1433:392:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 834, + "id": 1015, "nodeType": "Block", - "src": "2141:256:3", + "src": "2141:256:8", "statements": [ { "expression": { @@ -1960,7 +1960,7 @@ "arguments": [ { "argumentTypes": null, - "id": 808, + "id": 989, "isConstant": false, "isLValue": false, "isPure": false, @@ -1968,31 +1968,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "2155:25:3", + "src": "2155:25:8", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 805, + "id": 986, "name": "commitments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "2156:11:3", + "referencedDeclaration": 902, + "src": "2156:11:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 807, + "id": 988, "indexExpression": { "argumentTypes": null, - "id": 806, + "id": 987, "name": "_commitment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 799, - "src": "2168:11:3", + "referencedDeclaration": 980, + "src": "2168:11:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2003,7 +2003,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2156:24:3", + "src": "2156:24:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2017,14 +2017,14 @@ { "argumentTypes": null, "hexValue": "54686520636f6d6d69746d656e7420686173206265656e207375626d6974746564", - "id": 809, + "id": 990, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2182:35:3", + "src": "2182:35:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_ae5f231636554c1cb3bf839359e4dfbb338ccb221c7c5dbdf2da91ddc6e2ee6b", @@ -2044,21 +2044,21 @@ "typeString": "literal_string \"The commitment has been submitted\"" } ], - "id": 804, + "id": 985, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "2147:7:3", + "referencedDeclaration": 3274, + "src": "2147:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 810, + "id": 991, "isConstant": false, "isLValue": false, "isPure": false, @@ -2066,28 +2066,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2147:71:3", + "src": "2147:71:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 811, + "id": 992, "nodeType": "ExpressionStatement", - "src": "2147:71:3" + "src": "2147:71:8" }, { "assignments": [ - 813 + 994 ], "declarations": [ { "constant": false, - "id": 813, + "id": 994, "name": "insertedIndex", "nodeType": "VariableDeclaration", - "scope": 834, - "src": "2225:20:3", + "scope": 1015, + "src": "2225:20:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2095,10 +2095,10 @@ "typeString": "uint32" }, "typeName": { - "id": 812, + "id": 993, "name": "uint32", "nodeType": "ElementaryTypeName", - "src": "2225:6:3", + "src": "2225:6:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -2108,18 +2108,18 @@ "visibility": "internal" } ], - "id": 817, + "id": 998, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 815, + "id": 996, "name": "_commitment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 799, - "src": "2256:11:3", + "referencedDeclaration": 980, + "src": "2256:11:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2133,18 +2133,18 @@ "typeString": "bytes32" } ], - "id": 814, + "id": 995, "name": "_insert", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 627, - "src": "2248:7:3", + "src": "2248:7:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_uint32_$", "typeString": "function (bytes32) returns (uint32)" } }, - "id": 816, + "id": 997, "isConstant": false, "isLValue": false, "isPure": false, @@ -2152,19 +2152,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2248:20:3", + "src": "2248:20:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" } }, "nodeType": "VariableDeclarationStatement", - "src": "2225:43:3" + "src": "2225:43:8" }, { "expression": { "argumentTypes": null, - "id": 822, + "id": 1003, "isConstant": false, "isLValue": false, "isPure": false, @@ -2173,26 +2173,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 818, + "id": 999, "name": "commitments", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "2274:11:3", + "referencedDeclaration": 902, + "src": "2274:11:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 820, + "id": 1001, "indexExpression": { "argumentTypes": null, - "id": 819, + "id": 1000, "name": "_commitment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 799, - "src": "2286:11:3", + "referencedDeclaration": 980, + "src": "2286:11:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2203,7 +2203,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2274:24:3", + "src": "2274:24:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2214,14 +2214,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 821, + "id": 1002, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "2301:4:3", + "src": "2301:4:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2229,15 +2229,15 @@ }, "value": "true" }, - "src": "2274:31:3", + "src": "2274:31:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 823, + "id": 1004, "nodeType": "ExpressionStatement", - "src": "2274:31:3" + "src": "2274:31:8" }, { "expression": { @@ -2245,18 +2245,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 824, + "id": 1005, "name": "_processDeposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "2311:15:3", + "referencedDeclaration": 1019, + "src": "2311:15:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 825, + "id": 1006, "isConstant": false, "isLValue": false, "isPure": false, @@ -2264,15 +2264,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2311:17:3", + "src": "2311:17:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 826, + "id": 1007, "nodeType": "ExpressionStatement", - "src": "2311:17:3" + "src": "2311:17:8" }, { "eventCall": { @@ -2280,12 +2280,12 @@ "arguments": [ { "argumentTypes": null, - "id": 828, + "id": 1009, "name": "_commitment", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 799, - "src": "2348:11:3", + "referencedDeclaration": 980, + "src": "2348:11:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2293,12 +2293,12 @@ }, { "argumentTypes": null, - "id": 829, + "id": 1010, "name": "insertedIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 813, - "src": "2361:13:3", + "referencedDeclaration": 994, + "src": "2361:13:8", "typeDescriptions": { "typeIdentifier": "t_uint32", "typeString": "uint32" @@ -2308,18 +2308,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 830, + "id": 1011, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1058, - "src": "2376:5:3", + "referencedDeclaration": 3260, + "src": "2376:5:8", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 831, + "id": 1012, "isConstant": false, "isLValue": false, "isPure": false, @@ -2327,7 +2327,7 @@ "memberName": "timestamp", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "2376:15:3", + "src": "2376:15:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2349,18 +2349,18 @@ "typeString": "uint256" } ], - "id": 827, + "id": 1008, "name": "Deposit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 747, - "src": "2340:7:3", + "referencedDeclaration": 928, + "src": "2340:7:8", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint32_$_t_uint256_$returns$__$", "typeString": "function (bytes32,uint32,uint256)" } }, - "id": 832, + "id": 1013, "isConstant": false, "isLValue": false, "isPure": false, @@ -2368,56 +2368,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2340:52:3", + "src": "2340:52:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 833, + "id": 1014, "nodeType": "EmitStatement", - "src": "2335:57:3" + "src": "2335:57:8" } ] }, "documentation": "@dev Deposit funds into the contract. The caller must send (for ETH) or approve (for ERC20) value equal to or `denomination` of this instance.\n@param _commitment the note commitment, which is PedersenHash(nullifier + secret)", - "id": 835, + "id": 1016, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 802, + "id": 983, "modifierName": { "argumentTypes": null, - "id": 801, + "id": 982, "name": "nonReentrant", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "2128:12:3", + "referencedDeclaration": 3254, + "src": "2128:12:8", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2128:12:3" + "src": "2128:12:8" } ], "name": "deposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 800, + "id": 981, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 799, + "id": 980, "name": "_commitment", "nodeType": "VariableDeclaration", - "scope": 835, - "src": "2090:19:3", + "scope": 1016, + "src": "2090:19:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2425,10 +2425,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 798, + "id": 979, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2090:7:3", + "src": "2090:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2438,16 +2438,16 @@ "visibility": "internal" } ], - "src": "2089:21:3" + "src": "2089:21:8" }, "returnParameters": { - "id": 803, + "id": 984, "nodeType": "ParameterList", "parameters": [], - "src": "2141:0:3" + "src": "2141:0:8" }, - "scope": 1023, - "src": "2073:324:3", + "scope": 1204, + "src": "2073:324:8", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -2455,35 +2455,35 @@ { "body": null, "documentation": "@dev this function is defined in a child contract ", - "id": 838, + "id": 1019, "implemented": false, "kind": "function", "modifiers": [], "name": "_processDeposit", "nodeType": "FunctionDefinition", "parameters": { - "id": 836, + "id": 1017, "nodeType": "ParameterList", "parameters": [], - "src": "2484:2:3" + "src": "2484:2:8" }, "returnParameters": { - "id": 837, + "id": 1018, "nodeType": "ParameterList", "parameters": [], - "src": "2495:0:3" + "src": "2495:0:8" }, - "scope": 1023, - "src": "2460:36:3", + "scope": 1204, + "src": "2460:36:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 925, + "id": 1106, "nodeType": "Block", - "src": "3088:606:3", + "src": "3088:606:8", "statements": [ { "expression": { @@ -2495,19 +2495,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 860, + "id": 1041, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 858, + "id": 1039, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 850, - "src": "3102:4:3", + "referencedDeclaration": 1031, + "src": "3102:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2517,18 +2517,18 @@ "operator": "<=", "rightExpression": { "argumentTypes": null, - "id": 859, + "id": 1040, "name": "denomination", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 713, - "src": "3110:12:3", + "referencedDeclaration": 894, + "src": "3110:12:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3102:20:3", + "src": "3102:20:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2537,14 +2537,14 @@ { "argumentTypes": null, "hexValue": "4665652065786365656473207472616e736665722076616c7565", - "id": 861, + "id": 1042, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3124:28:3", + "src": "3124:28:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2ce218df547d416f80ea8a5deadaf9453d23523ffa5f2e880a48adfdb4053a9c", @@ -2564,21 +2564,21 @@ "typeString": "literal_string \"Fee exceeds transfer value\"" } ], - "id": 857, + "id": 1038, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "3094:7:3", + "referencedDeclaration": 3274, + "src": "3094:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 862, + "id": 1043, "isConstant": false, "isLValue": false, "isPure": false, @@ -2586,15 +2586,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3094:59:3", + "src": "3094:59:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 863, + "id": 1044, "nodeType": "ExpressionStatement", - "src": "3094:59:3" + "src": "3094:59:8" }, { "expression": { @@ -2602,7 +2602,7 @@ "arguments": [ { "argumentTypes": null, - "id": 868, + "id": 1049, "isConstant": false, "isLValue": false, "isPure": false, @@ -2610,31 +2610,31 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "3167:32:3", + "src": "3167:32:8", "subExpression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 865, + "id": 1046, "name": "nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 717, - "src": "3168:15:3", + "referencedDeclaration": 898, + "src": "3168:15:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 867, + "id": 1048, "indexExpression": { "argumentTypes": null, - "id": 866, + "id": 1047, "name": "_nullifierHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "3184:14:3", + "referencedDeclaration": 1025, + "src": "3184:14:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2645,7 +2645,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3168:31:3", + "src": "3168:31:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2659,14 +2659,14 @@ { "argumentTypes": null, "hexValue": "546865206e6f746520686173206265656e20616c7265616479207370656e74", - "id": 869, + "id": 1050, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3201:33:3", + "src": "3201:33:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_a1bef92d7a18b1c6975dc8de68df6140a52afea05a2c6c91da2b1562c617e896", @@ -2686,21 +2686,21 @@ "typeString": "literal_string \"The note has been already spent\"" } ], - "id": 864, + "id": 1045, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "3159:7:3", + "referencedDeclaration": 3274, + "src": "3159:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 870, + "id": 1051, "isConstant": false, "isLValue": false, "isPure": false, @@ -2708,15 +2708,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3159:76:3", + "src": "3159:76:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 871, + "id": 1052, "nodeType": "ExpressionStatement", - "src": "3159:76:3" + "src": "3159:76:8" }, { "expression": { @@ -2727,12 +2727,12 @@ "arguments": [ { "argumentTypes": null, - "id": 874, + "id": 1055, "name": "_root", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 842, - "src": "3261:5:3", + "referencedDeclaration": 1023, + "src": "3261:5:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2746,18 +2746,18 @@ "typeString": "bytes32" } ], - "id": 873, + "id": 1054, "name": "isKnownRoot", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 674, - "src": "3249:11:3", + "src": "3249:11:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32) view returns (bool)" } }, - "id": 875, + "id": 1056, "isConstant": false, "isLValue": false, "isPure": false, @@ -2765,7 +2765,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3249:18:3", + "src": "3249:18:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2774,14 +2774,14 @@ { "argumentTypes": null, "hexValue": "43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f74", - "id": 876, + "id": 1057, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3269:30:3", + "src": "3269:30:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_2a69086763073955418d2fd7dfee3d2f1fbc5b21047a216b7855d3f313d8e204", @@ -2801,21 +2801,21 @@ "typeString": "literal_string \"Cannot find your merkle root\"" } ], - "id": 872, + "id": 1053, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "3241:7:3", + "referencedDeclaration": 3274, + "src": "3241:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 877, + "id": 1058, "isConstant": false, "isLValue": false, "isPure": false, @@ -2823,15 +2823,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3241:59:3", + "src": "3241:59:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 878, + "id": 1059, "nodeType": "ExpressionStatement", - "src": "3241:59:3" + "src": "3241:59:8" }, { "expression": { @@ -2842,12 +2842,12 @@ "arguments": [ { "argumentTypes": null, - "id": 882, + "id": 1063, "name": "_proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 840, - "src": "3368:6:3", + "referencedDeclaration": 1021, + "src": "3368:6:8", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -2861,12 +2861,12 @@ "arguments": [ { "argumentTypes": null, - "id": 884, + "id": 1065, "name": "_root", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 842, - "src": "3385:5:3", + "referencedDeclaration": 1023, + "src": "3385:5:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2880,20 +2880,20 @@ "typeString": "bytes32" } ], - "id": 883, + "id": 1064, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3377:7:3", + "src": "3377:7:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 885, + "id": 1066, "isConstant": false, "isLValue": false, "isPure": false, @@ -2901,7 +2901,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3377:14:3", + "src": "3377:14:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2912,12 +2912,12 @@ "arguments": [ { "argumentTypes": null, - "id": 887, + "id": 1068, "name": "_nullifierHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "3401:14:3", + "referencedDeclaration": 1025, + "src": "3401:14:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -2931,20 +2931,20 @@ "typeString": "bytes32" } ], - "id": 886, + "id": 1067, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3393:7:3", + "src": "3393:7:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 888, + "id": 1069, "isConstant": false, "isLValue": false, "isPure": false, @@ -2952,7 +2952,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3393:23:3", + "src": "3393:23:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2963,12 +2963,12 @@ "arguments": [ { "argumentTypes": null, - "id": 890, + "id": 1071, "name": "_recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 846, - "src": "3426:10:3", + "referencedDeclaration": 1027, + "src": "3426:10:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -2982,20 +2982,20 @@ "typeString": "address payable" } ], - "id": 889, + "id": 1070, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3418:7:3", + "src": "3418:7:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 891, + "id": 1072, "isConstant": false, "isLValue": false, "isPure": false, @@ -3003,7 +3003,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3418:19:3", + "src": "3418:19:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3014,12 +3014,12 @@ "arguments": [ { "argumentTypes": null, - "id": 893, + "id": 1074, "name": "_relayer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 848, - "src": "3447:8:3", + "referencedDeclaration": 1029, + "src": "3447:8:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -3033,20 +3033,20 @@ "typeString": "address payable" } ], - "id": 892, + "id": 1073, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3439:7:3", + "src": "3439:7:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint256" }, - "id": 894, + "id": 1075, "isConstant": false, "isLValue": false, "isPure": false, @@ -3054,7 +3054,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3439:17:3", + "src": "3439:17:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3062,12 +3062,12 @@ }, { "argumentTypes": null, - "id": 895, + "id": 1076, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 850, - "src": "3458:4:3", + "referencedDeclaration": 1031, + "src": "3458:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3075,26 +3075,26 @@ }, { "argumentTypes": null, - "id": 896, + "id": 1077, "name": "_refund", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 852, - "src": "3464:7:3", + "referencedDeclaration": 1033, + "src": "3464:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 897, + "id": 1078, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "3376:96:3", + "src": "3376:96:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" @@ -3114,32 +3114,32 @@ ], "expression": { "argumentTypes": null, - "id": 880, + "id": 1061, "name": "verifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "3347:8:3", + "referencedDeclaration": 904, + "src": "3347:8:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, - "id": 881, + "id": 1062, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "verifyProof", "nodeType": "MemberAccess", - "referencedDeclaration": 700, - "src": "3347:20:3", + "referencedDeclaration": 881, + "src": "3347:20:8", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_array$_t_uint256_$6_memory_ptr_$returns$_t_bool_$", "typeString": "function (bytes memory,uint256[6] memory) external returns (bool)" } }, - "id": 898, + "id": 1079, "isConstant": false, "isLValue": false, "isPure": false, @@ -3147,7 +3147,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3347:126:3", + "src": "3347:126:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3156,14 +3156,14 @@ { "argumentTypes": null, "hexValue": "496e76616c69642077697468647261772070726f6f66", - "id": 899, + "id": 1080, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3475:24:3", + "src": "3475:24:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_7021ea58137dba96e572e94936410b0b0e4cbc344e1ab2ee7f47660768b81ff4", @@ -3183,21 +3183,21 @@ "typeString": "literal_string \"Invalid withdraw proof\"" } ], - "id": 879, + "id": 1060, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, - "src": "3339:7:3", + "referencedDeclaration": 3274, + "src": "3339:7:8", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 900, + "id": 1081, "isConstant": false, "isLValue": false, "isPure": false, @@ -3205,20 +3205,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3339:161:3", + "src": "3339:161:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 901, + "id": 1082, "nodeType": "ExpressionStatement", - "src": "3339:161:3" + "src": "3339:161:8" }, { "expression": { "argumentTypes": null, - "id": 906, + "id": 1087, "isConstant": false, "isLValue": false, "isPure": false, @@ -3227,26 +3227,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 902, + "id": 1083, "name": "nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 717, - "src": "3507:15:3", + "referencedDeclaration": 898, + "src": "3507:15:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 904, + "id": 1085, "indexExpression": { "argumentTypes": null, - "id": 903, + "id": 1084, "name": "_nullifierHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "3523:14:3", + "referencedDeclaration": 1025, + "src": "3523:14:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3257,7 +3257,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3507:31:3", + "src": "3507:31:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3268,14 +3268,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 905, + "id": 1086, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3541:4:3", + "src": "3541:4:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -3283,15 +3283,15 @@ }, "value": "true" }, - "src": "3507:38:3", + "src": "3507:38:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 907, + "id": 1088, "nodeType": "ExpressionStatement", - "src": "3507:38:3" + "src": "3507:38:8" }, { "expression": { @@ -3299,12 +3299,12 @@ "arguments": [ { "argumentTypes": null, - "id": 909, + "id": 1090, "name": "_recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 846, - "src": "3568:10:3", + "referencedDeclaration": 1027, + "src": "3568:10:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -3312,12 +3312,12 @@ }, { "argumentTypes": null, - "id": 910, + "id": 1091, "name": "_relayer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 848, - "src": "3580:8:3", + "referencedDeclaration": 1029, + "src": "3580:8:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -3325,12 +3325,12 @@ }, { "argumentTypes": null, - "id": 911, + "id": 1092, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 850, - "src": "3590:4:3", + "referencedDeclaration": 1031, + "src": "3590:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3338,12 +3338,12 @@ }, { "argumentTypes": null, - "id": 912, + "id": 1093, "name": "_refund", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 852, - "src": "3596:7:3", + "referencedDeclaration": 1033, + "src": "3596:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3356,32 +3356,32 @@ "argumentTypes": [], "expression": { "argumentTypes": null, - "id": 913, + "id": 1094, "name": "feeManager", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 725, - "src": "3605:10:3", + "referencedDeclaration": 906, + "src": "3605:10:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IFeeManager_$707", + "typeIdentifier": "t_contract$_IFeeManager_$888", "typeString": "contract IFeeManager" } }, - "id": 914, + "id": 1095, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "feeTo", "nodeType": "MemberAccess", - "referencedDeclaration": 706, - "src": "3605:16:3", + "referencedDeclaration": 887, + "src": "3605:16:8", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 915, + "id": 1096, "isConstant": false, "isLValue": false, "isPure": false, @@ -3389,7 +3389,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3605:18:3", + "src": "3605:18:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3419,18 +3419,18 @@ "typeString": "address" } ], - "id": 908, + "id": 1089, "name": "_processWithdraw", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "3551:16:3", + "referencedDeclaration": 1120, + "src": "3551:16:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_payable_$_t_address_payable_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", "typeString": "function (address payable,address payable,uint256,uint256,address)" } }, - "id": 916, + "id": 1097, "isConstant": false, "isLValue": false, "isPure": false, @@ -3438,15 +3438,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3551:73:3", + "src": "3551:73:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 917, + "id": 1098, "nodeType": "ExpressionStatement", - "src": "3551:73:3" + "src": "3551:73:8" }, { "eventCall": { @@ -3454,12 +3454,12 @@ "arguments": [ { "argumentTypes": null, - "id": 919, + "id": 1100, "name": "_recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 846, - "src": "3646:10:3", + "referencedDeclaration": 1027, + "src": "3646:10:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -3467,12 +3467,12 @@ }, { "argumentTypes": null, - "id": 920, + "id": 1101, "name": "_nullifierHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "3658:14:3", + "referencedDeclaration": 1025, + "src": "3658:14:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3480,12 +3480,12 @@ }, { "argumentTypes": null, - "id": 921, + "id": 1102, "name": "_relayer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 848, - "src": "3674:8:3", + "referencedDeclaration": 1029, + "src": "3674:8:8", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" @@ -3493,12 +3493,12 @@ }, { "argumentTypes": null, - "id": 922, + "id": 1103, "name": "_fee", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 850, - "src": "3684:4:3", + "referencedDeclaration": 1031, + "src": "3684:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3524,18 +3524,18 @@ "typeString": "uint256" } ], - "id": 918, + "id": 1099, "name": "Withdrawal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 757, - "src": "3635:10:3", + "referencedDeclaration": 938, + "src": "3635:10:8", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,bytes32,address,uint256)" } }, - "id": 923, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": false, @@ -3543,56 +3543,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3635:54:3", + "src": "3635:54:8", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 924, + "id": 1105, "nodeType": "EmitStatement", - "src": "3630:59:3" + "src": "3630:59:8" } ] }, "documentation": "@dev Withdraw a deposit from the contract. `proof` is a zkSNARK proof data, and input is an array of circuit public inputs\n`input` array consists of:\n- merkle root of all deposits in the contract\n- hash of unique deposit nullifier to prevent double spends\n- the recipient of funds\n- optional fee that goes to the transaction sender (usually a relay)", - "id": 926, + "id": 1107, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 855, + "id": 1036, "modifierName": { "argumentTypes": null, - "id": 854, + "id": 1035, "name": "nonReentrant", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1052, - "src": "3075:12:3", + "referencedDeclaration": 3254, + "src": "3075:12:8", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3075:12:3" + "src": "3075:12:8" } ], "name": "withdraw", "nodeType": "FunctionDefinition", "parameters": { - "id": 853, + "id": 1034, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 840, + "id": 1021, "name": "_proof", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "2911:21:3", + "scope": 1107, + "src": "2911:21:8", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3600,10 +3600,10 @@ "typeString": "bytes" }, "typeName": { - "id": 839, + "id": 1020, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2911:5:3", + "src": "2911:5:8", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -3614,11 +3614,11 @@ }, { "constant": false, - "id": 842, + "id": 1023, "name": "_root", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "2934:13:3", + "scope": 1107, + "src": "2934:13:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3626,10 +3626,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 841, + "id": 1022, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2934:7:3", + "src": "2934:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3640,11 +3640,11 @@ }, { "constant": false, - "id": 844, + "id": 1025, "name": "_nullifierHash", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "2949:22:3", + "scope": 1107, + "src": "2949:22:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3652,10 +3652,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 843, + "id": 1024, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2949:7:3", + "src": "2949:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3666,11 +3666,11 @@ }, { "constant": false, - "id": 846, + "id": 1027, "name": "_recipient", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "2973:26:3", + "scope": 1107, + "src": "2973:26:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3678,10 +3678,10 @@ "typeString": "address payable" }, "typeName": { - "id": 845, + "id": 1026, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2973:15:3", + "src": "2973:15:8", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3693,11 +3693,11 @@ }, { "constant": false, - "id": 848, + "id": 1029, "name": "_relayer", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "3001:24:3", + "scope": 1107, + "src": "3001:24:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3705,10 +3705,10 @@ "typeString": "address payable" }, "typeName": { - "id": 847, + "id": 1028, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3001:15:3", + "src": "3001:15:8", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3720,11 +3720,11 @@ }, { "constant": false, - "id": 850, + "id": 1031, "name": "_fee", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "3027:12:3", + "scope": 1107, + "src": "3027:12:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3732,10 +3732,10 @@ "typeString": "uint256" }, "typeName": { - "id": 849, + "id": 1030, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3027:7:3", + "src": "3027:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3746,11 +3746,11 @@ }, { "constant": false, - "id": 852, + "id": 1033, "name": "_refund", "nodeType": "VariableDeclaration", - "scope": 926, - "src": "3041:15:3", + "scope": 1107, + "src": "3041:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3758,10 +3758,10 @@ "typeString": "uint256" }, "typeName": { - "id": 851, + "id": 1032, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3041:7:3", + "src": "3041:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3771,16 +3771,16 @@ "visibility": "internal" } ], - "src": "2910:147:3" + "src": "2910:147:8" }, "returnParameters": { - "id": 856, + "id": 1037, "nodeType": "ParameterList", "parameters": [], - "src": "3088:0:3" + "src": "3088:0:8" }, - "scope": 1023, - "src": "2893:801:3", + "scope": 1204, + "src": "2893:801:8", "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -3788,23 +3788,23 @@ { "body": null, "documentation": "@dev this function is defined in a child contract ", - "id": 939, + "id": 1120, "implemented": false, "kind": "function", "modifiers": [], "name": "_processWithdraw", "nodeType": "FunctionDefinition", "parameters": { - "id": 937, + "id": 1118, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 928, + "id": 1109, "name": "_recipient", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "3783:26:3", + "scope": 1120, + "src": "3783:26:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3812,10 +3812,10 @@ "typeString": "address payable" }, "typeName": { - "id": 927, + "id": 1108, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3783:15:3", + "src": "3783:15:8", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3827,11 +3827,11 @@ }, { "constant": false, - "id": 930, + "id": 1111, "name": "_relayer", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "3811:24:3", + "scope": 1120, + "src": "3811:24:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3839,10 +3839,10 @@ "typeString": "address payable" }, "typeName": { - "id": 929, + "id": 1110, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3811:15:3", + "src": "3811:15:8", "stateMutability": "payable", "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3854,11 +3854,11 @@ }, { "constant": false, - "id": 932, + "id": 1113, "name": "_relayer_fee", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "3837:20:3", + "scope": 1120, + "src": "3837:20:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3866,10 +3866,10 @@ "typeString": "uint256" }, "typeName": { - "id": 931, + "id": 1112, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3837:7:3", + "src": "3837:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3880,11 +3880,11 @@ }, { "constant": false, - "id": 934, + "id": 1115, "name": "_refund", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "3859:15:3", + "scope": 1120, + "src": "3859:15:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3892,10 +3892,10 @@ "typeString": "uint256" }, "typeName": { - "id": 933, + "id": 1114, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3859:7:3", + "src": "3859:7:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3906,11 +3906,11 @@ }, { "constant": false, - "id": 936, + "id": 1117, "name": "_feeTo", "nodeType": "VariableDeclaration", - "scope": 939, - "src": "3876:14:3", + "scope": 1120, + "src": "3876:14:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3918,10 +3918,10 @@ "typeString": "address" }, "typeName": { - "id": 935, + "id": 1116, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3876:7:3", + "src": "3876:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3932,51 +3932,51 @@ "visibility": "internal" } ], - "src": "3782:109:3" + "src": "3782:109:8" }, "returnParameters": { - "id": 938, + "id": 1119, "nodeType": "ParameterList", "parameters": [], - "src": "3900:0:3" + "src": "3900:0:8" }, - "scope": 1023, - "src": "3757:144:3", + "scope": 1204, + "src": "3757:144:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 950, + "id": 1131, "nodeType": "Block", - "src": "4018:49:3", + "src": "4018:49:8", "statements": [ { "expression": { "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 946, + "id": 1127, "name": "nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 717, - "src": "4031:15:3", + "referencedDeclaration": 898, + "src": "4031:15:8", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", "typeString": "mapping(bytes32 => bool)" } }, - "id": 948, + "id": 1129, "indexExpression": { "argumentTypes": null, - "id": 947, + "id": 1128, "name": "_nullifierHash", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 941, - "src": "4047:14:3", + "referencedDeclaration": 1122, + "src": "4047:14:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3987,37 +3987,37 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4031:31:3", + "src": "4031:31:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 945, - "id": 949, + "functionReturnParameters": 1126, + "id": 1130, "nodeType": "Return", - "src": "4024:38:3" + "src": "4024:38:8" } ] }, "documentation": "@dev whether a note is already spent ", - "id": 951, + "id": 1132, "implemented": true, "kind": "function", "modifiers": [], "name": "isSpent", "nodeType": "FunctionDefinition", "parameters": { - "id": 942, + "id": 1123, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 941, + "id": 1122, "name": "_nullifierHash", "nodeType": "VariableDeclaration", - "scope": 951, - "src": "3968:22:3", + "scope": 1132, + "src": "3968:22:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4025,10 +4025,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 940, + "id": 1121, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3968:7:3", + "src": "3968:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4038,19 +4038,19 @@ "visibility": "internal" } ], - "src": "3967:24:3" + "src": "3967:24:8" }, "returnParameters": { - "id": 945, + "id": 1126, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 944, + "id": 1125, "name": "", "nodeType": "VariableDeclaration", - "scope": 951, - "src": "4012:4:3", + "scope": 1132, + "src": "4012:4:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4058,10 +4058,10 @@ "typeString": "bool" }, "typeName": { - "id": 943, + "id": 1124, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4012:4:3", + "src": "4012:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4071,36 +4071,36 @@ "visibility": "internal" } ], - "src": "4011:6:3" + "src": "4011:6:8" }, - "scope": 1023, - "src": "3951:116:3", + "scope": 1204, + "src": "3951:116:8", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 995, + "id": 1176, "nodeType": "Block", - "src": "4230:191:3", + "src": "4230:191:8", "statements": [ { "expression": { "argumentTypes": null, - "id": 967, + "id": 1148, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 960, + "id": 1141, "name": "spent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "4236:5:3", + "referencedDeclaration": 1139, + "src": "4236:5:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", "typeString": "bool[] memory" @@ -4115,18 +4115,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 964, + "id": 1145, "name": "_nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 954, - "src": "4255:16:3", + "referencedDeclaration": 1135, + "src": "4255:16:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" } }, - "id": 965, + "id": 1146, "isConstant": false, "isLValue": false, "isPure": false, @@ -4134,7 +4134,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4255:23:3", + "src": "4255:23:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4148,39 +4148,39 @@ "typeString": "uint256" } ], - "id": 963, + "id": 1144, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "4244:10:3", + "src": "4244:10:8", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bool_$dyn_memory_$", "typeString": "function (uint256) pure returns (bool[] memory)" }, "typeName": { "baseType": { - "id": 961, + "id": 1142, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4248:4:3", + "src": "4248:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 962, + "id": 1143, "length": null, "nodeType": "ArrayTypeName", - "src": "4248:6:3", + "src": "4248:6:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", "typeString": "bool[]" } } }, - "id": 966, + "id": 1147, "isConstant": false, "isLValue": false, "isPure": false, @@ -4188,27 +4188,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4244:35:3", + "src": "4244:35:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_memory", "typeString": "bool[] memory" } }, - "src": "4236:43:3", + "src": "4236:43:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", "typeString": "bool[] memory" } }, - "id": 968, + "id": 1149, "nodeType": "ExpressionStatement", - "src": "4236:43:3" + "src": "4236:43:8" }, { "body": { - "id": 993, + "id": 1174, "nodeType": "Block", - "src": "4335:82:3", + "src": "4335:82:8", "statements": [ { "condition": { @@ -4218,26 +4218,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 981, + "id": 1162, "name": "_nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 954, - "src": "4355:16:3", + "referencedDeclaration": 1135, + "src": "4355:16:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" } }, - "id": 983, + "id": 1164, "indexExpression": { "argumentTypes": null, - "id": 982, + "id": 1163, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4372:1:3", + "referencedDeclaration": 1151, + "src": "4372:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4248,7 +4248,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4355:19:3", + "src": "4355:19:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4262,18 +4262,18 @@ "typeString": "bytes32" } ], - "id": 980, + "id": 1161, "name": "isSpent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 951, - "src": "4347:7:3", + "referencedDeclaration": 1132, + "src": "4347:7:8", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", "typeString": "function (bytes32) view returns (bool)" } }, - "id": 984, + "id": 1165, "isConstant": false, "isLValue": false, "isPure": false, @@ -4281,25 +4281,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4347:28:3", + "src": "4347:28:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 992, + "id": 1173, "nodeType": "IfStatement", - "src": "4343:68:3", + "src": "4343:68:8", "trueBody": { - "id": 991, + "id": 1172, "nodeType": "Block", - "src": "4377:34:3", + "src": "4377:34:8", "statements": [ { "expression": { "argumentTypes": null, - "id": 989, + "id": 1170, "isConstant": false, "isLValue": false, "isPure": false, @@ -4308,26 +4308,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 985, + "id": 1166, "name": "spent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "4387:5:3", + "referencedDeclaration": 1139, + "src": "4387:5:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", "typeString": "bool[] memory" } }, - "id": 987, + "id": 1168, "indexExpression": { "argumentTypes": null, - "id": 986, + "id": 1167, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4393:1:3", + "referencedDeclaration": 1151, + "src": "4393:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4338,7 +4338,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4387:8:3", + "src": "4387:8:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4349,14 +4349,14 @@ "rightHandSide": { "argumentTypes": null, "hexValue": "74727565", - "id": 988, + "id": 1169, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4398:4:3", + "src": "4398:4:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -4364,15 +4364,15 @@ }, "value": "true" }, - "src": "4387:15:3", + "src": "4387:15:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 990, + "id": 1171, "nodeType": "ExpressionStatement", - "src": "4387:15:3" + "src": "4387:15:8" } ] } @@ -4385,19 +4385,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 976, + "id": 1157, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 973, + "id": 1154, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4301:1:3", + "referencedDeclaration": 1151, + "src": "4301:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4409,18 +4409,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 974, + "id": 1155, "name": "_nullifierHashes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 954, - "src": "4305:16:3", + "referencedDeclaration": 1135, + "src": "4305:16:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", "typeString": "bytes32[] calldata" } }, - "id": 975, + "id": 1156, "isConstant": false, "isLValue": false, "isPure": false, @@ -4428,31 +4428,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4305:23:3", + "src": "4305:23:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4301:27:3", + "src": "4301:27:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 994, + "id": 1175, "initializationExpression": { "assignments": [ - 970 + 1151 ], "declarations": [ { "constant": false, - "id": 970, + "id": 1151, "name": "i", "nodeType": "VariableDeclaration", - "scope": 994, - "src": "4289:6:3", + "scope": 1175, + "src": "4289:6:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4460,10 +4460,10 @@ "typeString": "uint256" }, "typeName": { - "id": 969, + "id": 1150, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4289:4:3", + "src": "4289:4:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4473,18 +4473,18 @@ "visibility": "internal" } ], - "id": 972, + "id": 1153, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 971, + "id": 1152, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4298:1:3", + "src": "4298:1:8", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4493,12 +4493,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "4289:10:3" + "src": "4289:10:8" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 978, + "id": 1159, "isConstant": false, "isLValue": false, "isPure": false, @@ -4506,15 +4506,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4330:3:3", + "src": "4330:3:8", "subExpression": { "argumentTypes": null, - "id": 977, + "id": 1158, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4330:1:3", + "referencedDeclaration": 1151, + "src": "4330:1:8", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4525,33 +4525,33 @@ "typeString": "uint256" } }, - "id": 979, + "id": 1160, "nodeType": "ExpressionStatement", - "src": "4330:3:3" + "src": "4330:3:8" }, "nodeType": "ForStatement", - "src": "4285:132:3" + "src": "4285:132:8" } ] }, "documentation": "@dev whether an array of notes is already spent ", - "id": 996, + "id": 1177, "implemented": true, "kind": "function", "modifiers": [], "name": "isSpentArray", "nodeType": "FunctionDefinition", "parameters": { - "id": 955, + "id": 1136, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 954, + "id": 1135, "name": "_nullifierHashes", "nodeType": "VariableDeclaration", - "scope": 996, - "src": "4150:35:3", + "scope": 1177, + "src": "4150:35:8", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -4560,19 +4560,19 @@ }, "typeName": { "baseType": { - "id": 952, + "id": 1133, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4150:7:3", + "src": "4150:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 953, + "id": 1134, "length": null, "nodeType": "ArrayTypeName", - "src": "4150:9:3", + "src": "4150:9:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", "typeString": "bytes32[]" @@ -4582,19 +4582,19 @@ "visibility": "internal" } ], - "src": "4149:37:3" + "src": "4149:37:8" }, "returnParameters": { - "id": 959, + "id": 1140, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 958, + "id": 1139, "name": "spent", "nodeType": "VariableDeclaration", - "scope": 996, - "src": "4209:19:3", + "scope": 1177, + "src": "4209:19:8", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4603,19 +4603,19 @@ }, "typeName": { "baseType": { - "id": 956, + "id": 1137, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4209:4:3", + "src": "4209:4:8", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 957, + "id": 1138, "length": null, "nodeType": "ArrayTypeName", - "src": "4209:6:3", + "src": "4209:6:8", "typeDescriptions": { "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", "typeString": "bool[]" @@ -4625,38 +4625,38 @@ "visibility": "internal" } ], - "src": "4208:21:3" + "src": "4208:21:8" }, - "scope": 1023, - "src": "4128:293:3", + "scope": 1204, + "src": "4128:293:8", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": { - "id": 1009, + "id": 1190, "nodeType": "Block", - "src": "4719:45:3", + "src": "4719:45:8", "statements": [ { "expression": { "argumentTypes": null, - "id": 1007, + "id": 1188, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1003, + "id": 1184, "name": "verifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "4725:8:3", + "referencedDeclaration": 904, + "src": "4725:8:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, @@ -4667,12 +4667,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1005, + "id": 1186, "name": "_newVerifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 998, - "src": "4746:12:3", + "referencedDeclaration": 1179, + "src": "4746:12:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4686,18 +4686,18 @@ "typeString": "address" } ], - "id": 1004, + "id": 1185, "name": "IVerifier", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 701, - "src": "4736:9:3", + "referencedDeclaration": 882, + "src": "4736:9:8", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IVerifier_$701_$", + "typeIdentifier": "t_type$_t_contract$_IVerifier_$882_$", "typeString": "type(contract IVerifier)" } }, - "id": 1006, + "id": 1187, "isConstant": false, "isLValue": false, "isPure": false, @@ -4705,62 +4705,62 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4736:23:3", + "src": "4736:23:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, - "src": "4725:34:3", + "src": "4725:34:8", "typeDescriptions": { - "typeIdentifier": "t_contract$_IVerifier_$701", + "typeIdentifier": "t_contract$_IVerifier_$882", "typeString": "contract IVerifier" } }, - "id": 1008, + "id": 1189, "nodeType": "ExpressionStatement", - "src": "4725:34:3" + "src": "4725:34:8" } ] }, "documentation": "@dev allow operator to update SNARK verification keys. This is needed to update keys after the final trusted setup ceremony is held.\nAfter that operator rights are supposed to be transferred to zero address", - "id": 1010, + "id": 1191, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1001, + "id": 1182, "modifierName": { "argumentTypes": null, - "id": 1000, + "id": 1181, "name": "onlyOperator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "4706:12:3", + "referencedDeclaration": 920, + "src": "4706:12:8", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4706:12:3" + "src": "4706:12:8" } ], "name": "updateVerifier", "nodeType": "FunctionDefinition", "parameters": { - "id": 999, + "id": 1180, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 998, + "id": 1179, "name": "_newVerifier", "nodeType": "VariableDeclaration", - "scope": 1010, - "src": "4675:20:3", + "scope": 1191, + "src": "4675:20:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4768,10 +4768,10 @@ "typeString": "address" }, "typeName": { - "id": 997, + "id": 1178, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4675:7:3", + "src": "4675:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4782,42 +4782,42 @@ "visibility": "internal" } ], - "src": "4674:22:3" + "src": "4674:22:8" }, "returnParameters": { - "id": 1002, + "id": 1183, "nodeType": "ParameterList", "parameters": [], - "src": "4719:0:3" + "src": "4719:0:8" }, - "scope": 1023, - "src": "4651:113:3", + "scope": 1204, + "src": "4651:113:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": { - "id": 1021, + "id": 1202, "nodeType": "Block", - "src": "4882:34:3", + "src": "4882:34:8", "statements": [ { "expression": { "argumentTypes": null, - "id": 1019, + "id": 1200, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1017, + "id": 1198, "name": "operator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "4888:8:3", + "referencedDeclaration": 908, + "src": "4888:8:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4827,67 +4827,67 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1018, + "id": 1199, "name": "_newOperator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1012, - "src": "4899:12:3", + "referencedDeclaration": 1193, + "src": "4899:12:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "4888:23:3", + "src": "4888:23:8", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1020, + "id": 1201, "nodeType": "ExpressionStatement", - "src": "4888:23:3" + "src": "4888:23:8" } ] }, "documentation": "@dev operator can change his address ", - "id": 1022, + "id": 1203, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, - "id": 1015, + "id": 1196, "modifierName": { "argumentTypes": null, - "id": 1014, + "id": 1195, "name": "onlyOperator", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 739, - "src": "4869:12:3", + "referencedDeclaration": 920, + "src": "4869:12:8", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "4869:12:3" + "src": "4869:12:8" } ], "name": "changeOperator", "nodeType": "FunctionDefinition", "parameters": { - "id": 1013, + "id": 1194, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1012, + "id": 1193, "name": "_newOperator", "nodeType": "VariableDeclaration", - "scope": 1022, - "src": "4838:20:3", + "scope": 1203, + "src": "4838:20:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4895,10 +4895,10 @@ "typeString": "address" }, "typeName": { - "id": 1011, + "id": 1192, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4838:7:3", + "src": "4838:7:8", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4909,39 +4909,39 @@ "visibility": "internal" } ], - "src": "4837:22:3" + "src": "4837:22:8" }, "returnParameters": { - "id": 1016, + "id": 1197, "nodeType": "ParameterList", "parameters": [], - "src": "4882:0:3" + "src": "4882:0:8" }, - "scope": 1023, - "src": "4814:102:3", + "scope": 1204, + "src": "4814:102:8", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" } ], - "scope": 1024, - "src": "318:4600:3" + "scope": 1205, + "src": "318:4600:8" } ], - "src": "0:4919:3" + "src": "0:4919:8" }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Tornado.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Tornado.sol", "exportedSymbols": { "IFeeManager": [ - 707 + 888 ], "IVerifier": [ - 701 + 882 ], "Tornado": [ - 1023 + 1204 ] } }, @@ -4954,39 +4954,39 @@ ".17" ] }, - "id": 687, + "id": 868, "name": "PragmaDirective", - "src": "0:23:3" + "src": "0:23:8" }, { "attributes": { "SourceUnit": 686, - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/MerkleTreeWithHistory.sol", "file": "./MerkleTreeWithHistory.sol", - "scope": 1024, + "scope": 1205, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 688, + "id": 869, "name": "ImportDirective", - "src": "25:37:3" + "src": "25:37:8" }, { "attributes": { - "SourceUnit": 1054, + "SourceUnit": 3256, "absolutePath": "@openzeppelin/contracts/utils/ReentrancyGuard.sol", "file": "@openzeppelin/contracts/utils/ReentrancyGuard.sol", - "scope": 1024, + "scope": 1205, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 689, + "id": 870, "name": "ImportDirective", - "src": "63:59:3" + "src": "63:59:8" }, { "attributes": { @@ -5000,10 +5000,10 @@ "documentation": null, "fullyImplemented": false, "linearizedBaseContracts": [ - 701 + 882 ], "name": "IVerifier", - "scope": 1024 + "scope": 1205 }, "children": [ { @@ -5017,7 +5017,7 @@ null ], "name": "verifyProof", - "scope": 701, + "scope": 882, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -5029,7 +5029,7 @@ "attributes": { "constant": false, "name": "_proof", - "scope": 700, + "scope": 881, "stateVariable": false, "storageLocation": "memory", "type": "bytes", @@ -5042,20 +5042,20 @@ "name": "bytes", "type": "bytes" }, - "id": 690, + "id": 871, "name": "ElementaryTypeName", - "src": "168:5:3" + "src": "168:5:8" } ], - "id": 691, + "id": 872, "name": "VariableDeclaration", - "src": "168:19:3" + "src": "168:19:8" }, { "attributes": { "constant": false, "name": "_input", - "scope": 700, + "scope": 881, "stateVariable": false, "storageLocation": "memory", "type": "uint256[6]", @@ -5073,9 +5073,9 @@ "name": "uint256", "type": "uint256" }, - "id": 692, + "id": 873, "name": "ElementaryTypeName", - "src": "189:7:3" + "src": "189:7:8" }, { "attributes": { @@ -5090,24 +5090,24 @@ "type": "int_const 6", "value": "6" }, - "id": 693, + "id": 874, "name": "Literal", - "src": "197:1:3" + "src": "197:1:8" } ], - "id": 694, + "id": 875, "name": "ArrayTypeName", - "src": "189:10:3" + "src": "189:10:8" } ], - "id": 695, + "id": 876, "name": "VariableDeclaration", - "src": "189:24:3" + "src": "189:24:8" } ], - "id": 696, + "id": 877, "name": "ParameterList", - "src": "167:47:3" + "src": "167:47:8" }, { "children": [ @@ -5115,7 +5115,7 @@ "attributes": { "constant": false, "name": "", - "scope": 700, + "scope": 881, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -5128,29 +5128,29 @@ "name": "bool", "type": "bool" }, - "id": 697, + "id": 878, "name": "ElementaryTypeName", - "src": "230:4:3" + "src": "230:4:8" } ], - "id": 698, + "id": 879, "name": "VariableDeclaration", - "src": "230:4:3" + "src": "230:4:8" } ], - "id": 699, + "id": 880, "name": "ParameterList", - "src": "229:6:3" + "src": "229:6:8" } ], - "id": 700, + "id": 881, "name": "FunctionDefinition", - "src": "147:89:3" + "src": "147:89:8" } ], - "id": 701, + "id": 882, "name": "ContractDefinition", - "src": "124:114:3" + "src": "124:114:8" }, { "attributes": { @@ -5164,10 +5164,10 @@ "documentation": null, "fullyImplemented": false, "linearizedBaseContracts": [ - 707 + 888 ], "name": "IFeeManager", - "scope": 1024 + "scope": 1205 }, "children": [ { @@ -5181,7 +5181,7 @@ null ], "name": "feeTo", - "scope": 707, + "scope": 888, "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -5194,9 +5194,9 @@ ] }, "children": [], - "id": 702, + "id": 883, "name": "ParameterList", - "src": "279:2:3" + "src": "279:2:8" }, { "children": [ @@ -5204,7 +5204,7 @@ "attributes": { "constant": false, "name": "", - "scope": 706, + "scope": 887, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -5218,46 +5218,46 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 703, + "id": 884, "name": "ElementaryTypeName", - "src": "305:7:3" + "src": "305:7:8" } ], - "id": 704, + "id": 885, "name": "VariableDeclaration", - "src": "305:7:3" + "src": "305:7:8" } ], - "id": 705, + "id": 886, "name": "ParameterList", - "src": "304:9:3" + "src": "304:9:8" } ], - "id": 706, + "id": 887, "name": "FunctionDefinition", - "src": "265:49:3" + "src": "265:49:8" } ], - "id": 707, + "id": 888, "name": "ContractDefinition", - "src": "240:76:3" + "src": "240:76:8" }, { "attributes": { "contractDependencies": [ 685, - 1053 + 3255 ], "contractKind": "contract", "documentation": null, "fullyImplemented": false, "linearizedBaseContracts": [ - 1023, - 1053, + 1204, + 3255, 685 ], "name": "Tornado", - "scope": 1024 + "scope": 1205 }, "children": [ { @@ -5272,14 +5272,14 @@ "referencedDeclaration": 685, "type": "contract MerkleTreeWithHistory" }, - "id": 708, + "id": 889, "name": "UserDefinedTypeName", - "src": "338:21:3" + "src": "338:21:8" } ], - "id": 709, + "id": 890, "name": "InheritanceSpecifier", - "src": "338:21:3" + "src": "338:21:8" }, { "attributes": { @@ -5290,23 +5290,23 @@ "attributes": { "contractScope": null, "name": "ReentrancyGuard", - "referencedDeclaration": 1053, + "referencedDeclaration": 3255, "type": "contract ReentrancyGuard" }, - "id": 710, + "id": 891, "name": "UserDefinedTypeName", - "src": "361:15:3" + "src": "361:15:8" } ], - "id": 711, + "id": 892, "name": "InheritanceSpecifier", - "src": "361:15:3" + "src": "361:15:8" }, { "attributes": { "constant": false, "name": "denomination", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "uint256", @@ -5319,20 +5319,20 @@ "name": "uint256", "type": "uint256" }, - "id": 712, + "id": 893, "name": "ElementaryTypeName", - "src": "381:7:3" + "src": "381:7:8" } ], - "id": 713, + "id": 894, "name": "VariableDeclaration", - "src": "381:27:3" + "src": "381:27:8" }, { "attributes": { "constant": false, "name": "nullifierHashes", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "mapping(bytes32 => bool)", @@ -5350,34 +5350,34 @@ "name": "bytes32", "type": "bytes32" }, - "id": 714, + "id": 895, "name": "ElementaryTypeName", - "src": "420:7:3" + "src": "420:7:8" }, { "attributes": { "name": "bool", "type": "bool" }, - "id": 715, + "id": 896, "name": "ElementaryTypeName", - "src": "431:4:3" + "src": "431:4:8" } ], - "id": 716, + "id": 897, "name": "Mapping", - "src": "412:24:3" + "src": "412:24:8" } ], - "id": 717, + "id": 898, "name": "VariableDeclaration", - "src": "412:47:3" + "src": "412:47:8" }, { "attributes": { "constant": false, "name": "commitments", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "mapping(bytes32 => bool)", @@ -5395,34 +5395,34 @@ "name": "bytes32", "type": "bytes32" }, - "id": 718, + "id": 899, "name": "ElementaryTypeName", - "src": "562:7:3" + "src": "562:7:8" }, { "attributes": { "name": "bool", "type": "bool" }, - "id": 719, + "id": 900, "name": "ElementaryTypeName", - "src": "573:4:3" + "src": "573:4:8" } ], - "id": 720, + "id": 901, "name": "Mapping", - "src": "554:24:3" + "src": "554:24:8" } ], - "id": 721, + "id": 902, "name": "VariableDeclaration", - "src": "554:43:3" + "src": "554:43:8" }, { "attributes": { "constant": false, "name": "verifier", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "contract IVerifier", @@ -5434,23 +5434,23 @@ "attributes": { "contractScope": null, "name": "IVerifier", - "referencedDeclaration": 701, + "referencedDeclaration": 882, "type": "contract IVerifier" }, - "id": 722, + "id": 903, "name": "UserDefinedTypeName", - "src": "601:9:3" + "src": "601:9:8" } ], - "id": 723, + "id": 904, "name": "VariableDeclaration", - "src": "601:25:3" + "src": "601:25:8" }, { "attributes": { "constant": false, "name": "feeManager", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "contract IFeeManager", @@ -5462,23 +5462,23 @@ "attributes": { "contractScope": null, "name": "IFeeManager", - "referencedDeclaration": 707, + "referencedDeclaration": 888, "type": "contract IFeeManager" }, - "id": 724, + "id": 905, "name": "UserDefinedTypeName", - "src": "630:11:3" + "src": "630:11:8" } ], - "id": 725, + "id": 906, "name": "VariableDeclaration", - "src": "630:29:3" + "src": "630:29:8" }, { "attributes": { "constant": false, "name": "operator", - "scope": 1023, + "scope": 1204, "stateVariable": true, "storageLocation": "default", "type": "address", @@ -5492,14 +5492,14 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 726, + "id": 907, "name": "ElementaryTypeName", - "src": "819:7:3" + "src": "819:7:8" } ], - "id": 727, + "id": 908, "name": "VariableDeclaration", - "src": "819:23:3" + "src": "819:23:8" }, { "attributes": { @@ -5515,9 +5515,9 @@ ] }, "children": [], - "id": 728, + "id": 909, "name": "ParameterList", - "src": "868:0:3" + "src": "868:0:8" }, { "children": [ @@ -5551,16 +5551,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 729, + "id": 910, "name": "Identifier", - "src": "874:7:3" + "src": "874:7:8" }, { "attributes": { @@ -5595,18 +5595,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1068, + "referencedDeclaration": 3270, "type": "msg", "value": "msg" }, - "id": 730, + "id": 911, "name": "Identifier", - "src": "882:3:3" + "src": "882:3:8" } ], - "id": 731, + "id": 912, "name": "MemberAccess", - "src": "882:10:3" + "src": "882:10:8" }, { "attributes": { @@ -5614,18 +5614,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 727, + "referencedDeclaration": 908, "type": "address", "value": "operator" }, - "id": 732, + "id": 913, "name": "Identifier", - "src": "896:8:3" + "src": "896:8:8" } ], - "id": 733, + "id": 914, "name": "BinaryOperation", - "src": "882:22:3" + "src": "882:22:8" }, { "attributes": { @@ -5640,34 +5640,34 @@ "type": "literal_string \"Only operator can call this function.\"", "value": "Only operator can call this function." }, - "id": 734, + "id": 915, "name": "Literal", - "src": "906:39:3" + "src": "906:39:8" } ], - "id": 735, + "id": 916, "name": "FunctionCall", - "src": "874:72:3" + "src": "874:72:8" } ], - "id": 736, + "id": 917, "name": "ExpressionStatement", - "src": "874:72:3" + "src": "874:72:8" }, { - "id": 737, + "id": 918, "name": "PlaceholderStatement", - "src": "952:1:3" + "src": "952:1:8" } ], - "id": 738, + "id": 919, "name": "Block", - "src": "868:90:3" + "src": "868:90:8" } ], - "id": 739, + "id": 920, "name": "ModifierDefinition", - "src": "846:112:3" + "src": "846:112:8" }, { "attributes": { @@ -5683,7 +5683,7 @@ "constant": false, "indexed": true, "name": "commitment", - "scope": 747, + "scope": 928, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -5696,21 +5696,21 @@ "name": "bytes32", "type": "bytes32" }, - "id": 740, + "id": 921, "name": "ElementaryTypeName", - "src": "976:7:3" + "src": "976:7:8" } ], - "id": 741, + "id": 922, "name": "VariableDeclaration", - "src": "976:26:3" + "src": "976:26:8" }, { "attributes": { "constant": false, "indexed": false, "name": "leafIndex", - "scope": 747, + "scope": 928, "stateVariable": false, "storageLocation": "default", "type": "uint32", @@ -5723,21 +5723,21 @@ "name": "uint32", "type": "uint32" }, - "id": 742, + "id": 923, "name": "ElementaryTypeName", - "src": "1004:6:3" + "src": "1004:6:8" } ], - "id": 743, + "id": 924, "name": "VariableDeclaration", - "src": "1004:16:3" + "src": "1004:16:8" }, { "attributes": { "constant": false, "indexed": false, "name": "timestamp", - "scope": 747, + "scope": 928, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -5750,24 +5750,24 @@ "name": "uint256", "type": "uint256" }, - "id": 744, + "id": 925, "name": "ElementaryTypeName", - "src": "1022:7:3" + "src": "1022:7:8" } ], - "id": 745, + "id": 926, "name": "VariableDeclaration", - "src": "1022:17:3" + "src": "1022:17:8" } ], - "id": 746, + "id": 927, "name": "ParameterList", - "src": "975:65:3" + "src": "975:65:8" } ], - "id": 747, + "id": 928, "name": "EventDefinition", - "src": "962:79:3" + "src": "962:79:8" }, { "attributes": { @@ -5783,7 +5783,7 @@ "constant": false, "indexed": false, "name": "to", - "scope": 757, + "scope": 938, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -5797,21 +5797,21 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 748, + "id": 929, "name": "ElementaryTypeName", - "src": "1061:7:3" + "src": "1061:7:8" } ], - "id": 749, + "id": 930, "name": "VariableDeclaration", - "src": "1061:10:3" + "src": "1061:10:8" }, { "attributes": { "constant": false, "indexed": false, "name": "nullifierHash", - "scope": 757, + "scope": 938, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -5824,21 +5824,21 @@ "name": "bytes32", "type": "bytes32" }, - "id": 750, + "id": 931, "name": "ElementaryTypeName", - "src": "1073:7:3" + "src": "1073:7:8" } ], - "id": 751, + "id": 932, "name": "VariableDeclaration", - "src": "1073:21:3" + "src": "1073:21:8" }, { "attributes": { "constant": false, "indexed": true, "name": "relayer", - "scope": 757, + "scope": 938, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -5852,21 +5852,21 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 752, + "id": 933, "name": "ElementaryTypeName", - "src": "1096:7:3" + "src": "1096:7:8" } ], - "id": 753, + "id": 934, "name": "VariableDeclaration", - "src": "1096:23:3" + "src": "1096:23:8" }, { "attributes": { "constant": false, "indexed": false, "name": "fee", - "scope": 757, + "scope": 938, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -5879,24 +5879,24 @@ "name": "uint256", "type": "uint256" }, - "id": 754, + "id": 935, "name": "ElementaryTypeName", - "src": "1121:7:3" + "src": "1121:7:8" } ], - "id": 755, + "id": 936, "name": "VariableDeclaration", - "src": "1121:11:3" + "src": "1121:11:8" } ], - "id": 756, + "id": 937, "name": "ParameterList", - "src": "1060:73:3" + "src": "1060:73:8" } ], - "id": 757, + "id": 938, "name": "EventDefinition", - "src": "1044:90:3" + "src": "1044:90:8" }, { "attributes": { @@ -5905,7 +5905,7 @@ "isConstructor": true, "kind": "constructor", "name": "", - "scope": 1023, + "scope": 1204, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -5917,7 +5917,7 @@ "attributes": { "constant": false, "name": "_verifier", - "scope": 797, + "scope": 978, "stateVariable": false, "storageLocation": "default", "type": "contract IVerifier", @@ -5929,23 +5929,23 @@ "attributes": { "contractScope": null, "name": "IVerifier", - "referencedDeclaration": 701, + "referencedDeclaration": 882, "type": "contract IVerifier" }, - "id": 758, + "id": 939, "name": "UserDefinedTypeName", - "src": "1450:9:3" + "src": "1450:9:8" } ], - "id": 759, + "id": 940, "name": "VariableDeclaration", - "src": "1450:19:3" + "src": "1450:19:8" }, { "attributes": { "constant": false, "name": "_feeManager", - "scope": 797, + "scope": 978, "stateVariable": false, "storageLocation": "default", "type": "contract IFeeManager", @@ -5957,23 +5957,23 @@ "attributes": { "contractScope": null, "name": "IFeeManager", - "referencedDeclaration": 707, + "referencedDeclaration": 888, "type": "contract IFeeManager" }, - "id": 760, + "id": 941, "name": "UserDefinedTypeName", - "src": "1475:11:3" + "src": "1475:11:8" } ], - "id": 761, + "id": 942, "name": "VariableDeclaration", - "src": "1475:23:3" + "src": "1475:23:8" }, { "attributes": { "constant": false, "name": "_denomination", - "scope": 797, + "scope": 978, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -5986,20 +5986,20 @@ "name": "uint256", "type": "uint256" }, - "id": 762, + "id": 943, "name": "ElementaryTypeName", - "src": "1504:7:3" + "src": "1504:7:8" } ], - "id": 763, + "id": 944, "name": "VariableDeclaration", - "src": "1504:21:3" + "src": "1504:21:8" }, { "attributes": { "constant": false, "name": "_merkleTreeHeight", - "scope": 797, + "scope": 978, "stateVariable": false, "storageLocation": "default", "type": "uint32", @@ -6012,20 +6012,20 @@ "name": "uint32", "type": "uint32" }, - "id": 764, + "id": 945, "name": "ElementaryTypeName", - "src": "1531:6:3" + "src": "1531:6:8" } ], - "id": 765, + "id": 946, "name": "VariableDeclaration", - "src": "1531:24:3" + "src": "1531:24:8" }, { "attributes": { "constant": false, "name": "_operator", - "scope": 797, + "scope": 978, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -6039,19 +6039,19 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 766, + "id": 947, "name": "ElementaryTypeName", - "src": "1561:7:3" + "src": "1561:7:8" } ], - "id": 767, + "id": 948, "name": "VariableDeclaration", - "src": "1561:17:3" + "src": "1561:17:8" } ], - "id": 768, + "id": 949, "name": "ParameterList", - "src": "1444:138:3" + "src": "1444:138:8" }, { "attributes": { @@ -6060,9 +6060,9 @@ ] }, "children": [], - "id": 772, + "id": 953, "name": "ParameterList", - "src": "1631:0:3" + "src": "1631:0:8" }, { "children": [ @@ -6076,9 +6076,9 @@ "type": "type(contract MerkleTreeWithHistory)", "value": "MerkleTreeWithHistory" }, - "id": 769, + "id": 950, "name": "Identifier", - "src": "1583:21:3" + "src": "1583:21:8" }, { "attributes": { @@ -6086,18 +6086,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 765, + "referencedDeclaration": 946, "type": "uint32", "value": "_merkleTreeHeight" }, - "id": 770, + "id": 951, "name": "Identifier", - "src": "1605:17:3" + "src": "1605:17:8" } ], - "id": 771, + "id": 952, "name": "ModifierInvocation", - "src": "1583:40:3" + "src": "1583:40:8" }, { "children": [ @@ -6131,16 +6131,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 773, + "id": 954, "name": "Identifier", - "src": "1637:7:3" + "src": "1637:7:8" }, { "attributes": { @@ -6163,13 +6163,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 763, + "referencedDeclaration": 944, "type": "uint256", "value": "_denomination" }, - "id": 774, + "id": 955, "name": "Identifier", - "src": "1645:13:3" + "src": "1645:13:8" }, { "attributes": { @@ -6184,14 +6184,14 @@ "type": "int_const 0", "value": "0" }, - "id": 775, + "id": 956, "name": "Literal", - "src": "1661:1:3" + "src": "1661:1:8" } ], - "id": 776, + "id": 957, "name": "BinaryOperation", - "src": "1645:17:3" + "src": "1645:17:8" }, { "attributes": { @@ -6206,19 +6206,19 @@ "type": "literal_string \"denomination should be greater than 0\"", "value": "denomination should be greater than 0" }, - "id": 777, + "id": 958, "name": "Literal", - "src": "1664:39:3" + "src": "1664:39:8" } ], - "id": 778, + "id": 959, "name": "FunctionCall", - "src": "1637:67:3" + "src": "1637:67:8" } ], - "id": 779, + "id": 960, "name": "ExpressionStatement", - "src": "1637:67:3" + "src": "1637:67:8" }, { "children": [ @@ -6239,13 +6239,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 723, + "referencedDeclaration": 904, "type": "contract IVerifier", "value": "verifier" }, - "id": 780, + "id": 961, "name": "Identifier", - "src": "1710:8:3" + "src": "1710:8:8" }, { "attributes": { @@ -6253,23 +6253,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 759, + "referencedDeclaration": 940, "type": "contract IVerifier", "value": "_verifier" }, - "id": 781, + "id": 962, "name": "Identifier", - "src": "1721:9:3" + "src": "1721:9:8" } ], - "id": 782, + "id": 963, "name": "Assignment", - "src": "1710:20:3" + "src": "1710:20:8" } ], - "id": 783, + "id": 964, "name": "ExpressionStatement", - "src": "1710:20:3" + "src": "1710:20:8" }, { "children": [ @@ -6290,13 +6290,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 725, + "referencedDeclaration": 906, "type": "contract IFeeManager", "value": "feeManager" }, - "id": 784, + "id": 965, "name": "Identifier", - "src": "1736:10:3" + "src": "1736:10:8" }, { "attributes": { @@ -6304,23 +6304,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 761, + "referencedDeclaration": 942, "type": "contract IFeeManager", "value": "_feeManager" }, - "id": 785, + "id": 966, "name": "Identifier", - "src": "1749:11:3" + "src": "1749:11:8" } ], - "id": 786, + "id": 967, "name": "Assignment", - "src": "1736:24:3" + "src": "1736:24:8" } ], - "id": 787, + "id": 968, "name": "ExpressionStatement", - "src": "1736:24:3" + "src": "1736:24:8" }, { "children": [ @@ -6341,13 +6341,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 727, + "referencedDeclaration": 908, "type": "address", "value": "operator" }, - "id": 788, + "id": 969, "name": "Identifier", - "src": "1766:8:3" + "src": "1766:8:8" }, { "attributes": { @@ -6355,23 +6355,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 767, + "referencedDeclaration": 948, "type": "address", "value": "_operator" }, - "id": 789, + "id": 970, "name": "Identifier", - "src": "1777:9:3" + "src": "1777:9:8" } ], - "id": 790, + "id": 971, "name": "Assignment", - "src": "1766:20:3" + "src": "1766:20:8" } ], - "id": 791, + "id": 972, "name": "ExpressionStatement", - "src": "1766:20:3" + "src": "1766:20:8" }, { "children": [ @@ -6392,13 +6392,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 713, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, - "id": 792, + "id": 973, "name": "Identifier", - "src": "1792:12:3" + "src": "1792:12:8" }, { "attributes": { @@ -6406,33 +6406,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 763, + "referencedDeclaration": 944, "type": "uint256", "value": "_denomination" }, - "id": 793, + "id": 974, "name": "Identifier", - "src": "1807:13:3" + "src": "1807:13:8" } ], - "id": 794, + "id": 975, "name": "Assignment", - "src": "1792:28:3" + "src": "1792:28:8" } ], - "id": 795, + "id": 976, "name": "ExpressionStatement", - "src": "1792:28:3" + "src": "1792:28:8" } ], - "id": 796, + "id": 977, "name": "Block", - "src": "1631:194:3" + "src": "1631:194:8" } ], - "id": 797, + "id": 978, "name": "FunctionDefinition", - "src": "1433:392:3" + "src": "1433:392:8" }, { "attributes": { @@ -6441,7 +6441,7 @@ "isConstructor": false, "kind": "function", "name": "deposit", - "scope": 1023, + "scope": 1204, "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -6453,7 +6453,7 @@ "attributes": { "constant": false, "name": "_commitment", - "scope": 835, + "scope": 1016, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -6466,19 +6466,19 @@ "name": "bytes32", "type": "bytes32" }, - "id": 798, + "id": 979, "name": "ElementaryTypeName", - "src": "2090:7:3" + "src": "2090:7:8" } ], - "id": 799, + "id": 980, "name": "VariableDeclaration", - "src": "2090:19:3" + "src": "2090:19:8" } ], - "id": 800, + "id": 981, "name": "ParameterList", - "src": "2089:21:3" + "src": "2089:21:8" }, { "attributes": { @@ -6487,9 +6487,9 @@ ] }, "children": [], - "id": 803, + "id": 984, "name": "ParameterList", - "src": "2141:0:3" + "src": "2141:0:8" }, { "attributes": { @@ -6502,18 +6502,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1052, + "referencedDeclaration": 3254, "type": "modifier ()", "value": "nonReentrant" }, - "id": 801, + "id": 982, "name": "Identifier", - "src": "2128:12:3" + "src": "2128:12:8" } ], - "id": 802, + "id": 983, "name": "ModifierInvocation", - "src": "2128:12:3" + "src": "2128:12:8" }, { "children": [ @@ -6547,16 +6547,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 804, + "id": 985, "name": "Identifier", - "src": "2147:7:3" + "src": "2147:7:8" }, { "attributes": { @@ -6586,13 +6586,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 721, + "referencedDeclaration": 902, "type": "mapping(bytes32 => bool)", "value": "commitments" }, - "id": 805, + "id": 986, "name": "Identifier", - "src": "2156:11:3" + "src": "2156:11:8" }, { "attributes": { @@ -6600,23 +6600,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 799, + "referencedDeclaration": 980, "type": "bytes32", "value": "_commitment" }, - "id": 806, + "id": 987, "name": "Identifier", - "src": "2168:11:3" + "src": "2168:11:8" } ], - "id": 807, + "id": 988, "name": "IndexAccess", - "src": "2156:24:3" + "src": "2156:24:8" } ], - "id": 808, + "id": 989, "name": "UnaryOperation", - "src": "2155:25:3" + "src": "2155:25:8" }, { "attributes": { @@ -6631,24 +6631,24 @@ "type": "literal_string \"The commitment has been submitted\"", "value": "The commitment has been submitted" }, - "id": 809, + "id": 990, "name": "Literal", - "src": "2182:35:3" + "src": "2182:35:8" } ], - "id": 810, + "id": 991, "name": "FunctionCall", - "src": "2147:71:3" + "src": "2147:71:8" } ], - "id": 811, + "id": 992, "name": "ExpressionStatement", - "src": "2147:71:3" + "src": "2147:71:8" }, { "attributes": { "assignments": [ - 813 + 994 ] }, "children": [ @@ -6656,7 +6656,7 @@ "attributes": { "constant": false, "name": "insertedIndex", - "scope": 834, + "scope": 1015, "stateVariable": false, "storageLocation": "default", "type": "uint32", @@ -6669,14 +6669,14 @@ "name": "uint32", "type": "uint32" }, - "id": 812, + "id": 993, "name": "ElementaryTypeName", - "src": "2225:6:3" + "src": "2225:6:8" } ], - "id": 813, + "id": 994, "name": "VariableDeclaration", - "src": "2225:20:3" + "src": "2225:20:8" }, { "attributes": { @@ -6708,9 +6708,9 @@ "type": "function (bytes32) returns (uint32)", "value": "_insert" }, - "id": 814, + "id": 995, "name": "Identifier", - "src": "2248:7:3" + "src": "2248:7:8" }, { "attributes": { @@ -6718,23 +6718,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 799, + "referencedDeclaration": 980, "type": "bytes32", "value": "_commitment" }, - "id": 815, + "id": 996, "name": "Identifier", - "src": "2256:11:3" + "src": "2256:11:8" } ], - "id": 816, + "id": 997, "name": "FunctionCall", - "src": "2248:20:3" + "src": "2248:20:8" } ], - "id": 817, + "id": 998, "name": "VariableDeclarationStatement", - "src": "2225:43:3" + "src": "2225:43:8" }, { "children": [ @@ -6765,13 +6765,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 721, + "referencedDeclaration": 902, "type": "mapping(bytes32 => bool)", "value": "commitments" }, - "id": 818, + "id": 999, "name": "Identifier", - "src": "2274:11:3" + "src": "2274:11:8" }, { "attributes": { @@ -6779,18 +6779,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 799, + "referencedDeclaration": 980, "type": "bytes32", "value": "_commitment" }, - "id": 819, + "id": 1000, "name": "Identifier", - "src": "2286:11:3" + "src": "2286:11:8" } ], - "id": 820, + "id": 1001, "name": "IndexAccess", - "src": "2274:24:3" + "src": "2274:24:8" }, { "attributes": { @@ -6805,19 +6805,19 @@ "type": "bool", "value": "true" }, - "id": 821, + "id": 1002, "name": "Literal", - "src": "2301:4:3" + "src": "2301:4:8" } ], - "id": 822, + "id": 1003, "name": "Assignment", - "src": "2274:31:3" + "src": "2274:31:8" } ], - "id": 823, + "id": 1004, "name": "ExpressionStatement", - "src": "2274:31:3" + "src": "2274:31:8" }, { "children": [ @@ -6847,23 +6847,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 838, + "referencedDeclaration": 1019, "type": "function ()", "value": "_processDeposit" }, - "id": 824, + "id": 1005, "name": "Identifier", - "src": "2311:15:3" + "src": "2311:15:8" } ], - "id": 825, + "id": 1006, "name": "FunctionCall", - "src": "2311:17:3" + "src": "2311:17:8" } ], - "id": 826, + "id": 1007, "name": "ExpressionStatement", - "src": "2311:17:3" + "src": "2311:17:8" }, { "children": [ @@ -6901,13 +6901,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 747, + "referencedDeclaration": 928, "type": "function (bytes32,uint32,uint256)", "value": "Deposit" }, - "id": 827, + "id": 1008, "name": "Identifier", - "src": "2340:7:3" + "src": "2340:7:8" }, { "attributes": { @@ -6915,13 +6915,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 799, + "referencedDeclaration": 980, "type": "bytes32", "value": "_commitment" }, - "id": 828, + "id": 1009, "name": "Identifier", - "src": "2348:11:3" + "src": "2348:11:8" }, { "attributes": { @@ -6929,13 +6929,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 813, + "referencedDeclaration": 994, "type": "uint32", "value": "insertedIndex" }, - "id": 829, + "id": 1010, "name": "Identifier", - "src": "2361:13:3" + "src": "2361:13:8" }, { "attributes": { @@ -6955,38 +6955,38 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1058, + "referencedDeclaration": 3260, "type": "block", "value": "block" }, - "id": 830, + "id": 1011, "name": "Identifier", - "src": "2376:5:3" + "src": "2376:5:8" } ], - "id": 831, + "id": 1012, "name": "MemberAccess", - "src": "2376:15:3" + "src": "2376:15:8" } ], - "id": 832, + "id": 1013, "name": "FunctionCall", - "src": "2340:52:3" + "src": "2340:52:8" } ], - "id": 833, + "id": 1014, "name": "EmitStatement", - "src": "2335:57:3" + "src": "2335:57:8" } ], - "id": 834, + "id": 1015, "name": "Block", - "src": "2141:256:3" + "src": "2141:256:8" } ], - "id": 835, + "id": 1016, "name": "FunctionDefinition", - "src": "2073:324:3" + "src": "2073:324:8" }, { "attributes": { @@ -6999,7 +6999,7 @@ null ], "name": "_processDeposit", - "scope": 1023, + "scope": 1204, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -7012,9 +7012,9 @@ ] }, "children": [], - "id": 836, + "id": 1017, "name": "ParameterList", - "src": "2484:2:3" + "src": "2484:2:8" }, { "attributes": { @@ -7023,14 +7023,14 @@ ] }, "children": [], - "id": 837, + "id": 1018, "name": "ParameterList", - "src": "2495:0:3" + "src": "2495:0:8" } ], - "id": 838, + "id": 1019, "name": "FunctionDefinition", - "src": "2460:36:3" + "src": "2460:36:8" }, { "attributes": { @@ -7039,7 +7039,7 @@ "isConstructor": false, "kind": "function", "name": "withdraw", - "scope": 1023, + "scope": 1204, "stateMutability": "payable", "superFunction": null, "visibility": "external" @@ -7051,7 +7051,7 @@ "attributes": { "constant": false, "name": "_proof", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "calldata", "type": "bytes", @@ -7064,20 +7064,20 @@ "name": "bytes", "type": "bytes" }, - "id": 839, + "id": 1020, "name": "ElementaryTypeName", - "src": "2911:5:3" + "src": "2911:5:8" } ], - "id": 840, + "id": 1021, "name": "VariableDeclaration", - "src": "2911:21:3" + "src": "2911:21:8" }, { "attributes": { "constant": false, "name": "_root", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -7090,20 +7090,20 @@ "name": "bytes32", "type": "bytes32" }, - "id": 841, + "id": 1022, "name": "ElementaryTypeName", - "src": "2934:7:3" + "src": "2934:7:8" } ], - "id": 842, + "id": 1023, "name": "VariableDeclaration", - "src": "2934:13:3" + "src": "2934:13:8" }, { "attributes": { "constant": false, "name": "_nullifierHash", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -7116,20 +7116,20 @@ "name": "bytes32", "type": "bytes32" }, - "id": 843, + "id": 1024, "name": "ElementaryTypeName", - "src": "2949:7:3" + "src": "2949:7:8" } ], - "id": 844, + "id": 1025, "name": "VariableDeclaration", - "src": "2949:22:3" + "src": "2949:22:8" }, { "attributes": { "constant": false, "name": "_recipient", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "address payable", @@ -7143,20 +7143,20 @@ "stateMutability": "payable", "type": "address payable" }, - "id": 845, + "id": 1026, "name": "ElementaryTypeName", - "src": "2973:15:3" + "src": "2973:15:8" } ], - "id": 846, + "id": 1027, "name": "VariableDeclaration", - "src": "2973:26:3" + "src": "2973:26:8" }, { "attributes": { "constant": false, "name": "_relayer", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "address payable", @@ -7170,20 +7170,20 @@ "stateMutability": "payable", "type": "address payable" }, - "id": 847, + "id": 1028, "name": "ElementaryTypeName", - "src": "3001:15:3" + "src": "3001:15:8" } ], - "id": 848, + "id": 1029, "name": "VariableDeclaration", - "src": "3001:24:3" + "src": "3001:24:8" }, { "attributes": { "constant": false, "name": "_fee", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -7196,20 +7196,20 @@ "name": "uint256", "type": "uint256" }, - "id": 849, + "id": 1030, "name": "ElementaryTypeName", - "src": "3027:7:3" + "src": "3027:7:8" } ], - "id": 850, + "id": 1031, "name": "VariableDeclaration", - "src": "3027:12:3" + "src": "3027:12:8" }, { "attributes": { "constant": false, "name": "_refund", - "scope": 926, + "scope": 1107, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -7222,19 +7222,19 @@ "name": "uint256", "type": "uint256" }, - "id": 851, + "id": 1032, "name": "ElementaryTypeName", - "src": "3041:7:3" + "src": "3041:7:8" } ], - "id": 852, + "id": 1033, "name": "VariableDeclaration", - "src": "3041:15:3" + "src": "3041:15:8" } ], - "id": 853, + "id": 1034, "name": "ParameterList", - "src": "2910:147:3" + "src": "2910:147:8" }, { "attributes": { @@ -7243,9 +7243,9 @@ ] }, "children": [], - "id": 856, + "id": 1037, "name": "ParameterList", - "src": "3088:0:3" + "src": "3088:0:8" }, { "attributes": { @@ -7258,18 +7258,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1052, + "referencedDeclaration": 3254, "type": "modifier ()", "value": "nonReentrant" }, - "id": 854, + "id": 1035, "name": "Identifier", - "src": "3075:12:3" + "src": "3075:12:8" } ], - "id": 855, + "id": 1036, "name": "ModifierInvocation", - "src": "3075:12:3" + "src": "3075:12:8" }, { "children": [ @@ -7303,16 +7303,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 857, + "id": 1038, "name": "Identifier", - "src": "3094:7:3" + "src": "3094:7:8" }, { "attributes": { @@ -7335,13 +7335,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 850, + "referencedDeclaration": 1031, "type": "uint256", "value": "_fee" }, - "id": 858, + "id": 1039, "name": "Identifier", - "src": "3102:4:3" + "src": "3102:4:8" }, { "attributes": { @@ -7349,18 +7349,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 713, + "referencedDeclaration": 894, "type": "uint256", "value": "denomination" }, - "id": 859, + "id": 1040, "name": "Identifier", - "src": "3110:12:3" + "src": "3110:12:8" } ], - "id": 860, + "id": 1041, "name": "BinaryOperation", - "src": "3102:20:3" + "src": "3102:20:8" }, { "attributes": { @@ -7375,19 +7375,19 @@ "type": "literal_string \"Fee exceeds transfer value\"", "value": "Fee exceeds transfer value" }, - "id": 861, + "id": 1042, "name": "Literal", - "src": "3124:28:3" + "src": "3124:28:8" } ], - "id": 862, + "id": 1043, "name": "FunctionCall", - "src": "3094:59:3" + "src": "3094:59:8" } ], - "id": 863, + "id": 1044, "name": "ExpressionStatement", - "src": "3094:59:3" + "src": "3094:59:8" }, { "children": [ @@ -7419,16 +7419,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 864, + "id": 1045, "name": "Identifier", - "src": "3159:7:3" + "src": "3159:7:8" }, { "attributes": { @@ -7458,13 +7458,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 717, + "referencedDeclaration": 898, "type": "mapping(bytes32 => bool)", "value": "nullifierHashes" }, - "id": 865, + "id": 1046, "name": "Identifier", - "src": "3168:15:3" + "src": "3168:15:8" }, { "attributes": { @@ -7472,23 +7472,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 844, + "referencedDeclaration": 1025, "type": "bytes32", "value": "_nullifierHash" }, - "id": 866, + "id": 1047, "name": "Identifier", - "src": "3184:14:3" + "src": "3184:14:8" } ], - "id": 867, + "id": 1048, "name": "IndexAccess", - "src": "3168:31:3" + "src": "3168:31:8" } ], - "id": 868, + "id": 1049, "name": "UnaryOperation", - "src": "3167:32:3" + "src": "3167:32:8" }, { "attributes": { @@ -7503,19 +7503,19 @@ "type": "literal_string \"The note has been already spent\"", "value": "The note has been already spent" }, - "id": 869, + "id": 1050, "name": "Literal", - "src": "3201:33:3" + "src": "3201:33:8" } ], - "id": 870, + "id": 1051, "name": "FunctionCall", - "src": "3159:76:3" + "src": "3159:76:8" } ], - "id": 871, + "id": 1052, "name": "ExpressionStatement", - "src": "3159:76:3" + "src": "3159:76:8" }, { "children": [ @@ -7547,16 +7547,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 872, + "id": 1053, "name": "Identifier", - "src": "3241:7:3" + "src": "3241:7:8" }, { "attributes": { @@ -7588,9 +7588,9 @@ "type": "function (bytes32) view returns (bool)", "value": "isKnownRoot" }, - "id": 873, + "id": 1054, "name": "Identifier", - "src": "3249:11:3" + "src": "3249:11:8" }, { "attributes": { @@ -7598,18 +7598,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 842, + "referencedDeclaration": 1023, "type": "bytes32", "value": "_root" }, - "id": 874, + "id": 1055, "name": "Identifier", - "src": "3261:5:3" + "src": "3261:5:8" } ], - "id": 875, + "id": 1056, "name": "FunctionCall", - "src": "3249:18:3" + "src": "3249:18:8" }, { "attributes": { @@ -7624,19 +7624,19 @@ "type": "literal_string \"Cannot find your merkle root\"", "value": "Cannot find your merkle root" }, - "id": 876, + "id": 1057, "name": "Literal", - "src": "3269:30:3" + "src": "3269:30:8" } ], - "id": 877, + "id": 1058, "name": "FunctionCall", - "src": "3241:59:3" + "src": "3241:59:8" } ], - "id": 878, + "id": 1059, "name": "ExpressionStatement", - "src": "3241:59:3" + "src": "3241:59:8" }, { "children": [ @@ -7668,16 +7668,16 @@ } ], "overloadedDeclarations": [ - 1071, - 1072 + 3273, + 3274 ], - "referencedDeclaration": 1072, + "referencedDeclaration": 3274, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 879, + "id": 1060, "name": "Identifier", - "src": "3339:7:3" + "src": "3339:7:8" }, { "attributes": { @@ -7711,7 +7711,7 @@ "isPure": false, "lValueRequested": false, "member_name": "verifyProof", - "referencedDeclaration": 700, + "referencedDeclaration": 881, "type": "function (bytes memory,uint256[6] memory) external returns (bool)" }, "children": [ @@ -7721,18 +7721,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 723, + "referencedDeclaration": 904, "type": "contract IVerifier", "value": "verifier" }, - "id": 880, + "id": 1061, "name": "Identifier", - "src": "3347:8:3" + "src": "3347:8:8" } ], - "id": 881, + "id": 1062, "name": "MemberAccess", - "src": "3347:20:3" + "src": "3347:20:8" }, { "attributes": { @@ -7740,13 +7740,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 840, + "referencedDeclaration": 1021, "type": "bytes calldata", "value": "_proof" }, - "id": 882, + "id": 1063, "name": "Identifier", - "src": "3368:6:3" + "src": "3368:6:8" }, { "attributes": { @@ -7789,9 +7789,9 @@ "type": "type(uint256)", "value": "uint256" }, - "id": 883, + "id": 1064, "name": "ElementaryTypeNameExpression", - "src": "3377:7:3" + "src": "3377:7:8" }, { "attributes": { @@ -7799,18 +7799,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 842, + "referencedDeclaration": 1023, "type": "bytes32", "value": "_root" }, - "id": 884, + "id": 1065, "name": "Identifier", - "src": "3385:5:3" + "src": "3385:5:8" } ], - "id": 885, + "id": 1066, "name": "FunctionCall", - "src": "3377:14:3" + "src": "3377:14:8" }, { "attributes": { @@ -7842,9 +7842,9 @@ "type": "type(uint256)", "value": "uint256" }, - "id": 886, + "id": 1067, "name": "ElementaryTypeNameExpression", - "src": "3393:7:3" + "src": "3393:7:8" }, { "attributes": { @@ -7852,18 +7852,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 844, + "referencedDeclaration": 1025, "type": "bytes32", "value": "_nullifierHash" }, - "id": 887, + "id": 1068, "name": "Identifier", - "src": "3401:14:3" + "src": "3401:14:8" } ], - "id": 888, + "id": 1069, "name": "FunctionCall", - "src": "3393:23:3" + "src": "3393:23:8" }, { "attributes": { @@ -7895,9 +7895,9 @@ "type": "type(uint256)", "value": "uint256" }, - "id": 889, + "id": 1070, "name": "ElementaryTypeNameExpression", - "src": "3418:7:3" + "src": "3418:7:8" }, { "attributes": { @@ -7905,18 +7905,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 846, + "referencedDeclaration": 1027, "type": "address payable", "value": "_recipient" }, - "id": 890, + "id": 1071, "name": "Identifier", - "src": "3426:10:3" + "src": "3426:10:8" } ], - "id": 891, + "id": 1072, "name": "FunctionCall", - "src": "3418:19:3" + "src": "3418:19:8" }, { "attributes": { @@ -7948,9 +7948,9 @@ "type": "type(uint256)", "value": "uint256" }, - "id": 892, + "id": 1073, "name": "ElementaryTypeNameExpression", - "src": "3439:7:3" + "src": "3439:7:8" }, { "attributes": { @@ -7958,18 +7958,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 848, + "referencedDeclaration": 1029, "type": "address payable", "value": "_relayer" }, - "id": 893, + "id": 1074, "name": "Identifier", - "src": "3447:8:3" + "src": "3447:8:8" } ], - "id": 894, + "id": 1075, "name": "FunctionCall", - "src": "3439:17:3" + "src": "3439:17:8" }, { "attributes": { @@ -7977,13 +7977,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 850, + "referencedDeclaration": 1031, "type": "uint256", "value": "_fee" }, - "id": 895, + "id": 1076, "name": "Identifier", - "src": "3458:4:3" + "src": "3458:4:8" }, { "attributes": { @@ -7991,23 +7991,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 852, + "referencedDeclaration": 1033, "type": "uint256", "value": "_refund" }, - "id": 896, + "id": 1077, "name": "Identifier", - "src": "3464:7:3" + "src": "3464:7:8" } ], - "id": 897, + "id": 1078, "name": "TupleExpression", - "src": "3376:96:3" + "src": "3376:96:8" } ], - "id": 898, + "id": 1079, "name": "FunctionCall", - "src": "3347:126:3" + "src": "3347:126:8" }, { "attributes": { @@ -8022,19 +8022,19 @@ "type": "literal_string \"Invalid withdraw proof\"", "value": "Invalid withdraw proof" }, - "id": 899, + "id": 1080, "name": "Literal", - "src": "3475:24:3" + "src": "3475:24:8" } ], - "id": 900, + "id": 1081, "name": "FunctionCall", - "src": "3339:161:3" + "src": "3339:161:8" } ], - "id": 901, + "id": 1082, "name": "ExpressionStatement", - "src": "3339:161:3" + "src": "3339:161:8" }, { "children": [ @@ -8065,13 +8065,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 717, + "referencedDeclaration": 898, "type": "mapping(bytes32 => bool)", "value": "nullifierHashes" }, - "id": 902, + "id": 1083, "name": "Identifier", - "src": "3507:15:3" + "src": "3507:15:8" }, { "attributes": { @@ -8079,18 +8079,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 844, + "referencedDeclaration": 1025, "type": "bytes32", "value": "_nullifierHash" }, - "id": 903, + "id": 1084, "name": "Identifier", - "src": "3523:14:3" + "src": "3523:14:8" } ], - "id": 904, + "id": 1085, "name": "IndexAccess", - "src": "3507:31:3" + "src": "3507:31:8" }, { "attributes": { @@ -8105,19 +8105,19 @@ "type": "bool", "value": "true" }, - "id": 905, + "id": 1086, "name": "Literal", - "src": "3541:4:3" + "src": "3541:4:8" } ], - "id": 906, + "id": 1087, "name": "Assignment", - "src": "3507:38:3" + "src": "3507:38:8" } ], - "id": 907, + "id": 1088, "name": "ExpressionStatement", - "src": "3507:38:3" + "src": "3507:38:8" }, { "children": [ @@ -8163,13 +8163,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 939, + "referencedDeclaration": 1120, "type": "function (address payable,address payable,uint256,uint256,address)", "value": "_processWithdraw" }, - "id": 908, + "id": 1089, "name": "Identifier", - "src": "3551:16:3" + "src": "3551:16:8" }, { "attributes": { @@ -8177,13 +8177,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 846, + "referencedDeclaration": 1027, "type": "address payable", "value": "_recipient" }, - "id": 909, + "id": 1090, "name": "Identifier", - "src": "3568:10:3" + "src": "3568:10:8" }, { "attributes": { @@ -8191,13 +8191,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 848, + "referencedDeclaration": 1029, "type": "address payable", "value": "_relayer" }, - "id": 910, + "id": 1091, "name": "Identifier", - "src": "3580:8:3" + "src": "3580:8:8" }, { "attributes": { @@ -8205,13 +8205,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 850, + "referencedDeclaration": 1031, "type": "uint256", "value": "_fee" }, - "id": 911, + "id": 1092, "name": "Identifier", - "src": "3590:4:3" + "src": "3590:4:8" }, { "attributes": { @@ -8219,13 +8219,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 852, + "referencedDeclaration": 1033, "type": "uint256", "value": "_refund" }, - "id": 912, + "id": 1093, "name": "Identifier", - "src": "3596:7:3" + "src": "3596:7:8" }, { "attributes": { @@ -8255,7 +8255,7 @@ "isPure": false, "lValueRequested": false, "member_name": "feeTo", - "referencedDeclaration": 706, + "referencedDeclaration": 887, "type": "function () view external returns (address)" }, "children": [ @@ -8265,33 +8265,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 725, + "referencedDeclaration": 906, "type": "contract IFeeManager", "value": "feeManager" }, - "id": 913, + "id": 1094, "name": "Identifier", - "src": "3605:10:3" + "src": "3605:10:8" } ], - "id": 914, + "id": 1095, "name": "MemberAccess", - "src": "3605:16:3" + "src": "3605:16:8" } ], - "id": 915, + "id": 1096, "name": "FunctionCall", - "src": "3605:18:3" + "src": "3605:18:8" } ], - "id": 916, + "id": 1097, "name": "FunctionCall", - "src": "3551:73:3" + "src": "3551:73:8" } ], - "id": 917, + "id": 1098, "name": "ExpressionStatement", - "src": "3551:73:3" + "src": "3551:73:8" }, { "children": [ @@ -8333,13 +8333,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 757, + "referencedDeclaration": 938, "type": "function (address,bytes32,address,uint256)", "value": "Withdrawal" }, - "id": 918, + "id": 1099, "name": "Identifier", - "src": "3635:10:3" + "src": "3635:10:8" }, { "attributes": { @@ -8347,13 +8347,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 846, + "referencedDeclaration": 1027, "type": "address payable", "value": "_recipient" }, - "id": 919, + "id": 1100, "name": "Identifier", - "src": "3646:10:3" + "src": "3646:10:8" }, { "attributes": { @@ -8361,13 +8361,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 844, + "referencedDeclaration": 1025, "type": "bytes32", "value": "_nullifierHash" }, - "id": 920, + "id": 1101, "name": "Identifier", - "src": "3658:14:3" + "src": "3658:14:8" }, { "attributes": { @@ -8375,13 +8375,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 848, + "referencedDeclaration": 1029, "type": "address payable", "value": "_relayer" }, - "id": 921, + "id": 1102, "name": "Identifier", - "src": "3674:8:3" + "src": "3674:8:8" }, { "attributes": { @@ -8389,33 +8389,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 850, + "referencedDeclaration": 1031, "type": "uint256", "value": "_fee" }, - "id": 922, + "id": 1103, "name": "Identifier", - "src": "3684:4:3" + "src": "3684:4:8" } ], - "id": 923, + "id": 1104, "name": "FunctionCall", - "src": "3635:54:3" + "src": "3635:54:8" } ], - "id": 924, + "id": 1105, "name": "EmitStatement", - "src": "3630:59:3" + "src": "3630:59:8" } ], - "id": 925, + "id": 1106, "name": "Block", - "src": "3088:606:3" + "src": "3088:606:8" } ], - "id": 926, + "id": 1107, "name": "FunctionDefinition", - "src": "2893:801:3" + "src": "2893:801:8" }, { "attributes": { @@ -8428,7 +8428,7 @@ null ], "name": "_processWithdraw", - "scope": 1023, + "scope": 1204, "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" @@ -8440,7 +8440,7 @@ "attributes": { "constant": false, "name": "_recipient", - "scope": 939, + "scope": 1120, "stateVariable": false, "storageLocation": "default", "type": "address payable", @@ -8454,20 +8454,20 @@ "stateMutability": "payable", "type": "address payable" }, - "id": 927, + "id": 1108, "name": "ElementaryTypeName", - "src": "3783:15:3" + "src": "3783:15:8" } ], - "id": 928, + "id": 1109, "name": "VariableDeclaration", - "src": "3783:26:3" + "src": "3783:26:8" }, { "attributes": { "constant": false, "name": "_relayer", - "scope": 939, + "scope": 1120, "stateVariable": false, "storageLocation": "default", "type": "address payable", @@ -8481,20 +8481,20 @@ "stateMutability": "payable", "type": "address payable" }, - "id": 929, + "id": 1110, "name": "ElementaryTypeName", - "src": "3811:15:3" + "src": "3811:15:8" } ], - "id": 930, + "id": 1111, "name": "VariableDeclaration", - "src": "3811:24:3" + "src": "3811:24:8" }, { "attributes": { "constant": false, "name": "_relayer_fee", - "scope": 939, + "scope": 1120, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -8507,20 +8507,20 @@ "name": "uint256", "type": "uint256" }, - "id": 931, + "id": 1112, "name": "ElementaryTypeName", - "src": "3837:7:3" + "src": "3837:7:8" } ], - "id": 932, + "id": 1113, "name": "VariableDeclaration", - "src": "3837:20:3" + "src": "3837:20:8" }, { "attributes": { "constant": false, "name": "_refund", - "scope": 939, + "scope": 1120, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -8533,20 +8533,20 @@ "name": "uint256", "type": "uint256" }, - "id": 933, + "id": 1114, "name": "ElementaryTypeName", - "src": "3859:7:3" + "src": "3859:7:8" } ], - "id": 934, + "id": 1115, "name": "VariableDeclaration", - "src": "3859:15:3" + "src": "3859:15:8" }, { "attributes": { "constant": false, "name": "_feeTo", - "scope": 939, + "scope": 1120, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -8560,19 +8560,19 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 935, + "id": 1116, "name": "ElementaryTypeName", - "src": "3876:7:3" + "src": "3876:7:8" } ], - "id": 936, + "id": 1117, "name": "VariableDeclaration", - "src": "3876:14:3" + "src": "3876:14:8" } ], - "id": 937, + "id": 1118, "name": "ParameterList", - "src": "3782:109:3" + "src": "3782:109:8" }, { "attributes": { @@ -8581,14 +8581,14 @@ ] }, "children": [], - "id": 938, + "id": 1119, "name": "ParameterList", - "src": "3900:0:3" + "src": "3900:0:8" } ], - "id": 939, + "id": 1120, "name": "FunctionDefinition", - "src": "3757:144:3" + "src": "3757:144:8" }, { "attributes": { @@ -8600,7 +8600,7 @@ null ], "name": "isSpent", - "scope": 1023, + "scope": 1204, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -8612,7 +8612,7 @@ "attributes": { "constant": false, "name": "_nullifierHash", - "scope": 951, + "scope": 1132, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -8625,19 +8625,19 @@ "name": "bytes32", "type": "bytes32" }, - "id": 940, + "id": 1121, "name": "ElementaryTypeName", - "src": "3968:7:3" + "src": "3968:7:8" } ], - "id": 941, + "id": 1122, "name": "VariableDeclaration", - "src": "3968:22:3" + "src": "3968:22:8" } ], - "id": 942, + "id": 1123, "name": "ParameterList", - "src": "3967:24:3" + "src": "3967:24:8" }, { "children": [ @@ -8645,7 +8645,7 @@ "attributes": { "constant": false, "name": "", - "scope": 951, + "scope": 1132, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -8658,25 +8658,25 @@ "name": "bool", "type": "bool" }, - "id": 943, + "id": 1124, "name": "ElementaryTypeName", - "src": "4012:4:3" + "src": "4012:4:8" } ], - "id": 944, + "id": 1125, "name": "VariableDeclaration", - "src": "4012:4:3" + "src": "4012:4:8" } ], - "id": 945, + "id": 1126, "name": "ParameterList", - "src": "4011:6:3" + "src": "4011:6:8" }, { "children": [ { "attributes": { - "functionReturnParameters": 945 + "functionReturnParameters": 1126 }, "children": [ { @@ -8695,13 +8695,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 717, + "referencedDeclaration": 898, "type": "mapping(bytes32 => bool)", "value": "nullifierHashes" }, - "id": 946, + "id": 1127, "name": "Identifier", - "src": "4031:15:3" + "src": "4031:15:8" }, { "attributes": { @@ -8709,33 +8709,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 941, + "referencedDeclaration": 1122, "type": "bytes32", "value": "_nullifierHash" }, - "id": 947, + "id": 1128, "name": "Identifier", - "src": "4047:14:3" + "src": "4047:14:8" } ], - "id": 948, + "id": 1129, "name": "IndexAccess", - "src": "4031:31:3" + "src": "4031:31:8" } ], - "id": 949, + "id": 1130, "name": "Return", - "src": "4024:38:3" + "src": "4024:38:8" } ], - "id": 950, + "id": 1131, "name": "Block", - "src": "4018:49:3" + "src": "4018:49:8" } ], - "id": 951, + "id": 1132, "name": "FunctionDefinition", - "src": "3951:116:3" + "src": "3951:116:8" }, { "attributes": { @@ -8747,7 +8747,7 @@ null ], "name": "isSpentArray", - "scope": 1023, + "scope": 1204, "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -8759,7 +8759,7 @@ "attributes": { "constant": false, "name": "_nullifierHashes", - "scope": 996, + "scope": 1177, "stateVariable": false, "storageLocation": "calldata", "type": "bytes32[]", @@ -8778,24 +8778,24 @@ "name": "bytes32", "type": "bytes32" }, - "id": 952, + "id": 1133, "name": "ElementaryTypeName", - "src": "4150:7:3" + "src": "4150:7:8" } ], - "id": 953, + "id": 1134, "name": "ArrayTypeName", - "src": "4150:9:3" + "src": "4150:9:8" } ], - "id": 954, + "id": 1135, "name": "VariableDeclaration", - "src": "4150:35:3" + "src": "4150:35:8" } ], - "id": 955, + "id": 1136, "name": "ParameterList", - "src": "4149:37:3" + "src": "4149:37:8" }, { "children": [ @@ -8803,7 +8803,7 @@ "attributes": { "constant": false, "name": "spent", - "scope": 996, + "scope": 1177, "stateVariable": false, "storageLocation": "memory", "type": "bool[]", @@ -8822,24 +8822,24 @@ "name": "bool", "type": "bool" }, - "id": 956, + "id": 1137, "name": "ElementaryTypeName", - "src": "4209:4:3" + "src": "4209:4:8" } ], - "id": 957, + "id": 1138, "name": "ArrayTypeName", - "src": "4209:6:3" + "src": "4209:6:8" } ], - "id": 958, + "id": 1139, "name": "VariableDeclaration", - "src": "4209:19:3" + "src": "4209:19:8" } ], - "id": 959, + "id": 1140, "name": "ParameterList", - "src": "4208:21:3" + "src": "4208:21:8" }, { "children": [ @@ -8862,13 +8862,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 958, + "referencedDeclaration": 1139, "type": "bool[] memory", "value": "spent" }, - "id": 960, + "id": 1141, "name": "Identifier", - "src": "4236:5:3" + "src": "4236:5:8" }, { "attributes": { @@ -8911,19 +8911,19 @@ "name": "bool", "type": "bool" }, - "id": 961, + "id": 1142, "name": "ElementaryTypeName", - "src": "4248:4:3" + "src": "4248:4:8" } ], - "id": 962, + "id": 1143, "name": "ArrayTypeName", - "src": "4248:6:3" + "src": "4248:6:8" } ], - "id": 963, + "id": 1144, "name": "NewExpression", - "src": "4244:10:3" + "src": "4244:10:8" }, { "attributes": { @@ -8943,40 +8943,40 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 954, + "referencedDeclaration": 1135, "type": "bytes32[] calldata", "value": "_nullifierHashes" }, - "id": 964, + "id": 1145, "name": "Identifier", - "src": "4255:16:3" + "src": "4255:16:8" } ], - "id": 965, + "id": 1146, "name": "MemberAccess", - "src": "4255:23:3" + "src": "4255:23:8" } ], - "id": 966, + "id": 1147, "name": "FunctionCall", - "src": "4244:35:3" + "src": "4244:35:8" } ], - "id": 967, + "id": 1148, "name": "Assignment", - "src": "4236:43:3" + "src": "4236:43:8" } ], - "id": 968, + "id": 1149, "name": "ExpressionStatement", - "src": "4236:43:3" + "src": "4236:43:8" }, { "children": [ { "attributes": { "assignments": [ - 970 + 1151 ] }, "children": [ @@ -8984,7 +8984,7 @@ "attributes": { "constant": false, "name": "i", - "scope": 994, + "scope": 1175, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -8997,14 +8997,14 @@ "name": "uint", "type": "uint256" }, - "id": 969, + "id": 1150, "name": "ElementaryTypeName", - "src": "4289:4:3" + "src": "4289:4:8" } ], - "id": 970, + "id": 1151, "name": "VariableDeclaration", - "src": "4289:6:3" + "src": "4289:6:8" }, { "attributes": { @@ -9019,14 +9019,14 @@ "type": "int_const 0", "value": "0" }, - "id": 971, + "id": 1152, "name": "Literal", - "src": "4298:1:3" + "src": "4298:1:8" } ], - "id": 972, + "id": 1153, "name": "VariableDeclarationStatement", - "src": "4289:10:3" + "src": "4289:10:8" }, { "attributes": { @@ -9049,13 +9049,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 970, + "referencedDeclaration": 1151, "type": "uint256", "value": "i" }, - "id": 973, + "id": 1154, "name": "Identifier", - "src": "4301:1:3" + "src": "4301:1:8" }, { "attributes": { @@ -9075,23 +9075,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 954, + "referencedDeclaration": 1135, "type": "bytes32[] calldata", "value": "_nullifierHashes" }, - "id": 974, + "id": 1155, "name": "Identifier", - "src": "4305:16:3" + "src": "4305:16:8" } ], - "id": 975, + "id": 1156, "name": "MemberAccess", - "src": "4305:23:3" + "src": "4305:23:8" } ], - "id": 976, + "id": 1157, "name": "BinaryOperation", - "src": "4301:27:3" + "src": "4301:27:8" }, { "children": [ @@ -9113,23 +9113,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 970, + "referencedDeclaration": 1151, "type": "uint256", "value": "i" }, - "id": 977, + "id": 1158, "name": "Identifier", - "src": "4330:1:3" + "src": "4330:1:8" } ], - "id": 978, + "id": 1159, "name": "UnaryOperation", - "src": "4330:3:3" + "src": "4330:3:8" } ], - "id": 979, + "id": 1160, "name": "ExpressionStatement", - "src": "4330:3:3" + "src": "4330:3:8" }, { "children": [ @@ -9164,13 +9164,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 951, + "referencedDeclaration": 1132, "type": "function (bytes32) view returns (bool)", "value": "isSpent" }, - "id": 980, + "id": 1161, "name": "Identifier", - "src": "4347:7:3" + "src": "4347:7:8" }, { "attributes": { @@ -9188,13 +9188,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 954, + "referencedDeclaration": 1135, "type": "bytes32[] calldata", "value": "_nullifierHashes" }, - "id": 981, + "id": 1162, "name": "Identifier", - "src": "4355:16:3" + "src": "4355:16:8" }, { "attributes": { @@ -9202,23 +9202,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 970, + "referencedDeclaration": 1151, "type": "uint256", "value": "i" }, - "id": 982, + "id": 1163, "name": "Identifier", - "src": "4372:1:3" + "src": "4372:1:8" } ], - "id": 983, + "id": 1164, "name": "IndexAccess", - "src": "4355:19:3" + "src": "4355:19:8" } ], - "id": 984, + "id": 1165, "name": "FunctionCall", - "src": "4347:28:3" + "src": "4347:28:8" }, { "children": [ @@ -9251,13 +9251,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 958, + "referencedDeclaration": 1139, "type": "bool[] memory", "value": "spent" }, - "id": 985, + "id": 1166, "name": "Identifier", - "src": "4387:5:3" + "src": "4387:5:8" }, { "attributes": { @@ -9265,18 +9265,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 970, + "referencedDeclaration": 1151, "type": "uint256", "value": "i" }, - "id": 986, + "id": 1167, "name": "Identifier", - "src": "4393:1:3" + "src": "4393:1:8" } ], - "id": 987, + "id": 1168, "name": "IndexAccess", - "src": "4387:8:3" + "src": "4387:8:8" }, { "attributes": { @@ -9291,49 +9291,49 @@ "type": "bool", "value": "true" }, - "id": 988, + "id": 1169, "name": "Literal", - "src": "4398:4:3" + "src": "4398:4:8" } ], - "id": 989, + "id": 1170, "name": "Assignment", - "src": "4387:15:3" + "src": "4387:15:8" } ], - "id": 990, + "id": 1171, "name": "ExpressionStatement", - "src": "4387:15:3" + "src": "4387:15:8" } ], - "id": 991, + "id": 1172, "name": "Block", - "src": "4377:34:3" + "src": "4377:34:8" } ], - "id": 992, + "id": 1173, "name": "IfStatement", - "src": "4343:68:3" + "src": "4343:68:8" } ], - "id": 993, + "id": 1174, "name": "Block", - "src": "4335:82:3" + "src": "4335:82:8" } ], - "id": 994, + "id": 1175, "name": "ForStatement", - "src": "4285:132:3" + "src": "4285:132:8" } ], - "id": 995, + "id": 1176, "name": "Block", - "src": "4230:191:3" + "src": "4230:191:8" } ], - "id": 996, + "id": 1177, "name": "FunctionDefinition", - "src": "4128:293:3" + "src": "4128:293:8" }, { "attributes": { @@ -9342,7 +9342,7 @@ "isConstructor": false, "kind": "function", "name": "updateVerifier", - "scope": 1023, + "scope": 1204, "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -9354,7 +9354,7 @@ "attributes": { "constant": false, "name": "_newVerifier", - "scope": 1010, + "scope": 1191, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -9368,19 +9368,19 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 997, + "id": 1178, "name": "ElementaryTypeName", - "src": "4675:7:3" + "src": "4675:7:8" } ], - "id": 998, + "id": 1179, "name": "VariableDeclaration", - "src": "4675:20:3" + "src": "4675:20:8" } ], - "id": 999, + "id": 1180, "name": "ParameterList", - "src": "4674:22:3" + "src": "4674:22:8" }, { "attributes": { @@ -9389,9 +9389,9 @@ ] }, "children": [], - "id": 1002, + "id": 1183, "name": "ParameterList", - "src": "4719:0:3" + "src": "4719:0:8" }, { "attributes": { @@ -9404,18 +9404,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 739, + "referencedDeclaration": 920, "type": "modifier ()", "value": "onlyOperator" }, - "id": 1000, + "id": 1181, "name": "Identifier", - "src": "4706:12:3" + "src": "4706:12:8" } ], - "id": 1001, + "id": 1182, "name": "ModifierInvocation", - "src": "4706:12:3" + "src": "4706:12:8" }, { "children": [ @@ -9438,13 +9438,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 723, + "referencedDeclaration": 904, "type": "contract IVerifier", "value": "verifier" }, - "id": 1003, + "id": 1184, "name": "Identifier", - "src": "4725:8:3" + "src": "4725:8:8" }, { "attributes": { @@ -9472,13 +9472,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 701, + "referencedDeclaration": 882, "type": "type(contract IVerifier)", "value": "IVerifier" }, - "id": 1004, + "id": 1185, "name": "Identifier", - "src": "4736:9:3" + "src": "4736:9:8" }, { "attributes": { @@ -9486,38 +9486,38 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 998, + "referencedDeclaration": 1179, "type": "address", "value": "_newVerifier" }, - "id": 1005, + "id": 1186, "name": "Identifier", - "src": "4746:12:3" + "src": "4746:12:8" } ], - "id": 1006, + "id": 1187, "name": "FunctionCall", - "src": "4736:23:3" + "src": "4736:23:8" } ], - "id": 1007, + "id": 1188, "name": "Assignment", - "src": "4725:34:3" + "src": "4725:34:8" } ], - "id": 1008, + "id": 1189, "name": "ExpressionStatement", - "src": "4725:34:3" + "src": "4725:34:8" } ], - "id": 1009, + "id": 1190, "name": "Block", - "src": "4719:45:3" + "src": "4719:45:8" } ], - "id": 1010, + "id": 1191, "name": "FunctionDefinition", - "src": "4651:113:3" + "src": "4651:113:8" }, { "attributes": { @@ -9526,7 +9526,7 @@ "isConstructor": false, "kind": "function", "name": "changeOperator", - "scope": 1023, + "scope": 1204, "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -9538,7 +9538,7 @@ "attributes": { "constant": false, "name": "_newOperator", - "scope": 1022, + "scope": 1203, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -9552,19 +9552,19 @@ "stateMutability": "nonpayable", "type": "address" }, - "id": 1011, + "id": 1192, "name": "ElementaryTypeName", - "src": "4838:7:3" + "src": "4838:7:8" } ], - "id": 1012, + "id": 1193, "name": "VariableDeclaration", - "src": "4838:20:3" + "src": "4838:20:8" } ], - "id": 1013, + "id": 1194, "name": "ParameterList", - "src": "4837:22:3" + "src": "4837:22:8" }, { "attributes": { @@ -9573,9 +9573,9 @@ ] }, "children": [], - "id": 1016, + "id": 1197, "name": "ParameterList", - "src": "4882:0:3" + "src": "4882:0:8" }, { "attributes": { @@ -9588,18 +9588,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 739, + "referencedDeclaration": 920, "type": "modifier ()", "value": "onlyOperator" }, - "id": 1014, + "id": 1195, "name": "Identifier", - "src": "4869:12:3" + "src": "4869:12:8" } ], - "id": 1015, + "id": 1196, "name": "ModifierInvocation", - "src": "4869:12:3" + "src": "4869:12:8" }, { "children": [ @@ -9622,13 +9622,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 727, + "referencedDeclaration": 908, "type": "address", "value": "operator" }, - "id": 1017, + "id": 1198, "name": "Identifier", - "src": "4888:8:3" + "src": "4888:8:8" }, { "attributes": { @@ -9636,43 +9636,43 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1012, + "referencedDeclaration": 1193, "type": "address", "value": "_newOperator" }, - "id": 1018, + "id": 1199, "name": "Identifier", - "src": "4899:12:3" + "src": "4899:12:8" } ], - "id": 1019, + "id": 1200, "name": "Assignment", - "src": "4888:23:3" + "src": "4888:23:8" } ], - "id": 1020, + "id": 1201, "name": "ExpressionStatement", - "src": "4888:23:3" + "src": "4888:23:8" } ], - "id": 1021, + "id": 1202, "name": "Block", - "src": "4882:34:3" + "src": "4882:34:8" } ], - "id": 1022, + "id": 1203, "name": "FunctionDefinition", - "src": "4814:102:3" + "src": "4814:102:8" } ], - "id": 1023, + "id": 1204, "name": "ContractDefinition", - "src": "318:4600:3" + "src": "318:4600:8" } ], - "id": 1024, + "id": 1205, "name": "SourceUnit", - "src": "0:4919:3" + "src": "0:4919:8" }, "compiler": { "name": "solc", @@ -9680,7 +9680,7 @@ }, "networks": {}, "schemaVersion": "3.3.4", - "updatedAt": "2021-04-02T22:52:06.050Z", + "updatedAt": "2021-04-04T20:21:29.876Z", "devdoc": { "methods": { "changeOperator(address)": { diff --git a/client/contracts/Verifier.json b/client/contracts/Verifier.json index 332e2ba..d5ccbe4 100644 --- a/client/contracts/Verifier.json +++ b/client/contracts/Verifier.json @@ -64,28 +64,28 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"},{\"internalType\":\"uint256[6]\",\"name\":\"inputs\",\"type\":\"uint256[6]\"}],\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"r\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256[2]\",\"name\":\"a\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2][2]\",\"name\":\"b\",\"type\":\"uint256[2][2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"c\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[6]\",\"name\":\"input\",\"type\":\"uint256[6]\"}],\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"r\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Verifier.sol\":\"Verifier\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/brianli/dotfiles/tornado-core/contracts/Verifier.sol\":{\"keccak256\":\"0x2d2106b71c711cca4104f3461070179aaf8be85b69fda7c8dfcd76814485c881\",\"urls\":[\"bzz-raw://7474a6137fdc929a57f92915260c8a3844afba69851cd58dc914b805a959ad5c\",\"dweb:/ipfs/QmRXy5mfEjqEJizefADC5GHC2o7TMD7ZDq2N55WZbSnUwi\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50611272806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063695ef6f91461003b578063f398789b146100be575b600080fd5b6100aa600480360360e081101561005157600080fd5b81019060208101813564010000000081111561006c57600080fd5b82018360208201111561007e57600080fd5b803590602001918460018302840111640100000000831117156100a057600080fd5b91935091506101ba565b604080519115158252519081900360200190f35b6100aa60048036036101c08110156100d557600080fd5b6040805180820182529183019291818301918390600290839083908082843760009201829052506040805180820190915293969594608081019493509150600290835b828210156101565760408051808201825290808402860190600290839083908082843760009201919091525050508152600190910190602001610118565b50506040805180820182529396959481810194935091506002908390839080828437600092019190915250506040805160c0818101909252929594938181019392509060069083908390808284376000920191909152509194506102f39350505050565b60006101c4611112565b6101cc611112565b6101d4611112565b6101dc611112565b87876101008110156101ed57600080fd5b604080518082018252918301929181830191839060029083908390808284376000920191909152505060408051808201825292959493818101939250906002908390839080828437600092019190915250506040805180820182529295949381810193925090600290839083908082843760009201919091525050604080518082018252929594938181019392509060029083908390808284376000920191909152505060408051808201825288815260208101889052815160c0818101909352999d50979b509599509097506102e7968b96958995509093508d92506006915083908390808284376000920191909152506102f3915050565b98975050505050505050565b60006102fd611130565b6040805180820182528751815260208089015181830152908352815160808101835287515181840190815288518301516060808401919091529082528351808501855289840180515182525184015181850152828401528483019190915282518084018452875181528783015181840152848401528251600680825260e0820190945290929091820160c08038833901905050905060005b60068110156103ce578481600681106103aa57fe5b60200201518282815181106103bb57fe5b6020908102919091010152600101610395565b506103d981836103f7565b6103e8576001925050506103ef565b6000925050505b949350505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610422611162565b61042a6105cf565b905080608001515185516001011461047e576040805162461bcd60e51b81526020600482015260126024820152711d995c9a599a595c8b5898590b5a5b9c1d5d60721b604482015290519081900360640190fd5b6104866111a9565b50604080518082019091526000808252602082018190525b865181101561055857838782815181106104b457fe5b60200260200101511061050e576040805162461bcd60e51b815260206004820152601f60248201527f76657269666965722d6774652d736e61726b2d7363616c61722d6669656c6400604482015290519081900360640190fd5b61054e826105498560800151846001018151811061052857fe5b60200260200101518a858151811061053c57fe5b6020026020010151610b87565b610c1c565b915060010161049e565b5061057b81836080015160008151811061056e57fe5b6020026020010151610c1c565b90506105b161058d8660000151610cad565b8660200151846000015185602001518587604001518b604001518960600151610d39565b6105c157600193505050506105c9565b600093505050505b92915050565b6105d7611162565b6040805180820182527f1b8c6347c1e0d05d36e2b70469f75ba0c8871929a6fbdc36a0c0389cb108956a81527f0484e79a6e2d3801157dd0dcd6980425ff9bd6178ded57c3022234bb0477b0f26020808301919091529083528151608080820184527f2391325fc3329172d210bc05972b8293467ef06100ef6758210ed5cf909b1d528285019081527f08f2b30d40b1153d04def12b1d606d17e2fd2b8f68be34f5b96eb88538434456606080850191909152908352845180860186527f1f88a93e9b95eea64c5f985d448946e727fe3b6224fa734aa6f152787465f6ee81527f055019c37c7074dede28306eec08eb2d3cdad04ad98ac1b0cd892118a9f8d12e818601528385015285840192909252835180820185527f2811692f60f674aa59d855e1646fac16f400cc808b7479136f12c5df69e1d9c18186019081527f26ed72c4ccc25752e3fc778fd5338d2ba3529f4d05b5865dea2157c834988461828501528152845180860186527f18604204d41390c0bbc5844eb26b411695ad5c611001c9031d1b313ffda7e73c81527f2613e57964a78dba91756a9e92f984a956fc44f54e21a5dd14de38e535504259818601528185015285850152835190810184527f0d592c7c4ebc35fd3a115258b9497dd798220a1287bd4a869595318c6233dd038185019081527f010368c87264a0d5bcffa1e4b0a1655a38e130ec528cb93b9b1d9ca74a36b401828401528152835180850185527f2154012f380f6cd6ff1b84e602f8d98eee346d76b828cd645a4ed55797165e8081527f0a102e437c601e17026c6df89adfe66c6ca02336334e9d6bbb730165b7a1c868818501528184015290840152815160078082526101008201909352919082015b61085b6111a9565b81526020019060019003908161085357505060808201908152604080518082019091527f07407ff7ce65a7ba350c37e5711f81a3137ef8f8e730ce51d464530e7aee858581527f090e5ecfdce3bf145a596236112b4458e7c1fd864fac19a3d381f5e669dcb4316020820152905180516000906108d457fe5b602002602001018190525060405180604001604052807f01f58035c62b98083a859510e84a49fa4f557b4d2e0630ba2e7f542fef486e6e81526020017f226c70b5b44234c53da55fd63ec8b5e2d1efc48b83596d69e8b2b12349f73ecd815250816080015160018151811061094557fe5b602002602001018190525060405180604001604052807f0a9eeae5ea70740d56b59bee5c038ffcac9fe9414cca2127136dc3d993e278d881526020017f14d464598f70a4be2cac1e1eb22c4dca44ba15b730bfaea5e0ff206f604aaf0f81525081608001516002815181106109b657fe5b602002602001018190525060405180604001604052807f12ead3ed5042deb31a77894dd46a4aa9c14cd691ce1bf69f4c055535727af6fa81526020017f06be94499c8dba02bfa4efea636dad5fd2f76cf5b44a4a7b0f090f3e2f8c87298152508160800151600381518110610a2757fe5b602002602001018190525060405180604001604052807eaa57e26e12c6182634f4432c8c9257506f8394d9ce77f55b6eb76df49a848b81526020017f105b6b86cdae86b8b60aa6d4679c6e253f1abd3c146c95070b47940e840c44178152508160800151600481518110610a9757fe5b602002602001018190525060405180604001604052807f2c0a606a26b865caa80d90436951e8793eb5deb1147e6ff687a5eb8e650c331381526020017f2cb3db3a0b773ae18a86baafb715d991782d8abbc83ce76695f8fe6334fca1268152508160800151600581518110610b0857fe5b602002602001018190525060405180604001604052807f2ba393c661345fcd4c98277715e3a9e70c4bf138b665530fef0106ce9e14eed381526020017f25b2deb87dccf94b4d06cce32324657d2eec20eff82761fb878144d512cb56b78152508160800151600681518110610b7957fe5b602002602001018190525090565b610b8f6111a9565b610b976111c3565b835181526020808501519082015260408101839052600060608360808460076107d05a03fa9050808015610bca57610bcc565bfe5b5080610c14576040805162461bcd60e51b81526020600482015260126024820152711c185a5c9a5b99cb5b5d5b0b59985a5b195960721b604482015290519081900360640190fd5b505092915050565b610c246111a9565b610c2c6111e1565b8351815260208085015181830152835160408301528301516060808301919091526000908360c08460066107d05a03fa9050808015610bca575080610c14576040805162461bcd60e51b81526020600482015260126024820152711c185a5c9a5b99cb5859190b59985a5b195960721b604482015290519081900360640190fd5b610cb56111a9565b81517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4790158015610ce857506020830151155b15610d085750506040805180820190915260008082526020820152610d34565b60405180604001604052808460000151815260200182856020015181610d2a57fe5b0683038152509150505b919050565b60408051600480825260a0820190925260009160609190816020015b610d5d6111a9565b815260200190600190039081610d5557505060408051600480825260a0820190925291925060609190602082015b610d936111ff565b815260200190600190039081610d8b5790505090508a82600081518110610db657fe5b60200260200101819052508882600181518110610dcf57fe5b60200260200101819052508682600281518110610de857fe5b60200260200101819052508482600381518110610e0157fe5b60200260200101819052508981600081518110610e1a57fe5b60200260200101819052508781600181518110610e3357fe5b60200260200101819052508581600281518110610e4c57fe5b60200260200101819052508381600381518110610e6557fe5b6020026020010181905250610e7a8282610e89565b9b9a5050505050505050505050565b60008151835114610eda576040805162461bcd60e51b81526020600482015260166024820152751c185a5c9a5b99cb5b195b99dd1a1ccb59985a5b195960521b604482015290519081900360640190fd5b8251604080516006830280825260c084028201602001909252606090828015610f0d578160200160208202803883390190505b50905060005b8381101561109257868181518110610f2757fe5b602002602001015160000151828260060260000181518110610f4557fe5b602002602001018181525050868181518110610f5d57fe5b602002602001015160200151828260060260010181518110610f7b57fe5b602002602001018181525050858181518110610f9357fe5b602090810291909101015151518251839060026006850201908110610fb457fe5b602002602001018181525050858181518110610fcc57fe5b60209081029190910101515160016020020151828260060260030181518110610ff157fe5b60200260200101818152505085818151811061100957fe5b60200260200101516020015160006002811061102157fe5b602002015182826006026004018151811061103857fe5b60200260200101818152505085818151811061105057fe5b60200260200101516020015160016002811061106857fe5b602002015182826006026005018151811061107f57fe5b6020908102919091010152600101610f13565b5061109b61121f565b6000602082602086026020860160086107d05a03fa9050808015610bca575080611104576040805162461bcd60e51b81526020600482015260156024820152741c185a5c9a5b99cb5bdc18dbd9194b59985a5b1959605a1b604482015290519081900360640190fd5b505115159695505050505050565b60405180604001604052806002906020820280388339509192915050565b60405180606001604052806111436111a9565b81526020016111506111ff565b815260200161115d6111a9565b905290565b6040518060a001604052806111756111a9565b81526020016111826111ff565b815260200161118f6111ff565b815260200161119c6111ff565b8152602001606081525090565b604051806040016040528060008152602001600081525090565b60405180606001604052806003906020820280388339509192915050565b60405180608001604052806004906020820280388339509192915050565b6040518060400160405280611212611112565b815260200161115d611112565b6040518060200160405280600190602082028038833950919291505056fea265627a7a72315820f60e629758763e369f88111c2c79994dee9cebc52aa5f18632cb828d8d4a9f5564736f6c63430005110032", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063695ef6f91461003b578063f398789b146100be575b600080fd5b6100aa600480360360e081101561005157600080fd5b81019060208101813564010000000081111561006c57600080fd5b82018360208201111561007e57600080fd5b803590602001918460018302840111640100000000831117156100a057600080fd5b91935091506101ba565b604080519115158252519081900360200190f35b6100aa60048036036101c08110156100d557600080fd5b6040805180820182529183019291818301918390600290839083908082843760009201829052506040805180820190915293969594608081019493509150600290835b828210156101565760408051808201825290808402860190600290839083908082843760009201919091525050508152600190910190602001610118565b50506040805180820182529396959481810194935091506002908390839080828437600092019190915250506040805160c0818101909252929594938181019392509060069083908390808284376000920191909152509194506102f39350505050565b60006101c4611112565b6101cc611112565b6101d4611112565b6101dc611112565b87876101008110156101ed57600080fd5b604080518082018252918301929181830191839060029083908390808284376000920191909152505060408051808201825292959493818101939250906002908390839080828437600092019190915250506040805180820182529295949381810193925090600290839083908082843760009201919091525050604080518082018252929594938181019392509060029083908390808284376000920191909152505060408051808201825288815260208101889052815160c0818101909352999d50979b509599509097506102e7968b96958995509093508d92506006915083908390808284376000920191909152506102f3915050565b98975050505050505050565b60006102fd611130565b6040805180820182528751815260208089015181830152908352815160808101835287515181840190815288518301516060808401919091529082528351808501855289840180515182525184015181850152828401528483019190915282518084018452875181528783015181840152848401528251600680825260e0820190945290929091820160c08038833901905050905060005b60068110156103ce578481600681106103aa57fe5b60200201518282815181106103bb57fe5b6020908102919091010152600101610395565b506103d981836103f7565b6103e8576001925050506103ef565b6000925050505b949350505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610422611162565b61042a6105cf565b905080608001515185516001011461047e576040805162461bcd60e51b81526020600482015260126024820152711d995c9a599a595c8b5898590b5a5b9c1d5d60721b604482015290519081900360640190fd5b6104866111a9565b50604080518082019091526000808252602082018190525b865181101561055857838782815181106104b457fe5b60200260200101511061050e576040805162461bcd60e51b815260206004820152601f60248201527f76657269666965722d6774652d736e61726b2d7363616c61722d6669656c6400604482015290519081900360640190fd5b61054e826105498560800151846001018151811061052857fe5b60200260200101518a858151811061053c57fe5b6020026020010151610b87565b610c1c565b915060010161049e565b5061057b81836080015160008151811061056e57fe5b6020026020010151610c1c565b90506105b161058d8660000151610cad565b8660200151846000015185602001518587604001518b604001518960600151610d39565b6105c157600193505050506105c9565b600093505050505b92915050565b6105d7611162565b6040805180820182527f1b8c6347c1e0d05d36e2b70469f75ba0c8871929a6fbdc36a0c0389cb108956a81527f0484e79a6e2d3801157dd0dcd6980425ff9bd6178ded57c3022234bb0477b0f26020808301919091529083528151608080820184527f2391325fc3329172d210bc05972b8293467ef06100ef6758210ed5cf909b1d528285019081527f08f2b30d40b1153d04def12b1d606d17e2fd2b8f68be34f5b96eb88538434456606080850191909152908352845180860186527f1f88a93e9b95eea64c5f985d448946e727fe3b6224fa734aa6f152787465f6ee81527f055019c37c7074dede28306eec08eb2d3cdad04ad98ac1b0cd892118a9f8d12e818601528385015285840192909252835180820185527f2811692f60f674aa59d855e1646fac16f400cc808b7479136f12c5df69e1d9c18186019081527f26ed72c4ccc25752e3fc778fd5338d2ba3529f4d05b5865dea2157c834988461828501528152845180860186527f18604204d41390c0bbc5844eb26b411695ad5c611001c9031d1b313ffda7e73c81527f2613e57964a78dba91756a9e92f984a956fc44f54e21a5dd14de38e535504259818601528185015285850152835190810184527f0d592c7c4ebc35fd3a115258b9497dd798220a1287bd4a869595318c6233dd038185019081527f010368c87264a0d5bcffa1e4b0a1655a38e130ec528cb93b9b1d9ca74a36b401828401528152835180850185527f2154012f380f6cd6ff1b84e602f8d98eee346d76b828cd645a4ed55797165e8081527f0a102e437c601e17026c6df89adfe66c6ca02336334e9d6bbb730165b7a1c868818501528184015290840152815160078082526101008201909352919082015b61085b6111a9565b81526020019060019003908161085357505060808201908152604080518082019091527f07407ff7ce65a7ba350c37e5711f81a3137ef8f8e730ce51d464530e7aee858581527f090e5ecfdce3bf145a596236112b4458e7c1fd864fac19a3d381f5e669dcb4316020820152905180516000906108d457fe5b602002602001018190525060405180604001604052807f01f58035c62b98083a859510e84a49fa4f557b4d2e0630ba2e7f542fef486e6e81526020017f226c70b5b44234c53da55fd63ec8b5e2d1efc48b83596d69e8b2b12349f73ecd815250816080015160018151811061094557fe5b602002602001018190525060405180604001604052807f0a9eeae5ea70740d56b59bee5c038ffcac9fe9414cca2127136dc3d993e278d881526020017f14d464598f70a4be2cac1e1eb22c4dca44ba15b730bfaea5e0ff206f604aaf0f81525081608001516002815181106109b657fe5b602002602001018190525060405180604001604052807f12ead3ed5042deb31a77894dd46a4aa9c14cd691ce1bf69f4c055535727af6fa81526020017f06be94499c8dba02bfa4efea636dad5fd2f76cf5b44a4a7b0f090f3e2f8c87298152508160800151600381518110610a2757fe5b602002602001018190525060405180604001604052807eaa57e26e12c6182634f4432c8c9257506f8394d9ce77f55b6eb76df49a848b81526020017f105b6b86cdae86b8b60aa6d4679c6e253f1abd3c146c95070b47940e840c44178152508160800151600481518110610a9757fe5b602002602001018190525060405180604001604052807f2c0a606a26b865caa80d90436951e8793eb5deb1147e6ff687a5eb8e650c331381526020017f2cb3db3a0b773ae18a86baafb715d991782d8abbc83ce76695f8fe6334fca1268152508160800151600581518110610b0857fe5b602002602001018190525060405180604001604052807f2ba393c661345fcd4c98277715e3a9e70c4bf138b665530fef0106ce9e14eed381526020017f25b2deb87dccf94b4d06cce32324657d2eec20eff82761fb878144d512cb56b78152508160800151600681518110610b7957fe5b602002602001018190525090565b610b8f6111a9565b610b976111c3565b835181526020808501519082015260408101839052600060608360808460076107d05a03fa9050808015610bca57610bcc565bfe5b5080610c14576040805162461bcd60e51b81526020600482015260126024820152711c185a5c9a5b99cb5b5d5b0b59985a5b195960721b604482015290519081900360640190fd5b505092915050565b610c246111a9565b610c2c6111e1565b8351815260208085015181830152835160408301528301516060808301919091526000908360c08460066107d05a03fa9050808015610bca575080610c14576040805162461bcd60e51b81526020600482015260126024820152711c185a5c9a5b99cb5859190b59985a5b195960721b604482015290519081900360640190fd5b610cb56111a9565b81517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4790158015610ce857506020830151155b15610d085750506040805180820190915260008082526020820152610d34565b60405180604001604052808460000151815260200182856020015181610d2a57fe5b0683038152509150505b919050565b60408051600480825260a0820190925260009160609190816020015b610d5d6111a9565b815260200190600190039081610d5557505060408051600480825260a0820190925291925060609190602082015b610d936111ff565b815260200190600190039081610d8b5790505090508a82600081518110610db657fe5b60200260200101819052508882600181518110610dcf57fe5b60200260200101819052508682600281518110610de857fe5b60200260200101819052508482600381518110610e0157fe5b60200260200101819052508981600081518110610e1a57fe5b60200260200101819052508781600181518110610e3357fe5b60200260200101819052508581600281518110610e4c57fe5b60200260200101819052508381600381518110610e6557fe5b6020026020010181905250610e7a8282610e89565b9b9a5050505050505050505050565b60008151835114610eda576040805162461bcd60e51b81526020600482015260166024820152751c185a5c9a5b99cb5b195b99dd1a1ccb59985a5b195960521b604482015290519081900360640190fd5b8251604080516006830280825260c084028201602001909252606090828015610f0d578160200160208202803883390190505b50905060005b8381101561109257868181518110610f2757fe5b602002602001015160000151828260060260000181518110610f4557fe5b602002602001018181525050868181518110610f5d57fe5b602002602001015160200151828260060260010181518110610f7b57fe5b602002602001018181525050858181518110610f9357fe5b602090810291909101015151518251839060026006850201908110610fb457fe5b602002602001018181525050858181518110610fcc57fe5b60209081029190910101515160016020020151828260060260030181518110610ff157fe5b60200260200101818152505085818151811061100957fe5b60200260200101516020015160006002811061102157fe5b602002015182826006026004018151811061103857fe5b60200260200101818152505085818151811061105057fe5b60200260200101516020015160016002811061106857fe5b602002015182826006026005018151811061107f57fe5b6020908102919091010152600101610f13565b5061109b61121f565b6000602082602086026020860160086107d05a03fa9050808015610bca575080611104576040805162461bcd60e51b81526020600482015260156024820152741c185a5c9a5b99cb5bdc18dbd9194b59985a5b1959605a1b604482015290519081900360640190fd5b505115159695505050505050565b60405180604001604052806002906020820280388339509192915050565b60405180606001604052806111436111a9565b81526020016111506111ff565b815260200161115d6111a9565b905290565b6040518060a001604052806111756111a9565b81526020016111826111ff565b815260200161118f6111ff565b815260200161119c6111ff565b8152602001606081525090565b604051806040016040528060008152602001600081525090565b60405180606001604052806003906020820280388339509192915050565b60405180608001604052806004906020820280388339509192915050565b6040518060400160405280611212611112565b815260200161115d611112565b6040518060200160405280600190602082028038833950919291505056fea265627a7a72315820f60e629758763e369f88111c2c79994dee9cebc52aa5f18632cb828d8d4a9f5564736f6c63430005110032", - "sourceMap": "7067:5039:4:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7067:5039:4;;;;;;;", - "deployedSourceMap": "7067:5039:4:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7067:5039:4;;;;;;;;;;;;;;;;;;;;;;;;11743:361;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;11743:361:4;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;11743:361:4;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11743:361:4;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11743:361:4;;-1:-1:-1;11743:361:4;-1:-1:-1;11743:361:4;:::i;:::-;;;;;;;;;;;;;;;;;;11063:675;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;11063:675:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;1:33:-1;99:1;81:16;;74:27;;;-1:-1;11063:675:4;;;;;;;;;;;;;;;;;;-1:-1:-1;11063:675:4;-1:-1:-1;11063:675:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;;;11063:675:4;;;;;;;;;;;;-1:-1:-1;;11063:675:4;;;;;;;;;;;;;;;;;-1:-1:-1;11063:675:4;-1:-1:-1;11063:675:4;;;;;;;;;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;;11063:675:4;;;;;;;;;;;;;;;;;;;-1:-1:-1;11063:675:4;;;;;;;;;;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;11063:675:4;;-1:-1:-1;11063:675:4;;-1:-1:-1;;;;11063:675:4:i;11743:361::-;11834:6;11914:16;;:::i;:::-;11932:17;;:::i;:::-;11951;;:::i;:::-;11970:16;;:::i;:::-;12001:5;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;11990:55:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;;11990:55:4;;;;;;;;;;;;;;;;;-1:-1:-1;11990:55:4;;;;;;;;;;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;;11990:55:4;;;;;;;;;;;;;;;;;-1:-1:-1;11990:55:4;;;;;;;;;;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;;11990:55:4;;;;;;;;;;;;;;;;;-1:-1:-1;11990:55:4;;;;;;;;;;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;;12062:35:4;;;;;;;;;;;;;;;;;;;;;;;;;;11913:132;;-1:-1:-1;11913:132:4;;-1:-1:-1;11913:132:4;;-1:-1:-1;11990:55:4;;-1:-1:-1;12062:35:4;;11913:132;;12062:35;11990:55;;-1:-1:-1;12062:35:4;;-1:-1:-1;12090:6:4;;-1:-1:-1;12062:35:4;;-1:-1:-1;12062:35:4;;12090:6;;12062:35;12090:6;12062:35;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;12062:11:4;;-1:-1:-1;;12062:35:4:i;:::-;12055:42;11743:361;-1:-1:-1;;;;;;;;11743:361:4:o;11063:675::-;11242:6;11260:18;;:::i;:::-;11298:27;;;;;;;;11314:4;;11298:27;;11314:4;11320;;;;11298:27;;;;11288:37;;;11345:55;;;;;;;11362:4;;:7;11345:55;;;;;;11371:4;;:7;;;11345:55;;;;;;;;;;;;;;;;;;11382:4;;;;;:7;11345:55;;11391:4;:7;;;11345:55;;;;-1:-1:-1;;;11345:55:4;11335:7;;;:65;;;;11420:27;;;;;;;11436:4;;11420:27;;11442:4;;;;11420:27;;;;11410:7;;;:37;11485:24;;11496:12;11485:24;;;;;;;;;11345:55;;11485:24;;;;17:15:-1;;105:10;11485:24:4;88:34:-1;136:17;;-1:-1;;11457:52:4;-1:-1:-1;11523:6:4;11519:88;11539:12;11535:1;:16;11519:88;;;11588:5;11594:1;11588:8;;;;;;;;;;;11571:11;11583:1;11571:14;;;;;;;;;;;;;;;;;:25;11553:3;;11519:88;;;;11620:26;11627:11;11640:5;11620:6;:26::i;:::-;11616:116;;11674:4;11667:11;;;;;;11616:116;11716:5;11709:12;;;;11063:675;;;;;;;:::o;10126:932::-;10206:4;10251:77;10338:22;;:::i;:::-;10363:14;:12;:14::i;:::-;10338:39;;10415:2;:5;;;:12;10395:5;:12;10410:1;10395:16;:32;10387:62;;;;;-1:-1:-1;;;10387:62:4;;;;;;;;;;;;-1:-1:-1;;;10387:62:4;;;;;;;;;;;;;;;10506:27;;:::i;:::-;-1:-1:-1;10536:21:4;;;;;;;;;-1:-1:-1;10536:21:4;;;;;;;;;10567:224;10588:5;:12;10584:1;:16;10567:224;;;10640:18;10629:5;10635:1;10629:8;;;;;;;;;;;;;;:29;10621:72;;;;;-1:-1:-1;;;10621:72:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;10714:66;10731:4;10737:42;10756:2;:5;;;10762:1;10766;10762:5;10756:12;;;;;;;;;;;;;;10770:5;10776:1;10770:8;;;;;;;;;;;;;;10737:18;:42::i;:::-;10714:16;:66::i;:::-;10707:73;-1:-1:-1;10602:3:4;;10567:224;;;;10807:32;10824:4;10830:2;:5;;;10836:1;10830:8;;;;;;;;;;;;;;10807:16;:32::i;:::-;10800:39;;10854:169;10888:23;10903:5;:7;;;10888:14;:23::i;:::-;10913:5;:7;;;10934:2;:8;;;10944:2;:8;;;10966:4;10972:2;:9;;;10995:5;:7;;;11004:2;:9;;;10854:20;:169::i;:::-;10849:184;;11032:1;11025:8;;;;;;;10849:184;11050:1;11043:8;;;;;10126:932;;;;;:::o;7410:2711::-;7457:22;;:::i;:::-;7502:171;;;;;;;;7518:77;7502:171;;7596:76;7502:171;;;;;;;;7491:182;;;7694:331;;;;;;;;7711:77;7694:331;;;;;;7789:76;7694:331;;;;;;;;;;;;;;;;;;7869:77;7694:331;;7947:76;7694:331;;;;-1:-1:-1;;;7694:331:4;7683:8;;;:342;;;;8047:333;;;;;;;8064:77;8047:333;;;;;;8142:77;8047:333;;;;;;;;;;;;;8223:77;8047:333;;8301:77;8047:333;;;;-1:-1:-1;;;8047:333:4;8035:9;;;:345;8402:329;;;;;;;8419:76;8402:329;;;;;;8496:75;8402:329;;;;;;;;;;;;;8575:77;8402:329;;8653:76;8402:329;;;;-1:-1:-1;;;8402:329:4;8390:9;;;:341;8749:24;;8771:1;8749:24;;;;;;;;;;8771:1;8749:24;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;8741:5:4;;;:32;;;8794:170;;;;;;;;;8810:76;8794:170;;8887:76;8794:170;;;;8783:5;;:8;;-1:-1:-1;;8783:8:4;;;;;;;;;:181;;;;8985:170;;;;;;;;9001:75;8985:170;;;;9077:77;8985:170;;;8974:2;:5;;;8980:1;8974:8;;;;;;;;;;;;;:181;;;;9176:170;;;;;;;;9192:76;9176:170;;;;9269:76;9176:170;;;9165:2;:5;;;9171:1;9165:8;;;;;;;;;;;;;:181;;;;9367:170;;;;;;;;9383:76;9367:170;;;;9460:76;9367:170;;;9356:2;:5;;;9362:1;9356:8;;;;;;;;;;;;;:181;;;;9558:169;;;;;;;;9574:75;9558:169;;;;9650:76;9558:169;;;9547:2;:5;;;9553:1;9547:8;;;;;;;;;;;;;:180;;;;9748:172;;;;;;;;9764:77;9748:172;;;;9842:77;9748:172;;;9737:2;:5;;;9743:1;9737:8;;;;;;;;;;;;;:183;;;;9941:172;;;;;;;;9957:77;9941:172;;;;10035:77;9941:172;;;9930:2;:5;;;9936:1;9930:8;;;;;;;;;;;;;:183;;;;7410:2711;:::o;3722:537::-;3791:16;;:::i;:::-;3819:20;;:::i;:::-;3860:3;;3849:14;;:8;3884:3;;;;3873:8;;;:14;3897:8;;;:12;;;-1:-1:-1;4085:4:4;4082:1;4076:4;3849:14;4066:1;4059:4;4054:3;4050:14;4039:51;4028:62;-1:-1:-1;4028:62:4;4175:20;;;;4160:35;;4175:20;4184:9;4160:35;;4223:7;4214:38;;;;;-1:-1:-1;;;4214:38:4;;;;;;;;;;;;-1:-1:-1;;;4214:38:4;;;;;;;;;;;;;;;3722:537;;;;;;:::o;2993:576::-;3072:16;;:::i;:::-;3100:20;;:::i;:::-;3141:4;;3130:15;;:8;3166:4;;;;3155:8;;;:15;3191:4;;3180:8;;;:15;3216:4;;;3205:8;;;;:15;;;;-1:-1:-1;;3393:1:4;3387:4;3130:15;3377:1;3370:4;3365:3;3361:14;3350:51;3339:62;-1:-1:-1;3339:62:4;3486:20;;;;3471:35;3533:7;3525:37;;;;;-1:-1:-1;;;3525:37:4;;;;;;;;;;;;-1:-1:-1;;;3525:37:4;;;;;;;;;;;;;;2604:340;2661:14;;:::i;:::-;2839:3;;2748:77;;2839:8;:20;;;;-1:-1:-1;2851:3:4;;;;:8;2839:20;2835:58;;;-1:-1:-1;;2880:13:4;;;;;;;;;-1:-1:-1;2880:13:4;;;;;;;2873:20;;2835:58;2910:27;;;;;;;;2918:1;:3;;;2910:27;;;;2934:1;2928;:3;;;:7;;;;;;2923:1;:13;2910:27;;;2903:34;;;2604:340;;;;:::o;6512:552::-;6801:16;;;6815:1;6801:16;;;;;;;;;6763:4;;6779:19;;6801:16;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;6849:16:4;;;6863:1;6849:16;;;;;;;;;6779:38;;-1:-1:-1;6827:19:4;;6849:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6827:38;;6883:2;6875;6878:1;6875:5;;;;;;;;;;;;;:10;;;;6903:2;6895;6898:1;6895:5;;;;;;;;;;;;;:10;;;;6923:2;6915;6918:1;6915:5;;;;;;;;;;;;;:10;;;;6943:2;6935;6938:1;6935:5;;;;;;;;;;;;;:10;;;;6963:2;6955;6958:1;6955:5;;;;;;;;;;;;;:10;;;;6983:2;6975;6978:1;6975:5;;;;;;;;;;;;;:10;;;;7003:2;6995;6998:1;6995:5;;;;;;;;;;;;;:10;;;;7023:2;7015;7018:1;7015:5;;;;;;;;;;;;;:10;;;;7042:15;7050:2;7054;7042:7;:15::i;:::-;7035:22;6512:552;-1:-1:-1;;;;;;;;;;;6512:552:4:o;4470:1034::-;4552:4;4589:2;:9;4576:2;:9;:22;4568:56;;;;;-1:-1:-1;;;4568:56:4;;;;;;;;;;;;-1:-1:-1;;;4568:56:4;;;;;;;;;;;;;;;4650:9;;4730:21;;;4697:1;4686:12;;4730:21;;;;;;;;;;;;;4708:19;;4686:12;4730:21;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;4730:21:4;-1:-1:-1;4708:43:4;-1:-1:-1;4766:6:4;4761:307;4782:8;4778:1;:12;4761:307;;;4838:2;4841:1;4838:5;;;;;;;;;;;;;;:7;;;4819:5;4825:1;4829;4825:5;4833:1;4825:9;4819:16;;;;;;;;;;;;;:26;;;;;4878:2;4881:1;4878:5;;;;;;;;;;;;;;:7;;;4859:5;4865:1;4869;4865:5;4873:1;4865:9;4859:16;;;;;;;;;;;;;:26;;;;;4918:2;4921:1;4918:5;;;;;;;;;;;;;;;;;;:7;:10;4899:16;;:5;;4913:1;4909;4905:5;;:9;;4899:16;;;;;;;;;;;:29;;;;;4961:2;4964:1;4961:5;;;;;;;;;;;;;;;;;;:7;4969:1;4961:10;;;;4942:5;4948:1;4952;4948:5;4956:1;4948:9;4942:16;;;;;;;;;;;;;:29;;;;;5004:2;5007:1;5004:5;;;;;;;;;;;;;;:7;;;5012:1;5004:10;;;;;;;;;;;4985:5;4991:1;4995;4991:5;4999:1;4991:9;4985:16;;;;;;;;;;;;;:29;;;;;5047:2;5050:1;5047:5;;;;;;;;;;;;;;:7;;;5055:1;5047:10;;;;;;;;;;;5028:5;5034:1;5038;5034:5;5042:1;5034:9;5028:16;;;;;;;;;;;;;;;;;:29;4792:3;;4761:307;;;;5077:18;;:::i;:::-;5105:12;5300:4;5295:3;5288:4;5277:9;5273:20;5266:4;5259:5;5255:16;5252:1;5245:4;5240:3;5236:14;5225:80;5214:91;-1:-1:-1;5214:91:4;5390:20;;;;5375:35;5437:7;5429:40;;;;;-1:-1:-1;;;5429:40:4;;;;;;;;;;;;-1:-1:-1;;;5429:40:4;;;;;;;;;;;;;;;-1:-1:-1;5486:6:4;:11;;;;-1:-1:-1;;;;;;4470:1034:4:o;7067:5039::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;7067:5039:4;;;-1:-1:-1;;7067:5039:4:o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;7067:5039:4;;;-1:-1:-1;;7067:5039:4:o;:::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;7067:5039:4;;;-1:-1:-1;;7067:5039:4:o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;7067:5039:4;;;-1:-1:-1;;7067:5039:4:o", - "source": "//\n// Copyright 2017 Christian Reitwiessner\n// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n//\n// 2019 OKIMS\n// ported to solidity 0.5\n// fixed linter warnings\n// added requiere error messages\n//\npragma solidity ^0.5.0;\nlibrary Pairing {\n struct G1Point {\n uint X;\n uint Y;\n }\n // Encoding of field elements is: X[0] * z + X[1]\n struct G2Point {\n uint[2] X;\n uint[2] Y;\n }\n /// @return the generator of G1\n function P1() internal pure returns (G1Point memory) {\n return G1Point(1, 2);\n }\n /// @return the generator of G2\n function P2() internal pure returns (G2Point memory) {\n // Original code point\n return G2Point(\n [11559732032986387107991004021392285783925812861821192530917403151452391805634,\n 10857046999023057135944570762232829481370756359578518086990519993285655852781],\n [4082367875863433681332203403145435568316851327593401208105741076214120093531,\n 8495653923123431417604973247489272438418190587263600148770280649306958101930]\n );\n\n/*\n // Changed by Jordi point\n return G2Point(\n [10857046999023057135944570762232829481370756359578518086990519993285655852781,\n 11559732032986387107991004021392285783925812861821192530917403151452391805634],\n [8495653923123431417604973247489272438418190587263600148770280649306958101930,\n 4082367875863433681332203403145435568316851327593401208105741076214120093531]\n );\n*/\n }\n /// @return the negation of p, i.e. p.addition(p.negate()) should be zero.\n function negate(G1Point memory p) internal pure returns (G1Point memory) {\n // The prime q in the base field F_q for G1\n uint q = 21888242871839275222246405745257275088696311157297823662689037894645226208583;\n if (p.X == 0 && p.Y == 0)\n return G1Point(0, 0);\n return G1Point(p.X, q - (p.Y % q));\n }\n /// @return the sum of two points of G1\n function addition(G1Point memory p1, G1Point memory p2) internal view returns (G1Point memory r) {\n uint[4] memory input;\n input[0] = p1.X;\n input[1] = p1.Y;\n input[2] = p2.X;\n input[3] = p2.Y;\n bool success;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n success := staticcall(sub(gas, 2000), 6, input, 0xc0, r, 0x60)\n // Use \"invalid\" to make gas estimation work\n switch success case 0 { invalid() }\n }\n require(success,\"pairing-add-failed\");\n }\n /// @return the product of a point on G1 and a scalar, i.e.\n /// p == p.scalar_mul(1) and p.addition(p) == p.scalar_mul(2) for all points p.\n function scalar_mul(G1Point memory p, uint s) internal view returns (G1Point memory r) {\n uint[3] memory input;\n input[0] = p.X;\n input[1] = p.Y;\n input[2] = s;\n bool success;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n success := staticcall(sub(gas, 2000), 7, input, 0x80, r, 0x60)\n // Use \"invalid\" to make gas estimation work\n switch success case 0 { invalid() }\n }\n require (success,\"pairing-mul-failed\");\n }\n /// @return the result of computing the pairing check\n /// e(p1[0], p2[0]) * .... * e(p1[n], p2[n]) == 1\n /// For example pairing([P1(), P1().negate()], [P2(), P2()]) should\n /// return true.\n function pairing(G1Point[] memory p1, G2Point[] memory p2) internal view returns (bool) {\n require(p1.length == p2.length,\"pairing-lengths-failed\");\n uint elements = p1.length;\n uint inputSize = elements * 6;\n uint[] memory input = new uint[](inputSize);\n for (uint i = 0; i < elements; i++)\n {\n input[i * 6 + 0] = p1[i].X;\n input[i * 6 + 1] = p1[i].Y;\n input[i * 6 + 2] = p2[i].X[0];\n input[i * 6 + 3] = p2[i].X[1];\n input[i * 6 + 4] = p2[i].Y[0];\n input[i * 6 + 5] = p2[i].Y[1];\n }\n uint[1] memory out;\n bool success;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n success := staticcall(sub(gas, 2000), 8, add(input, 0x20), mul(inputSize, 0x20), out, 0x20)\n // Use \"invalid\" to make gas estimation work\n switch success case 0 { invalid() }\n }\n require(success,\"pairing-opcode-failed\");\n return out[0] != 0;\n }\n /// Convenience method for a pairing check for two pairs.\n function pairingProd2(G1Point memory a1, G2Point memory a2, G1Point memory b1, G2Point memory b2) internal view returns (bool) {\n G1Point[] memory p1 = new G1Point[](2);\n G2Point[] memory p2 = new G2Point[](2);\n p1[0] = a1;\n p1[1] = b1;\n p2[0] = a2;\n p2[1] = b2;\n return pairing(p1, p2);\n }\n /// Convenience method for a pairing check for three pairs.\n function pairingProd3(\n G1Point memory a1, G2Point memory a2,\n G1Point memory b1, G2Point memory b2,\n G1Point memory c1, G2Point memory c2\n ) internal view returns (bool) {\n G1Point[] memory p1 = new G1Point[](3);\n G2Point[] memory p2 = new G2Point[](3);\n p1[0] = a1;\n p1[1] = b1;\n p1[2] = c1;\n p2[0] = a2;\n p2[1] = b2;\n p2[2] = c2;\n return pairing(p1, p2);\n }\n /// Convenience method for a pairing check for four pairs.\n function pairingProd4(\n G1Point memory a1, G2Point memory a2,\n G1Point memory b1, G2Point memory b2,\n G1Point memory c1, G2Point memory c2,\n G1Point memory d1, G2Point memory d2\n ) internal view returns (bool) {\n G1Point[] memory p1 = new G1Point[](4);\n G2Point[] memory p2 = new G2Point[](4);\n p1[0] = a1;\n p1[1] = b1;\n p1[2] = c1;\n p1[3] = d1;\n p2[0] = a2;\n p2[1] = b2;\n p2[2] = c2;\n p2[3] = d2;\n return pairing(p1, p2);\n }\n}\ncontract Verifier {\n using Pairing for *;\n struct VerifyingKey {\n Pairing.G1Point alfa1;\n Pairing.G2Point beta2;\n Pairing.G2Point gamma2;\n Pairing.G2Point delta2;\n Pairing.G1Point[] IC;\n }\n struct Proof {\n Pairing.G1Point A;\n Pairing.G2Point B;\n Pairing.G1Point C;\n }\n function verifyingKey() internal pure returns (VerifyingKey memory vk) {\n vk.alfa1 = Pairing.G1Point(12460490708279467301202778391127510537683948258096796922127174268009168016746,2044073673724661651577421329709273081857081212805872863635504960509226496242);\n vk.beta2 = Pairing.G2Point([16087490193876161637448045704887923394070749301729401042528207780307353148754,4047315548230716670792711364149480628046544638739431946110837410403922953302], [14263157589925503025528792522444100058771414693273945149032889920775598241518,2403089822051858644985808169464757375250302755592994009294110237616552595758]);\n vk.gamma2 = Pairing.G2Point([18123276304127160438393801088717318781198132961398793760812749257186063014337,17607423105313335525432869667679352624924066595757032717782399822257020503137], [11025581329650047651679757086388724167475219406913114270498430888483526010684,17223042113062030556278816694661970331697234922696012013177194723549528474201]);\n vk.delta2 = Pairing.G2Point([6037623448512168987260566201688122245791371525028098505952259164431847775491,458336575433998506016458017218111862879186139304654606381372583914446959617], [15074747331456849121041477998068795341356504164554362922885862289027940900480,4551717338615761726884555729815737240947234262038677985956844189240908695656]);\n vk.IC = new Pairing.G1Point[](7);\n vk.IC[0] = Pairing.G1Point(3280151354857701104805815107342927006881561188181486049350149056802788902277,4096205864284246892786942491620896521544938058951378408773174891322097316913);\n vk.IC[1] = Pairing.G1Point(886075252733300330869950498066252804027245332188737089899561929180698930798,15570234229151758134113005312914035073446975470656183090215346868677091213005);\n vk.IC[2] = Pairing.G1Point(4803911529229921243819115938814624698011704327571816657368259655263810910424,9421521138574274245916449596797669329387046444348355383899676800456202039055);\n vk.IC[3] = Pairing.G1Point(8556536154095961870679484985871880561903552891231663801453118433906208208634,3050601476829943501968050336923012297384352890508269063303888737139486918441);\n vk.IC[4] = Pairing.G1Point(300970557484518070492531175714788912131243344262805477266806064126958929035,7398530781379870905922247634738956356372326243016843550426084862881205863447);\n vk.IC[5] = Pairing.G1Point(19920099237792867409693124415022100529487012962841642820676567509262507193107,20219544009593389298713776672148908906084007300789292168389787721741450912038);\n vk.IC[6] = Pairing.G1Point(19738468465658587453371819831578835676337686216736310076443477948701915541203,17051611336678940832594719954268295083764993921610290255520015002513439413943);\n\n }\n function verify(uint[] memory input, Proof memory proof) internal view returns (uint) {\n uint256 snark_scalar_field = 21888242871839275222246405745257275088548364400416034343698204186575808495617;\n VerifyingKey memory vk = verifyingKey();\n require(input.length + 1 == vk.IC.length,\"verifier-bad-input\");\n // Compute the linear combination vk_x\n Pairing.G1Point memory vk_x = Pairing.G1Point(0, 0);\n for (uint i = 0; i < input.length; i++) {\n require(input[i] < snark_scalar_field,\"verifier-gte-snark-scalar-field\");\n vk_x = Pairing.addition(vk_x, Pairing.scalar_mul(vk.IC[i + 1], input[i]));\n }\n vk_x = Pairing.addition(vk_x, vk.IC[0]);\n if (!Pairing.pairingProd4(\n Pairing.negate(proof.A), proof.B,\n vk.alfa1, vk.beta2,\n vk_x, vk.gamma2,\n proof.C, vk.delta2\n )) return 1;\n return 0;\n }\n function verifyProof(\n uint[2] memory a,\n uint[2][2] memory b,\n uint[2] memory c,\n uint[6] memory input\n ) public view returns (bool r) {\n Proof memory proof;\n proof.A = Pairing.G1Point(a[0], a[1]);\n proof.B = Pairing.G2Point([b[0][0], b[0][1]], [b[1][0], b[1][1]]);\n proof.C = Pairing.G1Point(c[0], c[1]);\n uint[] memory inputValues = new uint[](input.length);\n for(uint i = 0; i < input.length; i++){\n inputValues[i] = input[i];\n }\n if (verify(inputValues, proof) == 0) {\n return true;\n } else {\n return false;\n }\n }\n function verifyProof(bytes calldata proof, uint[6] calldata inputs) external view returns (bool r) {\n // solidity does not support decoding uint[2][2] yet\n (uint[2] memory a, uint[2] memory b1, uint[2] memory b2, uint[2] memory c) = abi.decode(proof, (uint[2], uint[2], uint[2], uint[2]));\n return verifyProof(a, [b1, b2], c, inputs);\n }\n}\n", - "sourcePath": "/Users/brianli/dotfiles/tornado-core/contracts/Verifier.sol", + "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"},{\"internalType\":\"uint256[6]\",\"name\":\"inputs\",\"type\":\"uint256[6]\"}],\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"r\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256[2]\",\"name\":\"a\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2][2]\",\"name\":\"b\",\"type\":\"uint256[2][2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"c\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[6]\",\"name\":\"input\",\"type\":\"uint256[6]\"}],\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"r\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/home/dotfiles/tornado-core/contracts/Verifier.sol\":\"Verifier\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/home/dotfiles/tornado-core/contracts/Verifier.sol\":{\"keccak256\":\"0xcb32ba1ec7b98800647b542f6723795b606840e064090bf626d67b7f492bd04a\",\"urls\":[\"bzz-raw://d17d6e473622d3a4795e15bb2ff2ea9972a17547a151c31039d6c1337d34a3b9\",\"dweb:/ipfs/QmaEKFpxyT58AgYp83tFhMQWbzA6fB1eNRSiRqXi63tjcb\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50611271806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063695ef6f91461003b578063f398789b146100be575b600080fd5b6100aa600480360360e081101561005157600080fd5b81019060208101813564010000000081111561006c57600080fd5b82018360208201111561007e57600080fd5b803590602001918460018302840111640100000000831117156100a057600080fd5b91935091506101ba565b604080519115158252519081900360200190f35b6100aa60048036036101c08110156100d557600080fd5b6040805180820182529183019291818301918390600290839083908082843760009201829052506040805180820190915293969594608081019493509150600290835b828210156101565760408051808201825290808402860190600290839083908082843760009201919091525050508152600190910190602001610118565b50506040805180820182529396959481810194935091506002908390839080828437600092019190915250506040805160c0818101909252929594938181019392509060069083908390808284376000920191909152509194506102f39350505050565b60006101c4611111565b6101cc611111565b6101d4611111565b6101dc611111565b87876101008110156101ed57600080fd5b604080518082018252918301929181830191839060029083908390808284376000920191909152505060408051808201825292959493818101939250906002908390839080828437600092019190915250506040805180820182529295949381810193925090600290839083908082843760009201919091525050604080518082018252929594938181019392509060029083908390808284376000920191909152505060408051808201825288815260208101889052815160c0818101909352999d50979b509599509097506102e7968b96958995509093508d92506006915083908390808284376000920191909152506102f3915050565b98975050505050505050565b60006102fd61112f565b6040805180820182528751815260208089015181830152908352815160808101835287515181840190815288518301516060808401919091529082528351808501855289840180515182525184015181850152828401528483019190915282518084018452875181528783015181840152848401528251600680825260e0820190945290929091820160c08038833901905050905060005b60068110156103ce578481600681106103aa57fe5b60200201518282815181106103bb57fe5b6020908102919091010152600101610395565b506103d981836103f7565b6103e8576001925050506103ef565b6000925050505b949350505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610422611161565b61042a6105cf565b905080608001515185516001011461047e576040805162461bcd60e51b81526020600482015260126024820152711d995c9a599a595c8b5898590b5a5b9c1d5d60721b604482015290519081900360640190fd5b6104866111a8565b50604080518082019091526000808252602082018190525b865181101561055857838782815181106104b457fe5b60200260200101511061050e576040805162461bcd60e51b815260206004820152601f60248201527f76657269666965722d6774652d736e61726b2d7363616c61722d6669656c6400604482015290519081900360640190fd5b61054e826105498560800151846001018151811061052857fe5b60200260200101518a858151811061053c57fe5b6020026020010151610b86565b610c1b565b915060010161049e565b5061057b81836080015160008151811061056e57fe5b6020026020010151610c1b565b90506105b161058d8660000151610cac565b8660200151846000015185602001518587604001518b604001518960600151610d38565b6105c157600193505050506105c9565b600093505050505b92915050565b6105d7611161565b6040805180820182527f293fcb73b88a5557213f72f9da4e15a77cc52d50156f1cd4efcc1a01956602e581527f0dd9722e84cba1176e555bed904da6f66b2ebca9aca30d23e2ad57b906ed381a6020808301919091529083528151608080820184527f23b1d43ec27ec91c51ee2f8577de238d9f90f72b25288143b604bda2e8365b6b8285019081527f031d1ffdd0e3825391d30c372bfc049a81b453d4320e0d15c528921dc62312d2606080850191909152908352845180860186527f1a7bd6532b88427f84b5abc3e70769fae358915d396754bf36c60d61f3fec8da81527e3fe8cbc303d787f20e1d545605cbbbf401d856f4241fc6a5a0bb52ce5eaf92818601528385015285840192909252835180820185527f2087eb98eb1a45160d388a0988a65d5dda78e167dbcdd8ff322fb1ae6c318c938186019081527f2ec4f820c687d0f179fdd775a4c6d370e8c290a8b827461b9898b08490b33786828501528152845180860186527f0411730c6d25420a34d0c838f22966978953eb2271d1c675541cc15112ba3bc681527ee89a0dd4fc36cb28f654dae2969894addfa84ae94faac46f21ecfb47527b12818601528185015285850152835190810184527f015908bb1f9b8cd4b0a1d5c375e593479fdae58c1b5705b5a15f5902eee0703f8185019081527f1263776ea117f0d16c10a004fdc4a91e312cec2a2ff7d282eb93d16afa7c3d27828401528152835180850185527f13d1a8e49db4a9bdcc464dc61aae0f368522514d28e6d1513a48c19125a40ec781527f0a4bdb661084c3391608b90d7f0e99d5704f99704ab205c9b939390f1e0cd31b818501528184015290840152815160078082526101008201909352919082015b6108596111a8565b81526020019060019003908161085157505060808201908152604080518082019091527f2c95e5a8dbee1b573e182f462997d8c01b15494a69a889fe6fdc1a1bf295704481527f03ab8342026029dbdbd48ef8b6830abc2b35cee8c789d5d17fd6c1656936cf7e6020820152905180516000906108d257fe5b602002602001018190525060405180604001604052807f0954edadc7a57359d4a13f49ed6df5b87007fb01a8b102a74805196766c52bd681526020017f023633d4e855e52ef6eb137aac12633d60d9920fea1d2db651191a3436b833c3815250816080015160018151811061094357fe5b602002602001018190525060405180604001604052807f1b0f13c6cf7ddbc8101d170943a2b30d19df659f1c03aec25deedb354898700181526020017f0be1d503368cf8cc37c2c86e4c46fc343c2ee828f3b873e73588260c0f038ca981525081608001516002815181106109b457fe5b602002602001018190525060405180604001604052807f16bd2de87d20025f99a463b2ba53b93acba49bc5b0ad44b1b6b80e1fcb112b9881526020017f0585f543aff79cbda65bcc2229424e804e8ab9a56f66f2a831c188d23258500f8152508160800151600381518110610a2557fe5b602002602001018190525060405180604001604052807f280bb2a0b81ba5d757488b05bee204271269335812e998b686ac3e4109ea56db81526020017f0ee088574c9613c7554210a860e5017951f5a8b32dc0f570fc92f9ecc2768f5f8152508160800151600481518110610a9657fe5b602002602001018190525060405180604001604052807f05ea7ade252f51411b544f6d69d27a2c6f2312592226601646f7e0da317dfb7381526020017f1c8ca03e13720385cf315ab44c8aaf578b5e85f25ab1c95eb2c87e7b12b4932b8152508160800151600581518110610b0757fe5b602002602001018190525060405180604001604052807f0f43d380179ab840cff826e85d09d332d69ac50620b8f90db8cea7c35928728281526020017f074a410e327a35b8cad1a06b072ac4e90e55f1aba01eb0f9464eefbacb53d2e78152508160800151600681518110610b7857fe5b602002602001018190525090565b610b8e6111a8565b610b966111c2565b835181526020808501519082015260408101839052600060608360808460076107d05a03fa9050808015610bc957610bcb565bfe5b5080610c13576040805162461bcd60e51b81526020600482015260126024820152711c185a5c9a5b99cb5b5d5b0b59985a5b195960721b604482015290519081900360640190fd5b505092915050565b610c236111a8565b610c2b6111e0565b8351815260208085015181830152835160408301528301516060808301919091526000908360c08460066107d05a03fa9050808015610bc9575080610c13576040805162461bcd60e51b81526020600482015260126024820152711c185a5c9a5b99cb5859190b59985a5b195960721b604482015290519081900360640190fd5b610cb46111a8565b81517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4790158015610ce757506020830151155b15610d075750506040805180820190915260008082526020820152610d33565b60405180604001604052808460000151815260200182856020015181610d2957fe5b0683038152509150505b919050565b60408051600480825260a0820190925260009160609190816020015b610d5c6111a8565b815260200190600190039081610d5457505060408051600480825260a0820190925291925060609190602082015b610d926111fe565b815260200190600190039081610d8a5790505090508a82600081518110610db557fe5b60200260200101819052508882600181518110610dce57fe5b60200260200101819052508682600281518110610de757fe5b60200260200101819052508482600381518110610e0057fe5b60200260200101819052508981600081518110610e1957fe5b60200260200101819052508781600181518110610e3257fe5b60200260200101819052508581600281518110610e4b57fe5b60200260200101819052508381600381518110610e6457fe5b6020026020010181905250610e798282610e88565b9b9a5050505050505050505050565b60008151835114610ed9576040805162461bcd60e51b81526020600482015260166024820152751c185a5c9a5b99cb5b195b99dd1a1ccb59985a5b195960521b604482015290519081900360640190fd5b8251604080516006830280825260c084028201602001909252606090828015610f0c578160200160208202803883390190505b50905060005b8381101561109157868181518110610f2657fe5b602002602001015160000151828260060260000181518110610f4457fe5b602002602001018181525050868181518110610f5c57fe5b602002602001015160200151828260060260010181518110610f7a57fe5b602002602001018181525050858181518110610f9257fe5b602090810291909101015151518251839060026006850201908110610fb357fe5b602002602001018181525050858181518110610fcb57fe5b60209081029190910101515160016020020151828260060260030181518110610ff057fe5b60200260200101818152505085818151811061100857fe5b60200260200101516020015160006002811061102057fe5b602002015182826006026004018151811061103757fe5b60200260200101818152505085818151811061104f57fe5b60200260200101516020015160016002811061106757fe5b602002015182826006026005018151811061107e57fe5b6020908102919091010152600101610f12565b5061109a61121e565b6000602082602086026020860160086107d05a03fa9050808015610bc9575080611103576040805162461bcd60e51b81526020600482015260156024820152741c185a5c9a5b99cb5bdc18dbd9194b59985a5b1959605a1b604482015290519081900360640190fd5b505115159695505050505050565b60405180604001604052806002906020820280388339509192915050565b60405180606001604052806111426111a8565b815260200161114f6111fe565b815260200161115c6111a8565b905290565b6040518060a001604052806111746111a8565b81526020016111816111fe565b815260200161118e6111fe565b815260200161119b6111fe565b8152602001606081525090565b604051806040016040528060008152602001600081525090565b60405180606001604052806003906020820280388339509192915050565b60405180608001604052806004906020820280388339509192915050565b6040518060400160405280611211611111565b815260200161115c611111565b6040518060200160405280600190602082028038833950919291505056fea265627a7a72315820aae959cbb0cfb375795103b784560566d344f948d3089257329cc917a3953e5d64736f6c63430005110032", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063695ef6f91461003b578063f398789b146100be575b600080fd5b6100aa600480360360e081101561005157600080fd5b81019060208101813564010000000081111561006c57600080fd5b82018360208201111561007e57600080fd5b803590602001918460018302840111640100000000831117156100a057600080fd5b91935091506101ba565b604080519115158252519081900360200190f35b6100aa60048036036101c08110156100d557600080fd5b6040805180820182529183019291818301918390600290839083908082843760009201829052506040805180820190915293969594608081019493509150600290835b828210156101565760408051808201825290808402860190600290839083908082843760009201919091525050508152600190910190602001610118565b50506040805180820182529396959481810194935091506002908390839080828437600092019190915250506040805160c0818101909252929594938181019392509060069083908390808284376000920191909152509194506102f39350505050565b60006101c4611111565b6101cc611111565b6101d4611111565b6101dc611111565b87876101008110156101ed57600080fd5b604080518082018252918301929181830191839060029083908390808284376000920191909152505060408051808201825292959493818101939250906002908390839080828437600092019190915250506040805180820182529295949381810193925090600290839083908082843760009201919091525050604080518082018252929594938181019392509060029083908390808284376000920191909152505060408051808201825288815260208101889052815160c0818101909352999d50979b509599509097506102e7968b96958995509093508d92506006915083908390808284376000920191909152506102f3915050565b98975050505050505050565b60006102fd61112f565b6040805180820182528751815260208089015181830152908352815160808101835287515181840190815288518301516060808401919091529082528351808501855289840180515182525184015181850152828401528483019190915282518084018452875181528783015181840152848401528251600680825260e0820190945290929091820160c08038833901905050905060005b60068110156103ce578481600681106103aa57fe5b60200201518282815181106103bb57fe5b6020908102919091010152600101610395565b506103d981836103f7565b6103e8576001925050506103ef565b6000925050505b949350505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610422611161565b61042a6105cf565b905080608001515185516001011461047e576040805162461bcd60e51b81526020600482015260126024820152711d995c9a599a595c8b5898590b5a5b9c1d5d60721b604482015290519081900360640190fd5b6104866111a8565b50604080518082019091526000808252602082018190525b865181101561055857838782815181106104b457fe5b60200260200101511061050e576040805162461bcd60e51b815260206004820152601f60248201527f76657269666965722d6774652d736e61726b2d7363616c61722d6669656c6400604482015290519081900360640190fd5b61054e826105498560800151846001018151811061052857fe5b60200260200101518a858151811061053c57fe5b6020026020010151610b86565b610c1b565b915060010161049e565b5061057b81836080015160008151811061056e57fe5b6020026020010151610c1b565b90506105b161058d8660000151610cac565b8660200151846000015185602001518587604001518b604001518960600151610d38565b6105c157600193505050506105c9565b600093505050505b92915050565b6105d7611161565b6040805180820182527f293fcb73b88a5557213f72f9da4e15a77cc52d50156f1cd4efcc1a01956602e581527f0dd9722e84cba1176e555bed904da6f66b2ebca9aca30d23e2ad57b906ed381a6020808301919091529083528151608080820184527f23b1d43ec27ec91c51ee2f8577de238d9f90f72b25288143b604bda2e8365b6b8285019081527f031d1ffdd0e3825391d30c372bfc049a81b453d4320e0d15c528921dc62312d2606080850191909152908352845180860186527f1a7bd6532b88427f84b5abc3e70769fae358915d396754bf36c60d61f3fec8da81527e3fe8cbc303d787f20e1d545605cbbbf401d856f4241fc6a5a0bb52ce5eaf92818601528385015285840192909252835180820185527f2087eb98eb1a45160d388a0988a65d5dda78e167dbcdd8ff322fb1ae6c318c938186019081527f2ec4f820c687d0f179fdd775a4c6d370e8c290a8b827461b9898b08490b33786828501528152845180860186527f0411730c6d25420a34d0c838f22966978953eb2271d1c675541cc15112ba3bc681527ee89a0dd4fc36cb28f654dae2969894addfa84ae94faac46f21ecfb47527b12818601528185015285850152835190810184527f015908bb1f9b8cd4b0a1d5c375e593479fdae58c1b5705b5a15f5902eee0703f8185019081527f1263776ea117f0d16c10a004fdc4a91e312cec2a2ff7d282eb93d16afa7c3d27828401528152835180850185527f13d1a8e49db4a9bdcc464dc61aae0f368522514d28e6d1513a48c19125a40ec781527f0a4bdb661084c3391608b90d7f0e99d5704f99704ab205c9b939390f1e0cd31b818501528184015290840152815160078082526101008201909352919082015b6108596111a8565b81526020019060019003908161085157505060808201908152604080518082019091527f2c95e5a8dbee1b573e182f462997d8c01b15494a69a889fe6fdc1a1bf295704481527f03ab8342026029dbdbd48ef8b6830abc2b35cee8c789d5d17fd6c1656936cf7e6020820152905180516000906108d257fe5b602002602001018190525060405180604001604052807f0954edadc7a57359d4a13f49ed6df5b87007fb01a8b102a74805196766c52bd681526020017f023633d4e855e52ef6eb137aac12633d60d9920fea1d2db651191a3436b833c3815250816080015160018151811061094357fe5b602002602001018190525060405180604001604052807f1b0f13c6cf7ddbc8101d170943a2b30d19df659f1c03aec25deedb354898700181526020017f0be1d503368cf8cc37c2c86e4c46fc343c2ee828f3b873e73588260c0f038ca981525081608001516002815181106109b457fe5b602002602001018190525060405180604001604052807f16bd2de87d20025f99a463b2ba53b93acba49bc5b0ad44b1b6b80e1fcb112b9881526020017f0585f543aff79cbda65bcc2229424e804e8ab9a56f66f2a831c188d23258500f8152508160800151600381518110610a2557fe5b602002602001018190525060405180604001604052807f280bb2a0b81ba5d757488b05bee204271269335812e998b686ac3e4109ea56db81526020017f0ee088574c9613c7554210a860e5017951f5a8b32dc0f570fc92f9ecc2768f5f8152508160800151600481518110610a9657fe5b602002602001018190525060405180604001604052807f05ea7ade252f51411b544f6d69d27a2c6f2312592226601646f7e0da317dfb7381526020017f1c8ca03e13720385cf315ab44c8aaf578b5e85f25ab1c95eb2c87e7b12b4932b8152508160800151600581518110610b0757fe5b602002602001018190525060405180604001604052807f0f43d380179ab840cff826e85d09d332d69ac50620b8f90db8cea7c35928728281526020017f074a410e327a35b8cad1a06b072ac4e90e55f1aba01eb0f9464eefbacb53d2e78152508160800151600681518110610b7857fe5b602002602001018190525090565b610b8e6111a8565b610b966111c2565b835181526020808501519082015260408101839052600060608360808460076107d05a03fa9050808015610bc957610bcb565bfe5b5080610c13576040805162461bcd60e51b81526020600482015260126024820152711c185a5c9a5b99cb5b5d5b0b59985a5b195960721b604482015290519081900360640190fd5b505092915050565b610c236111a8565b610c2b6111e0565b8351815260208085015181830152835160408301528301516060808301919091526000908360c08460066107d05a03fa9050808015610bc9575080610c13576040805162461bcd60e51b81526020600482015260126024820152711c185a5c9a5b99cb5859190b59985a5b195960721b604482015290519081900360640190fd5b610cb46111a8565b81517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4790158015610ce757506020830151155b15610d075750506040805180820190915260008082526020820152610d33565b60405180604001604052808460000151815260200182856020015181610d2957fe5b0683038152509150505b919050565b60408051600480825260a0820190925260009160609190816020015b610d5c6111a8565b815260200190600190039081610d5457505060408051600480825260a0820190925291925060609190602082015b610d926111fe565b815260200190600190039081610d8a5790505090508a82600081518110610db557fe5b60200260200101819052508882600181518110610dce57fe5b60200260200101819052508682600281518110610de757fe5b60200260200101819052508482600381518110610e0057fe5b60200260200101819052508981600081518110610e1957fe5b60200260200101819052508781600181518110610e3257fe5b60200260200101819052508581600281518110610e4b57fe5b60200260200101819052508381600381518110610e6457fe5b6020026020010181905250610e798282610e88565b9b9a5050505050505050505050565b60008151835114610ed9576040805162461bcd60e51b81526020600482015260166024820152751c185a5c9a5b99cb5b195b99dd1a1ccb59985a5b195960521b604482015290519081900360640190fd5b8251604080516006830280825260c084028201602001909252606090828015610f0c578160200160208202803883390190505b50905060005b8381101561109157868181518110610f2657fe5b602002602001015160000151828260060260000181518110610f4457fe5b602002602001018181525050868181518110610f5c57fe5b602002602001015160200151828260060260010181518110610f7a57fe5b602002602001018181525050858181518110610f9257fe5b602090810291909101015151518251839060026006850201908110610fb357fe5b602002602001018181525050858181518110610fcb57fe5b60209081029190910101515160016020020151828260060260030181518110610ff057fe5b60200260200101818152505085818151811061100857fe5b60200260200101516020015160006002811061102057fe5b602002015182826006026004018151811061103757fe5b60200260200101818152505085818151811061104f57fe5b60200260200101516020015160016002811061106757fe5b602002015182826006026005018151811061107e57fe5b6020908102919091010152600101610f12565b5061109a61121e565b6000602082602086026020860160086107d05a03fa9050808015610bc9575080611103576040805162461bcd60e51b81526020600482015260156024820152741c185a5c9a5b99cb5bdc18dbd9194b59985a5b1959605a1b604482015290519081900360640190fd5b505115159695505050505050565b60405180604001604052806002906020820280388339509192915050565b60405180606001604052806111426111a8565b815260200161114f6111fe565b815260200161115c6111a8565b905290565b6040518060a001604052806111746111a8565b81526020016111816111fe565b815260200161118e6111fe565b815260200161119b6111fe565b8152602001606081525090565b604051806040016040528060008152602001600081525090565b60405180606001604052806003906020820280388339509192915050565b60405180608001604052806004906020820280388339509192915050565b6040518060400160405280611211611111565b815260200161115c611111565b6040518060200160405280600190602082028038833950919291505056fea265627a7a72315820aae959cbb0cfb375795103b784560566d344f948d3089257329cc917a3953e5d64736f6c63430005110032", + "sourceMap": "7067:5036:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7067:5036:0;;;;;;;", + "deployedSourceMap": "7067:5036:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7067:5036:0;;;;;;;;;;;;;;;;;;;;;;;;11740:361;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;11740:361:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;11740:361:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11740:361:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11740:361:0;;-1:-1:-1;11740:361:0;-1:-1:-1;11740:361:0;:::i;:::-;;;;;;;;;;;;;;;;;;11060:675;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;11060:675:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1:33:-1;99:1;81:16;;74:27;;;-1:-1;11060:675:0;;;;;;;;;;;;;;;;;;-1:-1:-1;11060:675:0;-1:-1:-1;11060:675:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;;;11060:675:0;;;;;;;;;;;;-1:-1:-1;;11060:675:0;;;;;;;;;;;;;;;;;-1:-1:-1;11060:675:0;-1:-1:-1;11060:675:0;;;;;;;;;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;;11060:675:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;11060:675:0;;;;;;;;;;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;11060:675:0;;-1:-1:-1;11060:675:0;;-1:-1:-1;;;;11060:675:0:i;11740:361::-;11831:6;11911:16;;:::i;:::-;11929:17;;:::i;:::-;11948;;:::i;:::-;11967:16;;:::i;:::-;11998:5;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;11987:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;;11987:55:0;;;;;;;;;;;;;;;;;-1:-1:-1;11987:55:0;;;;;;;;;;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;;11987:55:0;;;;;;;;;;;;;;;;;-1:-1:-1;11987:55:0;;;;;;;;;;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;;11987:55:0;;;;;;;;;;;;;;;;;-1:-1:-1;11987:55:0;;;;;;;;;;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;;12059:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;11910:132;;-1:-1:-1;11910:132:0;;-1:-1:-1;11910:132:0;;-1:-1:-1;11987:55:0;;-1:-1:-1;12059:35:0;;11910:132;;12059:35;11987:55;;-1:-1:-1;12059:35:0;;-1:-1:-1;12087:6:0;;-1:-1:-1;12059:35:0;;-1:-1:-1;12059:35:0;;12087:6;;12059:35;12087:6;12059:35;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;12059:11:0;;-1:-1:-1;;12059:35:0:i;:::-;12052:42;11740:361;-1:-1:-1;;;;;;;;11740:361:0:o;11060:675::-;11239:6;11257:18;;:::i;:::-;11295:27;;;;;;;;11311:4;;11295:27;;11311:4;11317;;;;11295:27;;;;11285:37;;;11342:55;;;;;;;11359:4;;:7;11342:55;;;;;;11368:4;;:7;;;11342:55;;;;;;;;;;;;;;;;;;11379:4;;;;;:7;11342:55;;11388:4;:7;;;11342:55;;;;-1:-1:-1;;;11342:55:0;11332:7;;;:65;;;;11417:27;;;;;;;11433:4;;11417:27;;11439:4;;;;11417:27;;;;11407:7;;;:37;11482:24;;11493:12;11482:24;;;;;;;;;11342:55;;11482:24;;;;17:15:-1;;105:10;11482:24:0;88:34:-1;136:17;;-1:-1;;11454:52:0;-1:-1:-1;11520:6:0;11516:88;11536:12;11532:1;:16;11516:88;;;11585:5;11591:1;11585:8;;;;;;;;;;;11568:11;11580:1;11568:14;;;;;;;;;;;;;;;;;:25;11550:3;;11516:88;;;;11617:26;11624:11;11637:5;11617:6;:26::i;:::-;11613:116;;11671:4;11664:11;;;;;;11613:116;11713:5;11706:12;;;;11060:675;;;;;;;:::o;10123:932::-;10203:4;10248:77;10335:22;;:::i;:::-;10360:14;:12;:14::i;:::-;10335:39;;10412:2;:5;;;:12;10392:5;:12;10407:1;10392:16;:32;10384:62;;;;;-1:-1:-1;;;10384:62:0;;;;;;;;;;;;-1:-1:-1;;;10384:62:0;;;;;;;;;;;;;;;10503:27;;:::i;:::-;-1:-1:-1;10533:21:0;;;;;;;;;-1:-1:-1;10533:21:0;;;;;;;;;10564:224;10585:5;:12;10581:1;:16;10564:224;;;10637:18;10626:5;10632:1;10626:8;;;;;;;;;;;;;;:29;10618:72;;;;;-1:-1:-1;;;10618:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10711:66;10728:4;10734:42;10753:2;:5;;;10759:1;10763;10759:5;10753:12;;;;;;;;;;;;;;10767:5;10773:1;10767:8;;;;;;;;;;;;;;10734:18;:42::i;:::-;10711:16;:66::i;:::-;10704:73;-1:-1:-1;10599:3:0;;10564:224;;;;10804:32;10821:4;10827:2;:5;;;10833:1;10827:8;;;;;;;;;;;;;;10804:16;:32::i;:::-;10797:39;;10851:169;10885:23;10900:5;:7;;;10885:14;:23::i;:::-;10910:5;:7;;;10931:2;:8;;;10941:2;:8;;;10963:4;10969:2;:9;;;10992:5;:7;;;11001:2;:9;;;10851:20;:169::i;:::-;10846:184;;11029:1;11022:8;;;;;;;10846:184;11047:1;11040:8;;;;;10123:932;;;;;:::o;7410:2708::-;7457:22;;:::i;:::-;7502:171;;;;;;;;7518:77;7502:171;;7596:76;7502:171;;;;;;;;7491:182;;;7694:330;;;;;;;;7711:77;7694:330;;;;;;7789:76;7694:330;;;;;;;;;;;;;;;;;;7869:77;7694:330;;7947:75;7694:330;;;;-1:-1:-1;;;7694:330:0;7683:8;;;:341;;;;8046:330;;;;;;;8063:77;8046:330;;;;;;8141:77;8046:330;;;;;;;;;;;;;8222:76;8046:330;;8299:75;8046:330;;;;-1:-1:-1;;;8046:330:0;8034:9;;;:342;8398:328;;;;;;;8415:75;8398:328;;;;;;8491:76;8398:328;;;;;;;;;;;;;8571:76;8398:328;;8648:76;8398:328;;;;-1:-1:-1;;;8398:328:0;8386:9;;;:340;8744:24;;8766:1;8744:24;;;;;;;;;;8766:1;8744:24;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;8736:5:0;;;:32;;;8789:171;;;;;;;;;8805:77;8789:171;;8883:76;8789:171;;;;8778:5;;:8;;-1:-1:-1;;8778:8:0;;;;;;;;;:182;;;;8981:170;;;;;;;;8997:76;8981:170;;;;9074:76;8981:170;;;8970:2;:5;;;8976:1;8970:8;;;;;;;;;;;;;:181;;;;9172:171;;;;;;;;9188:77;9172:171;;;;9266:76;9172:171;;;9161:2;:5;;;9167:1;9161:8;;;;;;;;;;;;;:182;;;;9364:171;;;;;;;;9380:77;9364:171;;;;9458:76;9364:171;;;9353:2;:5;;;9359:1;9353:8;;;;;;;;;;;;;:182;;;;9556:171;;;;;;;;9572:77;9556:171;;;;9650:76;9556:171;;;9545:2;:5;;;9551:1;9545:8;;;;;;;;;;;;;:182;;;;9748:171;;;;;;;;9764:76;9748:171;;;;9841:77;9748:171;;;9737:2;:5;;;9743:1;9737:8;;;;;;;;;;;;;:182;;;;9940:170;;;;;;;;9956:76;9940:170;;;;10033:76;9940:170;;;9929:2;:5;;;9935:1;9929:8;;;;;;;;;;;;;:181;;;;7410:2708;:::o;3722:537::-;3791:16;;:::i;:::-;3819:20;;:::i;:::-;3860:3;;3849:14;;:8;3884:3;;;;3873:8;;;:14;3897:8;;;:12;;;-1:-1:-1;4085:4:0;4082:1;4076:4;3849:14;4066:1;4059:4;4054:3;4050:14;4039:51;4028:62;-1:-1:-1;4028:62:0;4175:20;;;;4160:35;;4175:20;4184:9;4160:35;;4223:7;4214:38;;;;;-1:-1:-1;;;4214:38:0;;;;;;;;;;;;-1:-1:-1;;;4214:38:0;;;;;;;;;;;;;;;3722:537;;;;;;:::o;2993:576::-;3072:16;;:::i;:::-;3100:20;;:::i;:::-;3141:4;;3130:15;;:8;3166:4;;;;3155:8;;;:15;3191:4;;3180:8;;;:15;3216:4;;;3205:8;;;;:15;;;;-1:-1:-1;;3393:1:0;3387:4;3130:15;3377:1;3370:4;3365:3;3361:14;3350:51;3339:62;-1:-1:-1;3339:62:0;3486:20;;;;3471:35;3533:7;3525:37;;;;;-1:-1:-1;;;3525:37:0;;;;;;;;;;;;-1:-1:-1;;;3525:37:0;;;;;;;;;;;;;;2604:340;2661:14;;:::i;:::-;2839:3;;2748:77;;2839:8;:20;;;;-1:-1:-1;2851:3:0;;;;:8;2839:20;2835:58;;;-1:-1:-1;;2880:13:0;;;;;;;;;-1:-1:-1;2880:13:0;;;;;;;2873:20;;2835:58;2910:27;;;;;;;;2918:1;:3;;;2910:27;;;;2934:1;2928;:3;;;:7;;;;;;2923:1;:13;2910:27;;;2903:34;;;2604:340;;;;:::o;6512:552::-;6801:16;;;6815:1;6801:16;;;;;;;;;6763:4;;6779:19;;6801:16;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;6849:16:0;;;6863:1;6849:16;;;;;;;;;6779:38;;-1:-1:-1;6827:19:0;;6849:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6827:38;;6883:2;6875;6878:1;6875:5;;;;;;;;;;;;;:10;;;;6903:2;6895;6898:1;6895:5;;;;;;;;;;;;;:10;;;;6923:2;6915;6918:1;6915:5;;;;;;;;;;;;;:10;;;;6943:2;6935;6938:1;6935:5;;;;;;;;;;;;;:10;;;;6963:2;6955;6958:1;6955:5;;;;;;;;;;;;;:10;;;;6983:2;6975;6978:1;6975:5;;;;;;;;;;;;;:10;;;;7003:2;6995;6998:1;6995:5;;;;;;;;;;;;;:10;;;;7023:2;7015;7018:1;7015:5;;;;;;;;;;;;;:10;;;;7042:15;7050:2;7054;7042:7;:15::i;:::-;7035:22;6512:552;-1:-1:-1;;;;;;;;;;;6512:552:0:o;4470:1034::-;4552:4;4589:2;:9;4576:2;:9;:22;4568:56;;;;;-1:-1:-1;;;4568:56:0;;;;;;;;;;;;-1:-1:-1;;;4568:56:0;;;;;;;;;;;;;;;4650:9;;4730:21;;;4697:1;4686:12;;4730:21;;;;;;;;;;;;;4708:19;;4686:12;4730:21;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;4730:21:0;-1:-1:-1;4708:43:0;-1:-1:-1;4766:6:0;4761:307;4782:8;4778:1;:12;4761:307;;;4838:2;4841:1;4838:5;;;;;;;;;;;;;;:7;;;4819:5;4825:1;4829;4825:5;4833:1;4825:9;4819:16;;;;;;;;;;;;;:26;;;;;4878:2;4881:1;4878:5;;;;;;;;;;;;;;:7;;;4859:5;4865:1;4869;4865:5;4873:1;4865:9;4859:16;;;;;;;;;;;;;:26;;;;;4918:2;4921:1;4918:5;;;;;;;;;;;;;;;;;;:7;:10;4899:16;;:5;;4913:1;4909;4905:5;;:9;;4899:16;;;;;;;;;;;:29;;;;;4961:2;4964:1;4961:5;;;;;;;;;;;;;;;;;;:7;4969:1;4961:10;;;;4942:5;4948:1;4952;4948:5;4956:1;4948:9;4942:16;;;;;;;;;;;;;:29;;;;;5004:2;5007:1;5004:5;;;;;;;;;;;;;;:7;;;5012:1;5004:10;;;;;;;;;;;4985:5;4991:1;4995;4991:5;4999:1;4991:9;4985:16;;;;;;;;;;;;;:29;;;;;5047:2;5050:1;5047:5;;;;;;;;;;;;;;:7;;;5055:1;5047:10;;;;;;;;;;;5028:5;5034:1;5038;5034:5;5042:1;5034:9;5028:16;;;;;;;;;;;;;;;;;:29;4792:3;;4761:307;;;;5077:18;;:::i;:::-;5105:12;5300:4;5295:3;5288:4;5277:9;5273:20;5266:4;5259:5;5255:16;5252:1;5245:4;5240:3;5236:14;5225:80;5214:91;-1:-1:-1;5214:91:0;5390:20;;;;5375:35;5437:7;5429:40;;;;;-1:-1:-1;;;5429:40:0;;;;;;;;;;;;-1:-1:-1;;;5429:40:0;;;;;;;;;;;;;;;-1:-1:-1;5486:6:0;:11;;;;-1:-1:-1;;;;;;4470:1034:0:o;7067:5036::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;7067:5036:0;;;-1:-1:-1;;7067:5036:0:o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;7067:5036:0;;;-1:-1:-1;;7067:5036:0:o;:::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;7067:5036:0;;;-1:-1:-1;;7067:5036:0:o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;7067:5036:0;;;-1:-1:-1;;7067:5036:0:o", + "source": "//\n// Copyright 2017 Christian Reitwiessner\n// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n//\n// 2019 OKIMS\n// ported to solidity 0.5\n// fixed linter warnings\n// added requiere error messages\n//\npragma solidity ^0.5.0;\nlibrary Pairing {\n struct G1Point {\n uint X;\n uint Y;\n }\n // Encoding of field elements is: X[0] * z + X[1]\n struct G2Point {\n uint[2] X;\n uint[2] Y;\n }\n /// @return the generator of G1\n function P1() internal pure returns (G1Point memory) {\n return G1Point(1, 2);\n }\n /// @return the generator of G2\n function P2() internal pure returns (G2Point memory) {\n // Original code point\n return G2Point(\n [11559732032986387107991004021392285783925812861821192530917403151452391805634,\n 10857046999023057135944570762232829481370756359578518086990519993285655852781],\n [4082367875863433681332203403145435568316851327593401208105741076214120093531,\n 8495653923123431417604973247489272438418190587263600148770280649306958101930]\n );\n\n/*\n // Changed by Jordi point\n return G2Point(\n [10857046999023057135944570762232829481370756359578518086990519993285655852781,\n 11559732032986387107991004021392285783925812861821192530917403151452391805634],\n [8495653923123431417604973247489272438418190587263600148770280649306958101930,\n 4082367875863433681332203403145435568316851327593401208105741076214120093531]\n );\n*/\n }\n /// @return the negation of p, i.e. p.addition(p.negate()) should be zero.\n function negate(G1Point memory p) internal pure returns (G1Point memory) {\n // The prime q in the base field F_q for G1\n uint q = 21888242871839275222246405745257275088696311157297823662689037894645226208583;\n if (p.X == 0 && p.Y == 0)\n return G1Point(0, 0);\n return G1Point(p.X, q - (p.Y % q));\n }\n /// @return the sum of two points of G1\n function addition(G1Point memory p1, G1Point memory p2) internal view returns (G1Point memory r) {\n uint[4] memory input;\n input[0] = p1.X;\n input[1] = p1.Y;\n input[2] = p2.X;\n input[3] = p2.Y;\n bool success;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n success := staticcall(sub(gas, 2000), 6, input, 0xc0, r, 0x60)\n // Use \"invalid\" to make gas estimation work\n switch success case 0 { invalid() }\n }\n require(success,\"pairing-add-failed\");\n }\n /// @return the product of a point on G1 and a scalar, i.e.\n /// p == p.scalar_mul(1) and p.addition(p) == p.scalar_mul(2) for all points p.\n function scalar_mul(G1Point memory p, uint s) internal view returns (G1Point memory r) {\n uint[3] memory input;\n input[0] = p.X;\n input[1] = p.Y;\n input[2] = s;\n bool success;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n success := staticcall(sub(gas, 2000), 7, input, 0x80, r, 0x60)\n // Use \"invalid\" to make gas estimation work\n switch success case 0 { invalid() }\n }\n require (success,\"pairing-mul-failed\");\n }\n /// @return the result of computing the pairing check\n /// e(p1[0], p2[0]) * .... * e(p1[n], p2[n]) == 1\n /// For example pairing([P1(), P1().negate()], [P2(), P2()]) should\n /// return true.\n function pairing(G1Point[] memory p1, G2Point[] memory p2) internal view returns (bool) {\n require(p1.length == p2.length,\"pairing-lengths-failed\");\n uint elements = p1.length;\n uint inputSize = elements * 6;\n uint[] memory input = new uint[](inputSize);\n for (uint i = 0; i < elements; i++)\n {\n input[i * 6 + 0] = p1[i].X;\n input[i * 6 + 1] = p1[i].Y;\n input[i * 6 + 2] = p2[i].X[0];\n input[i * 6 + 3] = p2[i].X[1];\n input[i * 6 + 4] = p2[i].Y[0];\n input[i * 6 + 5] = p2[i].Y[1];\n }\n uint[1] memory out;\n bool success;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n success := staticcall(sub(gas, 2000), 8, add(input, 0x20), mul(inputSize, 0x20), out, 0x20)\n // Use \"invalid\" to make gas estimation work\n switch success case 0 { invalid() }\n }\n require(success,\"pairing-opcode-failed\");\n return out[0] != 0;\n }\n /// Convenience method for a pairing check for two pairs.\n function pairingProd2(G1Point memory a1, G2Point memory a2, G1Point memory b1, G2Point memory b2) internal view returns (bool) {\n G1Point[] memory p1 = new G1Point[](2);\n G2Point[] memory p2 = new G2Point[](2);\n p1[0] = a1;\n p1[1] = b1;\n p2[0] = a2;\n p2[1] = b2;\n return pairing(p1, p2);\n }\n /// Convenience method for a pairing check for three pairs.\n function pairingProd3(\n G1Point memory a1, G2Point memory a2,\n G1Point memory b1, G2Point memory b2,\n G1Point memory c1, G2Point memory c2\n ) internal view returns (bool) {\n G1Point[] memory p1 = new G1Point[](3);\n G2Point[] memory p2 = new G2Point[](3);\n p1[0] = a1;\n p1[1] = b1;\n p1[2] = c1;\n p2[0] = a2;\n p2[1] = b2;\n p2[2] = c2;\n return pairing(p1, p2);\n }\n /// Convenience method for a pairing check for four pairs.\n function pairingProd4(\n G1Point memory a1, G2Point memory a2,\n G1Point memory b1, G2Point memory b2,\n G1Point memory c1, G2Point memory c2,\n G1Point memory d1, G2Point memory d2\n ) internal view returns (bool) {\n G1Point[] memory p1 = new G1Point[](4);\n G2Point[] memory p2 = new G2Point[](4);\n p1[0] = a1;\n p1[1] = b1;\n p1[2] = c1;\n p1[3] = d1;\n p2[0] = a2;\n p2[1] = b2;\n p2[2] = c2;\n p2[3] = d2;\n return pairing(p1, p2);\n }\n}\ncontract Verifier {\n using Pairing for *;\n struct VerifyingKey {\n Pairing.G1Point alfa1;\n Pairing.G2Point beta2;\n Pairing.G2Point gamma2;\n Pairing.G2Point delta2;\n Pairing.G1Point[] IC;\n }\n struct Proof {\n Pairing.G1Point A;\n Pairing.G2Point B;\n Pairing.G1Point C;\n }\n function verifyingKey() internal pure returns (VerifyingKey memory vk) {\n vk.alfa1 = Pairing.G1Point(18657542331331594053741415770570506550706569498961410954133033897989591401189,6264260897865443982211421147903875993071737418978097054373843876593191958554);\n vk.beta2 = Pairing.G2Point([16145146493105051731835577431466522777312556712102642258586604156965648489323,1408397907630178084475841628288979560031077923161720290656645690888514900690], [11978935468110936479452540476685650963253543448444491042448602999296500877530,112918063640144403952377835324065916772928630126644486578966192894527844242]);\n vk.gamma2 = Pairing.G2Point([14714161541472190840706407460577570471955020383164127014044969149845099089043,21154405576246819890480857261813245873290117922496461244951437100679802599302], [1840081830277905838744371828531811119637362077753056677334840017658318568390,410971760875258255000700145958941470970464459511247951845295749195541674770]);\n vk.delta2 = Pairing.G2Point([609622496158014325110420558804365410223349280839149569464161962343427764287,8317373424286384092546596992464745037177203788231027221499358270203939798311], [8964380816483194889991669997269927098310306830885265614044859474784301616839,4657156249795161919628914303326963019564805696528481901536526126579308090139]);\n vk.IC = new Pairing.G1Point[](7);\n vk.IC[0] = Pairing.G1Point(20166610602661498805481216064041390370160663060098850035854617107084652933188,1659975302204996438525238174042926887396319013457610086028476512633965956990);\n vk.IC[1] = Pairing.G1Point(4220871189670953026506414371868481831410889010217108719382613726183286975446,1000393167704732207794518371383982711909560731997085626334108036666911896515);\n vk.IC[2] = Pairing.G1Point(12239086110821316935616912649060211038392877351736651065425057336661040984065,5374452082587629349940763802872591986728213630869355796260909357433421532329);\n vk.IC[3] = Pairing.G1Point(10285133610545411845819507508720146823943262881879468951491365404146203175832,2498247655234760266120312262546972165343297120557370090775420013522145792015);\n vk.IC[4] = Pairing.G1Point(18113182104873248546285711585405582060453978828497035767859046179153107375835,6729094613760083456600449536123737034270234634314951752808465378236383530847);\n vk.IC[5] = Pairing.G1Point(2675854458152962472161665122142721791686118092900325507962353336751375645555,12913224302380448616475651904030096179632834250198895128713731772227526103851);\n vk.IC[6] = Pairing.G1Point(6904531203927324497190715701219512027355142032925478416168419557191017067138,3297385619144148685859898508280807841114612552526206265036207895270147740391);\n\n }\n function verify(uint[] memory input, Proof memory proof) internal view returns (uint) {\n uint256 snark_scalar_field = 21888242871839275222246405745257275088548364400416034343698204186575808495617;\n VerifyingKey memory vk = verifyingKey();\n require(input.length + 1 == vk.IC.length,\"verifier-bad-input\");\n // Compute the linear combination vk_x\n Pairing.G1Point memory vk_x = Pairing.G1Point(0, 0);\n for (uint i = 0; i < input.length; i++) {\n require(input[i] < snark_scalar_field,\"verifier-gte-snark-scalar-field\");\n vk_x = Pairing.addition(vk_x, Pairing.scalar_mul(vk.IC[i + 1], input[i]));\n }\n vk_x = Pairing.addition(vk_x, vk.IC[0]);\n if (!Pairing.pairingProd4(\n Pairing.negate(proof.A), proof.B,\n vk.alfa1, vk.beta2,\n vk_x, vk.gamma2,\n proof.C, vk.delta2\n )) return 1;\n return 0;\n }\n function verifyProof(\n uint[2] memory a,\n uint[2][2] memory b,\n uint[2] memory c,\n uint[6] memory input\n ) public view returns (bool r) {\n Proof memory proof;\n proof.A = Pairing.G1Point(a[0], a[1]);\n proof.B = Pairing.G2Point([b[0][0], b[0][1]], [b[1][0], b[1][1]]);\n proof.C = Pairing.G1Point(c[0], c[1]);\n uint[] memory inputValues = new uint[](input.length);\n for(uint i = 0; i < input.length; i++){\n inputValues[i] = input[i];\n }\n if (verify(inputValues, proof) == 0) {\n return true;\n } else {\n return false;\n }\n }\n function verifyProof(bytes calldata proof, uint[6] calldata inputs) external view returns (bool r) {\n // solidity does not support decoding uint[2][2] yet\n (uint[2] memory a, uint[2] memory b1, uint[2] memory b2, uint[2] memory c) = abi.decode(proof, (uint[2], uint[2], uint[2], uint[2]));\n return verifyProof(a, [b1, b2], c, inputs);\n }\n}\n", + "sourcePath": "/home/home/dotfiles/tornado-core/contracts/Verifier.sol", "ast": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Verifier.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Verifier.sol", "exportedSymbols": { "Pairing": [ - 1605 + 577 ], "Verifier": [ - 2086 + 1058 ] }, - "id": 2087, + "id": 1059, "nodeType": "SourceUnit", "nodes": [ { - "id": 1029, + "id": 1, "literals": [ "solidity", "^", @@ -93,7 +93,7 @@ ".0" ], "nodeType": "PragmaDirective", - "src": "1193:23:4" + "src": "1193:23:0" }, { "baseContracts": [], @@ -101,24 +101,24 @@ "contractKind": "library", "documentation": null, "fullyImplemented": true, - "id": 1605, + "id": 577, "linearizedBaseContracts": [ - 1605 + 577 ], "name": "Pairing", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "Pairing.G1Point", - "id": 1034, + "id": 6, "members": [ { "constant": false, - "id": 1031, + "id": 3, "name": "X", "nodeType": "VariableDeclaration", - "scope": 1034, - "src": "1264:6:4", + "scope": 6, + "src": "1264:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -126,10 +126,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1030, + "id": 2, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1264:4:4", + "src": "1264:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -140,11 +140,11 @@ }, { "constant": false, - "id": 1033, + "id": 5, "name": "Y", "nodeType": "VariableDeclaration", - "scope": 1034, - "src": "1280:6:4", + "scope": 6, + "src": "1280:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -152,10 +152,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1032, + "id": 4, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1280:4:4", + "src": "1280:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -167,21 +167,21 @@ ], "name": "G1Point", "nodeType": "StructDefinition", - "scope": 1605, - "src": "1239:54:4", + "scope": 577, + "src": "1239:54:0", "visibility": "public" }, { "canonicalName": "Pairing.G2Point", - "id": 1043, + "id": 15, "members": [ { "constant": false, - "id": 1038, + "id": 10, "name": "X", "nodeType": "VariableDeclaration", - "scope": 1043, - "src": "1377:9:4", + "scope": 15, + "src": "1377:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -190,27 +190,27 @@ }, "typeName": { "baseType": { - "id": 1035, + "id": 7, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1377:4:4", + "src": "1377:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1037, + "id": 9, "length": { "argumentTypes": null, "hexValue": "32", - "id": 1036, + "id": 8, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1382:1:4", + "src": "1382:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -219,7 +219,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "1377:7:4", + "src": "1377:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -230,11 +230,11 @@ }, { "constant": false, - "id": 1042, + "id": 14, "name": "Y", "nodeType": "VariableDeclaration", - "scope": 1043, - "src": "1396:9:4", + "scope": 15, + "src": "1396:9:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -243,27 +243,27 @@ }, "typeName": { "baseType": { - "id": 1039, + "id": 11, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "1396:4:4", + "src": "1396:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1041, + "id": 13, "length": { "argumentTypes": null, "hexValue": "32", - "id": 1040, + "id": 12, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1401:1:4", + "src": "1401:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -272,7 +272,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "1396:7:4", + "src": "1396:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -284,15 +284,15 @@ ], "name": "G2Point", "nodeType": "StructDefinition", - "scope": 1605, - "src": "1352:60:4", + "scope": 577, + "src": "1352:60:0", "visibility": "public" }, { "body": { - "id": 1053, + "id": 25, "nodeType": "Block", - "src": "1506:37:4", + "src": "1506:37:0", "statements": [ { "expression": { @@ -301,14 +301,14 @@ { "argumentTypes": null, "hexValue": "31", - "id": 1049, + "id": 21, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1531:1:4", + "src": "1531:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -319,14 +319,14 @@ { "argumentTypes": null, "hexValue": "32", - "id": 1050, + "id": 22, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1534:1:4", + "src": "1534:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -346,18 +346,18 @@ "typeString": "int_const 2" } ], - "id": 1048, + "id": 20, "name": "G1Point", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1034, - "src": "1523:7:4", + "referencedDeclaration": 6, + "src": "1523:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1051, + "id": 23, "isConstant": false, "isLValue": false, "isPure": true, @@ -365,58 +365,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1523:13:4", + "src": "1523:13:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "functionReturnParameters": 1047, - "id": 1052, + "functionReturnParameters": 19, + "id": 24, "nodeType": "Return", - "src": "1516:20:4" + "src": "1516:20:0" } ] }, "documentation": "@return the generator of G1", - "id": 1054, + "id": 26, "implemented": true, "kind": "function", "modifiers": [], "name": "P1", "nodeType": "FunctionDefinition", "parameters": { - "id": 1044, + "id": 16, "nodeType": "ParameterList", "parameters": [], - "src": "1464:2:4" + "src": "1464:2:0" }, "returnParameters": { - "id": 1047, + "id": 19, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1046, + "id": 18, "name": "", "nodeType": "VariableDeclaration", - "scope": 1054, - "src": "1490:14:4", + "scope": 26, + "src": "1490:14:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1045, + "id": 17, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "1490:7:4", + "referencedDeclaration": 6, + "src": "1490:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -424,19 +424,19 @@ "visibility": "internal" } ], - "src": "1489:16:4" + "src": "1489:16:0" }, - "scope": 1605, - "src": "1453:90:4", + "scope": 577, + "src": "1453:90:0", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1068, + "id": 40, "nodeType": "Block", - "src": "1637:883:4", + "src": "1637:883:0", "statements": [ { "expression": { @@ -448,14 +448,14 @@ { "argumentTypes": null, "hexValue": "3131353539373332303332393836333837313037393931303034303231333932323835373833393235383132383631383231313932353330393137343033313531343532333931383035363334", - "id": 1060, + "id": 32, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1707:77:4", + "src": "1707:77:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_11559732032986387107991004021392285783925812861821192530917403151452391805634_by_1", @@ -466,14 +466,14 @@ { "argumentTypes": null, "hexValue": "3130383537303436393939303233303537313335393434353730373632323332383239343831333730373536333539353738353138303836393930353139393933323835363535383532373831", - "id": 1061, + "id": 33, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1799:77:4", + "src": "1799:77:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_10857046999023057135944570762232829481370756359578518086990519993285655852781_by_1", @@ -482,14 +482,14 @@ "value": "10857046999023057135944570762232829481370756359578518086990519993285655852781" } ], - "id": 1062, + "id": 34, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1706:171:4", + "src": "1706:171:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -501,14 +501,14 @@ { "argumentTypes": null, "hexValue": "34303832333637383735383633343333363831333332323033343033313435343335353638333136383531333237353933343031323038313035373431303736323134313230303933353331", - "id": 1063, + "id": 35, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1892:76:4", + "src": "1892:76:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4082367875863433681332203403145435568316851327593401208105741076214120093531_by_1", @@ -519,14 +519,14 @@ { "argumentTypes": null, "hexValue": "38343935363533393233313233343331343137363034393733323437343839323732343338343138313930353837323633363030313438373730323830363439333036393538313031393330", - "id": 1064, + "id": 36, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1983:76:4", + "src": "1983:76:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_8495653923123431417604973247489272438418190587263600148770280649306958101930_by_1", @@ -535,14 +535,14 @@ "value": "8495653923123431417604973247489272438418190587263600148770280649306958101930" } ], - "id": 1065, + "id": 37, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1891:169:4", + "src": "1891:169:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -560,18 +560,18 @@ "typeString": "uint256[2] memory" } ], - "id": 1059, + "id": 31, "name": "G2Point", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1043, - "src": "1685:7:4", + "referencedDeclaration": 15, + "src": "1685:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$1043_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G2Point_$15_storage_ptr_$", "typeString": "type(struct Pairing.G2Point storage pointer)" } }, - "id": 1066, + "id": 38, "isConstant": false, "isLValue": false, "isPure": true, @@ -579,58 +579,58 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1685:385:4", + "src": "1685:385:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "functionReturnParameters": 1058, - "id": 1067, + "functionReturnParameters": 30, + "id": 39, "nodeType": "Return", - "src": "1678:392:4" + "src": "1678:392:0" } ] }, "documentation": "@return the generator of G2", - "id": 1069, + "id": 41, "implemented": true, "kind": "function", "modifiers": [], "name": "P2", "nodeType": "FunctionDefinition", "parameters": { - "id": 1055, + "id": 27, "nodeType": "ParameterList", "parameters": [], - "src": "1595:2:4" + "src": "1595:2:0" }, "returnParameters": { - "id": 1058, + "id": 30, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1057, + "id": 29, "name": "", "nodeType": "VariableDeclaration", - "scope": 1069, - "src": "1621:14:4", + "scope": 41, + "src": "1621:14:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1056, + "id": 28, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "1621:7:4", + "referencedDeclaration": 15, + "src": "1621:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -638,32 +638,32 @@ "visibility": "internal" } ], - "src": "1620:16:4" + "src": "1620:16:0" }, - "scope": 1605, - "src": "1584:936:4", + "scope": 577, + "src": "1584:936:0", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1107, + "id": 79, "nodeType": "Block", - "src": "2677:267:4", + "src": "2677:267:0", "statements": [ { "assignments": [ - 1077 + 49 ], "declarations": [ { "constant": false, - "id": 1077, + "id": 49, "name": "q", "nodeType": "VariableDeclaration", - "scope": 1107, - "src": "2739:6:4", + "scope": 79, + "src": "2739:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -671,10 +671,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1076, + "id": 48, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "2739:4:4", + "src": "2739:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -684,18 +684,18 @@ "visibility": "internal" } ], - "id": 1079, + "id": 51, "initialValue": { "argumentTypes": null, "hexValue": "3231383838323432383731383339323735323232323436343035373435323537323735303838363936333131313537323937383233363632363839303337383934363435323236323038353833", - "id": 1078, + "id": 50, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2748:77:4", + "src": "2748:77:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_21888242871839275222246405745257275088696311157297823662689037894645226208583_by_1", @@ -704,7 +704,7 @@ "value": "21888242871839275222246405745257275088696311157297823662689037894645226208583" }, "nodeType": "VariableDeclarationStatement", - "src": "2739:86:4" + "src": "2739:86:0" }, { "condition": { @@ -713,7 +713,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1088, + "id": 60, "isConstant": false, "isLValue": false, "isPure": false, @@ -724,7 +724,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1083, + "id": 55, "isConstant": false, "isLValue": false, "isPure": false, @@ -733,26 +733,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1080, + "id": 52, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "2839:1:4", + "referencedDeclaration": 43, + "src": "2839:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1081, + "id": 53, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "X", "nodeType": "MemberAccess", - "referencedDeclaration": 1031, - "src": "2839:3:4", + "referencedDeclaration": 3, + "src": "2839:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -763,14 +763,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1082, + "id": 54, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2846:1:4", + "src": "2846:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -778,7 +778,7 @@ }, "value": "0" }, - "src": "2839:8:4", + "src": "2839:8:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -792,7 +792,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1087, + "id": 59, "isConstant": false, "isLValue": false, "isPure": false, @@ -801,26 +801,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1084, + "id": 56, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "2851:1:4", + "referencedDeclaration": 43, + "src": "2851:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1085, + "id": 57, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Y", "nodeType": "MemberAccess", - "referencedDeclaration": 1033, - "src": "2851:3:4", + "referencedDeclaration": 5, + "src": "2851:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -831,14 +831,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1086, + "id": 58, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2858:1:4", + "src": "2858:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -846,22 +846,22 @@ }, "value": "0" }, - "src": "2851:8:4", + "src": "2851:8:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "2839:20:4", + "src": "2839:20:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": null, - "id": 1094, + "id": 66, "nodeType": "IfStatement", - "src": "2835:58:4", + "src": "2835:58:0", "trueBody": { "expression": { "argumentTypes": null, @@ -869,14 +869,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1090, + "id": 62, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2888:1:4", + "src": "2888:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -887,14 +887,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1091, + "id": 63, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2891:1:4", + "src": "2891:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -914,18 +914,18 @@ "typeString": "int_const 0" } ], - "id": 1089, + "id": 61, "name": "G1Point", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1034, - "src": "2880:7:4", + "referencedDeclaration": 6, + "src": "2880:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1092, + "id": 64, "isConstant": false, "isLValue": false, "isPure": true, @@ -933,16 +933,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2880:13:4", + "src": "2880:13:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "functionReturnParameters": 1075, - "id": 1093, + "functionReturnParameters": 47, + "id": 65, "nodeType": "Return", - "src": "2873:20:4" + "src": "2873:20:0" } }, { @@ -953,26 +953,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1096, + "id": 68, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "2918:1:4", + "referencedDeclaration": 43, + "src": "2918:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1097, + "id": 69, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "X", "nodeType": "MemberAccess", - "referencedDeclaration": 1031, - "src": "2918:3:4", + "referencedDeclaration": 3, + "src": "2918:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -984,19 +984,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1104, + "id": 76, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1098, + "id": 70, "name": "q", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1077, - "src": "2923:1:4", + "referencedDeclaration": 49, + "src": "2923:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1013,7 +1013,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1102, + "id": 74, "isConstant": false, "isLValue": false, "isPure": false, @@ -1022,26 +1022,26 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1099, + "id": 71, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1071, - "src": "2928:1:4", + "referencedDeclaration": 43, + "src": "2928:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1100, + "id": 72, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Y", "nodeType": "MemberAccess", - "referencedDeclaration": 1033, - "src": "2928:3:4", + "referencedDeclaration": 5, + "src": "2928:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1051,38 +1051,38 @@ "operator": "%", "rightExpression": { "argumentTypes": null, - "id": 1101, + "id": 73, "name": "q", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1077, - "src": "2934:1:4", + "referencedDeclaration": 49, + "src": "2934:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2928:7:4", + "src": "2928:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 1103, + "id": 75, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2927:9:4", + "src": "2927:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2923:13:4", + "src": "2923:13:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1100,18 +1100,18 @@ "typeString": "uint256" } ], - "id": 1095, + "id": 67, "name": "G1Point", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1034, - "src": "2910:7:4", + "referencedDeclaration": 6, + "src": "2910:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1105, + "id": 77, "isConstant": false, "isLValue": false, "isPure": false, @@ -1119,52 +1119,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2910:27:4", + "src": "2910:27:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "functionReturnParameters": 1075, - "id": 1106, + "functionReturnParameters": 47, + "id": 78, "nodeType": "Return", - "src": "2903:34:4" + "src": "2903:34:0" } ] }, "documentation": "@return the negation of p, i.e. p.addition(p.negate()) should be zero.", - "id": 1108, + "id": 80, "implemented": true, "kind": "function", "modifiers": [], "name": "negate", "nodeType": "FunctionDefinition", "parameters": { - "id": 1072, + "id": 44, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1071, + "id": 43, "name": "p", "nodeType": "VariableDeclaration", - "scope": 1108, - "src": "2620:16:4", + "scope": 80, + "src": "2620:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1070, + "id": 42, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "2620:7:4", + "referencedDeclaration": 6, + "src": "2620:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -1172,34 +1172,34 @@ "visibility": "internal" } ], - "src": "2619:18:4" + "src": "2619:18:0" }, "returnParameters": { - "id": 1075, + "id": 47, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1074, + "id": 46, "name": "", "nodeType": "VariableDeclaration", - "scope": 1108, - "src": "2661:14:4", + "scope": 80, + "src": "2661:14:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1073, + "id": 45, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "2661:7:4", + "referencedDeclaration": 6, + "src": "2661:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -1207,32 +1207,32 @@ "visibility": "internal" } ], - "src": "2660:16:4" + "src": "2660:16:0" }, - "scope": 1605, - "src": "2604:340:4", + "scope": 577, + "src": "2604:340:0", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1160, + "id": 132, "nodeType": "Block", - "src": "3090:479:4", + "src": "3090:479:0", "statements": [ { "assignments": [ - 1121 + 93 ], "declarations": [ { "constant": false, - "id": 1121, + "id": 93, "name": "input", "nodeType": "VariableDeclaration", - "scope": 1160, - "src": "3100:20:4", + "scope": 132, + "src": "3100:20:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1241,27 +1241,27 @@ }, "typeName": { "baseType": { - "id": 1119, + "id": 91, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3100:4:4", + "src": "3100:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1120, + "id": 92, "length": { "argumentTypes": null, "hexValue": "34", - "id": 1118, + "id": 90, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3105:1:4", + "src": "3105:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -1270,7 +1270,7 @@ "value": "4" }, "nodeType": "ArrayTypeName", - "src": "3100:7:4", + "src": "3100:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$4_storage_ptr", "typeString": "uint256[4]" @@ -1280,15 +1280,15 @@ "visibility": "internal" } ], - "id": 1122, + "id": 94, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "3100:20:4" + "src": "3100:20:0" }, { "expression": { "argumentTypes": null, - "id": 1128, + "id": 100, "isConstant": false, "isLValue": false, "isPure": false, @@ -1297,29 +1297,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1123, + "id": 95, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1121, - "src": "3130:5:4", + "referencedDeclaration": 93, + "src": "3130:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", "typeString": "uint256[4] memory" } }, - "id": 1125, + "id": 97, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1124, + "id": 96, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3136:1:4", + "src": "3136:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -1332,7 +1332,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3130:8:4", + "src": "3130:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1344,45 +1344,45 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1126, + "id": 98, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1110, - "src": "3141:2:4", + "referencedDeclaration": 82, + "src": "3141:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1127, + "id": 99, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "X", "nodeType": "MemberAccess", - "referencedDeclaration": 1031, - "src": "3141:4:4", + "referencedDeclaration": 3, + "src": "3141:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3130:15:4", + "src": "3130:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1129, + "id": 101, "nodeType": "ExpressionStatement", - "src": "3130:15:4" + "src": "3130:15:0" }, { "expression": { "argumentTypes": null, - "id": 1135, + "id": 107, "isConstant": false, "isLValue": false, "isPure": false, @@ -1391,29 +1391,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1130, + "id": 102, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1121, - "src": "3155:5:4", + "referencedDeclaration": 93, + "src": "3155:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", "typeString": "uint256[4] memory" } }, - "id": 1132, + "id": 104, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1131, + "id": 103, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3161:1:4", + "src": "3161:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -1426,7 +1426,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3155:8:4", + "src": "3155:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1438,45 +1438,45 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1133, + "id": 105, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1110, - "src": "3166:2:4", + "referencedDeclaration": 82, + "src": "3166:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1134, + "id": 106, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Y", "nodeType": "MemberAccess", - "referencedDeclaration": 1033, - "src": "3166:4:4", + "referencedDeclaration": 5, + "src": "3166:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3155:15:4", + "src": "3155:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1136, + "id": 108, "nodeType": "ExpressionStatement", - "src": "3155:15:4" + "src": "3155:15:0" }, { "expression": { "argumentTypes": null, - "id": 1142, + "id": 114, "isConstant": false, "isLValue": false, "isPure": false, @@ -1485,29 +1485,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1137, + "id": 109, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1121, - "src": "3180:5:4", + "referencedDeclaration": 93, + "src": "3180:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", "typeString": "uint256[4] memory" } }, - "id": 1139, + "id": 111, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1138, + "id": 110, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3186:1:4", + "src": "3186:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -1520,7 +1520,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3180:8:4", + "src": "3180:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1532,45 +1532,45 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1140, + "id": 112, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1112, - "src": "3191:2:4", + "referencedDeclaration": 84, + "src": "3191:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1141, + "id": 113, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "X", "nodeType": "MemberAccess", - "referencedDeclaration": 1031, - "src": "3191:4:4", + "referencedDeclaration": 3, + "src": "3191:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3180:15:4", + "src": "3180:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1143, + "id": 115, "nodeType": "ExpressionStatement", - "src": "3180:15:4" + "src": "3180:15:0" }, { "expression": { "argumentTypes": null, - "id": 1149, + "id": 121, "isConstant": false, "isLValue": false, "isPure": false, @@ -1579,29 +1579,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1144, + "id": 116, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1121, - "src": "3205:5:4", + "referencedDeclaration": 93, + "src": "3205:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$4_memory_ptr", "typeString": "uint256[4] memory" } }, - "id": 1146, + "id": 118, "indexExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1145, + "id": 117, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3211:1:4", + "src": "3211:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -1614,7 +1614,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3205:8:4", + "src": "3205:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1626,53 +1626,53 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1147, + "id": 119, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1112, - "src": "3216:2:4", + "referencedDeclaration": 84, + "src": "3216:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1148, + "id": 120, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Y", "nodeType": "MemberAccess", - "referencedDeclaration": 1033, - "src": "3216:4:4", + "referencedDeclaration": 5, + "src": "3216:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3205:15:4", + "src": "3205:15:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1150, + "id": 122, "nodeType": "ExpressionStatement", - "src": "3205:15:4" + "src": "3205:15:0" }, { "assignments": [ - 1152 + 124 ], "declarations": [ { "constant": false, - "id": 1152, + "id": 124, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1160, - "src": "3230:12:4", + "scope": 132, + "src": "3230:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1680,10 +1680,10 @@ "typeString": "bool" }, "typeName": { - "id": 1151, + "id": 123, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3230:4:4", + "src": "3230:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1693,54 +1693,54 @@ "visibility": "internal" } ], - "id": 1153, + "id": 125, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "3230:12:4" + "src": "3230:12:0" }, { "externalReferences": [ - { - "success": { - "declaration": 1152, - "isOffset": false, - "isSlot": false, - "src": "3339:7:4", - "valueSize": 1 - } - }, { "input": { - "declaration": 1121, + "declaration": 93, "isOffset": false, "isSlot": false, - "src": "3380:5:4", + "src": "3380:5:0", "valueSize": 1 } }, { "r": { - "declaration": 1115, + "declaration": 87, "isOffset": false, "isSlot": false, - "src": "3393:1:4", + "src": "3393:1:0", "valueSize": 1 } }, { "success": { - "declaration": 1152, + "declaration": 124, "isOffset": false, "isSlot": false, - "src": "3478:7:4", + "src": "3478:7:0", + "valueSize": 1 + } + }, + { + "success": { + "declaration": 124, + "isOffset": false, + "isSlot": false, + "src": "3339:7:0", "valueSize": 1 } } ], - "id": 1154, + "id": 126, "nodeType": "InlineAssembly", "operations": "{\n success := staticcall(sub(gas(), 2000), 6, input, 0xc0, r, 0x60)\n switch success\n case 0 { invalid() }\n}", - "src": "3316:200:4" + "src": "3316:200:0" }, { "expression": { @@ -1748,12 +1748,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1156, + "id": 128, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1152, - "src": "3533:7:4", + "referencedDeclaration": 124, + "src": "3533:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1762,14 +1762,14 @@ { "argumentTypes": null, "hexValue": "70616972696e672d6164642d6661696c6564", - "id": 1157, + "id": 129, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3541:20:4", + "src": "3541:20:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_e428a53e578d13ee2fc3b8849114332d6a94afed893fa747a37e281039728688", @@ -1789,21 +1789,21 @@ "typeString": "literal_string \"pairing-add-failed\"" } ], - "id": 1155, + "id": 127, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, - "src": "3525:7:4", + "referencedDeclaration": 1077, + "src": "3525:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1158, + "id": 130, "isConstant": false, "isLValue": false, "isPure": false, @@ -1811,51 +1811,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3525:37:4", + "src": "3525:37:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1159, + "id": 131, "nodeType": "ExpressionStatement", - "src": "3525:37:4" + "src": "3525:37:0" } ] }, "documentation": "@return the sum of two points of G1", - "id": 1161, + "id": 133, "implemented": true, "kind": "function", "modifiers": [], "name": "addition", "nodeType": "FunctionDefinition", "parameters": { - "id": 1113, + "id": 85, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1110, + "id": 82, "name": "p1", "nodeType": "VariableDeclaration", - "scope": 1161, - "src": "3011:17:4", + "scope": 133, + "src": "3011:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1109, + "id": 81, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "3011:7:4", + "referencedDeclaration": 6, + "src": "3011:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -1864,26 +1864,26 @@ }, { "constant": false, - "id": 1112, + "id": 84, "name": "p2", "nodeType": "VariableDeclaration", - "scope": 1161, - "src": "3030:17:4", + "scope": 133, + "src": "3030:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1111, + "id": 83, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "3030:7:4", + "referencedDeclaration": 6, + "src": "3030:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -1891,34 +1891,34 @@ "visibility": "internal" } ], - "src": "3010:38:4" + "src": "3010:38:0" }, "returnParameters": { - "id": 1116, + "id": 88, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1115, + "id": 87, "name": "r", "nodeType": "VariableDeclaration", - "scope": 1161, - "src": "3072:16:4", + "scope": 133, + "src": "3072:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1114, + "id": 86, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "3072:7:4", + "referencedDeclaration": 6, + "src": "3072:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -1926,32 +1926,32 @@ "visibility": "internal" } ], - "src": "3071:18:4" + "src": "3071:18:0" }, - "scope": 1605, - "src": "2993:576:4", + "scope": 577, + "src": "2993:576:0", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1205, + "id": 177, "nodeType": "Block", - "src": "3809:450:4", + "src": "3809:450:0", "statements": [ { "assignments": [ - 1174 + 146 ], "declarations": [ { "constant": false, - "id": 1174, + "id": 146, "name": "input", "nodeType": "VariableDeclaration", - "scope": 1205, - "src": "3819:20:4", + "scope": 177, + "src": "3819:20:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -1960,27 +1960,27 @@ }, "typeName": { "baseType": { - "id": 1172, + "id": 144, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3819:4:4", + "src": "3819:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1173, + "id": 145, "length": { "argumentTypes": null, "hexValue": "33", - "id": 1171, + "id": 143, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3824:1:4", + "src": "3824:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -1989,7 +1989,7 @@ "value": "3" }, "nodeType": "ArrayTypeName", - "src": "3819:7:4", + "src": "3819:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_storage_ptr", "typeString": "uint256[3]" @@ -1999,15 +1999,15 @@ "visibility": "internal" } ], - "id": 1175, + "id": 147, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "3819:20:4" + "src": "3819:20:0" }, { "expression": { "argumentTypes": null, - "id": 1181, + "id": 153, "isConstant": false, "isLValue": false, "isPure": false, @@ -2016,29 +2016,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1176, + "id": 148, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1174, - "src": "3849:5:4", + "referencedDeclaration": 146, + "src": "3849:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_memory_ptr", "typeString": "uint256[3] memory" } }, - "id": 1178, + "id": 150, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1177, + "id": 149, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3855:1:4", + "src": "3855:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -2051,7 +2051,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3849:8:4", + "src": "3849:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2063,45 +2063,45 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1179, + "id": 151, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1163, - "src": "3860:1:4", + "referencedDeclaration": 135, + "src": "3860:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1180, + "id": 152, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "X", "nodeType": "MemberAccess", - "referencedDeclaration": 1031, - "src": "3860:3:4", + "referencedDeclaration": 3, + "src": "3860:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3849:14:4", + "src": "3849:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1182, + "id": 154, "nodeType": "ExpressionStatement", - "src": "3849:14:4" + "src": "3849:14:0" }, { "expression": { "argumentTypes": null, - "id": 1188, + "id": 160, "isConstant": false, "isLValue": false, "isPure": false, @@ -2110,29 +2110,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1183, + "id": 155, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1174, - "src": "3873:5:4", + "referencedDeclaration": 146, + "src": "3873:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_memory_ptr", "typeString": "uint256[3] memory" } }, - "id": 1185, + "id": 157, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1184, + "id": 156, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3879:1:4", + "src": "3879:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -2145,7 +2145,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3873:8:4", + "src": "3873:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2157,45 +2157,45 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1186, + "id": 158, "name": "p", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1163, - "src": "3884:1:4", + "referencedDeclaration": 135, + "src": "3884:1:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1187, + "id": 159, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Y", "nodeType": "MemberAccess", - "referencedDeclaration": 1033, - "src": "3884:3:4", + "referencedDeclaration": 5, + "src": "3884:3:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3873:14:4", + "src": "3873:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1189, + "id": 161, "nodeType": "ExpressionStatement", - "src": "3873:14:4" + "src": "3873:14:0" }, { "expression": { "argumentTypes": null, - "id": 1194, + "id": 166, "isConstant": false, "isLValue": false, "isPure": false, @@ -2204,29 +2204,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1190, + "id": 162, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1174, - "src": "3897:5:4", + "referencedDeclaration": 146, + "src": "3897:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$3_memory_ptr", "typeString": "uint256[3] memory" } }, - "id": 1192, + "id": 164, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1191, + "id": 163, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3903:1:4", + "src": "3903:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -2239,7 +2239,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3897:8:4", + "src": "3897:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2249,39 +2249,39 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1193, + "id": 165, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1165, - "src": "3908:1:4", + "referencedDeclaration": 137, + "src": "3908:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3897:12:4", + "src": "3897:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1195, + "id": 167, "nodeType": "ExpressionStatement", - "src": "3897:12:4" + "src": "3897:12:0" }, { "assignments": [ - 1197 + 169 ], "declarations": [ { "constant": false, - "id": 1197, + "id": 169, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1205, - "src": "3919:12:4", + "scope": 177, + "src": "3919:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2289,10 +2289,10 @@ "typeString": "bool" }, "typeName": { - "id": 1196, + "id": 168, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3919:4:4", + "src": "3919:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2302,54 +2302,54 @@ "visibility": "internal" } ], - "id": 1198, + "id": 170, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "3919:12:4" + "src": "3919:12:0" }, { "externalReferences": [ { "success": { - "declaration": 1197, + "declaration": 169, "isOffset": false, "isSlot": false, - "src": "4028:7:4", - "valueSize": 1 - } - }, - { - "success": { - "declaration": 1197, - "isOffset": false, - "isSlot": false, - "src": "4167:7:4", + "src": "4028:7:0", "valueSize": 1 } }, { "input": { - "declaration": 1174, + "declaration": 146, "isOffset": false, "isSlot": false, - "src": "4069:5:4", + "src": "4069:5:0", "valueSize": 1 } }, { "r": { - "declaration": 1168, + "declaration": 140, "isOffset": false, "isSlot": false, - "src": "4082:1:4", + "src": "4082:1:0", + "valueSize": 1 + } + }, + { + "success": { + "declaration": 169, + "isOffset": false, + "isSlot": false, + "src": "4167:7:0", "valueSize": 1 } } ], - "id": 1199, + "id": 171, "nodeType": "InlineAssembly", "operations": "{\n success := staticcall(sub(gas(), 2000), 7, input, 0x80, r, 0x60)\n switch success\n case 0 { invalid() }\n}", - "src": "4005:200:4" + "src": "4005:200:0" }, { "expression": { @@ -2357,12 +2357,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1201, + "id": 173, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1197, - "src": "4223:7:4", + "referencedDeclaration": 169, + "src": "4223:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2371,14 +2371,14 @@ { "argumentTypes": null, "hexValue": "70616972696e672d6d756c2d6661696c6564", - "id": 1202, + "id": 174, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4231:20:4", + "src": "4231:20:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_63b4943691e0891cf5adcfe6e3eb490783b718accceadc0166bc4e56cf1df5de", @@ -2398,21 +2398,21 @@ "typeString": "literal_string \"pairing-mul-failed\"" } ], - "id": 1200, + "id": 172, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, - "src": "4214:7:4", + "referencedDeclaration": 1077, + "src": "4214:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1203, + "id": 175, "isConstant": false, "isLValue": false, "isPure": false, @@ -2420,51 +2420,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4214:38:4", + "src": "4214:38:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1204, + "id": 176, "nodeType": "ExpressionStatement", - "src": "4214:38:4" + "src": "4214:38:0" } ] }, "documentation": "@return the product of a point on G1 and a scalar, i.e.\n p == p.scalar_mul(1) and p.addition(p) == p.scalar_mul(2) for all points p.", - "id": 1206, + "id": 178, "implemented": true, "kind": "function", "modifiers": [], "name": "scalar_mul", "nodeType": "FunctionDefinition", "parameters": { - "id": 1166, + "id": 138, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1163, + "id": 135, "name": "p", "nodeType": "VariableDeclaration", - "scope": 1206, - "src": "3742:16:4", + "scope": 178, + "src": "3742:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1162, + "id": 134, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "3742:7:4", + "referencedDeclaration": 6, + "src": "3742:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -2473,11 +2473,11 @@ }, { "constant": false, - "id": 1165, + "id": 137, "name": "s", "nodeType": "VariableDeclaration", - "scope": 1206, - "src": "3760:6:4", + "scope": 178, + "src": "3760:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2485,10 +2485,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1164, + "id": 136, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "3760:4:4", + "src": "3760:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2498,34 +2498,34 @@ "visibility": "internal" } ], - "src": "3741:26:4" + "src": "3741:26:0" }, "returnParameters": { - "id": 1169, + "id": 141, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1168, + "id": 140, "name": "r", "nodeType": "VariableDeclaration", - "scope": 1206, - "src": "3791:16:4", + "scope": 178, + "src": "3791:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1167, + "id": 139, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "3791:7:4", + "referencedDeclaration": 6, + "src": "3791:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -2533,19 +2533,19 @@ "visibility": "internal" } ], - "src": "3790:18:4" + "src": "3790:18:0" }, - "scope": 1605, - "src": "3722:537:4", + "scope": 577, + "src": "3722:537:0", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1366, + "id": 338, "nodeType": "Block", - "src": "4558:946:4", + "src": "4558:946:0", "statements": [ { "expression": { @@ -2557,7 +2557,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1222, + "id": 194, "isConstant": false, "isLValue": false, "isPure": false, @@ -2566,18 +2566,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1218, + "id": 190, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1209, - "src": "4576:2:4", + "referencedDeclaration": 181, + "src": "4576:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1219, + "id": 191, "isConstant": false, "isLValue": false, "isPure": false, @@ -2585,7 +2585,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4576:9:4", + "src": "4576:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2597,18 +2597,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1220, + "id": 192, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, - "src": "4589:2:4", + "referencedDeclaration": 184, + "src": "4589:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1221, + "id": 193, "isConstant": false, "isLValue": false, "isPure": false, @@ -2616,13 +2616,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4589:9:4", + "src": "4589:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4576:22:4", + "src": "4576:22:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2631,14 +2631,14 @@ { "argumentTypes": null, "hexValue": "70616972696e672d6c656e677468732d6661696c6564", - "id": 1223, + "id": 195, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4599:24:4", + "src": "4599:24:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_d4c505601ed3bad1341fbb75434dd6541f91bae974d0b2bc28d5491a5c4a21cc", @@ -2658,21 +2658,21 @@ "typeString": "literal_string \"pairing-lengths-failed\"" } ], - "id": 1217, + "id": 189, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, - "src": "4568:7:4", + "referencedDeclaration": 1077, + "src": "4568:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1224, + "id": 196, "isConstant": false, "isLValue": false, "isPure": false, @@ -2680,28 +2680,28 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4568:56:4", + "src": "4568:56:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1225, + "id": 197, "nodeType": "ExpressionStatement", - "src": "4568:56:4" + "src": "4568:56:0" }, { "assignments": [ - 1227 + 199 ], "declarations": [ { "constant": false, - "id": 1227, + "id": 199, "name": "elements", "nodeType": "VariableDeclaration", - "scope": 1366, - "src": "4634:13:4", + "scope": 338, + "src": "4634:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2709,10 +2709,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1226, + "id": 198, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4634:4:4", + "src": "4634:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2722,23 +2722,23 @@ "visibility": "internal" } ], - "id": 1230, + "id": 202, "initialValue": { "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1228, + "id": 200, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1209, - "src": "4650:2:4", + "referencedDeclaration": 181, + "src": "4650:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1229, + "id": 201, "isConstant": false, "isLValue": false, "isPure": false, @@ -2746,27 +2746,27 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "4650:9:4", + "src": "4650:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4634:25:4" + "src": "4634:25:0" }, { "assignments": [ - 1232 + 204 ], "declarations": [ { "constant": false, - "id": 1232, + "id": 204, "name": "inputSize", "nodeType": "VariableDeclaration", - "scope": 1366, - "src": "4669:14:4", + "scope": 338, + "src": "4669:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2774,10 +2774,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1231, + "id": 203, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4669:4:4", + "src": "4669:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2787,26 +2787,26 @@ "visibility": "internal" } ], - "id": 1236, + "id": 208, "initialValue": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1235, + "id": 207, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1233, + "id": 205, "name": "elements", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "4686:8:4", + "referencedDeclaration": 199, + "src": "4686:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2817,14 +2817,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "36", - "id": 1234, + "id": 206, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4697:1:4", + "src": "4697:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -2832,27 +2832,27 @@ }, "value": "6" }, - "src": "4686:12:4", + "src": "4686:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "4669:29:4" + "src": "4669:29:0" }, { "assignments": [ - 1240 + 212 ], "declarations": [ { "constant": false, - "id": 1240, + "id": 212, "name": "input", "nodeType": "VariableDeclaration", - "scope": 1366, - "src": "4708:19:4", + "scope": 338, + "src": "4708:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2861,19 +2861,19 @@ }, "typeName": { "baseType": { - "id": 1238, + "id": 210, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4708:4:4", + "src": "4708:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1239, + "id": 211, "length": null, "nodeType": "ArrayTypeName", - "src": "4708:6:4", + "src": "4708:6:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -2883,18 +2883,18 @@ "visibility": "internal" } ], - "id": 1246, + "id": 218, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 1244, + "id": 216, "name": "inputSize", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1232, - "src": "4741:9:4", + "referencedDeclaration": 204, + "src": "4741:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2908,39 +2908,39 @@ "typeString": "uint256" } ], - "id": 1243, + "id": 215, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "4730:10:4", + "src": "4730:10:0", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", "typeString": "function (uint256) pure returns (uint256[] memory)" }, "typeName": { "baseType": { - "id": 1241, + "id": 213, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4734:4:4", + "src": "4734:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1242, + "id": 214, "length": null, "nodeType": "ArrayTypeName", - "src": "4734:6:4", + "src": "4734:6:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } } }, - "id": 1245, + "id": 217, "isConstant": false, "isLValue": false, "isPure": false, @@ -2948,25 +2948,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4730:21:4", + "src": "4730:21:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory", "typeString": "uint256[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "4708:43:4" + "src": "4708:43:0" }, { "body": { - "id": 1343, + "id": 315, "nodeType": "Block", - "src": "4805:263:4", + "src": "4805:263:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1268, + "id": 240, "isConstant": false, "isLValue": false, "isPure": false, @@ -2975,25 +2975,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1257, + "id": 229, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "4819:5:4", + "referencedDeclaration": 212, + "src": "4819:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1263, + "id": 235, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1262, + "id": 234, "isConstant": false, "isLValue": false, "isPure": false, @@ -3004,19 +3004,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1260, + "id": 232, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1258, + "id": 230, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4825:1:4", + "referencedDeclaration": 220, + "src": "4825:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3027,14 +3027,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "36", - "id": 1259, + "id": 231, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4829:1:4", + "src": "4829:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -3042,7 +3042,7 @@ }, "value": "6" }, - "src": "4825:5:4", + "src": "4825:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3053,14 +3053,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1261, + "id": 233, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4833:1:4", + "src": "4833:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3068,7 +3068,7 @@ }, "value": "0" }, - "src": "4825:9:4", + "src": "4825:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3079,7 +3079,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4819:16:4", + "src": "4819:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3093,26 +3093,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1264, + "id": 236, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1209, - "src": "4838:2:4", + "referencedDeclaration": 181, + "src": "4838:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1266, + "id": 238, "indexExpression": { "argumentTypes": null, - "id": 1265, + "id": 237, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4841:1:4", + "referencedDeclaration": 220, + "src": "4841:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3123,40 +3123,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4838:5:4", + "src": "4838:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1267, + "id": 239, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "X", "nodeType": "MemberAccess", - "referencedDeclaration": 1031, - "src": "4838:7:4", + "referencedDeclaration": 3, + "src": "4838:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4819:26:4", + "src": "4819:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1269, + "id": 241, "nodeType": "ExpressionStatement", - "src": "4819:26:4" + "src": "4819:26:0" }, { "expression": { "argumentTypes": null, - "id": 1281, + "id": 253, "isConstant": false, "isLValue": false, "isPure": false, @@ -3165,25 +3165,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1270, + "id": 242, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "4859:5:4", + "referencedDeclaration": 212, + "src": "4859:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1276, + "id": 248, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1275, + "id": 247, "isConstant": false, "isLValue": false, "isPure": false, @@ -3194,19 +3194,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1273, + "id": 245, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1271, + "id": 243, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4865:1:4", + "referencedDeclaration": 220, + "src": "4865:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3217,14 +3217,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "36", - "id": 1272, + "id": 244, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4869:1:4", + "src": "4869:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -3232,7 +3232,7 @@ }, "value": "6" }, - "src": "4865:5:4", + "src": "4865:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3243,14 +3243,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1274, + "id": 246, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4873:1:4", + "src": "4873:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -3258,7 +3258,7 @@ }, "value": "1" }, - "src": "4865:9:4", + "src": "4865:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3269,7 +3269,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4859:16:4", + "src": "4859:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3283,26 +3283,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1277, + "id": 249, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1209, - "src": "4878:2:4", + "referencedDeclaration": 181, + "src": "4878:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1279, + "id": 251, "indexExpression": { "argumentTypes": null, - "id": 1278, + "id": 250, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4881:1:4", + "referencedDeclaration": 220, + "src": "4881:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3313,40 +3313,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4878:5:4", + "src": "4878:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1280, + "id": 252, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Y", "nodeType": "MemberAccess", - "referencedDeclaration": 1033, - "src": "4878:7:4", + "referencedDeclaration": 5, + "src": "4878:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4859:26:4", + "src": "4859:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1282, + "id": 254, "nodeType": "ExpressionStatement", - "src": "4859:26:4" + "src": "4859:26:0" }, { "expression": { "argumentTypes": null, - "id": 1296, + "id": 268, "isConstant": false, "isLValue": false, "isPure": false, @@ -3355,25 +3355,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1283, + "id": 255, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "4899:5:4", + "referencedDeclaration": 212, + "src": "4899:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1289, + "id": 261, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1288, + "id": 260, "isConstant": false, "isLValue": false, "isPure": false, @@ -3384,19 +3384,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1286, + "id": 258, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1284, + "id": 256, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4905:1:4", + "referencedDeclaration": 220, + "src": "4905:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3407,14 +3407,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "36", - "id": 1285, + "id": 257, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4909:1:4", + "src": "4909:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -3422,7 +3422,7 @@ }, "value": "6" }, - "src": "4905:5:4", + "src": "4905:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3433,14 +3433,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1287, + "id": 259, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4913:1:4", + "src": "4913:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -3448,7 +3448,7 @@ }, "value": "2" }, - "src": "4905:9:4", + "src": "4905:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3459,7 +3459,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4899:16:4", + "src": "4899:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3475,26 +3475,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1290, + "id": 262, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, - "src": "4918:2:4", + "referencedDeclaration": 184, + "src": "4918:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1292, + "id": 264, "indexExpression": { "argumentTypes": null, - "id": 1291, + "id": 263, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4921:1:4", + "referencedDeclaration": 220, + "src": "4921:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3505,38 +3505,38 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4918:5:4", + "src": "4918:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1293, + "id": 265, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "X", "nodeType": "MemberAccess", - "referencedDeclaration": 1038, - "src": "4918:7:4", + "referencedDeclaration": 10, + "src": "4918:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory", "typeString": "uint256[2] memory" } }, - "id": 1295, + "id": 267, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1294, + "id": 266, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4926:1:4", + "src": "4926:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3549,26 +3549,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4918:10:4", + "src": "4918:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4899:29:4", + "src": "4899:29:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1297, + "id": 269, "nodeType": "ExpressionStatement", - "src": "4899:29:4" + "src": "4899:29:0" }, { "expression": { "argumentTypes": null, - "id": 1311, + "id": 283, "isConstant": false, "isLValue": false, "isPure": false, @@ -3577,25 +3577,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1298, + "id": 270, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "4942:5:4", + "referencedDeclaration": 212, + "src": "4942:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1304, + "id": 276, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1303, + "id": 275, "isConstant": false, "isLValue": false, "isPure": false, @@ -3606,19 +3606,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1301, + "id": 273, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1299, + "id": 271, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4948:1:4", + "referencedDeclaration": 220, + "src": "4948:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3629,14 +3629,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "36", - "id": 1300, + "id": 272, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4952:1:4", + "src": "4952:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -3644,7 +3644,7 @@ }, "value": "6" }, - "src": "4948:5:4", + "src": "4948:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3655,14 +3655,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1302, + "id": 274, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4956:1:4", + "src": "4956:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -3670,7 +3670,7 @@ }, "value": "3" }, - "src": "4948:9:4", + "src": "4948:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3681,7 +3681,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4942:16:4", + "src": "4942:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3697,26 +3697,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1305, + "id": 277, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, - "src": "4961:2:4", + "referencedDeclaration": 184, + "src": "4961:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1307, + "id": 279, "indexExpression": { "argumentTypes": null, - "id": 1306, + "id": 278, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4964:1:4", + "referencedDeclaration": 220, + "src": "4964:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3727,38 +3727,38 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4961:5:4", + "src": "4961:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1308, + "id": 280, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "X", "nodeType": "MemberAccess", - "referencedDeclaration": 1038, - "src": "4961:7:4", + "referencedDeclaration": 10, + "src": "4961:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory", "typeString": "uint256[2] memory" } }, - "id": 1310, + "id": 282, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1309, + "id": 281, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4969:1:4", + "src": "4969:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -3771,26 +3771,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4961:10:4", + "src": "4961:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4942:29:4", + "src": "4942:29:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1312, + "id": 284, "nodeType": "ExpressionStatement", - "src": "4942:29:4" + "src": "4942:29:0" }, { "expression": { "argumentTypes": null, - "id": 1326, + "id": 298, "isConstant": false, "isLValue": false, "isPure": false, @@ -3799,25 +3799,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1313, + "id": 285, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "4985:5:4", + "referencedDeclaration": 212, + "src": "4985:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1319, + "id": 291, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1318, + "id": 290, "isConstant": false, "isLValue": false, "isPure": false, @@ -3828,19 +3828,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1316, + "id": 288, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1314, + "id": 286, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4991:1:4", + "referencedDeclaration": 220, + "src": "4991:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3851,14 +3851,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "36", - "id": 1315, + "id": 287, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4995:1:4", + "src": "4995:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -3866,7 +3866,7 @@ }, "value": "6" }, - "src": "4991:5:4", + "src": "4991:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3877,14 +3877,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "34", - "id": 1317, + "id": 289, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4999:1:4", + "src": "4999:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -3892,7 +3892,7 @@ }, "value": "4" }, - "src": "4991:9:4", + "src": "4991:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3903,7 +3903,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4985:16:4", + "src": "4985:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3919,26 +3919,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1320, + "id": 292, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, - "src": "5004:2:4", + "referencedDeclaration": 184, + "src": "5004:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1322, + "id": 294, "indexExpression": { "argumentTypes": null, - "id": 1321, + "id": 293, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "5007:1:4", + "referencedDeclaration": 220, + "src": "5007:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3949,38 +3949,38 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5004:5:4", + "src": "5004:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1323, + "id": 295, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Y", "nodeType": "MemberAccess", - "referencedDeclaration": 1042, - "src": "5004:7:4", + "referencedDeclaration": 14, + "src": "5004:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory", "typeString": "uint256[2] memory" } }, - "id": 1325, + "id": 297, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1324, + "id": 296, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5012:1:4", + "src": "5012:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -3993,26 +3993,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5004:10:4", + "src": "5004:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4985:29:4", + "src": "4985:29:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1327, + "id": 299, "nodeType": "ExpressionStatement", - "src": "4985:29:4" + "src": "4985:29:0" }, { "expression": { "argumentTypes": null, - "id": 1341, + "id": 313, "isConstant": false, "isLValue": false, "isPure": false, @@ -4021,25 +4021,25 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1328, + "id": 300, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "5028:5:4", + "referencedDeclaration": 212, + "src": "5028:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1334, + "id": 306, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1333, + "id": 305, "isConstant": false, "isLValue": false, "isPure": false, @@ -4050,19 +4050,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1331, + "id": 303, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1329, + "id": 301, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "5034:1:4", + "referencedDeclaration": 220, + "src": "5034:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4073,14 +4073,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "36", - "id": 1330, + "id": 302, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5038:1:4", + "src": "5038:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -4088,7 +4088,7 @@ }, "value": "6" }, - "src": "5034:5:4", + "src": "5034:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4099,14 +4099,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "35", - "id": 1332, + "id": 304, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5042:1:4", + "src": "5042:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -4114,7 +4114,7 @@ }, "value": "5" }, - "src": "5034:9:4", + "src": "5034:9:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4125,7 +4125,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5028:16:4", + "src": "5028:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4141,26 +4141,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1335, + "id": 307, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1212, - "src": "5047:2:4", + "referencedDeclaration": 184, + "src": "5047:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1337, + "id": 309, "indexExpression": { "argumentTypes": null, - "id": 1336, + "id": 308, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "5050:1:4", + "referencedDeclaration": 220, + "src": "5050:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4171,38 +4171,38 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5047:5:4", + "src": "5047:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1338, + "id": 310, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "Y", "nodeType": "MemberAccess", - "referencedDeclaration": 1042, - "src": "5047:7:4", + "referencedDeclaration": 14, + "src": "5047:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory", "typeString": "uint256[2] memory" } }, - "id": 1340, + "id": 312, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1339, + "id": 311, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5055:1:4", + "src": "5055:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4215,21 +4215,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5047:10:4", + "src": "5047:10:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5028:29:4", + "src": "5028:29:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1342, + "id": 314, "nodeType": "ExpressionStatement", - "src": "5028:29:4" + "src": "5028:29:0" } ] }, @@ -4239,19 +4239,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1253, + "id": 225, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1251, + "id": 223, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4778:1:4", + "referencedDeclaration": 220, + "src": "4778:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4261,36 +4261,36 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 1252, + "id": 224, "name": "elements", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1227, - "src": "4782:8:4", + "referencedDeclaration": 199, + "src": "4782:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4778:12:4", + "src": "4778:12:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1344, + "id": 316, "initializationExpression": { "assignments": [ - 1248 + 220 ], "declarations": [ { "constant": false, - "id": 1248, + "id": 220, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1344, - "src": "4766:6:4", + "scope": 316, + "src": "4766:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4298,10 +4298,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1247, + "id": 219, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "4766:4:4", + "src": "4766:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4311,18 +4311,18 @@ "visibility": "internal" } ], - "id": 1250, + "id": 222, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 1249, + "id": 221, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4775:1:4", + "src": "4775:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4331,12 +4331,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "4766:10:4" + "src": "4766:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 1255, + "id": 227, "isConstant": false, "isLValue": false, "isPure": false, @@ -4344,15 +4344,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4792:3:4", + "src": "4792:3:0", "subExpression": { "argumentTypes": null, - "id": 1254, + "id": 226, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "4792:1:4", + "referencedDeclaration": 220, + "src": "4792:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4363,25 +4363,25 @@ "typeString": "uint256" } }, - "id": 1256, + "id": 228, "nodeType": "ExpressionStatement", - "src": "4792:3:4" + "src": "4792:3:0" }, "nodeType": "ForStatement", - "src": "4761:307:4" + "src": "4761:307:0" }, { "assignments": [ - 1349 + 321 ], "declarations": [ { "constant": false, - "id": 1349, + "id": 321, "name": "out", "nodeType": "VariableDeclaration", - "scope": 1366, - "src": "5077:18:4", + "scope": 338, + "src": "5077:18:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -4390,27 +4390,27 @@ }, "typeName": { "baseType": { - "id": 1347, + "id": 319, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "5077:4:4", + "src": "5077:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1348, + "id": 320, "length": { "argumentTypes": null, "hexValue": "31", - "id": 1346, + "id": 318, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5082:1:4", + "src": "5082:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -4419,7 +4419,7 @@ "value": "1" }, "nodeType": "ArrayTypeName", - "src": "5077:7:4", + "src": "5077:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$1_storage_ptr", "typeString": "uint256[1]" @@ -4429,23 +4429,23 @@ "visibility": "internal" } ], - "id": 1350, + "id": 322, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "5077:18:4" + "src": "5077:18:0" }, { "assignments": [ - 1352 + 324 ], "declarations": [ { "constant": false, - "id": 1352, + "id": 324, "name": "success", "nodeType": "VariableDeclaration", - "scope": 1366, - "src": "5105:12:4", + "scope": 338, + "src": "5105:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4453,10 +4453,10 @@ "typeString": "bool" }, "typeName": { - "id": 1351, + "id": 323, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5105:4:4", + "src": "5105:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4466,63 +4466,63 @@ "visibility": "internal" } ], - "id": 1353, + "id": 325, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "5105:12:4" + "src": "5105:12:0" }, { "externalReferences": [ { "success": { - "declaration": 1352, + "declaration": 324, "isOffset": false, "isSlot": false, - "src": "5214:7:4", + "src": "5214:7:0", "valueSize": 1 } }, { "input": { - "declaration": 1240, + "declaration": 212, "isOffset": false, "isSlot": false, - "src": "5259:5:4", + "src": "5259:5:0", "valueSize": 1 } }, { "success": { - "declaration": 1352, + "declaration": 324, "isOffset": false, "isSlot": false, - "src": "5382:7:4", + "src": "5382:7:0", "valueSize": 1 } }, { "inputSize": { - "declaration": 1232, + "declaration": 204, "isOffset": false, "isSlot": false, - "src": "5277:9:4", + "src": "5277:9:0", "valueSize": 1 } }, { "out": { - "declaration": 1349, + "declaration": 321, "isOffset": false, "isSlot": false, - "src": "5295:3:4", + "src": "5295:3:0", "valueSize": 1 } } ], - "id": 1354, + "id": 326, "nodeType": "InlineAssembly", "operations": "{\n success := staticcall(sub(gas(), 2000), 8, add(input, 0x20), mul(inputSize, 0x20), out, 0x20)\n switch success\n case 0 { invalid() }\n}", - "src": "5191:229:4" + "src": "5191:229:0" }, { "expression": { @@ -4530,12 +4530,12 @@ "arguments": [ { "argumentTypes": null, - "id": 1356, + "id": 328, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1352, - "src": "5437:7:4", + "referencedDeclaration": 324, + "src": "5437:7:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4544,14 +4544,14 @@ { "argumentTypes": null, "hexValue": "70616972696e672d6f70636f64652d6661696c6564", - "id": 1357, + "id": 329, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5445:23:4", + "src": "5445:23:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_f3220b3ef654fc0d9a13e2b6d8c956cb8fb22df61a3a050ded181d8902069fe5", @@ -4571,21 +4571,21 @@ "typeString": "literal_string \"pairing-opcode-failed\"" } ], - "id": 1355, + "id": 327, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, - "src": "5429:7:4", + "referencedDeclaration": 1077, + "src": "5429:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1358, + "id": 330, "isConstant": false, "isLValue": false, "isPure": false, @@ -4593,15 +4593,15 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5429:40:4", + "src": "5429:40:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1359, + "id": 331, "nodeType": "ExpressionStatement", - "src": "5429:40:4" + "src": "5429:40:0" }, { "expression": { @@ -4610,7 +4610,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1364, + "id": 336, "isConstant": false, "isLValue": false, "isPure": false, @@ -4619,29 +4619,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1360, + "id": 332, "name": "out", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1349, - "src": "5486:3:4", + "referencedDeclaration": 321, + "src": "5486:3:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$1_memory_ptr", "typeString": "uint256[1] memory" } }, - "id": 1362, + "id": 334, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1361, + "id": 333, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5490:1:4", + "src": "5490:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4654,7 +4654,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5486:6:4", + "src": "5486:6:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4665,14 +4665,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1363, + "id": 335, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5496:1:4", + "src": "5496:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -4680,62 +4680,62 @@ }, "value": "0" }, - "src": "5486:11:4", + "src": "5486:11:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1216, - "id": 1365, + "functionReturnParameters": 188, + "id": 337, "nodeType": "Return", - "src": "5479:18:4" + "src": "5479:18:0" } ] }, "documentation": "@return the result of computing the pairing check\n e(p1[0], p2[0]) * .... * e(p1[n], p2[n]) == 1\n For example pairing([P1(), P1().negate()], [P2(), P2()]) should\n return true.", - "id": 1367, + "id": 339, "implemented": true, "kind": "function", "modifiers": [], "name": "pairing", "nodeType": "FunctionDefinition", "parameters": { - "id": 1213, + "id": 185, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1209, + "id": 181, "name": "p1", "nodeType": "VariableDeclaration", - "scope": 1367, - "src": "4487:19:4", + "scope": 339, + "src": "4487:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1207, + "id": 179, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "4487:7:4", + "referencedDeclaration": 6, + "src": "4487:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1208, + "id": 180, "length": null, "nodeType": "ArrayTypeName", - "src": "4487:9:4", + "src": "4487:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } }, @@ -4744,36 +4744,36 @@ }, { "constant": false, - "id": 1212, + "id": 184, "name": "p2", "nodeType": "VariableDeclaration", - "scope": 1367, - "src": "4508:19:4", + "scope": 339, + "src": "4508:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1210, + "id": 182, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "4508:7:4", + "referencedDeclaration": 15, + "src": "4508:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, - "id": 1211, + "id": 183, "length": null, "nodeType": "ArrayTypeName", - "src": "4508:9:4", + "src": "4508:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G2Point[]" } }, @@ -4781,19 +4781,19 @@ "visibility": "internal" } ], - "src": "4486:42:4" + "src": "4486:42:0" }, "returnParameters": { - "id": 1216, + "id": 188, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1215, + "id": 187, "name": "", "nodeType": "VariableDeclaration", - "scope": 1367, - "src": "4552:4:4", + "scope": 339, + "src": "4552:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4801,10 +4801,10 @@ "typeString": "bool" }, "typeName": { - "id": 1214, + "id": 186, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4552:4:4", + "src": "4552:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4814,57 +4814,57 @@ "visibility": "internal" } ], - "src": "4551:6:4" + "src": "4551:6:0" }, - "scope": 1605, - "src": "4470:1034:4", + "scope": 577, + "src": "4470:1034:0", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1429, + "id": 401, "nodeType": "Block", - "src": "5698:215:4", + "src": "5698:215:0", "statements": [ { "assignments": [ - 1383 + 355 ], "declarations": [ { "constant": false, - "id": 1383, + "id": 355, "name": "p1", "nodeType": "VariableDeclaration", - "scope": 1429, - "src": "5708:19:4", + "scope": 401, + "src": "5708:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1381, + "id": 353, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "5708:7:4", + "referencedDeclaration": 6, + "src": "5708:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1382, + "id": 354, "length": null, "nodeType": "ArrayTypeName", - "src": "5708:9:4", + "src": "5708:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } }, @@ -4872,21 +4872,21 @@ "visibility": "internal" } ], - "id": 1389, + "id": 361, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "32", - "id": 1387, + "id": 359, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5744:1:4", + "src": "5744:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -4902,41 +4902,41 @@ "typeString": "int_const 2" } ], - "id": 1386, + "id": 358, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "5730:13:4", + "src": "5730:13:0", "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_$", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_$", "typeString": "function (uint256) pure returns (struct Pairing.G1Point memory[] memory)" }, "typeName": { "baseType": { "contractScope": null, - "id": 1384, + "id": 356, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "5734:7:4", + "referencedDeclaration": 6, + "src": "5734:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1385, + "id": 357, "length": null, "nodeType": "ArrayTypeName", - "src": "5734:9:4", + "src": "5734:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } } }, - "id": 1388, + "id": 360, "isConstant": false, "isLValue": false, "isPure": true, @@ -4944,52 +4944,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5730:16:4", + "src": "5730:16:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "5708:38:4" + "src": "5708:38:0" }, { "assignments": [ - 1393 + 365 ], "declarations": [ { "constant": false, - "id": 1393, + "id": 365, "name": "p2", "nodeType": "VariableDeclaration", - "scope": 1429, - "src": "5756:19:4", + "scope": 401, + "src": "5756:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1391, + "id": 363, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "5756:7:4", + "referencedDeclaration": 15, + "src": "5756:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, - "id": 1392, + "id": 364, "length": null, "nodeType": "ArrayTypeName", - "src": "5756:9:4", + "src": "5756:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G2Point[]" } }, @@ -4997,21 +4997,21 @@ "visibility": "internal" } ], - "id": 1399, + "id": 371, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "32", - "id": 1397, + "id": 369, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5792:1:4", + "src": "5792:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -5027,41 +5027,41 @@ "typeString": "int_const 2" } ], - "id": 1396, + "id": 368, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "5778:13:4", + "src": "5778:13:0", "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_$", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_$", "typeString": "function (uint256) pure returns (struct Pairing.G2Point memory[] memory)" }, "typeName": { "baseType": { "contractScope": null, - "id": 1394, + "id": 366, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "5782:7:4", + "referencedDeclaration": 15, + "src": "5782:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, - "id": 1395, + "id": 367, "length": null, "nodeType": "ArrayTypeName", - "src": "5782:9:4", + "src": "5782:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G2Point[]" } } }, - "id": 1398, + "id": 370, "isConstant": false, "isLValue": false, "isPure": true, @@ -5069,19 +5069,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5778:16:4", + "src": "5778:16:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory", "typeString": "struct Pairing.G2Point memory[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "5756:38:4" + "src": "5756:38:0" }, { "expression": { "argumentTypes": null, - "id": 1404, + "id": 376, "isConstant": false, "isLValue": false, "isPure": false, @@ -5090,29 +5090,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1400, + "id": 372, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "5804:2:4", + "referencedDeclaration": 355, + "src": "5804:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1402, + "id": 374, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1401, + "id": 373, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5807:1:4", + "src": "5807:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5125,9 +5125,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5804:5:4", + "src": "5804:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -5135,31 +5135,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1403, + "id": 375, "name": "a1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1369, - "src": "5812:2:4", + "referencedDeclaration": 341, + "src": "5812:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "5804:10:4", + "src": "5804:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1405, + "id": 377, "nodeType": "ExpressionStatement", - "src": "5804:10:4" + "src": "5804:10:0" }, { "expression": { "argumentTypes": null, - "id": 1410, + "id": 382, "isConstant": false, "isLValue": false, "isPure": false, @@ -5168,29 +5168,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1406, + "id": 378, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "5824:2:4", + "referencedDeclaration": 355, + "src": "5824:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1408, + "id": 380, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1407, + "id": 379, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5827:1:4", + "src": "5827:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -5203,9 +5203,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5824:5:4", + "src": "5824:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -5213,31 +5213,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1409, + "id": 381, "name": "b1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1373, - "src": "5832:2:4", + "referencedDeclaration": 345, + "src": "5832:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "5824:10:4", + "src": "5824:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1411, + "id": 383, "nodeType": "ExpressionStatement", - "src": "5824:10:4" + "src": "5824:10:0" }, { "expression": { "argumentTypes": null, - "id": 1416, + "id": 388, "isConstant": false, "isLValue": false, "isPure": false, @@ -5246,29 +5246,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1412, + "id": 384, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1393, - "src": "5844:2:4", + "referencedDeclaration": 365, + "src": "5844:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1414, + "id": 386, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1413, + "id": 385, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5847:1:4", + "src": "5847:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5281,9 +5281,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5844:5:4", + "src": "5844:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -5291,31 +5291,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1415, + "id": 387, "name": "a2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1371, - "src": "5852:2:4", + "referencedDeclaration": 343, + "src": "5852:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "5844:10:4", + "src": "5844:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1417, + "id": 389, "nodeType": "ExpressionStatement", - "src": "5844:10:4" + "src": "5844:10:0" }, { "expression": { "argumentTypes": null, - "id": 1422, + "id": 394, "isConstant": false, "isLValue": false, "isPure": false, @@ -5324,29 +5324,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1418, + "id": 390, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1393, - "src": "5864:2:4", + "referencedDeclaration": 365, + "src": "5864:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1420, + "id": 392, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1419, + "id": 391, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5867:1:4", + "src": "5867:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -5359,9 +5359,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "5864:5:4", + "src": "5864:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -5369,26 +5369,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1421, + "id": 393, "name": "b2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1375, - "src": "5872:2:4", + "referencedDeclaration": 347, + "src": "5872:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "5864:10:4", + "src": "5864:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1423, + "id": 395, "nodeType": "ExpressionStatement", - "src": "5864:10:4" + "src": "5864:10:0" }, { "expression": { @@ -5396,27 +5396,27 @@ "arguments": [ { "argumentTypes": null, - "id": 1425, + "id": 397, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1383, - "src": "5899:2:4", + "referencedDeclaration": 355, + "src": "5899:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, { "argumentTypes": null, - "id": 1426, + "id": 398, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1393, - "src": "5903:2:4", + "referencedDeclaration": 365, + "src": "5903:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } } @@ -5424,26 +5424,26 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" }, { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } ], - "id": 1424, + "id": 396, "name": "pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1367, - "src": "5891:7:4", + "referencedDeclaration": 339, + "src": "5891:7:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr_$returns$_t_bool_$", "typeString": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)" } }, - "id": 1427, + "id": 399, "isConstant": false, "isLValue": false, "isPure": false, @@ -5451,52 +5451,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5891:15:4", + "src": "5891:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1379, - "id": 1428, + "functionReturnParameters": 351, + "id": 400, "nodeType": "Return", - "src": "5884:22:4" + "src": "5884:22:0" } ] }, "documentation": "Convenience method for a pairing check for two pairs.", - "id": 1430, + "id": 402, "implemented": true, "kind": "function", "modifiers": [], "name": "pairingProd2", "nodeType": "FunctionDefinition", "parameters": { - "id": 1376, + "id": 348, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1369, + "id": 341, "name": "a1", "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "5593:17:4", + "scope": 402, + "src": "5593:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1368, + "id": 340, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "5593:7:4", + "referencedDeclaration": 6, + "src": "5593:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -5505,26 +5505,26 @@ }, { "constant": false, - "id": 1371, + "id": 343, "name": "a2", "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "5612:17:4", + "scope": 402, + "src": "5612:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1370, + "id": 342, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "5612:7:4", + "referencedDeclaration": 15, + "src": "5612:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -5533,26 +5533,26 @@ }, { "constant": false, - "id": 1373, + "id": 345, "name": "b1", "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "5631:17:4", + "scope": 402, + "src": "5631:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1372, + "id": 344, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "5631:7:4", + "referencedDeclaration": 6, + "src": "5631:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -5561,26 +5561,26 @@ }, { "constant": false, - "id": 1375, + "id": 347, "name": "b2", "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "5650:17:4", + "scope": 402, + "src": "5650:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1374, + "id": 346, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "5650:7:4", + "referencedDeclaration": 15, + "src": "5650:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -5588,19 +5588,19 @@ "visibility": "internal" } ], - "src": "5592:76:4" + "src": "5592:76:0" }, "returnParameters": { - "id": 1379, + "id": 351, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1378, + "id": 350, "name": "", "nodeType": "VariableDeclaration", - "scope": 1430, - "src": "5692:4:4", + "scope": 402, + "src": "5692:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5608,10 +5608,10 @@ "typeString": "bool" }, "typeName": { - "id": 1377, + "id": 349, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "5692:4:4", + "src": "5692:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5621,57 +5621,57 @@ "visibility": "internal" } ], - "src": "5691:6:4" + "src": "5691:6:0" }, - "scope": 1605, - "src": "5571:342:4", + "scope": 577, + "src": "5571:342:0", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1508, + "id": 480, "nodeType": "Block", - "src": "6189:255:4", + "src": "6189:255:0", "statements": [ { "assignments": [ - 1450 + 422 ], "declarations": [ { "constant": false, - "id": 1450, + "id": 422, "name": "p1", "nodeType": "VariableDeclaration", - "scope": 1508, - "src": "6199:19:4", + "scope": 480, + "src": "6199:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1448, + "id": 420, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6199:7:4", + "referencedDeclaration": 6, + "src": "6199:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1449, + "id": 421, "length": null, "nodeType": "ArrayTypeName", - "src": "6199:9:4", + "src": "6199:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } }, @@ -5679,21 +5679,21 @@ "visibility": "internal" } ], - "id": 1456, + "id": 428, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "33", - "id": 1454, + "id": 426, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6235:1:4", + "src": "6235:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -5709,41 +5709,41 @@ "typeString": "int_const 3" } ], - "id": 1453, + "id": 425, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "6221:13:4", + "src": "6221:13:0", "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_$", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_$", "typeString": "function (uint256) pure returns (struct Pairing.G1Point memory[] memory)" }, "typeName": { "baseType": { "contractScope": null, - "id": 1451, + "id": 423, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6225:7:4", + "referencedDeclaration": 6, + "src": "6225:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1452, + "id": 424, "length": null, "nodeType": "ArrayTypeName", - "src": "6225:9:4", + "src": "6225:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } } }, - "id": 1455, + "id": 427, "isConstant": false, "isLValue": false, "isPure": true, @@ -5751,52 +5751,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6221:16:4", + "src": "6221:16:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "6199:38:4" + "src": "6199:38:0" }, { "assignments": [ - 1460 + 432 ], "declarations": [ { "constant": false, - "id": 1460, + "id": 432, "name": "p2", "nodeType": "VariableDeclaration", - "scope": 1508, - "src": "6247:19:4", + "scope": 480, + "src": "6247:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1458, + "id": 430, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6247:7:4", + "referencedDeclaration": 15, + "src": "6247:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, - "id": 1459, + "id": 431, "length": null, "nodeType": "ArrayTypeName", - "src": "6247:9:4", + "src": "6247:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G2Point[]" } }, @@ -5804,21 +5804,21 @@ "visibility": "internal" } ], - "id": 1466, + "id": 438, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "33", - "id": 1464, + "id": 436, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6283:1:4", + "src": "6283:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -5834,41 +5834,41 @@ "typeString": "int_const 3" } ], - "id": 1463, + "id": 435, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "6269:13:4", + "src": "6269:13:0", "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_$", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_$", "typeString": "function (uint256) pure returns (struct Pairing.G2Point memory[] memory)" }, "typeName": { "baseType": { "contractScope": null, - "id": 1461, + "id": 433, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6273:7:4", + "referencedDeclaration": 15, + "src": "6273:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, - "id": 1462, + "id": 434, "length": null, "nodeType": "ArrayTypeName", - "src": "6273:9:4", + "src": "6273:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G2Point[]" } } }, - "id": 1465, + "id": 437, "isConstant": false, "isLValue": false, "isPure": true, @@ -5876,19 +5876,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6269:16:4", + "src": "6269:16:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory", "typeString": "struct Pairing.G2Point memory[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "6247:38:4" + "src": "6247:38:0" }, { "expression": { "argumentTypes": null, - "id": 1471, + "id": 443, "isConstant": false, "isLValue": false, "isPure": false, @@ -5897,29 +5897,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1467, + "id": 439, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1450, - "src": "6295:2:4", + "referencedDeclaration": 422, + "src": "6295:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1469, + "id": 441, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1468, + "id": 440, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6298:1:4", + "src": "6298:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -5932,9 +5932,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6295:5:4", + "src": "6295:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -5942,31 +5942,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1470, + "id": 442, "name": "a1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1432, - "src": "6303:2:4", + "referencedDeclaration": 404, + "src": "6303:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "6295:10:4", + "src": "6295:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1472, + "id": 444, "nodeType": "ExpressionStatement", - "src": "6295:10:4" + "src": "6295:10:0" }, { "expression": { "argumentTypes": null, - "id": 1477, + "id": 449, "isConstant": false, "isLValue": false, "isPure": false, @@ -5975,29 +5975,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1473, + "id": 445, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1450, - "src": "6315:2:4", + "referencedDeclaration": 422, + "src": "6315:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1475, + "id": 447, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1474, + "id": 446, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6318:1:4", + "src": "6318:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -6010,9 +6010,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6315:5:4", + "src": "6315:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -6020,31 +6020,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1476, + "id": 448, "name": "b1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1436, - "src": "6323:2:4", + "referencedDeclaration": 408, + "src": "6323:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "6315:10:4", + "src": "6315:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1478, + "id": 450, "nodeType": "ExpressionStatement", - "src": "6315:10:4" + "src": "6315:10:0" }, { "expression": { "argumentTypes": null, - "id": 1483, + "id": 455, "isConstant": false, "isLValue": false, "isPure": false, @@ -6053,29 +6053,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1479, + "id": 451, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1450, - "src": "6335:2:4", + "referencedDeclaration": 422, + "src": "6335:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1481, + "id": 453, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1480, + "id": 452, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6338:1:4", + "src": "6338:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -6088,9 +6088,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6335:5:4", + "src": "6335:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -6098,31 +6098,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1482, + "id": 454, "name": "c1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1440, - "src": "6343:2:4", + "referencedDeclaration": 412, + "src": "6343:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "6335:10:4", + "src": "6335:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1484, + "id": 456, "nodeType": "ExpressionStatement", - "src": "6335:10:4" + "src": "6335:10:0" }, { "expression": { "argumentTypes": null, - "id": 1489, + "id": 461, "isConstant": false, "isLValue": false, "isPure": false, @@ -6131,29 +6131,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1485, + "id": 457, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1460, - "src": "6355:2:4", + "referencedDeclaration": 432, + "src": "6355:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1487, + "id": 459, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1486, + "id": 458, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6358:1:4", + "src": "6358:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6166,9 +6166,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6355:5:4", + "src": "6355:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -6176,31 +6176,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1488, + "id": 460, "name": "a2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1434, - "src": "6363:2:4", + "referencedDeclaration": 406, + "src": "6363:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "6355:10:4", + "src": "6355:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1490, + "id": 462, "nodeType": "ExpressionStatement", - "src": "6355:10:4" + "src": "6355:10:0" }, { "expression": { "argumentTypes": null, - "id": 1495, + "id": 467, "isConstant": false, "isLValue": false, "isPure": false, @@ -6209,29 +6209,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1491, + "id": 463, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1460, - "src": "6375:2:4", + "referencedDeclaration": 432, + "src": "6375:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1493, + "id": 465, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1492, + "id": 464, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6378:1:4", + "src": "6378:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -6244,9 +6244,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6375:5:4", + "src": "6375:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -6254,31 +6254,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1494, + "id": 466, "name": "b2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1438, - "src": "6383:2:4", + "referencedDeclaration": 410, + "src": "6383:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "6375:10:4", + "src": "6375:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1496, + "id": 468, "nodeType": "ExpressionStatement", - "src": "6375:10:4" + "src": "6375:10:0" }, { "expression": { "argumentTypes": null, - "id": 1501, + "id": 473, "isConstant": false, "isLValue": false, "isPure": false, @@ -6287,29 +6287,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1497, + "id": 469, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1460, - "src": "6395:2:4", + "referencedDeclaration": 432, + "src": "6395:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1499, + "id": 471, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1498, + "id": 470, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6398:1:4", + "src": "6398:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -6322,9 +6322,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6395:5:4", + "src": "6395:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -6332,26 +6332,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1500, + "id": 472, "name": "c2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1442, - "src": "6403:2:4", + "referencedDeclaration": 414, + "src": "6403:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "6395:10:4", + "src": "6395:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1502, + "id": 474, "nodeType": "ExpressionStatement", - "src": "6395:10:4" + "src": "6395:10:0" }, { "expression": { @@ -6359,27 +6359,27 @@ "arguments": [ { "argumentTypes": null, - "id": 1504, + "id": 476, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1450, - "src": "6430:2:4", + "referencedDeclaration": 422, + "src": "6430:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, { "argumentTypes": null, - "id": 1505, + "id": 477, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1460, - "src": "6434:2:4", + "referencedDeclaration": 432, + "src": "6434:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } } @@ -6387,26 +6387,26 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" }, { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } ], - "id": 1503, + "id": 475, "name": "pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1367, - "src": "6422:7:4", + "referencedDeclaration": 339, + "src": "6422:7:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr_$returns$_t_bool_$", "typeString": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)" } }, - "id": 1506, + "id": 478, "isConstant": false, "isLValue": false, "isPure": false, @@ -6414,52 +6414,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6422:15:4", + "src": "6422:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1446, - "id": 1507, + "functionReturnParameters": 418, + "id": 479, "nodeType": "Return", - "src": "6415:22:4" + "src": "6415:22:0" } ] }, "documentation": "Convenience method for a pairing check for three pairs.", - "id": 1509, + "id": 481, "implemented": true, "kind": "function", "modifiers": [], "name": "pairingProd3", "nodeType": "FunctionDefinition", "parameters": { - "id": 1443, + "id": 415, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1432, + "id": 404, "name": "a1", "nodeType": "VariableDeclaration", - "scope": 1509, - "src": "6017:17:4", + "scope": 481, + "src": "6017:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1431, + "id": 403, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6017:7:4", + "referencedDeclaration": 6, + "src": "6017:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -6468,26 +6468,26 @@ }, { "constant": false, - "id": 1434, + "id": 406, "name": "a2", "nodeType": "VariableDeclaration", - "scope": 1509, - "src": "6036:17:4", + "scope": 481, + "src": "6036:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1433, + "id": 405, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6036:7:4", + "referencedDeclaration": 15, + "src": "6036:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -6496,26 +6496,26 @@ }, { "constant": false, - "id": 1436, + "id": 408, "name": "b1", "nodeType": "VariableDeclaration", - "scope": 1509, - "src": "6067:17:4", + "scope": 481, + "src": "6067:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1435, + "id": 407, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6067:7:4", + "referencedDeclaration": 6, + "src": "6067:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -6524,26 +6524,26 @@ }, { "constant": false, - "id": 1438, + "id": 410, "name": "b2", "nodeType": "VariableDeclaration", - "scope": 1509, - "src": "6086:17:4", + "scope": 481, + "src": "6086:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1437, + "id": 409, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6086:7:4", + "referencedDeclaration": 15, + "src": "6086:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -6552,26 +6552,26 @@ }, { "constant": false, - "id": 1440, + "id": 412, "name": "c1", "nodeType": "VariableDeclaration", - "scope": 1509, - "src": "6117:17:4", + "scope": 481, + "src": "6117:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1439, + "id": 411, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6117:7:4", + "referencedDeclaration": 6, + "src": "6117:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -6580,26 +6580,26 @@ }, { "constant": false, - "id": 1442, + "id": 414, "name": "c2", "nodeType": "VariableDeclaration", - "scope": 1509, - "src": "6136:17:4", + "scope": 481, + "src": "6136:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1441, + "id": 413, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6136:7:4", + "referencedDeclaration": 15, + "src": "6136:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -6607,19 +6607,19 @@ "visibility": "internal" } ], - "src": "6003:156:4" + "src": "6003:156:0" }, "returnParameters": { - "id": 1446, + "id": 418, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1445, + "id": 417, "name": "", "nodeType": "VariableDeclaration", - "scope": 1509, - "src": "6183:4:4", + "scope": 481, + "src": "6183:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -6627,10 +6627,10 @@ "typeString": "bool" }, "typeName": { - "id": 1444, + "id": 416, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6183:4:4", + "src": "6183:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -6640,57 +6640,57 @@ "visibility": "internal" } ], - "src": "6182:6:4" + "src": "6182:6:0" }, - "scope": 1605, - "src": "5982:462:4", + "scope": 577, + "src": "5982:462:0", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1603, + "id": 575, "nodeType": "Block", - "src": "6769:295:4", + "src": "6769:295:0", "statements": [ { "assignments": [ - 1533 + 505 ], "declarations": [ { "constant": false, - "id": 1533, + "id": 505, "name": "p1", "nodeType": "VariableDeclaration", - "scope": 1603, - "src": "6779:19:4", + "scope": 575, + "src": "6779:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1531, + "id": 503, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6779:7:4", + "referencedDeclaration": 6, + "src": "6779:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1532, + "id": 504, "length": null, "nodeType": "ArrayTypeName", - "src": "6779:9:4", + "src": "6779:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } }, @@ -6698,21 +6698,21 @@ "visibility": "internal" } ], - "id": 1539, + "id": 511, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "34", - "id": 1537, + "id": 509, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6815:1:4", + "src": "6815:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -6728,41 +6728,41 @@ "typeString": "int_const 4" } ], - "id": 1536, + "id": 508, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "6801:13:4", + "src": "6801:13:0", "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_$", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_$", "typeString": "function (uint256) pure returns (struct Pairing.G1Point memory[] memory)" }, "typeName": { "baseType": { "contractScope": null, - "id": 1534, + "id": 506, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6805:7:4", + "referencedDeclaration": 6, + "src": "6805:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1535, + "id": 507, "length": null, "nodeType": "ArrayTypeName", - "src": "6805:9:4", + "src": "6805:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } } }, - "id": 1538, + "id": 510, "isConstant": false, "isLValue": false, "isPure": true, @@ -6770,52 +6770,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6801:16:4", + "src": "6801:16:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "6779:38:4" + "src": "6779:38:0" }, { "assignments": [ - 1543 + 515 ], "declarations": [ { "constant": false, - "id": 1543, + "id": 515, "name": "p2", "nodeType": "VariableDeclaration", - "scope": 1603, - "src": "6827:19:4", + "scope": 575, + "src": "6827:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1541, + "id": 513, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6827:7:4", + "referencedDeclaration": 15, + "src": "6827:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, - "id": 1542, + "id": 514, "length": null, "nodeType": "ArrayTypeName", - "src": "6827:9:4", + "src": "6827:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G2Point[]" } }, @@ -6823,21 +6823,21 @@ "visibility": "internal" } ], - "id": 1549, + "id": 521, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "34", - "id": 1547, + "id": 519, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6863:1:4", + "src": "6863:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -6853,41 +6853,41 @@ "typeString": "int_const 4" } ], - "id": 1546, + "id": 518, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "6849:13:4", + "src": "6849:13:0", "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_$", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_$", "typeString": "function (uint256) pure returns (struct Pairing.G2Point memory[] memory)" }, "typeName": { "baseType": { "contractScope": null, - "id": 1544, + "id": 516, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6853:7:4", + "referencedDeclaration": 15, + "src": "6853:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, - "id": 1545, + "id": 517, "length": null, "nodeType": "ArrayTypeName", - "src": "6853:9:4", + "src": "6853:9:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G2Point[]" } } }, - "id": 1548, + "id": 520, "isConstant": false, "isLValue": false, "isPure": true, @@ -6895,19 +6895,19 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6849:16:4", + "src": "6849:16:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory", "typeString": "struct Pairing.G2Point memory[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "6827:38:4" + "src": "6827:38:0" }, { "expression": { "argumentTypes": null, - "id": 1554, + "id": 526, "isConstant": false, "isLValue": false, "isPure": false, @@ -6916,29 +6916,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1550, + "id": 522, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "6875:2:4", + "referencedDeclaration": 505, + "src": "6875:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1552, + "id": 524, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1551, + "id": 523, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6878:1:4", + "src": "6878:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -6951,9 +6951,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6875:5:4", + "src": "6875:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -6961,31 +6961,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1553, + "id": 525, "name": "a1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1511, - "src": "6883:2:4", + "referencedDeclaration": 483, + "src": "6883:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "6875:10:4", + "src": "6875:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1555, + "id": 527, "nodeType": "ExpressionStatement", - "src": "6875:10:4" + "src": "6875:10:0" }, { "expression": { "argumentTypes": null, - "id": 1560, + "id": 532, "isConstant": false, "isLValue": false, "isPure": false, @@ -6994,29 +6994,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1556, + "id": 528, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "6895:2:4", + "referencedDeclaration": 505, + "src": "6895:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1558, + "id": 530, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1557, + "id": 529, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6898:1:4", + "src": "6898:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -7029,9 +7029,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6895:5:4", + "src": "6895:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -7039,31 +7039,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1559, + "id": 531, "name": "b1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1515, - "src": "6903:2:4", + "referencedDeclaration": 487, + "src": "6903:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "6895:10:4", + "src": "6895:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1561, + "id": 533, "nodeType": "ExpressionStatement", - "src": "6895:10:4" + "src": "6895:10:0" }, { "expression": { "argumentTypes": null, - "id": 1566, + "id": 538, "isConstant": false, "isLValue": false, "isPure": false, @@ -7072,29 +7072,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1562, + "id": 534, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "6915:2:4", + "referencedDeclaration": 505, + "src": "6915:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1564, + "id": 536, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1563, + "id": 535, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6918:1:4", + "src": "6918:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -7107,9 +7107,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6915:5:4", + "src": "6915:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -7117,31 +7117,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1565, + "id": 537, "name": "c1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1519, - "src": "6923:2:4", + "referencedDeclaration": 491, + "src": "6923:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "6915:10:4", + "src": "6915:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1567, + "id": 539, "nodeType": "ExpressionStatement", - "src": "6915:10:4" + "src": "6915:10:0" }, { "expression": { "argumentTypes": null, - "id": 1572, + "id": 544, "isConstant": false, "isLValue": false, "isPure": false, @@ -7150,29 +7150,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1568, + "id": 540, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "6935:2:4", + "referencedDeclaration": 505, + "src": "6935:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1570, + "id": 542, "indexExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1569, + "id": 541, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6938:1:4", + "src": "6938:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -7185,9 +7185,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6935:5:4", + "src": "6935:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -7195,31 +7195,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1571, + "id": 543, "name": "d1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1523, - "src": "6943:2:4", + "referencedDeclaration": 495, + "src": "6943:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "6935:10:4", + "src": "6935:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1573, + "id": 545, "nodeType": "ExpressionStatement", - "src": "6935:10:4" + "src": "6935:10:0" }, { "expression": { "argumentTypes": null, - "id": 1578, + "id": 550, "isConstant": false, "isLValue": false, "isPure": false, @@ -7228,29 +7228,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1574, + "id": 546, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1543, - "src": "6955:2:4", + "referencedDeclaration": 515, + "src": "6955:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1576, + "id": 548, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1575, + "id": 547, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6958:1:4", + "src": "6958:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -7263,9 +7263,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6955:5:4", + "src": "6955:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -7273,31 +7273,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1577, + "id": 549, "name": "a2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1513, - "src": "6963:2:4", + "referencedDeclaration": 485, + "src": "6963:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "6955:10:4", + "src": "6955:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1579, + "id": 551, "nodeType": "ExpressionStatement", - "src": "6955:10:4" + "src": "6955:10:0" }, { "expression": { "argumentTypes": null, - "id": 1584, + "id": 556, "isConstant": false, "isLValue": false, "isPure": false, @@ -7306,29 +7306,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1580, + "id": 552, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1543, - "src": "6975:2:4", + "referencedDeclaration": 515, + "src": "6975:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1582, + "id": 554, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1581, + "id": 553, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6978:1:4", + "src": "6978:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -7341,9 +7341,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6975:5:4", + "src": "6975:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -7351,31 +7351,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1583, + "id": 555, "name": "b2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1517, - "src": "6983:2:4", + "referencedDeclaration": 489, + "src": "6983:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "6975:10:4", + "src": "6975:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1585, + "id": 557, "nodeType": "ExpressionStatement", - "src": "6975:10:4" + "src": "6975:10:0" }, { "expression": { "argumentTypes": null, - "id": 1590, + "id": 562, "isConstant": false, "isLValue": false, "isPure": false, @@ -7384,29 +7384,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1586, + "id": 558, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1543, - "src": "6995:2:4", + "referencedDeclaration": 515, + "src": "6995:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1588, + "id": 560, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1587, + "id": 559, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6998:1:4", + "src": "6998:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -7419,9 +7419,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6995:5:4", + "src": "6995:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -7429,31 +7429,31 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1589, + "id": 561, "name": "c2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1521, - "src": "7003:2:4", + "referencedDeclaration": 493, + "src": "7003:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "6995:10:4", + "src": "6995:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1591, + "id": 563, "nodeType": "ExpressionStatement", - "src": "6995:10:4" + "src": "6995:10:0" }, { "expression": { "argumentTypes": null, - "id": 1596, + "id": 568, "isConstant": false, "isLValue": false, "isPure": false, @@ -7462,29 +7462,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1592, + "id": 564, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1543, - "src": "7015:2:4", + "referencedDeclaration": 515, + "src": "7015:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } }, - "id": 1594, + "id": 566, "indexExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1593, + "id": 565, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7018:1:4", + "src": "7018:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -7497,9 +7497,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7015:5:4", + "src": "7015:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -7507,26 +7507,26 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 1595, + "id": 567, "name": "d2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1525, - "src": "7023:2:4", + "referencedDeclaration": 497, + "src": "7023:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point memory" } }, - "src": "7015:10:4", + "src": "7015:10:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1597, + "id": 569, "nodeType": "ExpressionStatement", - "src": "7015:10:4" + "src": "7015:10:0" }, { "expression": { @@ -7534,27 +7534,27 @@ "arguments": [ { "argumentTypes": null, - "id": 1599, + "id": 571, "name": "p1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1533, - "src": "7050:2:4", + "referencedDeclaration": 505, + "src": "7050:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" } }, { "argumentTypes": null, - "id": 1600, + "id": 572, "name": "p2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1543, - "src": "7054:2:4", + "referencedDeclaration": 515, + "src": "7054:2:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } } @@ -7562,26 +7562,26 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" }, { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } ], - "id": 1598, + "id": 570, "name": "pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1367, - "src": "7042:7:4", + "referencedDeclaration": 339, + "src": "7042:7:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr_$_t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr_$returns$_t_bool_$", "typeString": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)" } }, - "id": 1601, + "id": 573, "isConstant": false, "isLValue": false, "isPure": false, @@ -7589,52 +7589,52 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7042:15:4", + "src": "7042:15:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 1529, - "id": 1602, + "functionReturnParameters": 501, + "id": 574, "nodeType": "Return", - "src": "7035:22:4" + "src": "7035:22:0" } ] }, "documentation": "Convenience method for a pairing check for four pairs.", - "id": 1604, + "id": 576, "implemented": true, "kind": "function", "modifiers": [], "name": "pairingProd4", "nodeType": "FunctionDefinition", "parameters": { - "id": 1526, + "id": 498, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1511, + "id": 483, "name": "a1", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6547:17:4", + "scope": 576, + "src": "6547:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1510, + "id": 482, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6547:7:4", + "referencedDeclaration": 6, + "src": "6547:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -7643,26 +7643,26 @@ }, { "constant": false, - "id": 1513, + "id": 485, "name": "a2", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6566:17:4", + "scope": 576, + "src": "6566:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1512, + "id": 484, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6566:7:4", + "referencedDeclaration": 15, + "src": "6566:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -7671,26 +7671,26 @@ }, { "constant": false, - "id": 1515, + "id": 487, "name": "b1", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6597:17:4", + "scope": 576, + "src": "6597:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1514, + "id": 486, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6597:7:4", + "referencedDeclaration": 6, + "src": "6597:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -7699,26 +7699,26 @@ }, { "constant": false, - "id": 1517, + "id": 489, "name": "b2", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6616:17:4", + "scope": 576, + "src": "6616:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1516, + "id": 488, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6616:7:4", + "referencedDeclaration": 15, + "src": "6616:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -7727,26 +7727,26 @@ }, { "constant": false, - "id": 1519, + "id": 491, "name": "c1", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6647:17:4", + "scope": 576, + "src": "6647:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1518, + "id": 490, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6647:7:4", + "referencedDeclaration": 6, + "src": "6647:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -7755,26 +7755,26 @@ }, { "constant": false, - "id": 1521, + "id": 493, "name": "c2", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6666:17:4", + "scope": 576, + "src": "6666:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1520, + "id": 492, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6666:7:4", + "referencedDeclaration": 15, + "src": "6666:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -7783,26 +7783,26 @@ }, { "constant": false, - "id": 1523, + "id": 495, "name": "d1", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6697:17:4", + "scope": 576, + "src": "6697:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1522, + "id": 494, "name": "G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "6697:7:4", + "referencedDeclaration": 6, + "src": "6697:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -7811,26 +7811,26 @@ }, { "constant": false, - "id": 1525, + "id": 497, "name": "d2", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6716:17:4", + "scope": 576, + "src": "6716:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_memory_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1524, + "id": 496, "name": "G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "6716:7:4", + "referencedDeclaration": 15, + "src": "6716:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -7838,19 +7838,19 @@ "visibility": "internal" } ], - "src": "6533:206:4" + "src": "6533:206:0" }, "returnParameters": { - "id": 1529, + "id": 501, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1528, + "id": 500, "name": "", "nodeType": "VariableDeclaration", - "scope": 1604, - "src": "6763:4:4", + "scope": 576, + "src": "6763:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -7858,10 +7858,10 @@ "typeString": "bool" }, "typeName": { - "id": 1527, + "id": 499, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6763:4:4", + "src": "6763:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -7871,17 +7871,17 @@ "visibility": "internal" } ], - "src": "6762:6:4" + "src": "6762:6:0" }, - "scope": 1605, - "src": "6512:552:4", + "scope": 577, + "src": "6512:552:0", "stateMutability": "view", "superFunction": null, "visibility": "internal" } ], - "scope": 2087, - "src": "1217:5849:4" + "scope": 1059, + "src": "1217:5849:0" }, { "baseContracts": [], @@ -7889,57 +7889,57 @@ "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 2086, + "id": 1058, "linearizedBaseContracts": [ - 2086 + 1058 ], "name": "Verifier", "nodeType": "ContractDefinition", "nodes": [ { - "id": 1607, + "id": 579, "libraryName": { "contractScope": null, - "id": 1606, + "id": 578, "name": "Pairing", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1605, - "src": "7097:7:4", + "referencedDeclaration": 577, + "src": "7097:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_Pairing_$1605", + "typeIdentifier": "t_contract$_Pairing_$577", "typeString": "library Pairing" } }, "nodeType": "UsingForDirective", - "src": "7091:20:4", + "src": "7091:20:0", "typeName": null }, { "canonicalName": "Verifier.VerifyingKey", - "id": 1619, + "id": 591, "members": [ { "constant": false, - "id": 1609, + "id": 581, "name": "alfa1", "nodeType": "VariableDeclaration", - "scope": 1619, - "src": "7146:21:4", + "scope": 591, + "src": "7146:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1608, + "id": 580, "name": "Pairing.G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "7146:15:4", + "referencedDeclaration": 6, + "src": "7146:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -7948,26 +7948,26 @@ }, { "constant": false, - "id": 1611, + "id": 583, "name": "beta2", "nodeType": "VariableDeclaration", - "scope": 1619, - "src": "7177:21:4", + "scope": 591, + "src": "7177:21:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1610, + "id": 582, "name": "Pairing.G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "7177:15:4", + "referencedDeclaration": 15, + "src": "7177:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -7976,26 +7976,26 @@ }, { "constant": false, - "id": 1613, + "id": 585, "name": "gamma2", "nodeType": "VariableDeclaration", - "scope": 1619, - "src": "7208:22:4", + "scope": 591, + "src": "7208:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1612, + "id": 584, "name": "Pairing.G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "7208:15:4", + "referencedDeclaration": 15, + "src": "7208:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -8004,26 +8004,26 @@ }, { "constant": false, - "id": 1615, + "id": 587, "name": "delta2", "nodeType": "VariableDeclaration", - "scope": 1619, - "src": "7240:22:4", + "scope": 591, + "src": "7240:22:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1614, + "id": 586, "name": "Pairing.G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "7240:15:4", + "referencedDeclaration": 15, + "src": "7240:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -8032,36 +8032,36 @@ }, { "constant": false, - "id": 1618, + "id": 590, "name": "IC", "nodeType": "VariableDeclaration", - "scope": 1619, - "src": "7272:20:4", + "scope": 591, + "src": "7272:20:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" }, "typeName": { "baseType": { "contractScope": null, - "id": 1616, + "id": 588, "name": "Pairing.G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "7272:15:4", + "referencedDeclaration": 6, + "src": "7272:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1617, + "id": 589, "length": null, "nodeType": "ArrayTypeName", - "src": "7272:17:4", + "src": "7272:17:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } }, @@ -8071,36 +8071,36 @@ ], "name": "VerifyingKey", "nodeType": "StructDefinition", - "scope": 2086, - "src": "7116:183:4", + "scope": 1058, + "src": "7116:183:0", "visibility": "public" }, { "canonicalName": "Verifier.Proof", - "id": 1626, + "id": 598, "members": [ { "constant": false, - "id": 1621, + "id": 593, "name": "A", "nodeType": "VariableDeclaration", - "scope": 1626, - "src": "7327:17:4", + "scope": 598, + "src": "7327:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1620, + "id": 592, "name": "Pairing.G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "7327:15:4", + "referencedDeclaration": 6, + "src": "7327:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -8109,26 +8109,26 @@ }, { "constant": false, - "id": 1623, + "id": 595, "name": "B", "nodeType": "VariableDeclaration", - "scope": 1626, - "src": "7354:17:4", + "scope": 598, + "src": "7354:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" }, "typeName": { "contractScope": null, - "id": 1622, + "id": 594, "name": "Pairing.G2Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1043, - "src": "7354:15:4", + "referencedDeclaration": 15, + "src": "7354:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_storage_ptr", + "typeIdentifier": "t_struct$_G2Point_$15_storage_ptr", "typeString": "struct Pairing.G2Point" } }, @@ -8137,26 +8137,26 @@ }, { "constant": false, - "id": 1625, + "id": 597, "name": "C", "nodeType": "VariableDeclaration", - "scope": 1626, - "src": "7381:17:4", + "scope": 598, + "src": "7381:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1624, + "id": 596, "name": "Pairing.G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "7381:15:4", + "referencedDeclaration": 6, + "src": "7381:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -8166,20 +8166,20 @@ ], "name": "Proof", "nodeType": "StructDefinition", - "scope": 2086, - "src": "7304:101:4", + "scope": 1058, + "src": "7304:101:0", "visibility": "public" }, { "body": { - "id": 1777, + "id": 749, "nodeType": "Block", - "src": "7481:2640:4", + "src": "7481:2637:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 1639, + "id": 611, "isConstant": false, "isLValue": false, "isPure": false, @@ -8188,28 +8188,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1631, + "id": 603, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "7491:2:4", + "referencedDeclaration": 601, + "src": "7491:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1633, + "id": 605, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "alfa1", "nodeType": "MemberAccess", - "referencedDeclaration": 1609, - "src": "7491:8:4", + "referencedDeclaration": 581, + "src": "7491:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -8220,80 +8220,80 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "3132343630343930373038323739343637333031323032373738333931313237353130353337363833393438323538303936373936393232313237313734323638303039313638303136373436", - "id": 1636, + "hexValue": "3138363537353432333331333331353934303533373431343135373730353730353036353530373036353639343938393631343130393534313333303333383937393839353931343031313839", + "id": 608, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7518:77:4", + "src": "7518:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_12460490708279467301202778391127510537683948258096796922127174268009168016746_by_1", - "typeString": "int_const 1246...(69 digits omitted)...6746" + "typeIdentifier": "t_rational_18657542331331594053741415770570506550706569498961410954133033897989591401189_by_1", + "typeString": "int_const 1865...(69 digits omitted)...1189" }, - "value": "12460490708279467301202778391127510537683948258096796922127174268009168016746" + "value": "18657542331331594053741415770570506550706569498961410954133033897989591401189" }, { "argumentTypes": null, - "hexValue": "32303434303733363733373234363631363531353737343231333239373039323733303831383537303831323132383035383732383633363335353034393630353039323236343936323432", - "id": 1637, + "hexValue": "36323634323630383937383635343433393832323131343231313437393033383735393933303731373337343138393738303937303534333733383433383736353933313931393538353534", + "id": 609, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7596:76:4", + "src": "7596:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_2044073673724661651577421329709273081857081212805872863635504960509226496242_by_1", - "typeString": "int_const 2044...(68 digits omitted)...6242" + "typeIdentifier": "t_rational_6264260897865443982211421147903875993071737418978097054373843876593191958554_by_1", + "typeString": "int_const 6264...(68 digits omitted)...8554" }, - "value": "2044073673724661651577421329709273081857081212805872863635504960509226496242" + "value": "6264260897865443982211421147903875993071737418978097054373843876593191958554" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_rational_12460490708279467301202778391127510537683948258096796922127174268009168016746_by_1", - "typeString": "int_const 1246...(69 digits omitted)...6746" + "typeIdentifier": "t_rational_18657542331331594053741415770570506550706569498961410954133033897989591401189_by_1", + "typeString": "int_const 1865...(69 digits omitted)...1189" }, { - "typeIdentifier": "t_rational_2044073673724661651577421329709273081857081212805872863635504960509226496242_by_1", - "typeString": "int_const 2044...(68 digits omitted)...6242" + "typeIdentifier": "t_rational_6264260897865443982211421147903875993071737418978097054373843876593191958554_by_1", + "typeString": "int_const 6264...(68 digits omitted)...8554" } ], "expression": { "argumentTypes": null, - "id": 1634, + "id": 606, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "7502:7:4", + "referencedDeclaration": 577, + "src": "7502:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1635, + "id": 607, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "7502:15:4", + "referencedDeclaration": 6, + "src": "7502:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1638, + "id": 610, "isConstant": false, "isLValue": false, "isPure": true, @@ -8301,26 +8301,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7502:171:4", + "src": "7502:171:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "7491:182:4", + "src": "7491:182:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1640, + "id": 612, "nodeType": "ExpressionStatement", - "src": "7491:182:4" + "src": "7491:182:0" }, { "expression": { "argumentTypes": null, - "id": 1653, + "id": 625, "isConstant": false, "isLValue": false, "isPure": false, @@ -8329,28 +8329,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1641, + "id": 613, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "7683:2:4", + "referencedDeclaration": 601, + "src": "7683:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1643, + "id": 615, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "beta2", "nodeType": "MemberAccess", - "referencedDeclaration": 1611, - "src": "7683:8:4", + "referencedDeclaration": 583, + "src": "7683:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -8364,49 +8364,49 @@ "components": [ { "argumentTypes": null, - "hexValue": "3136303837343930313933383736313631363337343438303435373034383837393233333934303730373439333031373239343031303432353238323037373830333037333533313438373534", - "id": 1646, + "hexValue": "3136313435313436343933313035303531373331383335353737343331343636353232373737333132353536373132313032363432323538353836363034313536393635363438343839333233", + "id": 618, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7711:77:4", + "src": "7711:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_16087490193876161637448045704887923394070749301729401042528207780307353148754_by_1", - "typeString": "int_const 1608...(69 digits omitted)...8754" + "typeIdentifier": "t_rational_16145146493105051731835577431466522777312556712102642258586604156965648489323_by_1", + "typeString": "int_const 1614...(69 digits omitted)...9323" }, - "value": "16087490193876161637448045704887923394070749301729401042528207780307353148754" + "value": "16145146493105051731835577431466522777312556712102642258586604156965648489323" }, { "argumentTypes": null, - "hexValue": "34303437333135353438323330373136363730373932373131333634313439343830363238303436353434363338373339343331393436313130383337343130343033393232393533333032", - "id": 1647, + "hexValue": "31343038333937393037363330313738303834343735383431363238323838393739353630303331303737393233313631373230323930363536363435363930383838353134393030363930", + "id": 619, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7789:76:4", + "src": "7789:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_4047315548230716670792711364149480628046544638739431946110837410403922953302_by_1", - "typeString": "int_const 4047...(68 digits omitted)...3302" + "typeIdentifier": "t_rational_1408397907630178084475841628288979560031077923161720290656645690888514900690_by_1", + "typeString": "int_const 1408...(68 digits omitted)...0690" }, - "value": "4047315548230716670792711364149480628046544638739431946110837410403922953302" + "value": "1408397907630178084475841628288979560031077923161720290656645690888514900690" } ], - "id": 1648, + "id": 620, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7710:156:4", + "src": "7710:156:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -8417,49 +8417,49 @@ "components": [ { "argumentTypes": null, - "hexValue": "3134323633313537353839393235353033303235353238373932353232343434313030303538373731343134363933323733393435313439303332383839393230373735353938323431353138", - "id": 1649, + "hexValue": "3131393738393335343638313130393336343739343532353430343736363835363530393633323533353433343438343434343931303432343438363032393939323936353030383737353330", + "id": 621, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7869:77:4", + "src": "7869:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_14263157589925503025528792522444100058771414693273945149032889920775598241518_by_1", - "typeString": "int_const 1426...(69 digits omitted)...1518" + "typeIdentifier": "t_rational_11978935468110936479452540476685650963253543448444491042448602999296500877530_by_1", + "typeString": "int_const 1197...(69 digits omitted)...7530" }, - "value": "14263157589925503025528792522444100058771414693273945149032889920775598241518" + "value": "11978935468110936479452540476685650963253543448444491042448602999296500877530" }, { "argumentTypes": null, - "hexValue": "32343033303839383232303531383538363434393835383038313639343634373537333735323530333032373535353932393934303039323934313130323337363136353532353935373538", - "id": 1650, + "hexValue": "313132393138303633363430313434343033393532333737383335333234303635393136373732393238363330313236363434343836353738393636313932383934353237383434323432", + "id": 622, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7947:76:4", + "src": "7947:75:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_2403089822051858644985808169464757375250302755592994009294110237616552595758_by_1", - "typeString": "int_const 2403...(68 digits omitted)...5758" + "typeIdentifier": "t_rational_112918063640144403952377835324065916772928630126644486578966192894527844242_by_1", + "typeString": "int_const 1129...(67 digits omitted)...4242" }, - "value": "2403089822051858644985808169464757375250302755592994009294110237616552595758" + "value": "112918063640144403952377835324065916772928630126644486578966192894527844242" } ], - "id": 1651, + "id": 623, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "7868:156:4", + "src": "7868:155:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -8479,32 +8479,32 @@ ], "expression": { "argumentTypes": null, - "id": 1644, + "id": 616, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "7694:7:4", + "referencedDeclaration": 577, + "src": "7694:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1645, + "id": 617, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G2Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1043, - "src": "7694:15:4", + "referencedDeclaration": 15, + "src": "7694:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$1043_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G2Point_$15_storage_ptr_$", "typeString": "type(struct Pairing.G2Point storage pointer)" } }, - "id": 1652, + "id": 624, "isConstant": false, "isLValue": false, "isPure": true, @@ -8512,26 +8512,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "7694:331:4", + "src": "7694:330:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "src": "7683:342:4", + "src": "7683:341:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1654, + "id": 626, "nodeType": "ExpressionStatement", - "src": "7683:342:4" + "src": "7683:341:0" }, { "expression": { "argumentTypes": null, - "id": 1667, + "id": 639, "isConstant": false, "isLValue": false, "isPure": false, @@ -8540,28 +8540,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1655, + "id": 627, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "8035:2:4", + "referencedDeclaration": 601, + "src": "8034:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1657, + "id": 629, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "gamma2", "nodeType": "MemberAccess", - "referencedDeclaration": 1613, - "src": "8035:9:4", + "referencedDeclaration": 585, + "src": "8034:9:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -8575,49 +8575,49 @@ "components": [ { "argumentTypes": null, - "hexValue": "3138313233323736333034313237313630343338333933383031303838373137333138373831313938313332393631333938373933373630383132373439323537313836303633303134333337", - "id": 1660, + "hexValue": "3134373134313631353431343732313930383430373036343037343630353737353730343731393535303230333833313634313237303134303434393639313439383435303939303839303433", + "id": 632, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8064:77:4", + "src": "8063:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_18123276304127160438393801088717318781198132961398793760812749257186063014337_by_1", - "typeString": "int_const 1812...(69 digits omitted)...4337" + "typeIdentifier": "t_rational_14714161541472190840706407460577570471955020383164127014044969149845099089043_by_1", + "typeString": "int_const 1471...(69 digits omitted)...9043" }, - "value": "18123276304127160438393801088717318781198132961398793760812749257186063014337" + "value": "14714161541472190840706407460577570471955020383164127014044969149845099089043" }, { "argumentTypes": null, - "hexValue": "3137363037343233313035333133333335353235343332383639363637363739333532363234393234303636353935373537303332373137373832333939383232323537303230353033313337", - "id": 1661, + "hexValue": "3231313534343035353736323436383139383930343830383537323631383133323435383733323930313137393232343936343631323434393531343337313030363739383032353939333032", + "id": 633, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8142:77:4", + "src": "8141:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_17607423105313335525432869667679352624924066595757032717782399822257020503137_by_1", - "typeString": "int_const 1760...(69 digits omitted)...3137" + "typeIdentifier": "t_rational_21154405576246819890480857261813245873290117922496461244951437100679802599302_by_1", + "typeString": "int_const 2115...(69 digits omitted)...9302" }, - "value": "17607423105313335525432869667679352624924066595757032717782399822257020503137" + "value": "21154405576246819890480857261813245873290117922496461244951437100679802599302" } ], - "id": 1662, + "id": 634, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8063:157:4", + "src": "8062:157:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -8628,49 +8628,49 @@ "components": [ { "argumentTypes": null, - "hexValue": "3131303235353831333239363530303437363531363739373537303836333838373234313637343735323139343036393133313134323730343938343330383838343833353236303130363834", - "id": 1663, + "hexValue": "31383430303831383330323737393035383338373434333731383238353331383131313139363337333632303737373533303536363737333334383430303137363538333138353638333930", + "id": 635, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8223:77:4", + "src": "8222:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_11025581329650047651679757086388724167475219406913114270498430888483526010684_by_1", - "typeString": "int_const 1102...(69 digits omitted)...0684" + "typeIdentifier": "t_rational_1840081830277905838744371828531811119637362077753056677334840017658318568390_by_1", + "typeString": "int_const 1840...(68 digits omitted)...8390" }, - "value": "11025581329650047651679757086388724167475219406913114270498430888483526010684" + "value": "1840081830277905838744371828531811119637362077753056677334840017658318568390" }, { "argumentTypes": null, - "hexValue": "3137323233303432313133303632303330353536323738383136363934363631393730333331363937323334393232363936303132303133313737313934373233353439353238343734323031", - "id": 1664, + "hexValue": "343130393731373630383735323538323535303030373030313435393538393431343730393730343634343539353131323437393531383435323935373439313935353431363734373730", + "id": 636, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8301:77:4", + "src": "8299:75:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_17223042113062030556278816694661970331697234922696012013177194723549528474201_by_1", - "typeString": "int_const 1722...(69 digits omitted)...4201" + "typeIdentifier": "t_rational_410971760875258255000700145958941470970464459511247951845295749195541674770_by_1", + "typeString": "int_const 4109...(67 digits omitted)...4770" }, - "value": "17223042113062030556278816694661970331697234922696012013177194723549528474201" + "value": "410971760875258255000700145958941470970464459511247951845295749195541674770" } ], - "id": 1665, + "id": 637, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8222:157:4", + "src": "8221:154:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -8690,32 +8690,32 @@ ], "expression": { "argumentTypes": null, - "id": 1658, + "id": 630, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "8047:7:4", + "referencedDeclaration": 577, + "src": "8046:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1659, + "id": 631, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G2Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1043, - "src": "8047:15:4", + "referencedDeclaration": 15, + "src": "8046:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$1043_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G2Point_$15_storage_ptr_$", "typeString": "type(struct Pairing.G2Point storage pointer)" } }, - "id": 1666, + "id": 638, "isConstant": false, "isLValue": false, "isPure": true, @@ -8723,26 +8723,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8047:333:4", + "src": "8046:330:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "src": "8035:345:4", + "src": "8034:342:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1668, + "id": 640, "nodeType": "ExpressionStatement", - "src": "8035:345:4" + "src": "8034:342:0" }, { "expression": { "argumentTypes": null, - "id": 1681, + "id": 653, "isConstant": false, "isLValue": false, "isPure": false, @@ -8751,28 +8751,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1669, + "id": 641, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "8390:2:4", + "referencedDeclaration": 601, + "src": "8386:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1671, + "id": 643, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "delta2", "nodeType": "MemberAccess", - "referencedDeclaration": 1615, - "src": "8390:9:4", + "referencedDeclaration": 587, + "src": "8386:9:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -8786,49 +8786,49 @@ "components": [ { "argumentTypes": null, - "hexValue": "36303337363233343438353132313638393837323630353636323031363838313232323435373931333731353235303238303938353035393532323539313634343331383437373735343931", - "id": 1674, + "hexValue": "363039363232343936313538303134333235313130343230353538383034333635343130323233333439323830383339313439353639343634313631393632333433343237373634323837", + "id": 646, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8419:76:4", + "src": "8415:75:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_6037623448512168987260566201688122245791371525028098505952259164431847775491_by_1", - "typeString": "int_const 6037...(68 digits omitted)...5491" + "typeIdentifier": "t_rational_609622496158014325110420558804365410223349280839149569464161962343427764287_by_1", + "typeString": "int_const 6096...(67 digits omitted)...4287" }, - "value": "6037623448512168987260566201688122245791371525028098505952259164431847775491" + "value": "609622496158014325110420558804365410223349280839149569464161962343427764287" }, { "argumentTypes": null, - "hexValue": "343538333336353735343333393938353036303136343538303137323138313131383632383739313836313339333034363534363036333831333732353833393134343436393539363137", - "id": 1675, + "hexValue": "38333137333733343234323836333834303932353436353936393932343634373435303337313737323033373838323331303237323231343939333538323730323033393339373938333131", + "id": 647, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8496:75:4", + "src": "8491:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_458336575433998506016458017218111862879186139304654606381372583914446959617_by_1", - "typeString": "int_const 4583...(67 digits omitted)...9617" + "typeIdentifier": "t_rational_8317373424286384092546596992464745037177203788231027221499358270203939798311_by_1", + "typeString": "int_const 8317...(68 digits omitted)...8311" }, - "value": "458336575433998506016458017218111862879186139304654606381372583914446959617" + "value": "8317373424286384092546596992464745037177203788231027221499358270203939798311" } ], - "id": 1676, + "id": 648, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8418:154:4", + "src": "8414:154:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -8839,49 +8839,49 @@ "components": [ { "argumentTypes": null, - "hexValue": "3135303734373437333331343536383439313231303431343737393938303638373935333431333536353034313634353534333632393232383835383632323839303237393430393030343830", - "id": 1677, + "hexValue": "38393634333830383136343833313934383839393931363639393937323639393237303938333130333036383330383835323635363134303434383539343734373834333031363136383339", + "id": 649, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8575:77:4", + "src": "8571:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_15074747331456849121041477998068795341356504164554362922885862289027940900480_by_1", - "typeString": "int_const 1507...(69 digits omitted)...0480" + "typeIdentifier": "t_rational_8964380816483194889991669997269927098310306830885265614044859474784301616839_by_1", + "typeString": "int_const 8964...(68 digits omitted)...6839" }, - "value": "15074747331456849121041477998068795341356504164554362922885862289027940900480" + "value": "8964380816483194889991669997269927098310306830885265614044859474784301616839" }, { "argumentTypes": null, - "hexValue": "34353531373137333338363135373631373236383834353535373239383135373337323430393437323334323632303338363737393835393536383434313839323430393038363935363536", - "id": 1678, + "hexValue": "34363537313536323439373935313631393139363238393134333033333236393633303139353634383035363936353238343831393031353336353236313236353739333038303930313339", + "id": 650, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8653:76:4", + "src": "8648:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_4551717338615761726884555729815737240947234262038677985956844189240908695656_by_1", - "typeString": "int_const 4551...(68 digits omitted)...5656" + "typeIdentifier": "t_rational_4657156249795161919628914303326963019564805696528481901536526126579308090139_by_1", + "typeString": "int_const 4657...(68 digits omitted)...0139" }, - "value": "4551717338615761726884555729815737240947234262038677985956844189240908695656" + "value": "4657156249795161919628914303326963019564805696528481901536526126579308090139" } ], - "id": 1679, + "id": 651, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8574:156:4", + "src": "8570:155:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -8901,32 +8901,32 @@ ], "expression": { "argumentTypes": null, - "id": 1672, + "id": 644, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "8402:7:4", + "referencedDeclaration": 577, + "src": "8398:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1673, + "id": 645, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G2Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1043, - "src": "8402:15:4", + "referencedDeclaration": 15, + "src": "8398:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$1043_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G2Point_$15_storage_ptr_$", "typeString": "type(struct Pairing.G2Point storage pointer)" } }, - "id": 1680, + "id": 652, "isConstant": false, "isLValue": false, "isPure": true, @@ -8934,26 +8934,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8402:329:4", + "src": "8398:328:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "src": "8390:341:4", + "src": "8386:340:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1682, + "id": 654, "nodeType": "ExpressionStatement", - "src": "8390:341:4" + "src": "8386:340:0" }, { "expression": { "argumentTypes": null, - "id": 1691, + "id": 663, "isConstant": false, "isLValue": false, "isPure": false, @@ -8962,28 +8962,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1683, + "id": 655, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "8741:2:4", + "referencedDeclaration": 601, + "src": "8736:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1685, + "id": 657, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "8741:5:4", + "referencedDeclaration": 590, + "src": "8736:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, @@ -8995,14 +8995,14 @@ { "argumentTypes": null, "hexValue": "37", - "id": 1689, + "id": 661, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8771:1:4", + "src": "8766:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_7_by_1", @@ -9018,41 +9018,41 @@ "typeString": "int_const 7" } ], - "id": 1688, + "id": 660, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "8749:21:4", + "src": "8744:21:0", "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_$", + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_$", "typeString": "function (uint256) pure returns (struct Pairing.G1Point memory[] memory)" }, "typeName": { "baseType": { "contractScope": null, - "id": 1686, + "id": 658, "name": "Pairing.G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "8753:15:4", + "referencedDeclaration": 6, + "src": "8748:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, - "id": 1687, + "id": 659, "length": null, "nodeType": "ArrayTypeName", - "src": "8753:17:4", + "src": "8748:17:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_storage_$dyn_storage_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_storage_$dyn_storage_ptr", "typeString": "struct Pairing.G1Point[]" } } }, - "id": 1690, + "id": 662, "isConstant": false, "isLValue": false, "isPure": true, @@ -9060,26 +9060,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8749:24:4", + "src": "8744:24:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "src": "8741:32:4", + "src": "8736:32:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1692, + "id": 664, "nodeType": "ExpressionStatement", - "src": "8741:32:4" + "src": "8736:32:0" }, { "expression": { "argumentTypes": null, - "id": 1703, + "id": 675, "isConstant": false, "isLValue": false, "isPure": false, @@ -9090,43 +9090,43 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1693, + "id": 665, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "8783:2:4", + "referencedDeclaration": 601, + "src": "8778:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1696, + "id": 668, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "8783:5:4", + "referencedDeclaration": 590, + "src": "8778:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1697, + "id": 669, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1695, + "id": 667, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8789:1:4", + "src": "8784:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -9139,9 +9139,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8783:8:4", + "src": "8778:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -9152,80 +9152,80 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "33323830313531333534383537373031313034383035383135313037333432393237303036383831353631313838313831343836303439333530313439303536383032373838393032323737", - "id": 1700, + "hexValue": "3230313636363130363032363631343938383035343831323136303634303431333930333730313630363633303630303938383530303335383534363137313037303834363532393333313838", + "id": 672, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8810:76:4", + "src": "8805:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_3280151354857701104805815107342927006881561188181486049350149056802788902277_by_1", - "typeString": "int_const 3280...(68 digits omitted)...2277" + "typeIdentifier": "t_rational_20166610602661498805481216064041390370160663060098850035854617107084652933188_by_1", + "typeString": "int_const 2016...(69 digits omitted)...3188" }, - "value": "3280151354857701104805815107342927006881561188181486049350149056802788902277" + "value": "20166610602661498805481216064041390370160663060098850035854617107084652933188" }, { "argumentTypes": null, - "hexValue": "34303936323035383634323834323436383932373836393432343931363230383936353231353434393338303538393531333738343038373733313734383931333232303937333136393133", - "id": 1701, + "hexValue": "31363539393735333032323034393936343338353235323338313734303432393236383837333936333139303133343537363130303836303238343736353132363333393635393536393930", + "id": 673, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8887:76:4", + "src": "8883:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_4096205864284246892786942491620896521544938058951378408773174891322097316913_by_1", - "typeString": "int_const 4096...(68 digits omitted)...6913" + "typeIdentifier": "t_rational_1659975302204996438525238174042926887396319013457610086028476512633965956990_by_1", + "typeString": "int_const 1659...(68 digits omitted)...6990" }, - "value": "4096205864284246892786942491620896521544938058951378408773174891322097316913" + "value": "1659975302204996438525238174042926887396319013457610086028476512633965956990" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_rational_3280151354857701104805815107342927006881561188181486049350149056802788902277_by_1", - "typeString": "int_const 3280...(68 digits omitted)...2277" + "typeIdentifier": "t_rational_20166610602661498805481216064041390370160663060098850035854617107084652933188_by_1", + "typeString": "int_const 2016...(69 digits omitted)...3188" }, { - "typeIdentifier": "t_rational_4096205864284246892786942491620896521544938058951378408773174891322097316913_by_1", - "typeString": "int_const 4096...(68 digits omitted)...6913" + "typeIdentifier": "t_rational_1659975302204996438525238174042926887396319013457610086028476512633965956990_by_1", + "typeString": "int_const 1659...(68 digits omitted)...6990" } ], "expression": { "argumentTypes": null, - "id": 1698, + "id": 670, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "8794:7:4", + "referencedDeclaration": 577, + "src": "8789:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1699, + "id": 671, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "8794:15:4", + "referencedDeclaration": 6, + "src": "8789:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1702, + "id": 674, "isConstant": false, "isLValue": false, "isPure": true, @@ -9233,26 +9233,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8794:170:4", + "src": "8789:171:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "8783:181:4", + "src": "8778:182:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1704, + "id": 676, "nodeType": "ExpressionStatement", - "src": "8783:181:4" + "src": "8778:182:0" }, { "expression": { "argumentTypes": null, - "id": 1715, + "id": 687, "isConstant": false, "isLValue": false, "isPure": false, @@ -9263,43 +9263,43 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1705, + "id": 677, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "8974:2:4", + "referencedDeclaration": 601, + "src": "8970:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1708, + "id": 680, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "8974:5:4", + "referencedDeclaration": 590, + "src": "8970:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1709, + "id": 681, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1707, + "id": 679, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8980:1:4", + "src": "8976:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -9312,9 +9312,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "8974:8:4", + "src": "8970:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -9325,80 +9325,80 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "383836303735323532373333333030333330383639393530343938303636323532383034303237323435333332313838373337303839383939353631393239313830363938393330373938", - "id": 1712, + "hexValue": "34323230383731313839363730393533303236353036343134333731383638343831383331343130383839303130323137313038373139333832363133373236313833323836393735343436", + "id": 684, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9001:75:4", + "src": "8997:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_886075252733300330869950498066252804027245332188737089899561929180698930798_by_1", - "typeString": "int_const 8860...(67 digits omitted)...0798" + "typeIdentifier": "t_rational_4220871189670953026506414371868481831410889010217108719382613726183286975446_by_1", + "typeString": "int_const 4220...(68 digits omitted)...5446" }, - "value": "886075252733300330869950498066252804027245332188737089899561929180698930798" + "value": "4220871189670953026506414371868481831410889010217108719382613726183286975446" }, { "argumentTypes": null, - "hexValue": "3135353730323334323239313531373538313334313133303035333132393134303335303733343436393735343730363536313833303930323135333436383638363737303931323133303035", - "id": 1713, + "hexValue": "31303030333933313637373034373332323037373934353138333731333833393832373131393039353630373331393937303835363236333334313038303336363636393131383936353135", + "id": 685, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9077:77:4", + "src": "9074:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_15570234229151758134113005312914035073446975470656183090215346868677091213005_by_1", - "typeString": "int_const 1557...(69 digits omitted)...3005" + "typeIdentifier": "t_rational_1000393167704732207794518371383982711909560731997085626334108036666911896515_by_1", + "typeString": "int_const 1000...(68 digits omitted)...6515" }, - "value": "15570234229151758134113005312914035073446975470656183090215346868677091213005" + "value": "1000393167704732207794518371383982711909560731997085626334108036666911896515" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_rational_886075252733300330869950498066252804027245332188737089899561929180698930798_by_1", - "typeString": "int_const 8860...(67 digits omitted)...0798" + "typeIdentifier": "t_rational_4220871189670953026506414371868481831410889010217108719382613726183286975446_by_1", + "typeString": "int_const 4220...(68 digits omitted)...5446" }, { - "typeIdentifier": "t_rational_15570234229151758134113005312914035073446975470656183090215346868677091213005_by_1", - "typeString": "int_const 1557...(69 digits omitted)...3005" + "typeIdentifier": "t_rational_1000393167704732207794518371383982711909560731997085626334108036666911896515_by_1", + "typeString": "int_const 1000...(68 digits omitted)...6515" } ], "expression": { "argumentTypes": null, - "id": 1710, + "id": 682, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "8985:7:4", + "referencedDeclaration": 577, + "src": "8981:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1711, + "id": 683, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "8985:15:4", + "referencedDeclaration": 6, + "src": "8981:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1714, + "id": 686, "isConstant": false, "isLValue": false, "isPure": true, @@ -9406,26 +9406,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "8985:170:4", + "src": "8981:170:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "8974:181:4", + "src": "8970:181:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1716, + "id": 688, "nodeType": "ExpressionStatement", - "src": "8974:181:4" + "src": "8970:181:0" }, { "expression": { "argumentTypes": null, - "id": 1727, + "id": 699, "isConstant": false, "isLValue": false, "isPure": false, @@ -9436,43 +9436,43 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1717, + "id": 689, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "9165:2:4", + "referencedDeclaration": 601, + "src": "9161:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1720, + "id": 692, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "9165:5:4", + "referencedDeclaration": 590, + "src": "9161:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1721, + "id": 693, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 1719, + "id": 691, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9171:1:4", + "src": "9167:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -9485,9 +9485,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9165:8:4", + "src": "9161:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -9498,80 +9498,80 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "34383033393131353239323239393231323433383139313135393338383134363234363938303131373034333237353731383136363537333638323539363535323633383130393130343234", - "id": 1724, + "hexValue": "3132323339303836313130383231333136393335363136393132363439303630323131303338333932383737333531373336363531303635343235303537333336363631303430393834303635", + "id": 696, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9192:76:4", + "src": "9188:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_4803911529229921243819115938814624698011704327571816657368259655263810910424_by_1", - "typeString": "int_const 4803...(68 digits omitted)...0424" + "typeIdentifier": "t_rational_12239086110821316935616912649060211038392877351736651065425057336661040984065_by_1", + "typeString": "int_const 1223...(69 digits omitted)...4065" }, - "value": "4803911529229921243819115938814624698011704327571816657368259655263810910424" + "value": "12239086110821316935616912649060211038392877351736651065425057336661040984065" }, { "argumentTypes": null, - "hexValue": "39343231353231313338353734323734323435393136343439353936373937363639333239333837303436343434333438333535333833383939363736383030343536323032303339303535", - "id": 1725, + "hexValue": "35333734343532303832353837363239333439393430373633383032383732353931393836373238323133363330383639333535373936323630393039333537343333343231353332333239", + "id": 697, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9269:76:4", + "src": "9266:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_9421521138574274245916449596797669329387046444348355383899676800456202039055_by_1", - "typeString": "int_const 9421...(68 digits omitted)...9055" + "typeIdentifier": "t_rational_5374452082587629349940763802872591986728213630869355796260909357433421532329_by_1", + "typeString": "int_const 5374...(68 digits omitted)...2329" }, - "value": "9421521138574274245916449596797669329387046444348355383899676800456202039055" + "value": "5374452082587629349940763802872591986728213630869355796260909357433421532329" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_rational_4803911529229921243819115938814624698011704327571816657368259655263810910424_by_1", - "typeString": "int_const 4803...(68 digits omitted)...0424" + "typeIdentifier": "t_rational_12239086110821316935616912649060211038392877351736651065425057336661040984065_by_1", + "typeString": "int_const 1223...(69 digits omitted)...4065" }, { - "typeIdentifier": "t_rational_9421521138574274245916449596797669329387046444348355383899676800456202039055_by_1", - "typeString": "int_const 9421...(68 digits omitted)...9055" + "typeIdentifier": "t_rational_5374452082587629349940763802872591986728213630869355796260909357433421532329_by_1", + "typeString": "int_const 5374...(68 digits omitted)...2329" } ], "expression": { "argumentTypes": null, - "id": 1722, + "id": 694, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "9176:7:4", + "referencedDeclaration": 577, + "src": "9172:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1723, + "id": 695, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "9176:15:4", + "referencedDeclaration": 6, + "src": "9172:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1726, + "id": 698, "isConstant": false, "isLValue": false, "isPure": true, @@ -9579,26 +9579,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9176:170:4", + "src": "9172:171:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "9165:181:4", + "src": "9161:182:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1728, + "id": 700, "nodeType": "ExpressionStatement", - "src": "9165:181:4" + "src": "9161:182:0" }, { "expression": { "argumentTypes": null, - "id": 1739, + "id": 711, "isConstant": false, "isLValue": false, "isPure": false, @@ -9609,43 +9609,43 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1729, + "id": 701, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "9356:2:4", + "referencedDeclaration": 601, + "src": "9353:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1732, + "id": 704, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "9356:5:4", + "referencedDeclaration": 590, + "src": "9353:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1733, + "id": 705, "indexExpression": { "argumentTypes": null, "hexValue": "33", - "id": 1731, + "id": 703, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9362:1:4", + "src": "9359:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_3_by_1", @@ -9658,9 +9658,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9356:8:4", + "src": "9353:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -9671,80 +9671,80 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "38353536353336313534303935393631383730363739343834393835383731383830353631393033353532383931323331363633383031343533313138343333393036323038323038363334", - "id": 1736, + "hexValue": "3130323835313333363130353435343131383435383139353037353038373230313436383233393433323632383831383739343638393531343931333635343034313436323033313735383332", + "id": 708, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9383:76:4", + "src": "9380:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_8556536154095961870679484985871880561903552891231663801453118433906208208634_by_1", - "typeString": "int_const 8556...(68 digits omitted)...8634" + "typeIdentifier": "t_rational_10285133610545411845819507508720146823943262881879468951491365404146203175832_by_1", + "typeString": "int_const 1028...(69 digits omitted)...5832" }, - "value": "8556536154095961870679484985871880561903552891231663801453118433906208208634" + "value": "10285133610545411845819507508720146823943262881879468951491365404146203175832" }, { "argumentTypes": null, - "hexValue": "33303530363031343736383239393433353031393638303530333336393233303132323937333834333532383930353038323639303633333033383838373337313339343836393138343431", - "id": 1737, + "hexValue": "32343938323437363535323334373630323636313230333132323632353436393732313635333433323937313230353537333730303930373735343230303133353232313435373932303135", + "id": 709, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9460:76:4", + "src": "9458:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_3050601476829943501968050336923012297384352890508269063303888737139486918441_by_1", - "typeString": "int_const 3050...(68 digits omitted)...8441" + "typeIdentifier": "t_rational_2498247655234760266120312262546972165343297120557370090775420013522145792015_by_1", + "typeString": "int_const 2498...(68 digits omitted)...2015" }, - "value": "3050601476829943501968050336923012297384352890508269063303888737139486918441" + "value": "2498247655234760266120312262546972165343297120557370090775420013522145792015" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_rational_8556536154095961870679484985871880561903552891231663801453118433906208208634_by_1", - "typeString": "int_const 8556...(68 digits omitted)...8634" + "typeIdentifier": "t_rational_10285133610545411845819507508720146823943262881879468951491365404146203175832_by_1", + "typeString": "int_const 1028...(69 digits omitted)...5832" }, { - "typeIdentifier": "t_rational_3050601476829943501968050336923012297384352890508269063303888737139486918441_by_1", - "typeString": "int_const 3050...(68 digits omitted)...8441" + "typeIdentifier": "t_rational_2498247655234760266120312262546972165343297120557370090775420013522145792015_by_1", + "typeString": "int_const 2498...(68 digits omitted)...2015" } ], "expression": { "argumentTypes": null, - "id": 1734, + "id": 706, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "9367:7:4", + "referencedDeclaration": 577, + "src": "9364:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1735, + "id": 707, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "9367:15:4", + "referencedDeclaration": 6, + "src": "9364:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1738, + "id": 710, "isConstant": false, "isLValue": false, "isPure": true, @@ -9752,26 +9752,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9367:170:4", + "src": "9364:171:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "9356:181:4", + "src": "9353:182:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1740, + "id": 712, "nodeType": "ExpressionStatement", - "src": "9356:181:4" + "src": "9353:182:0" }, { "expression": { "argumentTypes": null, - "id": 1751, + "id": 723, "isConstant": false, "isLValue": false, "isPure": false, @@ -9782,43 +9782,43 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1741, + "id": 713, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "9547:2:4", + "referencedDeclaration": 601, + "src": "9545:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1744, + "id": 716, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "9547:5:4", + "referencedDeclaration": 590, + "src": "9545:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1745, + "id": 717, "indexExpression": { "argumentTypes": null, "hexValue": "34", - "id": 1743, + "id": 715, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9553:1:4", + "src": "9551:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_4_by_1", @@ -9831,9 +9831,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9547:8:4", + "src": "9545:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -9844,80 +9844,80 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "333030393730353537343834353138303730343932353331313735373134373838393132313331323433333434323632383035343737323636383036303634313236393538393239303335", - "id": 1748, + "hexValue": "3138313133313832313034383733323438353436323835373131353835343035353832303630343533393738383238343937303335373637383539303436313739313533313037333735383335", + "id": 720, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9574:75:4", + "src": "9572:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_300970557484518070492531175714788912131243344262805477266806064126958929035_by_1", - "typeString": "int_const 3009...(67 digits omitted)...9035" + "typeIdentifier": "t_rational_18113182104873248546285711585405582060453978828497035767859046179153107375835_by_1", + "typeString": "int_const 1811...(69 digits omitted)...5835" }, - "value": "300970557484518070492531175714788912131243344262805477266806064126958929035" + "value": "18113182104873248546285711585405582060453978828497035767859046179153107375835" }, { "argumentTypes": null, - "hexValue": "37333938353330373831333739383730393035393232323437363334373338393536333536333732333236323433303136383433353530343236303834383632383831323035383633343437", - "id": 1749, + "hexValue": "36373239303934363133373630303833343536363030343439353336313233373337303334323730323334363334333134393531373532383038343635333738323336333833353330383437", + "id": 721, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9650:76:4", + "src": "9650:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_7398530781379870905922247634738956356372326243016843550426084862881205863447_by_1", - "typeString": "int_const 7398...(68 digits omitted)...3447" + "typeIdentifier": "t_rational_6729094613760083456600449536123737034270234634314951752808465378236383530847_by_1", + "typeString": "int_const 6729...(68 digits omitted)...0847" }, - "value": "7398530781379870905922247634738956356372326243016843550426084862881205863447" + "value": "6729094613760083456600449536123737034270234634314951752808465378236383530847" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_rational_300970557484518070492531175714788912131243344262805477266806064126958929035_by_1", - "typeString": "int_const 3009...(67 digits omitted)...9035" + "typeIdentifier": "t_rational_18113182104873248546285711585405582060453978828497035767859046179153107375835_by_1", + "typeString": "int_const 1811...(69 digits omitted)...5835" }, { - "typeIdentifier": "t_rational_7398530781379870905922247634738956356372326243016843550426084862881205863447_by_1", - "typeString": "int_const 7398...(68 digits omitted)...3447" + "typeIdentifier": "t_rational_6729094613760083456600449536123737034270234634314951752808465378236383530847_by_1", + "typeString": "int_const 6729...(68 digits omitted)...0847" } ], "expression": { "argumentTypes": null, - "id": 1746, + "id": 718, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "9558:7:4", + "referencedDeclaration": 577, + "src": "9556:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1747, + "id": 719, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "9558:15:4", + "referencedDeclaration": 6, + "src": "9556:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1750, + "id": 722, "isConstant": false, "isLValue": false, "isPure": true, @@ -9925,26 +9925,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9558:169:4", + "src": "9556:171:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "9547:180:4", + "src": "9545:182:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1752, + "id": 724, "nodeType": "ExpressionStatement", - "src": "9547:180:4" + "src": "9545:182:0" }, { "expression": { "argumentTypes": null, - "id": 1763, + "id": 735, "isConstant": false, "isLValue": false, "isPure": false, @@ -9955,43 +9955,43 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1753, + "id": 725, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "9737:2:4", + "referencedDeclaration": 601, + "src": "9737:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1756, + "id": 728, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "9737:5:4", + "referencedDeclaration": 590, + "src": "9737:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1757, + "id": 729, "indexExpression": { "argumentTypes": null, "hexValue": "35", - "id": 1755, + "id": 727, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9743:1:4", + "src": "9743:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_5_by_1", @@ -10004,9 +10004,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9737:8:4", + "src": "9737:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -10017,80 +10017,80 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "3139393230303939323337373932383637343039363933313234343135303232313030353239343837303132393632383431363432383230363736353637353039323632353037313933313037", - "id": 1760, + "hexValue": "32363735383534343538313532393632343732313631363635313232313432373231373931363836313138303932393030333235353037393632333533333336373531333735363435353535", + "id": 732, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9764:77:4", + "src": "9764:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_19920099237792867409693124415022100529487012962841642820676567509262507193107_by_1", - "typeString": "int_const 1992...(69 digits omitted)...3107" + "typeIdentifier": "t_rational_2675854458152962472161665122142721791686118092900325507962353336751375645555_by_1", + "typeString": "int_const 2675...(68 digits omitted)...5555" }, - "value": "19920099237792867409693124415022100529487012962841642820676567509262507193107" + "value": "2675854458152962472161665122142721791686118092900325507962353336751375645555" }, { "argumentTypes": null, - "hexValue": "3230323139353434303039353933333839323938373133373736363732313438393038393036303834303037333030373839323932313638333839373837373231373431343530393132303338", - "id": 1761, + "hexValue": "3132393133323234333032333830343438363136343735363531393034303330303936313739363332383334323530313938383935313238373133373331373732323237353236313033383531", + "id": 733, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9842:77:4", + "src": "9841:77:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_20219544009593389298713776672148908906084007300789292168389787721741450912038_by_1", - "typeString": "int_const 2021...(69 digits omitted)...2038" + "typeIdentifier": "t_rational_12913224302380448616475651904030096179632834250198895128713731772227526103851_by_1", + "typeString": "int_const 1291...(69 digits omitted)...3851" }, - "value": "20219544009593389298713776672148908906084007300789292168389787721741450912038" + "value": "12913224302380448616475651904030096179632834250198895128713731772227526103851" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_rational_19920099237792867409693124415022100529487012962841642820676567509262507193107_by_1", - "typeString": "int_const 1992...(69 digits omitted)...3107" + "typeIdentifier": "t_rational_2675854458152962472161665122142721791686118092900325507962353336751375645555_by_1", + "typeString": "int_const 2675...(68 digits omitted)...5555" }, { - "typeIdentifier": "t_rational_20219544009593389298713776672148908906084007300789292168389787721741450912038_by_1", - "typeString": "int_const 2021...(69 digits omitted)...2038" + "typeIdentifier": "t_rational_12913224302380448616475651904030096179632834250198895128713731772227526103851_by_1", + "typeString": "int_const 1291...(69 digits omitted)...3851" } ], "expression": { "argumentTypes": null, - "id": 1758, + "id": 730, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "9748:7:4", + "referencedDeclaration": 577, + "src": "9748:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1759, + "id": 731, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "9748:15:4", + "referencedDeclaration": 6, + "src": "9748:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1762, + "id": 734, "isConstant": false, "isLValue": false, "isPure": true, @@ -10098,26 +10098,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9748:172:4", + "src": "9748:171:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "9737:183:4", + "src": "9737:182:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1764, + "id": 736, "nodeType": "ExpressionStatement", - "src": "9737:183:4" + "src": "9737:182:0" }, { "expression": { "argumentTypes": null, - "id": 1775, + "id": 747, "isConstant": false, "isLValue": false, "isPure": false, @@ -10128,43 +10128,43 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1765, + "id": 737, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "9930:2:4", + "referencedDeclaration": 601, + "src": "9929:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1768, + "id": 740, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "9930:5:4", + "referencedDeclaration": 590, + "src": "9929:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1769, + "id": 741, "indexExpression": { "argumentTypes": null, "hexValue": "36", - "id": 1767, + "id": 739, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9936:1:4", + "src": "9935:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -10177,9 +10177,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9930:8:4", + "src": "9929:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -10190,80 +10190,80 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "3139373338343638343635363538353837343533333731383139383331353738383335363736333337363836323136373336333130303736343433343737393438373031393135353431323033", - "id": 1772, + "hexValue": "36393034353331323033393237333234343937313930373135373031323139353132303237333535313432303332393235343738343136313638343139353537313931303137303637313338", + "id": 744, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9957:77:4", + "src": "9956:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_19738468465658587453371819831578835676337686216736310076443477948701915541203_by_1", - "typeString": "int_const 1973...(69 digits omitted)...1203" + "typeIdentifier": "t_rational_6904531203927324497190715701219512027355142032925478416168419557191017067138_by_1", + "typeString": "int_const 6904...(68 digits omitted)...7138" }, - "value": "19738468465658587453371819831578835676337686216736310076443477948701915541203" + "value": "6904531203927324497190715701219512027355142032925478416168419557191017067138" }, { "argumentTypes": null, - "hexValue": "3137303531363131333336363738393430383332353934373139393534323638323935303833373634393933393231363130323930323535353230303135303032353133343339343133393433", - "id": 1773, + "hexValue": "33323937333835363139313434313438363835383539383938353038323830383037383431313134363132353532353236323036323635303336323037383935323730313437373430333931", + "id": 745, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10035:77:4", + "src": "10033:76:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_rational_17051611336678940832594719954268295083764993921610290255520015002513439413943_by_1", - "typeString": "int_const 1705...(69 digits omitted)...3943" + "typeIdentifier": "t_rational_3297385619144148685859898508280807841114612552526206265036207895270147740391_by_1", + "typeString": "int_const 3297...(68 digits omitted)...0391" }, - "value": "17051611336678940832594719954268295083764993921610290255520015002513439413943" + "value": "3297385619144148685859898508280807841114612552526206265036207895270147740391" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_rational_19738468465658587453371819831578835676337686216736310076443477948701915541203_by_1", - "typeString": "int_const 1973...(69 digits omitted)...1203" + "typeIdentifier": "t_rational_6904531203927324497190715701219512027355142032925478416168419557191017067138_by_1", + "typeString": "int_const 6904...(68 digits omitted)...7138" }, { - "typeIdentifier": "t_rational_17051611336678940832594719954268295083764993921610290255520015002513439413943_by_1", - "typeString": "int_const 1705...(69 digits omitted)...3943" + "typeIdentifier": "t_rational_3297385619144148685859898508280807841114612552526206265036207895270147740391_by_1", + "typeString": "int_const 3297...(68 digits omitted)...0391" } ], "expression": { "argumentTypes": null, - "id": 1770, + "id": 742, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "9941:7:4", + "referencedDeclaration": 577, + "src": "9940:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1771, + "id": 743, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "9941:15:4", + "referencedDeclaration": 6, + "src": "9940:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1774, + "id": 746, "isConstant": false, "isLValue": false, "isPure": true, @@ -10271,63 +10271,63 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "9941:172:4", + "src": "9940:170:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "9930:183:4", + "src": "9929:181:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1776, + "id": 748, "nodeType": "ExpressionStatement", - "src": "9930:183:4" + "src": "9929:181:0" } ] }, "documentation": null, - "id": 1778, + "id": 750, "implemented": true, "kind": "function", "modifiers": [], "name": "verifyingKey", "nodeType": "FunctionDefinition", "parameters": { - "id": 1627, + "id": 599, "nodeType": "ParameterList", "parameters": [], - "src": "7431:2:4" + "src": "7431:2:0" }, "returnParameters": { - "id": 1630, + "id": 602, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1629, + "id": 601, "name": "vk", "nodeType": "VariableDeclaration", - "scope": 1778, - "src": "7457:22:4", + "scope": 750, + "src": "7457:22:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey" }, "typeName": { "contractScope": null, - "id": 1628, + "id": 600, "name": "VerifyingKey", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1619, - "src": "7457:12:4", + "referencedDeclaration": 591, + "src": "7457:12:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_storage_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_storage_ptr", "typeString": "struct Verifier.VerifyingKey" } }, @@ -10335,32 +10335,32 @@ "visibility": "internal" } ], - "src": "7456:24:4" + "src": "7456:24:0" }, - "scope": 2086, - "src": "7410:2711:4", + "scope": 1058, + "src": "7410:2708:0", "stateMutability": "pure", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 1898, + "id": 870, "nodeType": "Block", - "src": "10212:846:4", + "src": "10209:846:0", "statements": [ { "assignments": [ - 1789 + 761 ], "declarations": [ { "constant": false, - "id": 1789, + "id": 761, "name": "snark_scalar_field", "nodeType": "VariableDeclaration", - "scope": 1898, - "src": "10222:26:4", + "scope": 870, + "src": "10219:26:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10368,10 +10368,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1788, + "id": 760, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10222:7:4", + "src": "10219:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10381,18 +10381,18 @@ "visibility": "internal" } ], - "id": 1791, + "id": 763, "initialValue": { "argumentTypes": null, "hexValue": "3231383838323432383731383339323735323232323436343035373435323537323735303838353438333634343030343136303334333433363938323034313836353735383038343935363137", - "id": 1790, + "id": 762, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10251:77:4", + "src": "10248:77:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_21888242871839275222246405745257275088548364400416034343698204186575808495617_by_1", @@ -10401,35 +10401,35 @@ "value": "21888242871839275222246405745257275088548364400416034343698204186575808495617" }, "nodeType": "VariableDeclarationStatement", - "src": "10222:106:4" + "src": "10219:106:0" }, { "assignments": [ - 1793 + 765 ], "declarations": [ { "constant": false, - "id": 1793, + "id": 765, "name": "vk", "nodeType": "VariableDeclaration", - "scope": 1898, - "src": "10338:22:4", + "scope": 870, + "src": "10335:22:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey" }, "typeName": { "contractScope": null, - "id": 1792, + "id": 764, "name": "VerifyingKey", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1619, - "src": "10338:12:4", + "referencedDeclaration": 591, + "src": "10335:12:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_storage_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_storage_ptr", "typeString": "struct Verifier.VerifyingKey" } }, @@ -10437,24 +10437,24 @@ "visibility": "internal" } ], - "id": 1796, + "id": 768, "initialValue": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], - "id": 1794, + "id": 766, "name": "verifyingKey", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1778, - "src": "10363:12:4", + "referencedDeclaration": 750, + "src": "10360:12:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_VerifyingKey_$1619_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_VerifyingKey_$591_memory_ptr_$", "typeString": "function () pure returns (struct Verifier.VerifyingKey memory)" } }, - "id": 1795, + "id": 767, "isConstant": false, "isLValue": false, "isPure": false, @@ -10462,14 +10462,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10363:14:4", + "src": "10360:14:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "10338:39:4" + "src": "10335:39:0" }, { "expression": { @@ -10481,7 +10481,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1805, + "id": 777, "isConstant": false, "isLValue": false, "isPure": false, @@ -10492,7 +10492,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1801, + "id": 773, "isConstant": false, "isLValue": false, "isPure": false, @@ -10501,18 +10501,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1798, + "id": 770, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1781, - "src": "10395:5:4", + "referencedDeclaration": 753, + "src": "10392:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1799, + "id": 771, "isConstant": false, "isLValue": false, "isPure": false, @@ -10520,7 +10520,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10395:12:4", + "src": "10392:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10531,14 +10531,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1800, + "id": 772, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10410:1:4", + "src": "10407:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -10546,7 +10546,7 @@ }, "value": "1" }, - "src": "10395:16:4", + "src": "10392:16:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10560,32 +10560,32 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1802, + "id": 774, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "10415:2:4", + "referencedDeclaration": 765, + "src": "10412:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1803, + "id": 775, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "10415:5:4", + "referencedDeclaration": 590, + "src": "10412:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1804, + "id": 776, "isConstant": false, "isLValue": false, "isPure": false, @@ -10593,13 +10593,13 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10415:12:4", + "src": "10412:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10395:32:4", + "src": "10392:32:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10608,14 +10608,14 @@ { "argumentTypes": null, "hexValue": "76657269666965722d6261642d696e707574", - "id": 1806, + "id": 778, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10428:20:4", + "src": "10425:20:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_62f18c0da782e23b7e947e83d22170e983c1918040b5b1bd1c1e3ee5a50cc57a", @@ -10635,21 +10635,21 @@ "typeString": "literal_string \"verifier-bad-input\"" } ], - "id": 1797, + "id": 769, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, - "src": "10387:7:4", + "referencedDeclaration": 1077, + "src": "10384:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1807, + "id": 779, "isConstant": false, "isLValue": false, "isPure": false, @@ -10657,43 +10657,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10387:62:4", + "src": "10384:62:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1808, + "id": 780, "nodeType": "ExpressionStatement", - "src": "10387:62:4" + "src": "10384:62:0" }, { "assignments": [ - 1812 + 784 ], "declarations": [ { "constant": false, - "id": 1812, + "id": 784, "name": "vk_x", "nodeType": "VariableDeclaration", - "scope": 1898, - "src": "10506:27:4", + "scope": 870, + "src": "10503:27:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point" }, "typeName": { "contractScope": null, - "id": 1811, + "id": 783, "name": "Pairing.G1Point", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1034, - "src": "10506:15:4", + "referencedDeclaration": 6, + "src": "10503:15:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_storage_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_storage_ptr", "typeString": "struct Pairing.G1Point" } }, @@ -10701,21 +10701,21 @@ "visibility": "internal" } ], - "id": 1818, + "id": 790, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", - "id": 1815, + "id": 787, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10552:1:4", + "src": "10549:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10726,14 +10726,14 @@ { "argumentTypes": null, "hexValue": "30", - "id": 1816, + "id": 788, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10555:1:4", + "src": "10552:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -10755,32 +10755,32 @@ ], "expression": { "argumentTypes": null, - "id": 1813, + "id": 785, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "10536:7:4", + "referencedDeclaration": 577, + "src": "10533:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1814, + "id": 786, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "10536:15:4", + "referencedDeclaration": 6, + "src": "10533:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1817, + "id": 789, "isConstant": false, "isLValue": false, "isPure": true, @@ -10788,20 +10788,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10536:21:4", + "src": "10533:21:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "10506:51:4" + "src": "10503:51:0" }, { "body": { - "id": 1858, + "id": 830, "nodeType": "Block", - "src": "10607:184:4", + "src": "10604:184:0", "statements": [ { "expression": { @@ -10813,7 +10813,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1835, + "id": 807, "isConstant": false, "isLValue": false, "isPure": false, @@ -10822,26 +10822,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1831, + "id": 803, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1781, - "src": "10629:5:4", + "referencedDeclaration": 753, + "src": "10626:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1833, + "id": 805, "indexExpression": { "argumentTypes": null, - "id": 1832, + "id": 804, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "10635:1:4", + "referencedDeclaration": 792, + "src": "10632:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10852,7 +10852,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10629:8:4", + "src": "10626:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10862,18 +10862,18 @@ "operator": "<", "rightExpression": { "argumentTypes": null, - "id": 1834, + "id": 806, "name": "snark_scalar_field", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "10640:18:4", + "referencedDeclaration": 761, + "src": "10637:18:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10629:29:4", + "src": "10626:29:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10882,14 +10882,14 @@ { "argumentTypes": null, "hexValue": "76657269666965722d6774652d736e61726b2d7363616c61722d6669656c64", - "id": 1836, + "id": 808, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10659:33:4", + "src": "10656:33:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_8cb5a586d84bd3fa5140c79c44fd5cd5a5b0e7e59a1ddee2846426486e57f847", @@ -10909,21 +10909,21 @@ "typeString": "literal_string \"verifier-gte-snark-scalar-field\"" } ], - "id": 1830, + "id": 802, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, - "src": "10621:7:4", + "referencedDeclaration": 1077, + "src": "10618:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1837, + "id": 809, "isConstant": false, "isLValue": false, "isPure": false, @@ -10931,34 +10931,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10621:72:4", + "src": "10618:72:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1838, + "id": 810, "nodeType": "ExpressionStatement", - "src": "10621:72:4" + "src": "10618:72:0" }, { "expression": { "argumentTypes": null, - "id": 1856, + "id": 828, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1839, + "id": 811, "name": "vk_x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "10707:4:4", + "referencedDeclaration": 784, + "src": "10704:4:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, @@ -10969,14 +10969,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1842, + "id": 814, "name": "vk_x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "10731:4:4", + "referencedDeclaration": 784, + "src": "10728:4:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, @@ -10989,51 +10989,51 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1845, + "id": 817, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "10756:2:4", + "referencedDeclaration": 765, + "src": "10753:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1846, + "id": 818, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "10756:5:4", + "referencedDeclaration": 590, + "src": "10753:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1850, + "id": 822, "indexExpression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1849, + "id": 821, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1847, + "id": 819, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "10762:1:4", + "referencedDeclaration": 792, + "src": "10759:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11044,14 +11044,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1848, + "id": 820, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10766:1:4", + "src": "10763:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -11059,7 +11059,7 @@ }, "value": "1" }, - "src": "10762:5:4", + "src": "10759:5:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11070,9 +11070,9 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10756:12:4", + "src": "10753:12:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -11080,26 +11080,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1851, + "id": 823, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1781, - "src": "10770:5:4", + "referencedDeclaration": 753, + "src": "10767:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1853, + "id": 825, "indexExpression": { "argumentTypes": null, - "id": 1852, + "id": 824, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "10776:1:4", + "referencedDeclaration": 792, + "src": "10773:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11110,7 +11110,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10770:8:4", + "src": "10767:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11120,7 +11120,7 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" }, { @@ -11130,32 +11130,32 @@ ], "expression": { "argumentTypes": null, - "id": 1843, + "id": 815, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "10737:7:4", + "referencedDeclaration": 577, + "src": "10734:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1844, + "id": 816, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "scalar_mul", "nodeType": "MemberAccess", - "referencedDeclaration": 1206, - "src": "10737:18:4", + "referencedDeclaration": 178, + "src": "10734:18:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$1034_memory_ptr_$_t_uint256_$returns$_t_struct$_G1Point_$1034_memory_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$6_memory_ptr_$_t_uint256_$returns$_t_struct$_G1Point_$6_memory_ptr_$", "typeString": "function (struct Pairing.G1Point memory,uint256) view returns (struct Pairing.G1Point memory)" } }, - "id": 1854, + "id": 826, "isConstant": false, "isLValue": false, "isPure": false, @@ -11163,9 +11163,9 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10737:42:4", + "src": "10734:42:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } } @@ -11173,42 +11173,42 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } ], "expression": { "argumentTypes": null, - "id": 1840, + "id": 812, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "10714:7:4", + "referencedDeclaration": 577, + "src": "10711:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1841, + "id": 813, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "addition", "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "10714:16:4", + "referencedDeclaration": 133, + "src": "10711:16:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$1034_memory_ptr_$_t_struct$_G1Point_$1034_memory_ptr_$returns$_t_struct$_G1Point_$1034_memory_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$6_memory_ptr_$_t_struct$_G1Point_$6_memory_ptr_$returns$_t_struct$_G1Point_$6_memory_ptr_$", "typeString": "function (struct Pairing.G1Point memory,struct Pairing.G1Point memory) view returns (struct Pairing.G1Point memory)" } }, - "id": 1855, + "id": 827, "isConstant": false, "isLValue": false, "isPure": false, @@ -11216,21 +11216,21 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10714:66:4", + "src": "10711:66:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "10707:73:4", + "src": "10704:73:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1857, + "id": 829, "nodeType": "ExpressionStatement", - "src": "10707:73:4" + "src": "10704:73:0" } ] }, @@ -11240,19 +11240,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1826, + "id": 798, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1823, + "id": 795, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "10584:1:4", + "referencedDeclaration": 792, + "src": "10581:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11264,18 +11264,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1824, + "id": 796, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1781, - "src": "10588:5:4", + "referencedDeclaration": 753, + "src": "10585:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1825, + "id": 797, "isConstant": false, "isLValue": false, "isPure": false, @@ -11283,31 +11283,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "10588:12:4", + "src": "10585:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10584:16:4", + "src": "10581:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1859, + "id": 831, "initializationExpression": { "assignments": [ - 1820 + 792 ], "declarations": [ { "constant": false, - "id": 1820, + "id": 792, "name": "i", "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "10572:6:4", + "scope": 831, + "src": "10569:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11315,10 +11315,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1819, + "id": 791, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "10572:4:4", + "src": "10569:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11328,18 +11328,18 @@ "visibility": "internal" } ], - "id": 1822, + "id": 794, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 1821, + "id": 793, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10581:1:4", + "src": "10578:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11348,12 +11348,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "10572:10:4" + "src": "10569:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 1828, + "id": 800, "isConstant": false, "isLValue": false, "isPure": false, @@ -11361,15 +11361,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "10602:3:4", + "src": "10599:3:0", "subExpression": { "argumentTypes": null, - "id": 1827, + "id": 799, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "10602:1:4", + "referencedDeclaration": 792, + "src": "10599:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -11380,31 +11380,31 @@ "typeString": "uint256" } }, - "id": 1829, + "id": 801, "nodeType": "ExpressionStatement", - "src": "10602:3:4" + "src": "10599:3:0" }, "nodeType": "ForStatement", - "src": "10567:224:4" + "src": "10564:224:0" }, { "expression": { "argumentTypes": null, - "id": 1869, + "id": 841, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 1860, + "id": 832, "name": "vk_x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "10800:4:4", + "referencedDeclaration": 784, + "src": "10797:4:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, @@ -11415,14 +11415,14 @@ "arguments": [ { "argumentTypes": null, - "id": 1863, + "id": 835, "name": "vk_x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "10824:4:4", + "referencedDeclaration": 784, + "src": "10821:4:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, @@ -11432,43 +11432,43 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1864, + "id": 836, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "10830:2:4", + "referencedDeclaration": 765, + "src": "10827:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1865, + "id": 837, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "IC", "nodeType": "MemberAccess", - "referencedDeclaration": 1618, - "src": "10830:5:4", + "referencedDeclaration": 590, + "src": "10827:5:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory", "typeString": "struct Pairing.G1Point memory[] memory" } }, - "id": 1867, + "id": 839, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1866, + "id": 838, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10836:1:4", + "src": "10833:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11481,9 +11481,9 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10830:8:4", + "src": "10827:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } } @@ -11491,42 +11491,42 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } ], "expression": { "argumentTypes": null, - "id": 1861, + "id": 833, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "10807:7:4", + "referencedDeclaration": 577, + "src": "10804:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1862, + "id": 834, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "addition", "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "10807:16:4", + "referencedDeclaration": 133, + "src": "10804:16:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$1034_memory_ptr_$_t_struct$_G1Point_$1034_memory_ptr_$returns$_t_struct$_G1Point_$1034_memory_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$6_memory_ptr_$_t_struct$_G1Point_$6_memory_ptr_$returns$_t_struct$_G1Point_$6_memory_ptr_$", "typeString": "function (struct Pairing.G1Point memory,struct Pairing.G1Point memory) view returns (struct Pairing.G1Point memory)" } }, - "id": 1868, + "id": 840, "isConstant": false, "isLValue": false, "isPure": false, @@ -11534,26 +11534,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10807:32:4", + "src": "10804:32:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "src": "10800:39:4", + "src": "10797:39:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1870, + "id": 842, "nodeType": "ExpressionStatement", - "src": "10800:39:4" + "src": "10797:39:0" }, { "condition": { "argumentTypes": null, - "id": 1892, + "id": 864, "isConstant": false, "isLValue": false, "isPure": false, @@ -11561,7 +11561,7 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "10853:170:4", + "src": "10850:170:0", "subExpression": { "argumentTypes": null, "arguments": [ @@ -11572,28 +11572,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1875, + "id": 847, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "10903:5:4", + "referencedDeclaration": 755, + "src": "10900:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } }, - "id": 1876, + "id": 848, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "A", "nodeType": "MemberAccess", - "referencedDeclaration": 1621, - "src": "10903:7:4", + "referencedDeclaration": 593, + "src": "10900:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } } @@ -11601,38 +11601,38 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } ], "expression": { "argumentTypes": null, - "id": 1873, + "id": 845, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "10888:7:4", + "referencedDeclaration": 577, + "src": "10885:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1874, + "id": 846, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "negate", "nodeType": "MemberAccess", - "referencedDeclaration": 1108, - "src": "10888:14:4", + "referencedDeclaration": 80, + "src": "10885:14:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_struct$_G1Point_$1034_memory_ptr_$returns$_t_struct$_G1Point_$1034_memory_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_struct$_G1Point_$6_memory_ptr_$returns$_t_struct$_G1Point_$6_memory_ptr_$", "typeString": "function (struct Pairing.G1Point memory) pure returns (struct Pairing.G1Point memory)" } }, - "id": 1877, + "id": 849, "isConstant": false, "isLValue": false, "isPure": false, @@ -11640,9 +11640,9 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10888:23:4", + "src": "10885:23:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, @@ -11650,28 +11650,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1878, + "id": 850, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "10913:5:4", + "referencedDeclaration": 755, + "src": "10910:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } }, - "id": 1879, + "id": 851, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "B", "nodeType": "MemberAccess", - "referencedDeclaration": 1623, - "src": "10913:7:4", + "referencedDeclaration": 595, + "src": "10910:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -11679,28 +11679,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1880, + "id": 852, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "10934:2:4", + "referencedDeclaration": 765, + "src": "10931:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1881, + "id": 853, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "alfa1", "nodeType": "MemberAccess", - "referencedDeclaration": 1609, - "src": "10934:8:4", + "referencedDeclaration": 581, + "src": "10931:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -11708,41 +11708,41 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1882, + "id": 854, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "10944:2:4", + "referencedDeclaration": 765, + "src": "10941:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1883, + "id": 855, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "beta2", "nodeType": "MemberAccess", - "referencedDeclaration": 1611, - "src": "10944:8:4", + "referencedDeclaration": 583, + "src": "10941:8:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, { "argumentTypes": null, - "id": 1884, + "id": 856, "name": "vk_x", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1812, - "src": "10966:4:4", + "referencedDeclaration": 784, + "src": "10963:4:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } }, @@ -11750,28 +11750,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1885, + "id": 857, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "10972:2:4", + "referencedDeclaration": 765, + "src": "10969:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1886, + "id": 858, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "gamma2", "nodeType": "MemberAccess", - "referencedDeclaration": 1613, - "src": "10972:9:4", + "referencedDeclaration": 585, + "src": "10969:9:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -11779,28 +11779,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1887, + "id": 859, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "10995:5:4", + "referencedDeclaration": 755, + "src": "10992:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } }, - "id": 1888, + "id": 860, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "C", "nodeType": "MemberAccess", - "referencedDeclaration": 1625, - "src": "10995:7:4", + "referencedDeclaration": 597, + "src": "10992:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -11808,28 +11808,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1889, + "id": 861, "name": "vk", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1793, - "src": "11004:2:4", + "referencedDeclaration": 765, + "src": "11001:2:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_VerifyingKey_$1619_memory_ptr", + "typeIdentifier": "t_struct$_VerifyingKey_$591_memory_ptr", "typeString": "struct Verifier.VerifyingKey memory" } }, - "id": 1890, + "id": 862, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "delta2", "nodeType": "MemberAccess", - "referencedDeclaration": 1615, - "src": "11004:9:4", + "referencedDeclaration": 587, + "src": "11001:9:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } } @@ -11837,66 +11837,66 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } ], "expression": { "argumentTypes": null, - "id": 1871, + "id": 843, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "10854:7:4", + "referencedDeclaration": 577, + "src": "10851:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1872, + "id": 844, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "pairingProd4", "nodeType": "MemberAccess", - "referencedDeclaration": 1604, - "src": "10854:20:4", + "referencedDeclaration": 576, + "src": "10851:20:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$1034_memory_ptr_$_t_struct$_G2Point_$1043_memory_ptr_$_t_struct$_G1Point_$1034_memory_ptr_$_t_struct$_G2Point_$1043_memory_ptr_$_t_struct$_G1Point_$1034_memory_ptr_$_t_struct$_G2Point_$1043_memory_ptr_$_t_struct$_G1Point_$1034_memory_ptr_$_t_struct$_G2Point_$1043_memory_ptr_$returns$_t_bool_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_G1Point_$6_memory_ptr_$_t_struct$_G2Point_$15_memory_ptr_$_t_struct$_G1Point_$6_memory_ptr_$_t_struct$_G2Point_$15_memory_ptr_$_t_struct$_G1Point_$6_memory_ptr_$_t_struct$_G2Point_$15_memory_ptr_$_t_struct$_G1Point_$6_memory_ptr_$_t_struct$_G2Point_$15_memory_ptr_$returns$_t_bool_$", "typeString": "function (struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory) view returns (bool)" } }, - "id": 1891, + "id": 863, "isConstant": false, "isLValue": false, "isPure": false, @@ -11904,7 +11904,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "10854:169:4", + "src": "10851:169:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11916,21 +11916,21 @@ } }, "falseBody": null, - "id": 1895, + "id": 867, "nodeType": "IfStatement", - "src": "10849:184:4", + "src": "10846:184:0", "trueBody": { "expression": { "argumentTypes": null, "hexValue": "31", - "id": 1893, + "id": 865, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11032:1:4", + "src": "11029:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -11938,24 +11938,24 @@ }, "value": "1" }, - "functionReturnParameters": 1787, - "id": 1894, + "functionReturnParameters": 759, + "id": 866, "nodeType": "Return", - "src": "11025:8:4" + "src": "11022:8:0" } }, { "expression": { "argumentTypes": null, "hexValue": "30", - "id": 1896, + "id": 868, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11050:1:4", + "src": "11047:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -11963,31 +11963,31 @@ }, "value": "0" }, - "functionReturnParameters": 1787, - "id": 1897, + "functionReturnParameters": 759, + "id": 869, "nodeType": "Return", - "src": "11043:8:4" + "src": "11040:8:0" } ] }, "documentation": null, - "id": 1899, + "id": 871, "implemented": true, "kind": "function", "modifiers": [], "name": "verify", "nodeType": "FunctionDefinition", "parameters": { - "id": 1784, + "id": 756, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1781, + "id": 753, "name": "input", "nodeType": "VariableDeclaration", - "scope": 1899, - "src": "10142:19:4", + "scope": 871, + "src": "10139:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -11996,19 +11996,19 @@ }, "typeName": { "baseType": { - "id": 1779, + "id": 751, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "10142:4:4", + "src": "10139:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1780, + "id": 752, "length": null, "nodeType": "ArrayTypeName", - "src": "10142:6:4", + "src": "10139:6:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -12019,26 +12019,26 @@ }, { "constant": false, - "id": 1783, + "id": 755, "name": "proof", "nodeType": "VariableDeclaration", - "scope": 1899, - "src": "10163:18:4", + "scope": 871, + "src": "10160:18:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof" }, "typeName": { "contractScope": null, - "id": 1782, + "id": 754, "name": "Proof", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1626, - "src": "10163:5:4", + "referencedDeclaration": 598, + "src": "10160:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_storage_ptr", + "typeIdentifier": "t_struct$_Proof_$598_storage_ptr", "typeString": "struct Verifier.Proof" } }, @@ -12046,19 +12046,19 @@ "visibility": "internal" } ], - "src": "10141:41:4" + "src": "10138:41:0" }, "returnParameters": { - "id": 1787, + "id": 759, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1786, + "id": 758, "name": "", "nodeType": "VariableDeclaration", - "scope": 1899, - "src": "10206:4:4", + "scope": 871, + "src": "10203:4:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -12066,10 +12066,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1785, + "id": 757, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "10206:4:4", + "src": "10203:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12079,47 +12079,47 @@ "visibility": "internal" } ], - "src": "10205:6:4" + "src": "10202:6:0" }, - "scope": 2086, - "src": "10126:932:4", + "scope": 1058, + "src": "10123:932:0", "stateMutability": "view", "superFunction": null, "visibility": "internal" }, { "body": { - "id": 2028, + "id": 1000, "nodeType": "Block", - "src": "11250:488:4", + "src": "11247:488:0", "statements": [ { "assignments": [ - 1923 + 895 ], "declarations": [ { "constant": false, - "id": 1923, + "id": 895, "name": "proof", "nodeType": "VariableDeclaration", - "scope": 2028, - "src": "11260:18:4", + "scope": 1000, + "src": "11257:18:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof" }, "typeName": { "contractScope": null, - "id": 1922, + "id": 894, "name": "Proof", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1626, - "src": "11260:5:4", + "referencedDeclaration": 598, + "src": "11257:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_storage_ptr", + "typeIdentifier": "t_struct$_Proof_$598_storage_ptr", "typeString": "struct Verifier.Proof" } }, @@ -12127,15 +12127,15 @@ "visibility": "internal" } ], - "id": 1924, + "id": 896, "initialValue": null, "nodeType": "VariableDeclarationStatement", - "src": "11260:18:4" + "src": "11257:18:0" }, { "expression": { "argumentTypes": null, - "id": 1937, + "id": 909, "isConstant": false, "isLValue": false, "isPure": false, @@ -12144,28 +12144,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1925, + "id": 897, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "11288:5:4", + "referencedDeclaration": 895, + "src": "11285:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } }, - "id": 1927, + "id": 899, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "A", "nodeType": "MemberAccess", - "referencedDeclaration": 1621, - "src": "11288:7:4", + "referencedDeclaration": 593, + "src": "11285:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -12178,29 +12178,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1930, + "id": 902, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1903, - "src": "11314:1:4", + "referencedDeclaration": 875, + "src": "11311:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" } }, - "id": 1932, + "id": 904, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1931, + "id": 903, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11316:1:4", + "src": "11313:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12213,7 +12213,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11314:4:4", + "src": "11311:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12223,29 +12223,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1933, + "id": 905, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1903, - "src": "11320:1:4", + "referencedDeclaration": 875, + "src": "11317:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" } }, - "id": 1935, + "id": 907, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1934, + "id": 906, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11322:1:4", + "src": "11319:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -12258,7 +12258,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11320:4:4", + "src": "11317:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12278,32 +12278,32 @@ ], "expression": { "argumentTypes": null, - "id": 1928, + "id": 900, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "11298:7:4", + "referencedDeclaration": 577, + "src": "11295:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1929, + "id": 901, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "11298:15:4", + "referencedDeclaration": 6, + "src": "11295:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1936, + "id": 908, "isConstant": false, "isLValue": false, "isPure": false, @@ -12311,26 +12311,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11298:27:4", + "src": "11295:27:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "11288:37:4", + "src": "11285:37:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1938, + "id": 910, "nodeType": "ExpressionStatement", - "src": "11288:37:4" + "src": "11285:37:0" }, { "expression": { "argumentTypes": null, - "id": 1967, + "id": 939, "isConstant": false, "isLValue": false, "isPure": false, @@ -12339,28 +12339,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1939, + "id": 911, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "11335:5:4", + "referencedDeclaration": 895, + "src": "11332:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } }, - "id": 1941, + "id": 913, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "B", "nodeType": "MemberAccess", - "referencedDeclaration": 1623, - "src": "11335:7:4", + "referencedDeclaration": 595, + "src": "11332:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, @@ -12378,29 +12378,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1944, + "id": 916, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1909, - "src": "11362:1:4", + "referencedDeclaration": 881, + "src": "11359:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", "typeString": "uint256[2] memory[2] memory" } }, - "id": 1946, + "id": 918, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1945, + "id": 917, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11364:1:4", + "src": "11361:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12413,24 +12413,24 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11362:4:4", + "src": "11359:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory", "typeString": "uint256[2] memory" } }, - "id": 1948, + "id": 920, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1947, + "id": 919, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11367:1:4", + "src": "11364:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12443,7 +12443,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11362:7:4", + "src": "11359:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12455,29 +12455,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1949, + "id": 921, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1909, - "src": "11371:1:4", + "referencedDeclaration": 881, + "src": "11368:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", "typeString": "uint256[2] memory[2] memory" } }, - "id": 1951, + "id": 923, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1950, + "id": 922, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11373:1:4", + "src": "11370:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12490,24 +12490,24 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11371:4:4", + "src": "11368:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory", "typeString": "uint256[2] memory" } }, - "id": 1953, + "id": 925, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1952, + "id": 924, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11376:1:4", + "src": "11373:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -12520,21 +12520,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11371:7:4", + "src": "11368:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 1954, + "id": 926, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "11361:18:4", + "src": "11358:18:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -12549,29 +12549,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1955, + "id": 927, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1909, - "src": "11382:1:4", + "referencedDeclaration": 881, + "src": "11379:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", "typeString": "uint256[2] memory[2] memory" } }, - "id": 1957, + "id": 929, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1956, + "id": 928, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11384:1:4", + "src": "11381:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -12584,24 +12584,24 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11382:4:4", + "src": "11379:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory", "typeString": "uint256[2] memory" } }, - "id": 1959, + "id": 931, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1958, + "id": 930, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11387:1:4", + "src": "11384:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12614,7 +12614,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11382:7:4", + "src": "11379:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12626,29 +12626,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1960, + "id": 932, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1909, - "src": "11391:1:4", + "referencedDeclaration": 881, + "src": "11388:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", "typeString": "uint256[2] memory[2] memory" } }, - "id": 1962, + "id": 934, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1961, + "id": 933, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11393:1:4", + "src": "11390:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -12661,24 +12661,24 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11391:4:4", + "src": "11388:4:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory", "typeString": "uint256[2] memory" } }, - "id": 1964, + "id": 936, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1963, + "id": 935, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11396:1:4", + "src": "11393:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -12691,21 +12691,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11391:7:4", + "src": "11388:7:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 1965, + "id": 937, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "11381:18:4", + "src": "11378:18:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -12725,32 +12725,32 @@ ], "expression": { "argumentTypes": null, - "id": 1942, + "id": 914, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "11345:7:4", + "referencedDeclaration": 577, + "src": "11342:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1943, + "id": 915, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G2Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1043, - "src": "11345:15:4", + "referencedDeclaration": 15, + "src": "11342:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G2Point_$1043_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G2Point_$15_storage_ptr_$", "typeString": "type(struct Pairing.G2Point storage pointer)" } }, - "id": 1966, + "id": 938, "isConstant": false, "isLValue": false, "isPure": false, @@ -12758,26 +12758,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11345:55:4", + "src": "11342:55:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "src": "11335:65:4", + "src": "11332:65:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } }, - "id": 1968, + "id": 940, "nodeType": "ExpressionStatement", - "src": "11335:65:4" + "src": "11332:65:0" }, { "expression": { "argumentTypes": null, - "id": 1981, + "id": 953, "isConstant": false, "isLValue": false, "isPure": false, @@ -12786,28 +12786,28 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1969, + "id": 941, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "11410:5:4", + "referencedDeclaration": 895, + "src": "11407:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } }, - "id": 1971, + "id": 943, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "C", "nodeType": "MemberAccess", - "referencedDeclaration": 1625, - "src": "11410:7:4", + "referencedDeclaration": 597, + "src": "11407:7:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, @@ -12820,29 +12820,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1974, + "id": 946, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1913, - "src": "11436:1:4", + "referencedDeclaration": 885, + "src": "11433:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" } }, - "id": 1976, + "id": 948, "indexExpression": { "argumentTypes": null, "hexValue": "30", - "id": 1975, + "id": 947, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11438:1:4", + "src": "11435:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -12855,7 +12855,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11436:4:4", + "src": "11433:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12865,29 +12865,29 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 1977, + "id": 949, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1913, - "src": "11442:1:4", + "referencedDeclaration": 885, + "src": "11439:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" } }, - "id": 1979, + "id": 951, "indexExpression": { "argumentTypes": null, "hexValue": "31", - "id": 1978, + "id": 950, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11444:1:4", + "src": "11441:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", @@ -12900,7 +12900,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11442:4:4", + "src": "11439:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -12920,32 +12920,32 @@ ], "expression": { "argumentTypes": null, - "id": 1972, + "id": 944, "name": "Pairing", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1605, - "src": "11420:7:4", + "referencedDeclaration": 577, + "src": "11417:7:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Pairing_$1605_$", + "typeIdentifier": "t_type$_t_contract$_Pairing_$577_$", "typeString": "type(library Pairing)" } }, - "id": 1973, + "id": 945, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "G1Point", "nodeType": "MemberAccess", - "referencedDeclaration": 1034, - "src": "11420:15:4", + "referencedDeclaration": 6, + "src": "11417:15:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_G1Point_$1034_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_G1Point_$6_storage_ptr_$", "typeString": "type(struct Pairing.G1Point storage pointer)" } }, - "id": 1980, + "id": 952, "isConstant": false, "isLValue": false, "isPure": false, @@ -12953,34 +12953,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11420:27:4", + "src": "11417:27:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "src": "11410:37:4", + "src": "11407:37:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } }, - "id": 1982, + "id": 954, "nodeType": "ExpressionStatement", - "src": "11410:37:4" + "src": "11407:37:0" }, { "assignments": [ - 1986 + 958 ], "declarations": [ { "constant": false, - "id": 1986, + "id": 958, "name": "inputValues", "nodeType": "VariableDeclaration", - "scope": 2028, - "src": "11457:25:4", + "scope": 1000, + "src": "11454:25:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -12989,19 +12989,19 @@ }, "typeName": { "baseType": { - "id": 1984, + "id": 956, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11457:4:4", + "src": "11454:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1985, + "id": 957, "length": null, "nodeType": "ArrayTypeName", - "src": "11457:6:4", + "src": "11454:6:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -13011,7 +13011,7 @@ "visibility": "internal" } ], - "id": 1993, + "id": 965, "initialValue": { "argumentTypes": null, "arguments": [ @@ -13019,18 +13019,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1990, + "id": 962, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1917, - "src": "11496:5:4", + "referencedDeclaration": 889, + "src": "11493:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 1991, + "id": 963, "isConstant": false, "isLValue": false, "isPure": false, @@ -13038,7 +13038,7 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11496:12:4", + "src": "11493:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13052,39 +13052,39 @@ "typeString": "uint256" } ], - "id": 1989, + "id": 961, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "11485:10:4", + "src": "11482:10:0", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", "typeString": "function (uint256) pure returns (uint256[] memory)" }, "typeName": { "baseType": { - "id": 1987, + "id": 959, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11489:4:4", + "src": "11486:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1988, + "id": 960, "length": null, "nodeType": "ArrayTypeName", - "src": "11489:6:4", + "src": "11486:6:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } } }, - "id": 1992, + "id": 964, "isConstant": false, "isLValue": false, "isPure": false, @@ -13092,25 +13092,25 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11485:24:4", + "src": "11482:24:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory", "typeString": "uint256[] memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "11457:52:4" + "src": "11454:52:0" }, { "body": { - "id": 2013, + "id": 985, "nodeType": "Block", - "src": "11557:50:4", + "src": "11554:50:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 2011, + "id": 983, "isConstant": false, "isLValue": false, "isPure": false, @@ -13119,26 +13119,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2005, + "id": 977, "name": "inputValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1986, - "src": "11571:11:4", + "referencedDeclaration": 958, + "src": "11568:11:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 2007, + "id": 979, "indexExpression": { "argumentTypes": null, - "id": 2006, + "id": 978, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1995, - "src": "11583:1:4", + "referencedDeclaration": 967, + "src": "11580:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13149,7 +13149,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "11571:14:4", + "src": "11568:14:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13161,26 +13161,26 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2008, + "id": 980, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1917, - "src": "11588:5:4", + "referencedDeclaration": 889, + "src": "11585:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 2010, + "id": 982, "indexExpression": { "argumentTypes": null, - "id": 2009, + "id": 981, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1995, - "src": "11594:1:4", + "referencedDeclaration": 967, + "src": "11591:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13191,21 +13191,21 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11588:8:4", + "src": "11585:8:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11571:25:4", + "src": "11568:25:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2012, + "id": 984, "nodeType": "ExpressionStatement", - "src": "11571:25:4" + "src": "11568:25:0" } ] }, @@ -13215,19 +13215,19 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2001, + "id": 973, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "id": 1998, + "id": 970, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1995, - "src": "11535:1:4", + "referencedDeclaration": 967, + "src": "11532:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13239,18 +13239,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 1999, + "id": 971, "name": "input", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1917, - "src": "11539:5:4", + "referencedDeclaration": 889, + "src": "11536:5:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_memory_ptr", "typeString": "uint256[6] memory" } }, - "id": 2000, + "id": 972, "isConstant": false, "isLValue": false, "isPure": false, @@ -13258,31 +13258,31 @@ "memberName": "length", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11539:12:4", + "src": "11536:12:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11535:16:4", + "src": "11532:16:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2014, + "id": 986, "initializationExpression": { "assignments": [ - 1995 + 967 ], "declarations": [ { "constant": false, - "id": 1995, + "id": 967, "name": "i", "nodeType": "VariableDeclaration", - "scope": 2014, - "src": "11523:6:4", + "scope": 986, + "src": "11520:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13290,10 +13290,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1994, + "id": 966, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11523:4:4", + "src": "11520:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13303,18 +13303,18 @@ "visibility": "internal" } ], - "id": 1997, + "id": 969, "initialValue": { "argumentTypes": null, "hexValue": "30", - "id": 1996, + "id": 968, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11532:1:4", + "src": "11529:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13323,12 +13323,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "11523:10:4" + "src": "11520:10:0" }, "loopExpression": { "expression": { "argumentTypes": null, - "id": 2003, + "id": 975, "isConstant": false, "isLValue": false, "isPure": false, @@ -13336,15 +13336,15 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "11553:3:4", + "src": "11550:3:0", "subExpression": { "argumentTypes": null, - "id": 2002, + "id": 974, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1995, - "src": "11553:1:4", + "referencedDeclaration": 967, + "src": "11550:1:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13355,12 +13355,12 @@ "typeString": "uint256" } }, - "id": 2004, + "id": 976, "nodeType": "ExpressionStatement", - "src": "11553:3:4" + "src": "11550:3:0" }, "nodeType": "ForStatement", - "src": "11519:88:4" + "src": "11516:88:0" }, { "condition": { @@ -13369,7 +13369,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2020, + "id": 992, "isConstant": false, "isLValue": false, "isPure": false, @@ -13379,12 +13379,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2016, + "id": 988, "name": "inputValues", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1986, - "src": "11627:11:4", + "referencedDeclaration": 958, + "src": "11624:11:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -13392,14 +13392,14 @@ }, { "argumentTypes": null, - "id": 2017, + "id": 989, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1923, - "src": "11640:5:4", + "referencedDeclaration": 895, + "src": "11637:5:0", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } } @@ -13411,22 +13411,22 @@ "typeString": "uint256[] memory" }, { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } ], - "id": 2015, + "id": 987, "name": "verify", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1899, - "src": "11620:6:4", + "referencedDeclaration": 871, + "src": "11617:6:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_array$_t_uint256_$dyn_memory_ptr_$_t_struct$_Proof_$1626_memory_ptr_$returns$_t_uint256_$", + "typeIdentifier": "t_function_internal_view$_t_array$_t_uint256_$dyn_memory_ptr_$_t_struct$_Proof_$598_memory_ptr_$returns$_t_uint256_$", "typeString": "function (uint256[] memory,struct Verifier.Proof memory) view returns (uint256)" } }, - "id": 2018, + "id": 990, "isConstant": false, "isLValue": false, "isPure": false, @@ -13434,7 +13434,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11620:26:4", + "src": "11617:26:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -13445,14 +13445,14 @@ "rightExpression": { "argumentTypes": null, "hexValue": "30", - "id": 2019, + "id": 991, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11650:1:4", + "src": "11647:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -13460,29 +13460,29 @@ }, "value": "0" }, - "src": "11620:31:4", + "src": "11617:31:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 2026, + "id": 998, "nodeType": "Block", - "src": "11695:37:4", + "src": "11692:37:0", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "66616c7365", - "id": 2024, + "id": 996, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "11716:5:4", + "src": "11713:5:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13490,33 +13490,33 @@ }, "value": "false" }, - "functionReturnParameters": 1921, - "id": 2025, + "functionReturnParameters": 893, + "id": 997, "nodeType": "Return", - "src": "11709:12:4" + "src": "11706:12:0" } ] }, - "id": 2027, + "id": 999, "nodeType": "IfStatement", - "src": "11616:116:4", + "src": "11613:116:0", "trueBody": { - "id": 2023, + "id": 995, "nodeType": "Block", - "src": "11653:36:4", + "src": "11650:36:0", "statements": [ { "expression": { "argumentTypes": null, "hexValue": "74727565", - "id": 2021, + "id": 993, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "11674:4:4", + "src": "11671:4:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -13524,10 +13524,10 @@ }, "value": "true" }, - "functionReturnParameters": 1921, - "id": 2022, + "functionReturnParameters": 893, + "id": 994, "nodeType": "Return", - "src": "11667:11:4" + "src": "11664:11:0" } ] } @@ -13535,23 +13535,23 @@ ] }, "documentation": null, - "id": 2029, + "id": 1001, "implemented": true, "kind": "function", "modifiers": [], "name": "verifyProof", "nodeType": "FunctionDefinition", "parameters": { - "id": 1918, + "id": 890, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1903, + "id": 875, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "11097:16:4", + "scope": 1001, + "src": "11094:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13560,27 +13560,27 @@ }, "typeName": { "baseType": { - "id": 1900, + "id": 872, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11097:4:4", + "src": "11094:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1902, + "id": 874, "length": { "argumentTypes": null, "hexValue": "32", - "id": 1901, + "id": 873, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11102:1:4", + "src": "11099:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -13589,7 +13589,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "11097:7:4", + "src": "11094:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -13600,11 +13600,11 @@ }, { "constant": false, - "id": 1909, + "id": 881, "name": "b", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "11127:19:4", + "scope": 1001, + "src": "11124:19:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13614,27 +13614,27 @@ "typeName": { "baseType": { "baseType": { - "id": 1904, + "id": 876, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11127:4:4", + "src": "11124:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1906, + "id": 878, "length": { "argumentTypes": null, "hexValue": "32", - "id": 1905, + "id": 877, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11132:1:4", + "src": "11129:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -13643,24 +13643,24 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "11127:7:4", + "src": "11124:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" } }, - "id": 1908, + "id": 880, "length": { "argumentTypes": null, "hexValue": "32", - "id": 1907, + "id": 879, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11135:1:4", + "src": "11132:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -13669,7 +13669,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "11127:10:4", + "src": "11124:10:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$2_storage_$2_storage_ptr", "typeString": "uint256[2][2]" @@ -13680,11 +13680,11 @@ }, { "constant": false, - "id": 1913, + "id": 885, "name": "c", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "11160:16:4", + "scope": 1001, + "src": "11157:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13693,27 +13693,27 @@ }, "typeName": { "baseType": { - "id": 1910, + "id": 882, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11160:4:4", + "src": "11157:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1912, + "id": 884, "length": { "argumentTypes": null, "hexValue": "32", - "id": 1911, + "id": 883, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11165:1:4", + "src": "11162:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -13722,7 +13722,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "11160:7:4", + "src": "11157:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -13733,11 +13733,11 @@ }, { "constant": false, - "id": 1917, + "id": 889, "name": "input", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "11190:20:4", + "scope": 1001, + "src": "11187:20:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13746,27 +13746,27 @@ }, "typeName": { "baseType": { - "id": 1914, + "id": 886, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11190:4:4", + "src": "11187:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1916, + "id": 888, "length": { "argumentTypes": null, "hexValue": "36", - "id": 1915, + "id": 887, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11195:1:4", + "src": "11192:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -13775,7 +13775,7 @@ "value": "6" }, "nodeType": "ArrayTypeName", - "src": "11190:7:4", + "src": "11187:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", "typeString": "uint256[6]" @@ -13785,19 +13785,19 @@ "visibility": "internal" } ], - "src": "11083:137:4" + "src": "11080:137:0" }, "returnParameters": { - "id": 1921, + "id": 893, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1920, + "id": 892, "name": "r", "nodeType": "VariableDeclaration", - "scope": 2029, - "src": "11242:6:4", + "scope": 1001, + "src": "11239:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -13805,10 +13805,10 @@ "typeString": "bool" }, "typeName": { - "id": 1919, + "id": 891, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "11242:4:4", + "src": "11239:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -13818,35 +13818,35 @@ "visibility": "internal" } ], - "src": "11241:8:4" + "src": "11238:8:0" }, - "scope": 2086, - "src": "11063:675:4", + "scope": 1058, + "src": "11060:675:0", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { - "id": 2084, + "id": 1056, "nodeType": "Block", - "src": "11842:262:4", + "src": "11839:262:0", "statements": [ { "assignments": [ - 2044, - 2048, - 2052, - 2056 + 1016, + 1020, + 1024, + 1028 ], "declarations": [ { "constant": false, - "id": 2044, + "id": 1016, "name": "a", "nodeType": "VariableDeclaration", - "scope": 2084, - "src": "11914:16:4", + "scope": 1056, + "src": "11911:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13855,27 +13855,27 @@ }, "typeName": { "baseType": { - "id": 2042, + "id": 1014, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11914:4:4", + "src": "11911:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2043, + "id": 1015, "length": { "argumentTypes": null, "hexValue": "32", - "id": 2041, + "id": 1013, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11919:1:4", + "src": "11916:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -13884,7 +13884,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "11914:7:4", + "src": "11911:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -13895,11 +13895,11 @@ }, { "constant": false, - "id": 2048, + "id": 1020, "name": "b1", "nodeType": "VariableDeclaration", - "scope": 2084, - "src": "11932:17:4", + "scope": 1056, + "src": "11929:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13908,27 +13908,27 @@ }, "typeName": { "baseType": { - "id": 2045, + "id": 1017, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11932:4:4", + "src": "11929:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2047, + "id": 1019, "length": { "argumentTypes": null, "hexValue": "32", - "id": 2046, + "id": 1018, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11937:1:4", + "src": "11934:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -13937,7 +13937,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "11932:7:4", + "src": "11929:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -13948,11 +13948,11 @@ }, { "constant": false, - "id": 2052, + "id": 1024, "name": "b2", "nodeType": "VariableDeclaration", - "scope": 2084, - "src": "11951:17:4", + "scope": 1056, + "src": "11948:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -13961,27 +13961,27 @@ }, "typeName": { "baseType": { - "id": 2049, + "id": 1021, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11951:4:4", + "src": "11948:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2051, + "id": 1023, "length": { "argumentTypes": null, "hexValue": "32", - "id": 2050, + "id": 1022, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11956:1:4", + "src": "11953:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -13990,7 +13990,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "11951:7:4", + "src": "11948:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -14001,11 +14001,11 @@ }, { "constant": false, - "id": 2056, + "id": 1028, "name": "c", "nodeType": "VariableDeclaration", - "scope": 2084, - "src": "11970:16:4", + "scope": 1056, + "src": "11967:16:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -14014,27 +14014,27 @@ }, "typeName": { "baseType": { - "id": 2053, + "id": 1025, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11970:4:4", + "src": "11967:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2055, + "id": 1027, "length": { "argumentTypes": null, "hexValue": "32", - "id": 2054, + "id": 1026, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11975:1:4", + "src": "11972:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -14043,7 +14043,7 @@ "value": "2" }, "nodeType": "ArrayTypeName", - "src": "11970:7:4", + "src": "11967:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_storage_ptr", "typeString": "uint256[2]" @@ -14053,18 +14053,18 @@ "visibility": "internal" } ], - "id": 2074, + "id": 1046, "initialValue": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 2059, + "id": 1031, "name": "proof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2031, - "src": "12001:5:4", + "referencedDeclaration": 1003, + "src": "11998:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" @@ -14077,31 +14077,31 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2060, + "id": 1032, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12009:4:4", + "src": "12006:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 2062, + "id": 1034, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 2061, + "id": 1033, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12014:1:4", + "src": "12011:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -14114,7 +14114,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12009:7:4", + "src": "12006:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_array$_t_uint256_$2_memory_ptr_$", "typeString": "type(uint256[2] memory)" @@ -14124,31 +14124,31 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2063, + "id": 1035, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12018:4:4", + "src": "12015:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 2065, + "id": 1037, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 2064, + "id": 1036, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12023:1:4", + "src": "12020:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -14161,7 +14161,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12018:7:4", + "src": "12015:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_array$_t_uint256_$2_memory_ptr_$", "typeString": "type(uint256[2] memory)" @@ -14171,31 +14171,31 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2066, + "id": 1038, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12027:4:4", + "src": "12024:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 2068, + "id": 1040, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 2067, + "id": 1039, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12032:1:4", + "src": "12029:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -14208,7 +14208,7 @@ "isPure": true, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12027:7:4", + "src": "12024:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_array$_t_uint256_$2_memory_ptr_$", "typeString": "type(uint256[2] memory)" @@ -14218,31 +14218,31 @@ "argumentTypes": null, "baseExpression": { "argumentTypes": null, - "id": 2069, + "id": 1041, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "12036:4:4", + "src": "12033:4:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": "uint" }, - "id": 2071, + "id": 1043, "indexExpression": { "argumentTypes": null, "hexValue": "32", - "id": 2070, + "id": 1042, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12041:1:4", + "src": "12038:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_2_by_1", @@ -14255,21 +14255,21 @@ "isPure": true, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "12036:7:4", + "src": "12033:7:0", "typeDescriptions": { "typeIdentifier": "t_type$_t_array$_t_uint256_$2_memory_ptr_$", "typeString": "type(uint256[2] memory)" } } ], - "id": 2072, + "id": 1044, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "12008:36:4", + "src": "12005:36:0", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_type$_t_array$_t_uint256_$2_memory_ptr_$_$_t_type$_t_array$_t_uint256_$2_memory_ptr_$_$_t_type$_t_array$_t_uint256_$2_memory_ptr_$_$_t_type$_t_array$_t_uint256_$2_memory_ptr_$_$", "typeString": "tuple(type(uint256[2] memory),type(uint256[2] memory),type(uint256[2] memory),type(uint256[2] memory))" @@ -14289,18 +14289,18 @@ ], "expression": { "argumentTypes": null, - "id": 2057, + "id": 1029, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2118, - "src": "11990:3:4", + "referencedDeclaration": 1060, + "src": "11987:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 2058, + "id": 1030, "isConstant": false, "isLValue": false, "isPure": true, @@ -14308,13 +14308,13 @@ "memberName": "decode", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "11990:10:4", + "src": "11987:10:0", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 2073, + "id": 1045, "isConstant": false, "isLValue": false, "isPure": false, @@ -14322,14 +14322,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "11990:55:4", + "src": "11987:55:0", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_array$_t_uint256_$2_memory_$_t_array$_t_uint256_$2_memory_$_t_array$_t_uint256_$2_memory_$_t_array$_t_uint256_$2_memory_$", "typeString": "tuple(uint256[2] memory,uint256[2] memory,uint256[2] memory,uint256[2] memory)" } }, "nodeType": "VariableDeclarationStatement", - "src": "11913:132:4" + "src": "11910:132:0" }, { "expression": { @@ -14337,12 +14337,12 @@ "arguments": [ { "argumentTypes": null, - "id": 2076, + "id": 1048, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "12074:1:4", + "referencedDeclaration": 1016, + "src": "12071:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -14353,12 +14353,12 @@ "components": [ { "argumentTypes": null, - "id": 2077, + "id": 1049, "name": "b1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2048, - "src": "12078:2:4", + "referencedDeclaration": 1020, + "src": "12075:2:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -14366,26 +14366,26 @@ }, { "argumentTypes": null, - "id": 2078, + "id": 1050, "name": "b2", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2052, - "src": "12082:2:4", + "referencedDeclaration": 1024, + "src": "12079:2:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" } } ], - "id": 2079, + "id": 1051, "isConstant": false, "isInlineArray": true, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "12077:8:4", + "src": "12074:8:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr", "typeString": "uint256[2] memory[2] memory" @@ -14393,12 +14393,12 @@ }, { "argumentTypes": null, - "id": 2080, + "id": 1052, "name": "c", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2056, - "src": "12087:1:4", + "referencedDeclaration": 1028, + "src": "12084:1:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$2_memory_ptr", "typeString": "uint256[2] memory" @@ -14406,12 +14406,12 @@ }, { "argumentTypes": null, - "id": 2081, + "id": 1053, "name": "inputs", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2035, - "src": "12090:6:4", + "referencedDeclaration": 1007, + "src": "12087:6:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_calldata_ptr", "typeString": "uint256[6] calldata" @@ -14437,18 +14437,18 @@ "typeString": "uint256[6] calldata" } ], - "id": 2075, + "id": 1047, "name": "verifyProof", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2029, - "src": "12062:11:4", + "referencedDeclaration": 1001, + "src": "12059:11:0", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_array$_t_uint256_$2_memory_ptr_$_t_array$_t_array$_t_uint256_$2_memory_$2_memory_ptr_$_t_array$_t_uint256_$2_memory_ptr_$_t_array$_t_uint256_$6_memory_ptr_$returns$_t_bool_$", "typeString": "function (uint256[2] memory,uint256[2] memory[2] memory,uint256[2] memory,uint256[6] memory) view returns (bool)" } }, - "id": 2082, + "id": 1054, "isConstant": false, "isLValue": false, "isPure": false, @@ -14456,37 +14456,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "12062:35:4", + "src": "12059:35:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2039, - "id": 2083, + "functionReturnParameters": 1011, + "id": 1055, "nodeType": "Return", - "src": "12055:42:4" + "src": "12052:42:0" } ] }, "documentation": null, - "id": 2085, + "id": 1057, "implemented": true, "kind": "function", "modifiers": [], "name": "verifyProof", "nodeType": "FunctionDefinition", "parameters": { - "id": 2036, + "id": 1008, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2031, + "id": 1003, "name": "proof", "nodeType": "VariableDeclaration", - "scope": 2085, - "src": "11764:20:4", + "scope": 1057, + "src": "11761:20:0", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -14494,10 +14494,10 @@ "typeString": "bytes" }, "typeName": { - "id": 2030, + "id": 1002, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "11764:5:4", + "src": "11761:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -14508,11 +14508,11 @@ }, { "constant": false, - "id": 2035, + "id": 1007, "name": "inputs", "nodeType": "VariableDeclaration", - "scope": 2085, - "src": "11786:23:4", + "scope": 1057, + "src": "11783:23:0", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -14521,27 +14521,27 @@ }, "typeName": { "baseType": { - "id": 2032, + "id": 1004, "name": "uint", "nodeType": "ElementaryTypeName", - "src": "11786:4:4", + "src": "11783:4:0", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2034, + "id": 1006, "length": { "argumentTypes": null, "hexValue": "36", - "id": 2033, + "id": 1005, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "11791:1:4", + "src": "11788:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_6_by_1", @@ -14550,7 +14550,7 @@ "value": "6" }, "nodeType": "ArrayTypeName", - "src": "11786:7:4", + "src": "11783:7:0", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$6_storage_ptr", "typeString": "uint256[6]" @@ -14560,19 +14560,19 @@ "visibility": "internal" } ], - "src": "11763:47:4" + "src": "11760:47:0" }, "returnParameters": { - "id": 2039, + "id": 1011, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2038, + "id": 1010, "name": "r", "nodeType": "VariableDeclaration", - "scope": 2085, - "src": "11834:6:4", + "scope": 1057, + "src": "11831:6:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14580,10 +14580,10 @@ "typeString": "bool" }, "typeName": { - "id": 2037, + "id": 1009, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "11834:4:4", + "src": "11831:4:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -14593,30 +14593,30 @@ "visibility": "internal" } ], - "src": "11833:8:4" + "src": "11830:8:0" }, - "scope": 2086, - "src": "11743:361:4", + "scope": 1058, + "src": "11740:361:0", "stateMutability": "view", "superFunction": null, "visibility": "external" } ], - "scope": 2087, - "src": "7067:5039:4" + "scope": 1059, + "src": "7067:5036:0" } ], - "src": "1193:10914:4" + "src": "1193:10911:0" }, "legacyAST": { "attributes": { - "absolutePath": "/Users/brianli/dotfiles/tornado-core/contracts/Verifier.sol", + "absolutePath": "/home/home/dotfiles/tornado-core/contracts/Verifier.sol", "exportedSymbols": { "Pairing": [ - 1605 + 577 ], "Verifier": [ - 2086 + 1058 ] } }, @@ -14630,9 +14630,9 @@ ".0" ] }, - "id": 1029, + "id": 1, "name": "PragmaDirective", - "src": "1193:23:4" + "src": "1193:23:0" }, { "attributes": { @@ -14646,17 +14646,17 @@ "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ - 1605 + 577 ], "name": "Pairing", - "scope": 2087 + "scope": 1059 }, "children": [ { "attributes": { "canonicalName": "Pairing.G1Point", "name": "G1Point", - "scope": 1605, + "scope": 577, "visibility": "public" }, "children": [ @@ -14664,7 +14664,7 @@ "attributes": { "constant": false, "name": "X", - "scope": 1034, + "scope": 6, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -14677,20 +14677,20 @@ "name": "uint", "type": "uint256" }, - "id": 1030, + "id": 2, "name": "ElementaryTypeName", - "src": "1264:4:4" + "src": "1264:4:0" } ], - "id": 1031, + "id": 3, "name": "VariableDeclaration", - "src": "1264:6:4" + "src": "1264:6:0" }, { "attributes": { "constant": false, "name": "Y", - "scope": 1034, + "scope": 6, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -14703,25 +14703,25 @@ "name": "uint", "type": "uint256" }, - "id": 1032, + "id": 4, "name": "ElementaryTypeName", - "src": "1280:4:4" + "src": "1280:4:0" } ], - "id": 1033, + "id": 5, "name": "VariableDeclaration", - "src": "1280:6:4" + "src": "1280:6:0" } ], - "id": 1034, + "id": 6, "name": "StructDefinition", - "src": "1239:54:4" + "src": "1239:54:0" }, { "attributes": { "canonicalName": "Pairing.G2Point", "name": "G2Point", - "scope": 1605, + "scope": 577, "visibility": "public" }, "children": [ @@ -14729,7 +14729,7 @@ "attributes": { "constant": false, "name": "X", - "scope": 1043, + "scope": 15, "stateVariable": false, "storageLocation": "default", "type": "uint256[2]", @@ -14747,9 +14747,9 @@ "name": "uint", "type": "uint256" }, - "id": 1035, + "id": 7, "name": "ElementaryTypeName", - "src": "1377:4:4" + "src": "1377:4:0" }, { "attributes": { @@ -14764,25 +14764,25 @@ "type": "int_const 2", "value": "2" }, - "id": 1036, + "id": 8, "name": "Literal", - "src": "1382:1:4" + "src": "1382:1:0" } ], - "id": 1037, + "id": 9, "name": "ArrayTypeName", - "src": "1377:7:4" + "src": "1377:7:0" } ], - "id": 1038, + "id": 10, "name": "VariableDeclaration", - "src": "1377:9:4" + "src": "1377:9:0" }, { "attributes": { "constant": false, "name": "Y", - "scope": 1043, + "scope": 15, "stateVariable": false, "storageLocation": "default", "type": "uint256[2]", @@ -14800,9 +14800,9 @@ "name": "uint", "type": "uint256" }, - "id": 1039, + "id": 11, "name": "ElementaryTypeName", - "src": "1396:4:4" + "src": "1396:4:0" }, { "attributes": { @@ -14817,24 +14817,24 @@ "type": "int_const 2", "value": "2" }, - "id": 1040, + "id": 12, "name": "Literal", - "src": "1401:1:4" + "src": "1401:1:0" } ], - "id": 1041, + "id": 13, "name": "ArrayTypeName", - "src": "1396:7:4" + "src": "1396:7:0" } ], - "id": 1042, + "id": 14, "name": "VariableDeclaration", - "src": "1396:9:4" + "src": "1396:9:0" } ], - "id": 1043, + "id": 15, "name": "StructDefinition", - "src": "1352:60:4" + "src": "1352:60:0" }, { "attributes": { @@ -14846,7 +14846,7 @@ null ], "name": "P1", - "scope": 1605, + "scope": 577, "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -14859,9 +14859,9 @@ ] }, "children": [], - "id": 1044, + "id": 16, "name": "ParameterList", - "src": "1464:2:4" + "src": "1464:2:0" }, { "children": [ @@ -14869,7 +14869,7 @@ "attributes": { "constant": false, "name": "", - "scope": 1054, + "scope": 26, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -14881,28 +14881,28 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1045, + "id": 17, "name": "UserDefinedTypeName", - "src": "1490:7:4" + "src": "1490:7:0" } ], - "id": 1046, + "id": 18, "name": "VariableDeclaration", - "src": "1490:14:4" + "src": "1490:14:0" } ], - "id": 1047, + "id": 19, "name": "ParameterList", - "src": "1489:16:4" + "src": "1489:16:0" }, { "children": [ { "attributes": { - "functionReturnParameters": 1047 + "functionReturnParameters": 19 }, "children": [ { @@ -14935,13 +14935,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)", "value": "G1Point" }, - "id": 1048, + "id": 20, "name": "Identifier", - "src": "1523:7:4" + "src": "1523:7:0" }, { "attributes": { @@ -14956,9 +14956,9 @@ "type": "int_const 1", "value": "1" }, - "id": 1049, + "id": 21, "name": "Literal", - "src": "1531:1:4" + "src": "1531:1:0" }, { "attributes": { @@ -14973,29 +14973,29 @@ "type": "int_const 2", "value": "2" }, - "id": 1050, + "id": 22, "name": "Literal", - "src": "1534:1:4" + "src": "1534:1:0" } ], - "id": 1051, + "id": 23, "name": "FunctionCall", - "src": "1523:13:4" + "src": "1523:13:0" } ], - "id": 1052, + "id": 24, "name": "Return", - "src": "1516:20:4" + "src": "1516:20:0" } ], - "id": 1053, + "id": 25, "name": "Block", - "src": "1506:37:4" + "src": "1506:37:0" } ], - "id": 1054, + "id": 26, "name": "FunctionDefinition", - "src": "1453:90:4" + "src": "1453:90:0" }, { "attributes": { @@ -15007,7 +15007,7 @@ null ], "name": "P2", - "scope": 1605, + "scope": 577, "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -15020,9 +15020,9 @@ ] }, "children": [], - "id": 1055, + "id": 27, "name": "ParameterList", - "src": "1595:2:4" + "src": "1595:2:0" }, { "children": [ @@ -15030,7 +15030,7 @@ "attributes": { "constant": false, "name": "", - "scope": 1069, + "scope": 41, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -15042,28 +15042,28 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1056, + "id": 28, "name": "UserDefinedTypeName", - "src": "1621:7:4" + "src": "1621:7:0" } ], - "id": 1057, + "id": 29, "name": "VariableDeclaration", - "src": "1621:14:4" + "src": "1621:14:0" } ], - "id": 1058, + "id": 30, "name": "ParameterList", - "src": "1620:16:4" + "src": "1620:16:0" }, { "children": [ { "attributes": { - "functionReturnParameters": 1058 + "functionReturnParameters": 30 }, "children": [ { @@ -15096,13 +15096,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "type(struct Pairing.G2Point storage pointer)", "value": "G2Point" }, - "id": 1059, + "id": 31, "name": "Identifier", - "src": "1685:7:4" + "src": "1685:7:0" }, { "attributes": { @@ -15128,9 +15128,9 @@ "type": "int_const 1155...(69 digits omitted)...5634", "value": "11559732032986387107991004021392285783925812861821192530917403151452391805634" }, - "id": 1060, + "id": 32, "name": "Literal", - "src": "1707:77:4" + "src": "1707:77:0" }, { "attributes": { @@ -15145,14 +15145,14 @@ "type": "int_const 1085...(69 digits omitted)...2781", "value": "10857046999023057135944570762232829481370756359578518086990519993285655852781" }, - "id": 1061, + "id": 33, "name": "Literal", - "src": "1799:77:4" + "src": "1799:77:0" } ], - "id": 1062, + "id": 34, "name": "TupleExpression", - "src": "1706:171:4" + "src": "1706:171:0" }, { "attributes": { @@ -15178,9 +15178,9 @@ "type": "int_const 4082...(68 digits omitted)...3531", "value": "4082367875863433681332203403145435568316851327593401208105741076214120093531" }, - "id": 1063, + "id": 35, "name": "Literal", - "src": "1892:76:4" + "src": "1892:76:0" }, { "attributes": { @@ -15195,34 +15195,34 @@ "type": "int_const 8495...(68 digits omitted)...1930", "value": "8495653923123431417604973247489272438418190587263600148770280649306958101930" }, - "id": 1064, + "id": 36, "name": "Literal", - "src": "1983:76:4" + "src": "1983:76:0" } ], - "id": 1065, + "id": 37, "name": "TupleExpression", - "src": "1891:169:4" + "src": "1891:169:0" } ], - "id": 1066, + "id": 38, "name": "FunctionCall", - "src": "1685:385:4" + "src": "1685:385:0" } ], - "id": 1067, + "id": 39, "name": "Return", - "src": "1678:392:4" + "src": "1678:392:0" } ], - "id": 1068, + "id": 40, "name": "Block", - "src": "1637:883:4" + "src": "1637:883:0" } ], - "id": 1069, + "id": 41, "name": "FunctionDefinition", - "src": "1584:936:4" + "src": "1584:936:0" }, { "attributes": { @@ -15234,7 +15234,7 @@ null ], "name": "negate", - "scope": 1605, + "scope": 577, "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -15246,7 +15246,7 @@ "attributes": { "constant": false, "name": "p", - "scope": 1108, + "scope": 80, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -15258,22 +15258,22 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1070, + "id": 42, "name": "UserDefinedTypeName", - "src": "2620:7:4" + "src": "2620:7:0" } ], - "id": 1071, + "id": 43, "name": "VariableDeclaration", - "src": "2620:16:4" + "src": "2620:16:0" } ], - "id": 1072, + "id": 44, "name": "ParameterList", - "src": "2619:18:4" + "src": "2619:18:0" }, { "children": [ @@ -15281,7 +15281,7 @@ "attributes": { "constant": false, "name": "", - "scope": 1108, + "scope": 80, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -15293,29 +15293,29 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1073, + "id": 45, "name": "UserDefinedTypeName", - "src": "2661:7:4" + "src": "2661:7:0" } ], - "id": 1074, + "id": 46, "name": "VariableDeclaration", - "src": "2661:14:4" + "src": "2661:14:0" } ], - "id": 1075, + "id": 47, "name": "ParameterList", - "src": "2660:16:4" + "src": "2660:16:0" }, { "children": [ { "attributes": { "assignments": [ - 1077 + 49 ] }, "children": [ @@ -15323,7 +15323,7 @@ "attributes": { "constant": false, "name": "q", - "scope": 1107, + "scope": 79, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -15336,14 +15336,14 @@ "name": "uint", "type": "uint256" }, - "id": 1076, + "id": 48, "name": "ElementaryTypeName", - "src": "2739:4:4" + "src": "2739:4:0" } ], - "id": 1077, + "id": 49, "name": "VariableDeclaration", - "src": "2739:6:4" + "src": "2739:6:0" }, { "attributes": { @@ -15358,14 +15358,14 @@ "type": "int_const 2188...(69 digits omitted)...8583", "value": "21888242871839275222246405745257275088696311157297823662689037894645226208583" }, - "id": 1078, + "id": 50, "name": "Literal", - "src": "2748:77:4" + "src": "2748:77:0" } ], - "id": 1079, + "id": 51, "name": "VariableDeclarationStatement", - "src": "2739:86:4" + "src": "2739:86:0" }, { "attributes": { @@ -15410,7 +15410,7 @@ "isPure": false, "lValueRequested": false, "member_name": "X", - "referencedDeclaration": 1031, + "referencedDeclaration": 3, "type": "uint256" }, "children": [ @@ -15420,18 +15420,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1071, + "referencedDeclaration": 43, "type": "struct Pairing.G1Point memory", "value": "p" }, - "id": 1080, + "id": 52, "name": "Identifier", - "src": "2839:1:4" + "src": "2839:1:0" } ], - "id": 1081, + "id": 53, "name": "MemberAccess", - "src": "2839:3:4" + "src": "2839:3:0" }, { "attributes": { @@ -15446,14 +15446,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1082, + "id": 54, "name": "Literal", - "src": "2846:1:4" + "src": "2846:1:0" } ], - "id": 1083, + "id": 55, "name": "BinaryOperation", - "src": "2839:8:4" + "src": "2839:8:0" }, { "attributes": { @@ -15478,7 +15478,7 @@ "isPure": false, "lValueRequested": false, "member_name": "Y", - "referencedDeclaration": 1033, + "referencedDeclaration": 5, "type": "uint256" }, "children": [ @@ -15488,18 +15488,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1071, + "referencedDeclaration": 43, "type": "struct Pairing.G1Point memory", "value": "p" }, - "id": 1084, + "id": 56, "name": "Identifier", - "src": "2851:1:4" + "src": "2851:1:0" } ], - "id": 1085, + "id": 57, "name": "MemberAccess", - "src": "2851:3:4" + "src": "2851:3:0" }, { "attributes": { @@ -15514,23 +15514,23 @@ "type": "int_const 0", "value": "0" }, - "id": 1086, + "id": 58, "name": "Literal", - "src": "2858:1:4" + "src": "2858:1:0" } ], - "id": 1087, + "id": 59, "name": "BinaryOperation", - "src": "2851:8:4" + "src": "2851:8:0" } ], - "id": 1088, + "id": 60, "name": "BinaryOperation", - "src": "2839:20:4" + "src": "2839:20:0" }, { "attributes": { - "functionReturnParameters": 1075 + "functionReturnParameters": 47 }, "children": [ { @@ -15563,13 +15563,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)", "value": "G1Point" }, - "id": 1089, + "id": 61, "name": "Identifier", - "src": "2880:7:4" + "src": "2880:7:0" }, { "attributes": { @@ -15584,9 +15584,9 @@ "type": "int_const 0", "value": "0" }, - "id": 1090, + "id": 62, "name": "Literal", - "src": "2888:1:4" + "src": "2888:1:0" }, { "attributes": { @@ -15601,28 +15601,28 @@ "type": "int_const 0", "value": "0" }, - "id": 1091, + "id": 63, "name": "Literal", - "src": "2891:1:4" + "src": "2891:1:0" } ], - "id": 1092, + "id": 64, "name": "FunctionCall", - "src": "2880:13:4" + "src": "2880:13:0" } ], - "id": 1093, + "id": 65, "name": "Return", - "src": "2873:20:4" + "src": "2873:20:0" } ], - "id": 1094, + "id": 66, "name": "IfStatement", - "src": "2835:58:4" + "src": "2835:58:0" }, { "attributes": { - "functionReturnParameters": 1075 + "functionReturnParameters": 47 }, "children": [ { @@ -15655,13 +15655,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)", "value": "G1Point" }, - "id": 1095, + "id": 67, "name": "Identifier", - "src": "2910:7:4" + "src": "2910:7:0" }, { "attributes": { @@ -15671,7 +15671,7 @@ "isPure": false, "lValueRequested": false, "member_name": "X", - "referencedDeclaration": 1031, + "referencedDeclaration": 3, "type": "uint256" }, "children": [ @@ -15681,18 +15681,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1071, + "referencedDeclaration": 43, "type": "struct Pairing.G1Point memory", "value": "p" }, - "id": 1096, + "id": 68, "name": "Identifier", - "src": "2918:1:4" + "src": "2918:1:0" } ], - "id": 1097, + "id": 69, "name": "MemberAccess", - "src": "2918:3:4" + "src": "2918:3:0" }, { "attributes": { @@ -15715,13 +15715,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1077, + "referencedDeclaration": 49, "type": "uint256", "value": "q" }, - "id": 1098, + "id": 70, "name": "Identifier", - "src": "2923:1:4" + "src": "2923:1:0" }, { "attributes": { @@ -15757,7 +15757,7 @@ "isPure": false, "lValueRequested": false, "member_name": "Y", - "referencedDeclaration": 1033, + "referencedDeclaration": 5, "type": "uint256" }, "children": [ @@ -15767,18 +15767,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1071, + "referencedDeclaration": 43, "type": "struct Pairing.G1Point memory", "value": "p" }, - "id": 1099, + "id": 71, "name": "Identifier", - "src": "2928:1:4" + "src": "2928:1:0" } ], - "id": 1100, + "id": 72, "name": "MemberAccess", - "src": "2928:3:4" + "src": "2928:3:0" }, { "attributes": { @@ -15786,48 +15786,48 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1077, + "referencedDeclaration": 49, "type": "uint256", "value": "q" }, - "id": 1101, + "id": 73, "name": "Identifier", - "src": "2934:1:4" + "src": "2934:1:0" } ], - "id": 1102, + "id": 74, "name": "BinaryOperation", - "src": "2928:7:4" + "src": "2928:7:0" } ], - "id": 1103, + "id": 75, "name": "TupleExpression", - "src": "2927:9:4" + "src": "2927:9:0" } ], - "id": 1104, + "id": 76, "name": "BinaryOperation", - "src": "2923:13:4" + "src": "2923:13:0" } ], - "id": 1105, + "id": 77, "name": "FunctionCall", - "src": "2910:27:4" + "src": "2910:27:0" } ], - "id": 1106, + "id": 78, "name": "Return", - "src": "2903:34:4" + "src": "2903:34:0" } ], - "id": 1107, + "id": 79, "name": "Block", - "src": "2677:267:4" + "src": "2677:267:0" } ], - "id": 1108, + "id": 80, "name": "FunctionDefinition", - "src": "2604:340:4" + "src": "2604:340:0" }, { "attributes": { @@ -15839,7 +15839,7 @@ null ], "name": "addition", - "scope": 1605, + "scope": 577, "stateMutability": "view", "superFunction": null, "visibility": "internal" @@ -15851,7 +15851,7 @@ "attributes": { "constant": false, "name": "p1", - "scope": 1161, + "scope": 133, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -15863,23 +15863,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1109, + "id": 81, "name": "UserDefinedTypeName", - "src": "3011:7:4" + "src": "3011:7:0" } ], - "id": 1110, + "id": 82, "name": "VariableDeclaration", - "src": "3011:17:4" + "src": "3011:17:0" }, { "attributes": { "constant": false, "name": "p2", - "scope": 1161, + "scope": 133, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -15891,22 +15891,22 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1111, + "id": 83, "name": "UserDefinedTypeName", - "src": "3030:7:4" + "src": "3030:7:0" } ], - "id": 1112, + "id": 84, "name": "VariableDeclaration", - "src": "3030:17:4" + "src": "3030:17:0" } ], - "id": 1113, + "id": 85, "name": "ParameterList", - "src": "3010:38:4" + "src": "3010:38:0" }, { "children": [ @@ -15914,7 +15914,7 @@ "attributes": { "constant": false, "name": "r", - "scope": 1161, + "scope": 133, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -15926,29 +15926,29 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1114, + "id": 86, "name": "UserDefinedTypeName", - "src": "3072:7:4" + "src": "3072:7:0" } ], - "id": 1115, + "id": 87, "name": "VariableDeclaration", - "src": "3072:16:4" + "src": "3072:16:0" } ], - "id": 1116, + "id": 88, "name": "ParameterList", - "src": "3071:18:4" + "src": "3071:18:0" }, { "children": [ { "attributes": { "assignments": [ - 1121 + 93 ], "initialValue": null }, @@ -15957,7 +15957,7 @@ "attributes": { "constant": false, "name": "input", - "scope": 1160, + "scope": 132, "stateVariable": false, "storageLocation": "memory", "type": "uint256[4]", @@ -15975,9 +15975,9 @@ "name": "uint", "type": "uint256" }, - "id": 1119, + "id": 91, "name": "ElementaryTypeName", - "src": "3100:4:4" + "src": "3100:4:0" }, { "attributes": { @@ -15992,24 +15992,24 @@ "type": "int_const 4", "value": "4" }, - "id": 1118, + "id": 90, "name": "Literal", - "src": "3105:1:4" + "src": "3105:1:0" } ], - "id": 1120, + "id": 92, "name": "ArrayTypeName", - "src": "3100:7:4" + "src": "3100:7:0" } ], - "id": 1121, + "id": 93, "name": "VariableDeclaration", - "src": "3100:20:4" + "src": "3100:20:0" } ], - "id": 1122, + "id": 94, "name": "VariableDeclarationStatement", - "src": "3100:20:4" + "src": "3100:20:0" }, { "children": [ @@ -16040,13 +16040,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1121, + "referencedDeclaration": 93, "type": "uint256[4] memory", "value": "input" }, - "id": 1123, + "id": 95, "name": "Identifier", - "src": "3130:5:4" + "src": "3130:5:0" }, { "attributes": { @@ -16061,14 +16061,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1124, + "id": 96, "name": "Literal", - "src": "3136:1:4" + "src": "3136:1:0" } ], - "id": 1125, + "id": 97, "name": "IndexAccess", - "src": "3130:8:4" + "src": "3130:8:0" }, { "attributes": { @@ -16078,7 +16078,7 @@ "isPure": false, "lValueRequested": false, "member_name": "X", - "referencedDeclaration": 1031, + "referencedDeclaration": 3, "type": "uint256" }, "children": [ @@ -16088,28 +16088,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1110, + "referencedDeclaration": 82, "type": "struct Pairing.G1Point memory", "value": "p1" }, - "id": 1126, + "id": 98, "name": "Identifier", - "src": "3141:2:4" + "src": "3141:2:0" } ], - "id": 1127, + "id": 99, "name": "MemberAccess", - "src": "3141:4:4" + "src": "3141:4:0" } ], - "id": 1128, + "id": 100, "name": "Assignment", - "src": "3130:15:4" + "src": "3130:15:0" } ], - "id": 1129, + "id": 101, "name": "ExpressionStatement", - "src": "3130:15:4" + "src": "3130:15:0" }, { "children": [ @@ -16140,13 +16140,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1121, + "referencedDeclaration": 93, "type": "uint256[4] memory", "value": "input" }, - "id": 1130, + "id": 102, "name": "Identifier", - "src": "3155:5:4" + "src": "3155:5:0" }, { "attributes": { @@ -16161,14 +16161,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1131, + "id": 103, "name": "Literal", - "src": "3161:1:4" + "src": "3161:1:0" } ], - "id": 1132, + "id": 104, "name": "IndexAccess", - "src": "3155:8:4" + "src": "3155:8:0" }, { "attributes": { @@ -16178,7 +16178,7 @@ "isPure": false, "lValueRequested": false, "member_name": "Y", - "referencedDeclaration": 1033, + "referencedDeclaration": 5, "type": "uint256" }, "children": [ @@ -16188,28 +16188,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1110, + "referencedDeclaration": 82, "type": "struct Pairing.G1Point memory", "value": "p1" }, - "id": 1133, + "id": 105, "name": "Identifier", - "src": "3166:2:4" + "src": "3166:2:0" } ], - "id": 1134, + "id": 106, "name": "MemberAccess", - "src": "3166:4:4" + "src": "3166:4:0" } ], - "id": 1135, + "id": 107, "name": "Assignment", - "src": "3155:15:4" + "src": "3155:15:0" } ], - "id": 1136, + "id": 108, "name": "ExpressionStatement", - "src": "3155:15:4" + "src": "3155:15:0" }, { "children": [ @@ -16240,13 +16240,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1121, + "referencedDeclaration": 93, "type": "uint256[4] memory", "value": "input" }, - "id": 1137, + "id": 109, "name": "Identifier", - "src": "3180:5:4" + "src": "3180:5:0" }, { "attributes": { @@ -16261,14 +16261,14 @@ "type": "int_const 2", "value": "2" }, - "id": 1138, + "id": 110, "name": "Literal", - "src": "3186:1:4" + "src": "3186:1:0" } ], - "id": 1139, + "id": 111, "name": "IndexAccess", - "src": "3180:8:4" + "src": "3180:8:0" }, { "attributes": { @@ -16278,7 +16278,7 @@ "isPure": false, "lValueRequested": false, "member_name": "X", - "referencedDeclaration": 1031, + "referencedDeclaration": 3, "type": "uint256" }, "children": [ @@ -16288,28 +16288,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1112, + "referencedDeclaration": 84, "type": "struct Pairing.G1Point memory", "value": "p2" }, - "id": 1140, + "id": 112, "name": "Identifier", - "src": "3191:2:4" + "src": "3191:2:0" } ], - "id": 1141, + "id": 113, "name": "MemberAccess", - "src": "3191:4:4" + "src": "3191:4:0" } ], - "id": 1142, + "id": 114, "name": "Assignment", - "src": "3180:15:4" + "src": "3180:15:0" } ], - "id": 1143, + "id": 115, "name": "ExpressionStatement", - "src": "3180:15:4" + "src": "3180:15:0" }, { "children": [ @@ -16340,13 +16340,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1121, + "referencedDeclaration": 93, "type": "uint256[4] memory", "value": "input" }, - "id": 1144, + "id": 116, "name": "Identifier", - "src": "3205:5:4" + "src": "3205:5:0" }, { "attributes": { @@ -16361,14 +16361,14 @@ "type": "int_const 3", "value": "3" }, - "id": 1145, + "id": 117, "name": "Literal", - "src": "3211:1:4" + "src": "3211:1:0" } ], - "id": 1146, + "id": 118, "name": "IndexAccess", - "src": "3205:8:4" + "src": "3205:8:0" }, { "attributes": { @@ -16378,7 +16378,7 @@ "isPure": false, "lValueRequested": false, "member_name": "Y", - "referencedDeclaration": 1033, + "referencedDeclaration": 5, "type": "uint256" }, "children": [ @@ -16388,33 +16388,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1112, + "referencedDeclaration": 84, "type": "struct Pairing.G1Point memory", "value": "p2" }, - "id": 1147, + "id": 119, "name": "Identifier", - "src": "3216:2:4" + "src": "3216:2:0" } ], - "id": 1148, + "id": 120, "name": "MemberAccess", - "src": "3216:4:4" + "src": "3216:4:0" } ], - "id": 1149, + "id": 121, "name": "Assignment", - "src": "3205:15:4" + "src": "3205:15:0" } ], - "id": 1150, + "id": 122, "name": "ExpressionStatement", - "src": "3205:15:4" + "src": "3205:15:0" }, { "attributes": { "assignments": [ - 1152 + 124 ], "initialValue": null }, @@ -16423,7 +16423,7 @@ "attributes": { "constant": false, "name": "success", - "scope": 1160, + "scope": 132, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -16436,56 +16436,56 @@ "name": "bool", "type": "bool" }, - "id": 1151, + "id": 123, "name": "ElementaryTypeName", - "src": "3230:4:4" + "src": "3230:4:0" } ], - "id": 1152, + "id": 124, "name": "VariableDeclaration", - "src": "3230:12:4" + "src": "3230:12:0" } ], - "id": 1153, + "id": 125, "name": "VariableDeclarationStatement", - "src": "3230:12:4" + "src": "3230:12:0" }, { "attributes": { "externalReferences": [ - { - "success": { - "declaration": 1152, - "isOffset": false, - "isSlot": false, - "src": "3339:7:4", - "valueSize": 1 - } - }, { "input": { - "declaration": 1121, + "declaration": 93, "isOffset": false, "isSlot": false, - "src": "3380:5:4", + "src": "3380:5:0", "valueSize": 1 } }, { "r": { - "declaration": 1115, + "declaration": 87, "isOffset": false, "isSlot": false, - "src": "3393:1:4", + "src": "3393:1:0", "valueSize": 1 } }, { "success": { - "declaration": 1152, + "declaration": 124, "isOffset": false, "isSlot": false, - "src": "3478:7:4", + "src": "3478:7:0", + "valueSize": 1 + } + }, + { + "success": { + "declaration": 124, + "isOffset": false, + "isSlot": false, + "src": "3339:7:0", "valueSize": 1 } } @@ -16493,9 +16493,9 @@ "operations": "{\n success := staticcall(sub(gas(), 2000), 6, input, 0xc0, r, 0x60)\n switch success\n case 0 { invalid() }\n}" }, "children": [], - "id": 1154, + "id": 126, "name": "InlineAssembly", - "src": "3316:200:4" + "src": "3316:200:0" }, { "children": [ @@ -16527,16 +16527,16 @@ } ], "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, + "referencedDeclaration": 1077, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 1155, + "id": 127, "name": "Identifier", - "src": "3525:7:4" + "src": "3525:7:0" }, { "attributes": { @@ -16544,13 +16544,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1152, + "referencedDeclaration": 124, "type": "bool", "value": "success" }, - "id": 1156, + "id": 128, "name": "Identifier", - "src": "3533:7:4" + "src": "3533:7:0" }, { "attributes": { @@ -16565,29 +16565,29 @@ "type": "literal_string \"pairing-add-failed\"", "value": "pairing-add-failed" }, - "id": 1157, + "id": 129, "name": "Literal", - "src": "3541:20:4" + "src": "3541:20:0" } ], - "id": 1158, + "id": 130, "name": "FunctionCall", - "src": "3525:37:4" + "src": "3525:37:0" } ], - "id": 1159, + "id": 131, "name": "ExpressionStatement", - "src": "3525:37:4" + "src": "3525:37:0" } ], - "id": 1160, + "id": 132, "name": "Block", - "src": "3090:479:4" + "src": "3090:479:0" } ], - "id": 1161, + "id": 133, "name": "FunctionDefinition", - "src": "2993:576:4" + "src": "2993:576:0" }, { "attributes": { @@ -16599,7 +16599,7 @@ null ], "name": "scalar_mul", - "scope": 1605, + "scope": 577, "stateMutability": "view", "superFunction": null, "visibility": "internal" @@ -16611,7 +16611,7 @@ "attributes": { "constant": false, "name": "p", - "scope": 1206, + "scope": 178, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -16623,23 +16623,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1162, + "id": 134, "name": "UserDefinedTypeName", - "src": "3742:7:4" + "src": "3742:7:0" } ], - "id": 1163, + "id": 135, "name": "VariableDeclaration", - "src": "3742:16:4" + "src": "3742:16:0" }, { "attributes": { "constant": false, "name": "s", - "scope": 1206, + "scope": 178, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -16652,19 +16652,19 @@ "name": "uint", "type": "uint256" }, - "id": 1164, + "id": 136, "name": "ElementaryTypeName", - "src": "3760:4:4" + "src": "3760:4:0" } ], - "id": 1165, + "id": 137, "name": "VariableDeclaration", - "src": "3760:6:4" + "src": "3760:6:0" } ], - "id": 1166, + "id": 138, "name": "ParameterList", - "src": "3741:26:4" + "src": "3741:26:0" }, { "children": [ @@ -16672,7 +16672,7 @@ "attributes": { "constant": false, "name": "r", - "scope": 1206, + "scope": 178, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -16684,29 +16684,29 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1167, + "id": 139, "name": "UserDefinedTypeName", - "src": "3791:7:4" + "src": "3791:7:0" } ], - "id": 1168, + "id": 140, "name": "VariableDeclaration", - "src": "3791:16:4" + "src": "3791:16:0" } ], - "id": 1169, + "id": 141, "name": "ParameterList", - "src": "3790:18:4" + "src": "3790:18:0" }, { "children": [ { "attributes": { "assignments": [ - 1174 + 146 ], "initialValue": null }, @@ -16715,7 +16715,7 @@ "attributes": { "constant": false, "name": "input", - "scope": 1205, + "scope": 177, "stateVariable": false, "storageLocation": "memory", "type": "uint256[3]", @@ -16733,9 +16733,9 @@ "name": "uint", "type": "uint256" }, - "id": 1172, + "id": 144, "name": "ElementaryTypeName", - "src": "3819:4:4" + "src": "3819:4:0" }, { "attributes": { @@ -16750,24 +16750,24 @@ "type": "int_const 3", "value": "3" }, - "id": 1171, + "id": 143, "name": "Literal", - "src": "3824:1:4" + "src": "3824:1:0" } ], - "id": 1173, + "id": 145, "name": "ArrayTypeName", - "src": "3819:7:4" + "src": "3819:7:0" } ], - "id": 1174, + "id": 146, "name": "VariableDeclaration", - "src": "3819:20:4" + "src": "3819:20:0" } ], - "id": 1175, + "id": 147, "name": "VariableDeclarationStatement", - "src": "3819:20:4" + "src": "3819:20:0" }, { "children": [ @@ -16798,13 +16798,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1174, + "referencedDeclaration": 146, "type": "uint256[3] memory", "value": "input" }, - "id": 1176, + "id": 148, "name": "Identifier", - "src": "3849:5:4" + "src": "3849:5:0" }, { "attributes": { @@ -16819,14 +16819,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1177, + "id": 149, "name": "Literal", - "src": "3855:1:4" + "src": "3855:1:0" } ], - "id": 1178, + "id": 150, "name": "IndexAccess", - "src": "3849:8:4" + "src": "3849:8:0" }, { "attributes": { @@ -16836,7 +16836,7 @@ "isPure": false, "lValueRequested": false, "member_name": "X", - "referencedDeclaration": 1031, + "referencedDeclaration": 3, "type": "uint256" }, "children": [ @@ -16846,28 +16846,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1163, + "referencedDeclaration": 135, "type": "struct Pairing.G1Point memory", "value": "p" }, - "id": 1179, + "id": 151, "name": "Identifier", - "src": "3860:1:4" + "src": "3860:1:0" } ], - "id": 1180, + "id": 152, "name": "MemberAccess", - "src": "3860:3:4" + "src": "3860:3:0" } ], - "id": 1181, + "id": 153, "name": "Assignment", - "src": "3849:14:4" + "src": "3849:14:0" } ], - "id": 1182, + "id": 154, "name": "ExpressionStatement", - "src": "3849:14:4" + "src": "3849:14:0" }, { "children": [ @@ -16898,13 +16898,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1174, + "referencedDeclaration": 146, "type": "uint256[3] memory", "value": "input" }, - "id": 1183, + "id": 155, "name": "Identifier", - "src": "3873:5:4" + "src": "3873:5:0" }, { "attributes": { @@ -16919,14 +16919,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1184, + "id": 156, "name": "Literal", - "src": "3879:1:4" + "src": "3879:1:0" } ], - "id": 1185, + "id": 157, "name": "IndexAccess", - "src": "3873:8:4" + "src": "3873:8:0" }, { "attributes": { @@ -16936,7 +16936,7 @@ "isPure": false, "lValueRequested": false, "member_name": "Y", - "referencedDeclaration": 1033, + "referencedDeclaration": 5, "type": "uint256" }, "children": [ @@ -16946,28 +16946,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1163, + "referencedDeclaration": 135, "type": "struct Pairing.G1Point memory", "value": "p" }, - "id": 1186, + "id": 158, "name": "Identifier", - "src": "3884:1:4" + "src": "3884:1:0" } ], - "id": 1187, + "id": 159, "name": "MemberAccess", - "src": "3884:3:4" + "src": "3884:3:0" } ], - "id": 1188, + "id": 160, "name": "Assignment", - "src": "3873:14:4" + "src": "3873:14:0" } ], - "id": 1189, + "id": 161, "name": "ExpressionStatement", - "src": "3873:14:4" + "src": "3873:14:0" }, { "children": [ @@ -16998,13 +16998,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1174, + "referencedDeclaration": 146, "type": "uint256[3] memory", "value": "input" }, - "id": 1190, + "id": 162, "name": "Identifier", - "src": "3897:5:4" + "src": "3897:5:0" }, { "attributes": { @@ -17019,14 +17019,14 @@ "type": "int_const 2", "value": "2" }, - "id": 1191, + "id": 163, "name": "Literal", - "src": "3903:1:4" + "src": "3903:1:0" } ], - "id": 1192, + "id": 164, "name": "IndexAccess", - "src": "3897:8:4" + "src": "3897:8:0" }, { "attributes": { @@ -17034,28 +17034,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1165, + "referencedDeclaration": 137, "type": "uint256", "value": "s" }, - "id": 1193, + "id": 165, "name": "Identifier", - "src": "3908:1:4" + "src": "3908:1:0" } ], - "id": 1194, + "id": 166, "name": "Assignment", - "src": "3897:12:4" + "src": "3897:12:0" } ], - "id": 1195, + "id": 167, "name": "ExpressionStatement", - "src": "3897:12:4" + "src": "3897:12:0" }, { "attributes": { "assignments": [ - 1197 + 169 ], "initialValue": null }, @@ -17064,7 +17064,7 @@ "attributes": { "constant": false, "name": "success", - "scope": 1205, + "scope": 177, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -17077,56 +17077,56 @@ "name": "bool", "type": "bool" }, - "id": 1196, + "id": 168, "name": "ElementaryTypeName", - "src": "3919:4:4" + "src": "3919:4:0" } ], - "id": 1197, + "id": 169, "name": "VariableDeclaration", - "src": "3919:12:4" + "src": "3919:12:0" } ], - "id": 1198, + "id": 170, "name": "VariableDeclarationStatement", - "src": "3919:12:4" + "src": "3919:12:0" }, { "attributes": { "externalReferences": [ { "success": { - "declaration": 1197, + "declaration": 169, "isOffset": false, "isSlot": false, - "src": "4028:7:4", - "valueSize": 1 - } - }, - { - "success": { - "declaration": 1197, - "isOffset": false, - "isSlot": false, - "src": "4167:7:4", + "src": "4028:7:0", "valueSize": 1 } }, { "input": { - "declaration": 1174, + "declaration": 146, "isOffset": false, "isSlot": false, - "src": "4069:5:4", + "src": "4069:5:0", "valueSize": 1 } }, { "r": { - "declaration": 1168, + "declaration": 140, "isOffset": false, "isSlot": false, - "src": "4082:1:4", + "src": "4082:1:0", + "valueSize": 1 + } + }, + { + "success": { + "declaration": 169, + "isOffset": false, + "isSlot": false, + "src": "4167:7:0", "valueSize": 1 } } @@ -17134,9 +17134,9 @@ "operations": "{\n success := staticcall(sub(gas(), 2000), 7, input, 0x80, r, 0x60)\n switch success\n case 0 { invalid() }\n}" }, "children": [], - "id": 1199, + "id": 171, "name": "InlineAssembly", - "src": "4005:200:4" + "src": "4005:200:0" }, { "children": [ @@ -17168,16 +17168,16 @@ } ], "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, + "referencedDeclaration": 1077, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 1200, + "id": 172, "name": "Identifier", - "src": "4214:7:4" + "src": "4214:7:0" }, { "attributes": { @@ -17185,13 +17185,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1197, + "referencedDeclaration": 169, "type": "bool", "value": "success" }, - "id": 1201, + "id": 173, "name": "Identifier", - "src": "4223:7:4" + "src": "4223:7:0" }, { "attributes": { @@ -17206,29 +17206,29 @@ "type": "literal_string \"pairing-mul-failed\"", "value": "pairing-mul-failed" }, - "id": 1202, + "id": 174, "name": "Literal", - "src": "4231:20:4" + "src": "4231:20:0" } ], - "id": 1203, + "id": 175, "name": "FunctionCall", - "src": "4214:38:4" + "src": "4214:38:0" } ], - "id": 1204, + "id": 176, "name": "ExpressionStatement", - "src": "4214:38:4" + "src": "4214:38:0" } ], - "id": 1205, + "id": 177, "name": "Block", - "src": "3809:450:4" + "src": "3809:450:0" } ], - "id": 1206, + "id": 178, "name": "FunctionDefinition", - "src": "3722:537:4" + "src": "3722:537:0" }, { "attributes": { @@ -17240,7 +17240,7 @@ null ], "name": "pairing", - "scope": 1605, + "scope": 577, "stateMutability": "view", "superFunction": null, "visibility": "internal" @@ -17252,7 +17252,7 @@ "attributes": { "constant": false, "name": "p1", - "scope": 1367, + "scope": 339, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point[]", @@ -17270,28 +17270,28 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1207, + "id": 179, "name": "UserDefinedTypeName", - "src": "4487:7:4" + "src": "4487:7:0" } ], - "id": 1208, + "id": 180, "name": "ArrayTypeName", - "src": "4487:9:4" + "src": "4487:9:0" } ], - "id": 1209, + "id": 181, "name": "VariableDeclaration", - "src": "4487:19:4" + "src": "4487:19:0" }, { "attributes": { "constant": false, "name": "p2", - "scope": 1367, + "scope": 339, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point[]", @@ -17309,27 +17309,27 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1210, + "id": 182, "name": "UserDefinedTypeName", - "src": "4508:7:4" + "src": "4508:7:0" } ], - "id": 1211, + "id": 183, "name": "ArrayTypeName", - "src": "4508:9:4" + "src": "4508:9:0" } ], - "id": 1212, + "id": 184, "name": "VariableDeclaration", - "src": "4508:19:4" + "src": "4508:19:0" } ], - "id": 1213, + "id": 185, "name": "ParameterList", - "src": "4486:42:4" + "src": "4486:42:0" }, { "children": [ @@ -17337,7 +17337,7 @@ "attributes": { "constant": false, "name": "", - "scope": 1367, + "scope": 339, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -17350,19 +17350,19 @@ "name": "bool", "type": "bool" }, - "id": 1214, + "id": 186, "name": "ElementaryTypeName", - "src": "4552:4:4" + "src": "4552:4:0" } ], - "id": 1215, + "id": 187, "name": "VariableDeclaration", - "src": "4552:4:4" + "src": "4552:4:0" } ], - "id": 1216, + "id": 188, "name": "ParameterList", - "src": "4551:6:4" + "src": "4551:6:0" }, { "children": [ @@ -17396,16 +17396,16 @@ } ], "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, + "referencedDeclaration": 1077, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 1217, + "id": 189, "name": "Identifier", - "src": "4568:7:4" + "src": "4568:7:0" }, { "attributes": { @@ -17440,18 +17440,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1209, + "referencedDeclaration": 181, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1218, + "id": 190, "name": "Identifier", - "src": "4576:2:4" + "src": "4576:2:0" } ], - "id": 1219, + "id": 191, "name": "MemberAccess", - "src": "4576:9:4" + "src": "4576:9:0" }, { "attributes": { @@ -17471,23 +17471,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1212, + "referencedDeclaration": 184, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1220, + "id": 192, "name": "Identifier", - "src": "4589:2:4" + "src": "4589:2:0" } ], - "id": 1221, + "id": 193, "name": "MemberAccess", - "src": "4589:9:4" + "src": "4589:9:0" } ], - "id": 1222, + "id": 194, "name": "BinaryOperation", - "src": "4576:22:4" + "src": "4576:22:0" }, { "attributes": { @@ -17502,24 +17502,24 @@ "type": "literal_string \"pairing-lengths-failed\"", "value": "pairing-lengths-failed" }, - "id": 1223, + "id": 195, "name": "Literal", - "src": "4599:24:4" + "src": "4599:24:0" } ], - "id": 1224, + "id": 196, "name": "FunctionCall", - "src": "4568:56:4" + "src": "4568:56:0" } ], - "id": 1225, + "id": 197, "name": "ExpressionStatement", - "src": "4568:56:4" + "src": "4568:56:0" }, { "attributes": { "assignments": [ - 1227 + 199 ] }, "children": [ @@ -17527,7 +17527,7 @@ "attributes": { "constant": false, "name": "elements", - "scope": 1366, + "scope": 338, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -17540,14 +17540,14 @@ "name": "uint", "type": "uint256" }, - "id": 1226, + "id": 198, "name": "ElementaryTypeName", - "src": "4634:4:4" + "src": "4634:4:0" } ], - "id": 1227, + "id": 199, "name": "VariableDeclaration", - "src": "4634:13:4" + "src": "4634:13:0" }, { "attributes": { @@ -17567,28 +17567,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1209, + "referencedDeclaration": 181, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1228, + "id": 200, "name": "Identifier", - "src": "4650:2:4" + "src": "4650:2:0" } ], - "id": 1229, + "id": 201, "name": "MemberAccess", - "src": "4650:9:4" + "src": "4650:9:0" } ], - "id": 1230, + "id": 202, "name": "VariableDeclarationStatement", - "src": "4634:25:4" + "src": "4634:25:0" }, { "attributes": { "assignments": [ - 1232 + 204 ] }, "children": [ @@ -17596,7 +17596,7 @@ "attributes": { "constant": false, "name": "inputSize", - "scope": 1366, + "scope": 338, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -17609,14 +17609,14 @@ "name": "uint", "type": "uint256" }, - "id": 1231, + "id": 203, "name": "ElementaryTypeName", - "src": "4669:4:4" + "src": "4669:4:0" } ], - "id": 1232, + "id": 204, "name": "VariableDeclaration", - "src": "4669:14:4" + "src": "4669:14:0" }, { "attributes": { @@ -17639,13 +17639,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1227, + "referencedDeclaration": 199, "type": "uint256", "value": "elements" }, - "id": 1233, + "id": 205, "name": "Identifier", - "src": "4686:8:4" + "src": "4686:8:0" }, { "attributes": { @@ -17660,24 +17660,24 @@ "type": "int_const 6", "value": "6" }, - "id": 1234, + "id": 206, "name": "Literal", - "src": "4697:1:4" + "src": "4697:1:0" } ], - "id": 1235, + "id": 207, "name": "BinaryOperation", - "src": "4686:12:4" + "src": "4686:12:0" } ], - "id": 1236, + "id": 208, "name": "VariableDeclarationStatement", - "src": "4669:29:4" + "src": "4669:29:0" }, { "attributes": { "assignments": [ - 1240 + 212 ] }, "children": [ @@ -17685,7 +17685,7 @@ "attributes": { "constant": false, "name": "input", - "scope": 1366, + "scope": 338, "stateVariable": false, "storageLocation": "memory", "type": "uint256[]", @@ -17704,19 +17704,19 @@ "name": "uint", "type": "uint256" }, - "id": 1238, + "id": 210, "name": "ElementaryTypeName", - "src": "4708:4:4" + "src": "4708:4:0" } ], - "id": 1239, + "id": 211, "name": "ArrayTypeName", - "src": "4708:6:4" + "src": "4708:6:0" } ], - "id": 1240, + "id": 212, "name": "VariableDeclaration", - "src": "4708:19:4" + "src": "4708:19:0" }, { "attributes": { @@ -17759,19 +17759,19 @@ "name": "uint", "type": "uint256" }, - "id": 1241, + "id": 213, "name": "ElementaryTypeName", - "src": "4734:4:4" + "src": "4734:4:0" } ], - "id": 1242, + "id": 214, "name": "ArrayTypeName", - "src": "4734:6:4" + "src": "4734:6:0" } ], - "id": 1243, + "id": 215, "name": "NewExpression", - "src": "4730:10:4" + "src": "4730:10:0" }, { "attributes": { @@ -17779,30 +17779,30 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1232, + "referencedDeclaration": 204, "type": "uint256", "value": "inputSize" }, - "id": 1244, + "id": 216, "name": "Identifier", - "src": "4741:9:4" + "src": "4741:9:0" } ], - "id": 1245, + "id": 217, "name": "FunctionCall", - "src": "4730:21:4" + "src": "4730:21:0" } ], - "id": 1246, + "id": 218, "name": "VariableDeclarationStatement", - "src": "4708:43:4" + "src": "4708:43:0" }, { "children": [ { "attributes": { "assignments": [ - 1248 + 220 ] }, "children": [ @@ -17810,7 +17810,7 @@ "attributes": { "constant": false, "name": "i", - "scope": 1344, + "scope": 316, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -17823,14 +17823,14 @@ "name": "uint", "type": "uint256" }, - "id": 1247, + "id": 219, "name": "ElementaryTypeName", - "src": "4766:4:4" + "src": "4766:4:0" } ], - "id": 1248, + "id": 220, "name": "VariableDeclaration", - "src": "4766:6:4" + "src": "4766:6:0" }, { "attributes": { @@ -17845,14 +17845,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1249, + "id": 221, "name": "Literal", - "src": "4775:1:4" + "src": "4775:1:0" } ], - "id": 1250, + "id": 222, "name": "VariableDeclarationStatement", - "src": "4766:10:4" + "src": "4766:10:0" }, { "attributes": { @@ -17875,13 +17875,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1251, + "id": 223, "name": "Identifier", - "src": "4778:1:4" + "src": "4778:1:0" }, { "attributes": { @@ -17889,18 +17889,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1227, + "referencedDeclaration": 199, "type": "uint256", "value": "elements" }, - "id": 1252, + "id": 224, "name": "Identifier", - "src": "4782:8:4" + "src": "4782:8:0" } ], - "id": 1253, + "id": 225, "name": "BinaryOperation", - "src": "4778:12:4" + "src": "4778:12:0" }, { "children": [ @@ -17922,23 +17922,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1254, + "id": 226, "name": "Identifier", - "src": "4792:1:4" + "src": "4792:1:0" } ], - "id": 1255, + "id": 227, "name": "UnaryOperation", - "src": "4792:3:4" + "src": "4792:3:0" } ], - "id": 1256, + "id": 228, "name": "ExpressionStatement", - "src": "4792:3:4" + "src": "4792:3:0" }, { "children": [ @@ -17971,13 +17971,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1240, + "referencedDeclaration": 212, "type": "uint256[] memory", "value": "input" }, - "id": 1257, + "id": 229, "name": "Identifier", - "src": "4819:5:4" + "src": "4819:5:0" }, { "attributes": { @@ -18015,13 +18015,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1258, + "id": 230, "name": "Identifier", - "src": "4825:1:4" + "src": "4825:1:0" }, { "attributes": { @@ -18036,14 +18036,14 @@ "type": "int_const 6", "value": "6" }, - "id": 1259, + "id": 231, "name": "Literal", - "src": "4829:1:4" + "src": "4829:1:0" } ], - "id": 1260, + "id": 232, "name": "BinaryOperation", - "src": "4825:5:4" + "src": "4825:5:0" }, { "attributes": { @@ -18058,19 +18058,19 @@ "type": "int_const 0", "value": "0" }, - "id": 1261, + "id": 233, "name": "Literal", - "src": "4833:1:4" + "src": "4833:1:0" } ], - "id": 1262, + "id": 234, "name": "BinaryOperation", - "src": "4825:9:4" + "src": "4825:9:0" } ], - "id": 1263, + "id": 235, "name": "IndexAccess", - "src": "4819:16:4" + "src": "4819:16:0" }, { "attributes": { @@ -18080,7 +18080,7 @@ "isPure": false, "lValueRequested": false, "member_name": "X", - "referencedDeclaration": 1031, + "referencedDeclaration": 3, "type": "uint256" }, "children": [ @@ -18100,13 +18100,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1209, + "referencedDeclaration": 181, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1264, + "id": 236, "name": "Identifier", - "src": "4838:2:4" + "src": "4838:2:0" }, { "attributes": { @@ -18114,33 +18114,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1265, + "id": 237, "name": "Identifier", - "src": "4841:1:4" + "src": "4841:1:0" } ], - "id": 1266, + "id": 238, "name": "IndexAccess", - "src": "4838:5:4" + "src": "4838:5:0" } ], - "id": 1267, + "id": 239, "name": "MemberAccess", - "src": "4838:7:4" + "src": "4838:7:0" } ], - "id": 1268, + "id": 240, "name": "Assignment", - "src": "4819:26:4" + "src": "4819:26:0" } ], - "id": 1269, + "id": 241, "name": "ExpressionStatement", - "src": "4819:26:4" + "src": "4819:26:0" }, { "children": [ @@ -18171,13 +18171,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1240, + "referencedDeclaration": 212, "type": "uint256[] memory", "value": "input" }, - "id": 1270, + "id": 242, "name": "Identifier", - "src": "4859:5:4" + "src": "4859:5:0" }, { "attributes": { @@ -18215,13 +18215,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1271, + "id": 243, "name": "Identifier", - "src": "4865:1:4" + "src": "4865:1:0" }, { "attributes": { @@ -18236,14 +18236,14 @@ "type": "int_const 6", "value": "6" }, - "id": 1272, + "id": 244, "name": "Literal", - "src": "4869:1:4" + "src": "4869:1:0" } ], - "id": 1273, + "id": 245, "name": "BinaryOperation", - "src": "4865:5:4" + "src": "4865:5:0" }, { "attributes": { @@ -18258,19 +18258,19 @@ "type": "int_const 1", "value": "1" }, - "id": 1274, + "id": 246, "name": "Literal", - "src": "4873:1:4" + "src": "4873:1:0" } ], - "id": 1275, + "id": 247, "name": "BinaryOperation", - "src": "4865:9:4" + "src": "4865:9:0" } ], - "id": 1276, + "id": 248, "name": "IndexAccess", - "src": "4859:16:4" + "src": "4859:16:0" }, { "attributes": { @@ -18280,7 +18280,7 @@ "isPure": false, "lValueRequested": false, "member_name": "Y", - "referencedDeclaration": 1033, + "referencedDeclaration": 5, "type": "uint256" }, "children": [ @@ -18300,13 +18300,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1209, + "referencedDeclaration": 181, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1277, + "id": 249, "name": "Identifier", - "src": "4878:2:4" + "src": "4878:2:0" }, { "attributes": { @@ -18314,33 +18314,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1278, + "id": 250, "name": "Identifier", - "src": "4881:1:4" + "src": "4881:1:0" } ], - "id": 1279, + "id": 251, "name": "IndexAccess", - "src": "4878:5:4" + "src": "4878:5:0" } ], - "id": 1280, + "id": 252, "name": "MemberAccess", - "src": "4878:7:4" + "src": "4878:7:0" } ], - "id": 1281, + "id": 253, "name": "Assignment", - "src": "4859:26:4" + "src": "4859:26:0" } ], - "id": 1282, + "id": 254, "name": "ExpressionStatement", - "src": "4859:26:4" + "src": "4859:26:0" }, { "children": [ @@ -18371,13 +18371,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1240, + "referencedDeclaration": 212, "type": "uint256[] memory", "value": "input" }, - "id": 1283, + "id": 255, "name": "Identifier", - "src": "4899:5:4" + "src": "4899:5:0" }, { "attributes": { @@ -18415,13 +18415,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1284, + "id": 256, "name": "Identifier", - "src": "4905:1:4" + "src": "4905:1:0" }, { "attributes": { @@ -18436,14 +18436,14 @@ "type": "int_const 6", "value": "6" }, - "id": 1285, + "id": 257, "name": "Literal", - "src": "4909:1:4" + "src": "4909:1:0" } ], - "id": 1286, + "id": 258, "name": "BinaryOperation", - "src": "4905:5:4" + "src": "4905:5:0" }, { "attributes": { @@ -18458,19 +18458,19 @@ "type": "int_const 2", "value": "2" }, - "id": 1287, + "id": 259, "name": "Literal", - "src": "4913:1:4" + "src": "4913:1:0" } ], - "id": 1288, + "id": 260, "name": "BinaryOperation", - "src": "4905:9:4" + "src": "4905:9:0" } ], - "id": 1289, + "id": 261, "name": "IndexAccess", - "src": "4899:16:4" + "src": "4899:16:0" }, { "attributes": { @@ -18490,7 +18490,7 @@ "isPure": false, "lValueRequested": false, "member_name": "X", - "referencedDeclaration": 1038, + "referencedDeclaration": 10, "type": "uint256[2] memory" }, "children": [ @@ -18510,13 +18510,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1212, + "referencedDeclaration": 184, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1290, + "id": 262, "name": "Identifier", - "src": "4918:2:4" + "src": "4918:2:0" }, { "attributes": { @@ -18524,23 +18524,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1291, + "id": 263, "name": "Identifier", - "src": "4921:1:4" + "src": "4921:1:0" } ], - "id": 1292, + "id": 264, "name": "IndexAccess", - "src": "4918:5:4" + "src": "4918:5:0" } ], - "id": 1293, + "id": 265, "name": "MemberAccess", - "src": "4918:7:4" + "src": "4918:7:0" }, { "attributes": { @@ -18555,24 +18555,24 @@ "type": "int_const 0", "value": "0" }, - "id": 1294, + "id": 266, "name": "Literal", - "src": "4926:1:4" + "src": "4926:1:0" } ], - "id": 1295, + "id": 267, "name": "IndexAccess", - "src": "4918:10:4" + "src": "4918:10:0" } ], - "id": 1296, + "id": 268, "name": "Assignment", - "src": "4899:29:4" + "src": "4899:29:0" } ], - "id": 1297, + "id": 269, "name": "ExpressionStatement", - "src": "4899:29:4" + "src": "4899:29:0" }, { "children": [ @@ -18603,13 +18603,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1240, + "referencedDeclaration": 212, "type": "uint256[] memory", "value": "input" }, - "id": 1298, + "id": 270, "name": "Identifier", - "src": "4942:5:4" + "src": "4942:5:0" }, { "attributes": { @@ -18647,13 +18647,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1299, + "id": 271, "name": "Identifier", - "src": "4948:1:4" + "src": "4948:1:0" }, { "attributes": { @@ -18668,14 +18668,14 @@ "type": "int_const 6", "value": "6" }, - "id": 1300, + "id": 272, "name": "Literal", - "src": "4952:1:4" + "src": "4952:1:0" } ], - "id": 1301, + "id": 273, "name": "BinaryOperation", - "src": "4948:5:4" + "src": "4948:5:0" }, { "attributes": { @@ -18690,19 +18690,19 @@ "type": "int_const 3", "value": "3" }, - "id": 1302, + "id": 274, "name": "Literal", - "src": "4956:1:4" + "src": "4956:1:0" } ], - "id": 1303, + "id": 275, "name": "BinaryOperation", - "src": "4948:9:4" + "src": "4948:9:0" } ], - "id": 1304, + "id": 276, "name": "IndexAccess", - "src": "4942:16:4" + "src": "4942:16:0" }, { "attributes": { @@ -18722,7 +18722,7 @@ "isPure": false, "lValueRequested": false, "member_name": "X", - "referencedDeclaration": 1038, + "referencedDeclaration": 10, "type": "uint256[2] memory" }, "children": [ @@ -18742,13 +18742,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1212, + "referencedDeclaration": 184, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1305, + "id": 277, "name": "Identifier", - "src": "4961:2:4" + "src": "4961:2:0" }, { "attributes": { @@ -18756,23 +18756,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1306, + "id": 278, "name": "Identifier", - "src": "4964:1:4" + "src": "4964:1:0" } ], - "id": 1307, + "id": 279, "name": "IndexAccess", - "src": "4961:5:4" + "src": "4961:5:0" } ], - "id": 1308, + "id": 280, "name": "MemberAccess", - "src": "4961:7:4" + "src": "4961:7:0" }, { "attributes": { @@ -18787,24 +18787,24 @@ "type": "int_const 1", "value": "1" }, - "id": 1309, + "id": 281, "name": "Literal", - "src": "4969:1:4" + "src": "4969:1:0" } ], - "id": 1310, + "id": 282, "name": "IndexAccess", - "src": "4961:10:4" + "src": "4961:10:0" } ], - "id": 1311, + "id": 283, "name": "Assignment", - "src": "4942:29:4" + "src": "4942:29:0" } ], - "id": 1312, + "id": 284, "name": "ExpressionStatement", - "src": "4942:29:4" + "src": "4942:29:0" }, { "children": [ @@ -18835,13 +18835,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1240, + "referencedDeclaration": 212, "type": "uint256[] memory", "value": "input" }, - "id": 1313, + "id": 285, "name": "Identifier", - "src": "4985:5:4" + "src": "4985:5:0" }, { "attributes": { @@ -18879,13 +18879,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1314, + "id": 286, "name": "Identifier", - "src": "4991:1:4" + "src": "4991:1:0" }, { "attributes": { @@ -18900,14 +18900,14 @@ "type": "int_const 6", "value": "6" }, - "id": 1315, + "id": 287, "name": "Literal", - "src": "4995:1:4" + "src": "4995:1:0" } ], - "id": 1316, + "id": 288, "name": "BinaryOperation", - "src": "4991:5:4" + "src": "4991:5:0" }, { "attributes": { @@ -18922,19 +18922,19 @@ "type": "int_const 4", "value": "4" }, - "id": 1317, + "id": 289, "name": "Literal", - "src": "4999:1:4" + "src": "4999:1:0" } ], - "id": 1318, + "id": 290, "name": "BinaryOperation", - "src": "4991:9:4" + "src": "4991:9:0" } ], - "id": 1319, + "id": 291, "name": "IndexAccess", - "src": "4985:16:4" + "src": "4985:16:0" }, { "attributes": { @@ -18954,7 +18954,7 @@ "isPure": false, "lValueRequested": false, "member_name": "Y", - "referencedDeclaration": 1042, + "referencedDeclaration": 14, "type": "uint256[2] memory" }, "children": [ @@ -18974,13 +18974,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1212, + "referencedDeclaration": 184, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1320, + "id": 292, "name": "Identifier", - "src": "5004:2:4" + "src": "5004:2:0" }, { "attributes": { @@ -18988,23 +18988,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1321, + "id": 293, "name": "Identifier", - "src": "5007:1:4" + "src": "5007:1:0" } ], - "id": 1322, + "id": 294, "name": "IndexAccess", - "src": "5004:5:4" + "src": "5004:5:0" } ], - "id": 1323, + "id": 295, "name": "MemberAccess", - "src": "5004:7:4" + "src": "5004:7:0" }, { "attributes": { @@ -19019,24 +19019,24 @@ "type": "int_const 0", "value": "0" }, - "id": 1324, + "id": 296, "name": "Literal", - "src": "5012:1:4" + "src": "5012:1:0" } ], - "id": 1325, + "id": 297, "name": "IndexAccess", - "src": "5004:10:4" + "src": "5004:10:0" } ], - "id": 1326, + "id": 298, "name": "Assignment", - "src": "4985:29:4" + "src": "4985:29:0" } ], - "id": 1327, + "id": 299, "name": "ExpressionStatement", - "src": "4985:29:4" + "src": "4985:29:0" }, { "children": [ @@ -19067,13 +19067,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1240, + "referencedDeclaration": 212, "type": "uint256[] memory", "value": "input" }, - "id": 1328, + "id": 300, "name": "Identifier", - "src": "5028:5:4" + "src": "5028:5:0" }, { "attributes": { @@ -19111,13 +19111,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1329, + "id": 301, "name": "Identifier", - "src": "5034:1:4" + "src": "5034:1:0" }, { "attributes": { @@ -19132,14 +19132,14 @@ "type": "int_const 6", "value": "6" }, - "id": 1330, + "id": 302, "name": "Literal", - "src": "5038:1:4" + "src": "5038:1:0" } ], - "id": 1331, + "id": 303, "name": "BinaryOperation", - "src": "5034:5:4" + "src": "5034:5:0" }, { "attributes": { @@ -19154,19 +19154,19 @@ "type": "int_const 5", "value": "5" }, - "id": 1332, + "id": 304, "name": "Literal", - "src": "5042:1:4" + "src": "5042:1:0" } ], - "id": 1333, + "id": 305, "name": "BinaryOperation", - "src": "5034:9:4" + "src": "5034:9:0" } ], - "id": 1334, + "id": 306, "name": "IndexAccess", - "src": "5028:16:4" + "src": "5028:16:0" }, { "attributes": { @@ -19186,7 +19186,7 @@ "isPure": false, "lValueRequested": false, "member_name": "Y", - "referencedDeclaration": 1042, + "referencedDeclaration": 14, "type": "uint256[2] memory" }, "children": [ @@ -19206,13 +19206,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1212, + "referencedDeclaration": 184, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1335, + "id": 307, "name": "Identifier", - "src": "5047:2:4" + "src": "5047:2:0" }, { "attributes": { @@ -19220,23 +19220,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, + "referencedDeclaration": 220, "type": "uint256", "value": "i" }, - "id": 1336, + "id": 308, "name": "Identifier", - "src": "5050:1:4" + "src": "5050:1:0" } ], - "id": 1337, + "id": 309, "name": "IndexAccess", - "src": "5047:5:4" + "src": "5047:5:0" } ], - "id": 1338, + "id": 310, "name": "MemberAccess", - "src": "5047:7:4" + "src": "5047:7:0" }, { "attributes": { @@ -19251,39 +19251,39 @@ "type": "int_const 1", "value": "1" }, - "id": 1339, + "id": 311, "name": "Literal", - "src": "5055:1:4" + "src": "5055:1:0" } ], - "id": 1340, + "id": 312, "name": "IndexAccess", - "src": "5047:10:4" + "src": "5047:10:0" } ], - "id": 1341, + "id": 313, "name": "Assignment", - "src": "5028:29:4" + "src": "5028:29:0" } ], - "id": 1342, + "id": 314, "name": "ExpressionStatement", - "src": "5028:29:4" + "src": "5028:29:0" } ], - "id": 1343, + "id": 315, "name": "Block", - "src": "4805:263:4" + "src": "4805:263:0" } ], - "id": 1344, + "id": 316, "name": "ForStatement", - "src": "4761:307:4" + "src": "4761:307:0" }, { "attributes": { "assignments": [ - 1349 + 321 ], "initialValue": null }, @@ -19292,7 +19292,7 @@ "attributes": { "constant": false, "name": "out", - "scope": 1366, + "scope": 338, "stateVariable": false, "storageLocation": "memory", "type": "uint256[1]", @@ -19310,9 +19310,9 @@ "name": "uint", "type": "uint256" }, - "id": 1347, + "id": 319, "name": "ElementaryTypeName", - "src": "5077:4:4" + "src": "5077:4:0" }, { "attributes": { @@ -19327,29 +19327,29 @@ "type": "int_const 1", "value": "1" }, - "id": 1346, + "id": 318, "name": "Literal", - "src": "5082:1:4" + "src": "5082:1:0" } ], - "id": 1348, + "id": 320, "name": "ArrayTypeName", - "src": "5077:7:4" + "src": "5077:7:0" } ], - "id": 1349, + "id": 321, "name": "VariableDeclaration", - "src": "5077:18:4" + "src": "5077:18:0" } ], - "id": 1350, + "id": 322, "name": "VariableDeclarationStatement", - "src": "5077:18:4" + "src": "5077:18:0" }, { "attributes": { "assignments": [ - 1352 + 324 ], "initialValue": null }, @@ -19358,7 +19358,7 @@ "attributes": { "constant": false, "name": "success", - "scope": 1366, + "scope": 338, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -19371,65 +19371,65 @@ "name": "bool", "type": "bool" }, - "id": 1351, + "id": 323, "name": "ElementaryTypeName", - "src": "5105:4:4" + "src": "5105:4:0" } ], - "id": 1352, + "id": 324, "name": "VariableDeclaration", - "src": "5105:12:4" + "src": "5105:12:0" } ], - "id": 1353, + "id": 325, "name": "VariableDeclarationStatement", - "src": "5105:12:4" + "src": "5105:12:0" }, { "attributes": { "externalReferences": [ { "success": { - "declaration": 1352, + "declaration": 324, "isOffset": false, "isSlot": false, - "src": "5214:7:4", + "src": "5214:7:0", "valueSize": 1 } }, { "input": { - "declaration": 1240, + "declaration": 212, "isOffset": false, "isSlot": false, - "src": "5259:5:4", + "src": "5259:5:0", "valueSize": 1 } }, { "success": { - "declaration": 1352, + "declaration": 324, "isOffset": false, "isSlot": false, - "src": "5382:7:4", + "src": "5382:7:0", "valueSize": 1 } }, { "inputSize": { - "declaration": 1232, + "declaration": 204, "isOffset": false, "isSlot": false, - "src": "5277:9:4", + "src": "5277:9:0", "valueSize": 1 } }, { "out": { - "declaration": 1349, + "declaration": 321, "isOffset": false, "isSlot": false, - "src": "5295:3:4", + "src": "5295:3:0", "valueSize": 1 } } @@ -19437,9 +19437,9 @@ "operations": "{\n success := staticcall(sub(gas(), 2000), 8, add(input, 0x20), mul(inputSize, 0x20), out, 0x20)\n switch success\n case 0 { invalid() }\n}" }, "children": [], - "id": 1354, + "id": 326, "name": "InlineAssembly", - "src": "5191:229:4" + "src": "5191:229:0" }, { "children": [ @@ -19471,16 +19471,16 @@ } ], "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, + "referencedDeclaration": 1077, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 1355, + "id": 327, "name": "Identifier", - "src": "5429:7:4" + "src": "5429:7:0" }, { "attributes": { @@ -19488,13 +19488,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1352, + "referencedDeclaration": 324, "type": "bool", "value": "success" }, - "id": 1356, + "id": 328, "name": "Identifier", - "src": "5437:7:4" + "src": "5437:7:0" }, { "attributes": { @@ -19509,23 +19509,23 @@ "type": "literal_string \"pairing-opcode-failed\"", "value": "pairing-opcode-failed" }, - "id": 1357, + "id": 329, "name": "Literal", - "src": "5445:23:4" + "src": "5445:23:0" } ], - "id": 1358, + "id": 330, "name": "FunctionCall", - "src": "5429:40:4" + "src": "5429:40:0" } ], - "id": 1359, + "id": 331, "name": "ExpressionStatement", - "src": "5429:40:4" + "src": "5429:40:0" }, { "attributes": { - "functionReturnParameters": 1216 + "functionReturnParameters": 188 }, "children": [ { @@ -19559,13 +19559,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1349, + "referencedDeclaration": 321, "type": "uint256[1] memory", "value": "out" }, - "id": 1360, + "id": 332, "name": "Identifier", - "src": "5486:3:4" + "src": "5486:3:0" }, { "attributes": { @@ -19580,14 +19580,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1361, + "id": 333, "name": "Literal", - "src": "5490:1:4" + "src": "5490:1:0" } ], - "id": 1362, + "id": 334, "name": "IndexAccess", - "src": "5486:6:4" + "src": "5486:6:0" }, { "attributes": { @@ -19602,29 +19602,29 @@ "type": "int_const 0", "value": "0" }, - "id": 1363, + "id": 335, "name": "Literal", - "src": "5496:1:4" + "src": "5496:1:0" } ], - "id": 1364, + "id": 336, "name": "BinaryOperation", - "src": "5486:11:4" + "src": "5486:11:0" } ], - "id": 1365, + "id": 337, "name": "Return", - "src": "5479:18:4" + "src": "5479:18:0" } ], - "id": 1366, + "id": 338, "name": "Block", - "src": "4558:946:4" + "src": "4558:946:0" } ], - "id": 1367, + "id": 339, "name": "FunctionDefinition", - "src": "4470:1034:4" + "src": "4470:1034:0" }, { "attributes": { @@ -19636,7 +19636,7 @@ null ], "name": "pairingProd2", - "scope": 1605, + "scope": 577, "stateMutability": "view", "superFunction": null, "visibility": "internal" @@ -19648,7 +19648,7 @@ "attributes": { "constant": false, "name": "a1", - "scope": 1430, + "scope": 402, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -19660,23 +19660,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1368, + "id": 340, "name": "UserDefinedTypeName", - "src": "5593:7:4" + "src": "5593:7:0" } ], - "id": 1369, + "id": 341, "name": "VariableDeclaration", - "src": "5593:17:4" + "src": "5593:17:0" }, { "attributes": { "constant": false, "name": "a2", - "scope": 1430, + "scope": 402, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -19688,23 +19688,23 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1370, + "id": 342, "name": "UserDefinedTypeName", - "src": "5612:7:4" + "src": "5612:7:0" } ], - "id": 1371, + "id": 343, "name": "VariableDeclaration", - "src": "5612:17:4" + "src": "5612:17:0" }, { "attributes": { "constant": false, "name": "b1", - "scope": 1430, + "scope": 402, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -19716,23 +19716,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1372, + "id": 344, "name": "UserDefinedTypeName", - "src": "5631:7:4" + "src": "5631:7:0" } ], - "id": 1373, + "id": 345, "name": "VariableDeclaration", - "src": "5631:17:4" + "src": "5631:17:0" }, { "attributes": { "constant": false, "name": "b2", - "scope": 1430, + "scope": 402, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -19744,22 +19744,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1374, + "id": 346, "name": "UserDefinedTypeName", - "src": "5650:7:4" + "src": "5650:7:0" } ], - "id": 1375, + "id": 347, "name": "VariableDeclaration", - "src": "5650:17:4" + "src": "5650:17:0" } ], - "id": 1376, + "id": 348, "name": "ParameterList", - "src": "5592:76:4" + "src": "5592:76:0" }, { "children": [ @@ -19767,7 +19767,7 @@ "attributes": { "constant": false, "name": "", - "scope": 1430, + "scope": 402, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -19780,26 +19780,26 @@ "name": "bool", "type": "bool" }, - "id": 1377, + "id": 349, "name": "ElementaryTypeName", - "src": "5692:4:4" + "src": "5692:4:0" } ], - "id": 1378, + "id": 350, "name": "VariableDeclaration", - "src": "5692:4:4" + "src": "5692:4:0" } ], - "id": 1379, + "id": 351, "name": "ParameterList", - "src": "5691:6:4" + "src": "5691:6:0" }, { "children": [ { "attributes": { "assignments": [ - 1383 + 355 ] }, "children": [ @@ -19807,7 +19807,7 @@ "attributes": { "constant": false, "name": "p1", - "scope": 1429, + "scope": 401, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point[]", @@ -19825,22 +19825,22 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1381, + "id": 353, "name": "UserDefinedTypeName", - "src": "5708:7:4" + "src": "5708:7:0" } ], - "id": 1382, + "id": 354, "name": "ArrayTypeName", - "src": "5708:9:4" + "src": "5708:9:0" } ], - "id": 1383, + "id": 355, "name": "VariableDeclaration", - "src": "5708:19:4" + "src": "5708:19:0" }, { "attributes": { @@ -19882,22 +19882,22 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1384, + "id": 356, "name": "UserDefinedTypeName", - "src": "5734:7:4" + "src": "5734:7:0" } ], - "id": 1385, + "id": 357, "name": "ArrayTypeName", - "src": "5734:9:4" + "src": "5734:9:0" } ], - "id": 1386, + "id": 358, "name": "NewExpression", - "src": "5730:13:4" + "src": "5730:13:0" }, { "attributes": { @@ -19912,24 +19912,24 @@ "type": "int_const 2", "value": "2" }, - "id": 1387, + "id": 359, "name": "Literal", - "src": "5744:1:4" + "src": "5744:1:0" } ], - "id": 1388, + "id": 360, "name": "FunctionCall", - "src": "5730:16:4" + "src": "5730:16:0" } ], - "id": 1389, + "id": 361, "name": "VariableDeclarationStatement", - "src": "5708:38:4" + "src": "5708:38:0" }, { "attributes": { "assignments": [ - 1393 + 365 ] }, "children": [ @@ -19937,7 +19937,7 @@ "attributes": { "constant": false, "name": "p2", - "scope": 1429, + "scope": 401, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point[]", @@ -19955,22 +19955,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1391, + "id": 363, "name": "UserDefinedTypeName", - "src": "5756:7:4" + "src": "5756:7:0" } ], - "id": 1392, + "id": 364, "name": "ArrayTypeName", - "src": "5756:9:4" + "src": "5756:9:0" } ], - "id": 1393, + "id": 365, "name": "VariableDeclaration", - "src": "5756:19:4" + "src": "5756:19:0" }, { "attributes": { @@ -20012,22 +20012,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1394, + "id": 366, "name": "UserDefinedTypeName", - "src": "5782:7:4" + "src": "5782:7:0" } ], - "id": 1395, + "id": 367, "name": "ArrayTypeName", - "src": "5782:9:4" + "src": "5782:9:0" } ], - "id": 1396, + "id": 368, "name": "NewExpression", - "src": "5778:13:4" + "src": "5778:13:0" }, { "attributes": { @@ -20042,19 +20042,19 @@ "type": "int_const 2", "value": "2" }, - "id": 1397, + "id": 369, "name": "Literal", - "src": "5792:1:4" + "src": "5792:1:0" } ], - "id": 1398, + "id": 370, "name": "FunctionCall", - "src": "5778:16:4" + "src": "5778:16:0" } ], - "id": 1399, + "id": 371, "name": "VariableDeclarationStatement", - "src": "5756:38:4" + "src": "5756:38:0" }, { "children": [ @@ -20085,13 +20085,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1383, + "referencedDeclaration": 355, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1400, + "id": 372, "name": "Identifier", - "src": "5804:2:4" + "src": "5804:2:0" }, { "attributes": { @@ -20106,14 +20106,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1401, + "id": 373, "name": "Literal", - "src": "5807:1:4" + "src": "5807:1:0" } ], - "id": 1402, + "id": 374, "name": "IndexAccess", - "src": "5804:5:4" + "src": "5804:5:0" }, { "attributes": { @@ -20121,23 +20121,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1369, + "referencedDeclaration": 341, "type": "struct Pairing.G1Point memory", "value": "a1" }, - "id": 1403, + "id": 375, "name": "Identifier", - "src": "5812:2:4" + "src": "5812:2:0" } ], - "id": 1404, + "id": 376, "name": "Assignment", - "src": "5804:10:4" + "src": "5804:10:0" } ], - "id": 1405, + "id": 377, "name": "ExpressionStatement", - "src": "5804:10:4" + "src": "5804:10:0" }, { "children": [ @@ -20168,13 +20168,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1383, + "referencedDeclaration": 355, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1406, + "id": 378, "name": "Identifier", - "src": "5824:2:4" + "src": "5824:2:0" }, { "attributes": { @@ -20189,14 +20189,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1407, + "id": 379, "name": "Literal", - "src": "5827:1:4" + "src": "5827:1:0" } ], - "id": 1408, + "id": 380, "name": "IndexAccess", - "src": "5824:5:4" + "src": "5824:5:0" }, { "attributes": { @@ -20204,23 +20204,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1373, + "referencedDeclaration": 345, "type": "struct Pairing.G1Point memory", "value": "b1" }, - "id": 1409, + "id": 381, "name": "Identifier", - "src": "5832:2:4" + "src": "5832:2:0" } ], - "id": 1410, + "id": 382, "name": "Assignment", - "src": "5824:10:4" + "src": "5824:10:0" } ], - "id": 1411, + "id": 383, "name": "ExpressionStatement", - "src": "5824:10:4" + "src": "5824:10:0" }, { "children": [ @@ -20251,13 +20251,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1393, + "referencedDeclaration": 365, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1412, + "id": 384, "name": "Identifier", - "src": "5844:2:4" + "src": "5844:2:0" }, { "attributes": { @@ -20272,14 +20272,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1413, + "id": 385, "name": "Literal", - "src": "5847:1:4" + "src": "5847:1:0" } ], - "id": 1414, + "id": 386, "name": "IndexAccess", - "src": "5844:5:4" + "src": "5844:5:0" }, { "attributes": { @@ -20287,23 +20287,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1371, + "referencedDeclaration": 343, "type": "struct Pairing.G2Point memory", "value": "a2" }, - "id": 1415, + "id": 387, "name": "Identifier", - "src": "5852:2:4" + "src": "5852:2:0" } ], - "id": 1416, + "id": 388, "name": "Assignment", - "src": "5844:10:4" + "src": "5844:10:0" } ], - "id": 1417, + "id": 389, "name": "ExpressionStatement", - "src": "5844:10:4" + "src": "5844:10:0" }, { "children": [ @@ -20334,13 +20334,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1393, + "referencedDeclaration": 365, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1418, + "id": 390, "name": "Identifier", - "src": "5864:2:4" + "src": "5864:2:0" }, { "attributes": { @@ -20355,14 +20355,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1419, + "id": 391, "name": "Literal", - "src": "5867:1:4" + "src": "5867:1:0" } ], - "id": 1420, + "id": 392, "name": "IndexAccess", - "src": "5864:5:4" + "src": "5864:5:0" }, { "attributes": { @@ -20370,27 +20370,27 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1375, + "referencedDeclaration": 347, "type": "struct Pairing.G2Point memory", "value": "b2" }, - "id": 1421, + "id": 393, "name": "Identifier", - "src": "5872:2:4" + "src": "5872:2:0" } ], - "id": 1422, + "id": 394, "name": "Assignment", - "src": "5864:10:4" + "src": "5864:10:0" } ], - "id": 1423, + "id": 395, "name": "ExpressionStatement", - "src": "5864:10:4" + "src": "5864:10:0" }, { "attributes": { - "functionReturnParameters": 1379 + "functionReturnParameters": 351 }, "children": [ { @@ -20412,24 +20412,24 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" }, { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } ], "overloadedDeclarations": [ null ], - "referencedDeclaration": 1367, + "referencedDeclaration": 339, "type": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)", "value": "pairing" }, - "id": 1424, + "id": 396, "name": "Identifier", - "src": "5891:7:4" + "src": "5891:7:0" }, { "attributes": { @@ -20437,13 +20437,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1383, + "referencedDeclaration": 355, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1425, + "id": 397, "name": "Identifier", - "src": "5899:2:4" + "src": "5899:2:0" }, { "attributes": { @@ -20451,33 +20451,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1393, + "referencedDeclaration": 365, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1426, + "id": 398, "name": "Identifier", - "src": "5903:2:4" + "src": "5903:2:0" } ], - "id": 1427, + "id": 399, "name": "FunctionCall", - "src": "5891:15:4" + "src": "5891:15:0" } ], - "id": 1428, + "id": 400, "name": "Return", - "src": "5884:22:4" + "src": "5884:22:0" } ], - "id": 1429, + "id": 401, "name": "Block", - "src": "5698:215:4" + "src": "5698:215:0" } ], - "id": 1430, + "id": 402, "name": "FunctionDefinition", - "src": "5571:342:4" + "src": "5571:342:0" }, { "attributes": { @@ -20489,7 +20489,7 @@ null ], "name": "pairingProd3", - "scope": 1605, + "scope": 577, "stateMutability": "view", "superFunction": null, "visibility": "internal" @@ -20501,7 +20501,7 @@ "attributes": { "constant": false, "name": "a1", - "scope": 1509, + "scope": 481, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -20513,23 +20513,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1431, + "id": 403, "name": "UserDefinedTypeName", - "src": "6017:7:4" + "src": "6017:7:0" } ], - "id": 1432, + "id": 404, "name": "VariableDeclaration", - "src": "6017:17:4" + "src": "6017:17:0" }, { "attributes": { "constant": false, "name": "a2", - "scope": 1509, + "scope": 481, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -20541,23 +20541,23 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1433, + "id": 405, "name": "UserDefinedTypeName", - "src": "6036:7:4" + "src": "6036:7:0" } ], - "id": 1434, + "id": 406, "name": "VariableDeclaration", - "src": "6036:17:4" + "src": "6036:17:0" }, { "attributes": { "constant": false, "name": "b1", - "scope": 1509, + "scope": 481, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -20569,23 +20569,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1435, + "id": 407, "name": "UserDefinedTypeName", - "src": "6067:7:4" + "src": "6067:7:0" } ], - "id": 1436, + "id": 408, "name": "VariableDeclaration", - "src": "6067:17:4" + "src": "6067:17:0" }, { "attributes": { "constant": false, "name": "b2", - "scope": 1509, + "scope": 481, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -20597,23 +20597,23 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1437, + "id": 409, "name": "UserDefinedTypeName", - "src": "6086:7:4" + "src": "6086:7:0" } ], - "id": 1438, + "id": 410, "name": "VariableDeclaration", - "src": "6086:17:4" + "src": "6086:17:0" }, { "attributes": { "constant": false, "name": "c1", - "scope": 1509, + "scope": 481, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -20625,23 +20625,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1439, + "id": 411, "name": "UserDefinedTypeName", - "src": "6117:7:4" + "src": "6117:7:0" } ], - "id": 1440, + "id": 412, "name": "VariableDeclaration", - "src": "6117:17:4" + "src": "6117:17:0" }, { "attributes": { "constant": false, "name": "c2", - "scope": 1509, + "scope": 481, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -20653,22 +20653,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1441, + "id": 413, "name": "UserDefinedTypeName", - "src": "6136:7:4" + "src": "6136:7:0" } ], - "id": 1442, + "id": 414, "name": "VariableDeclaration", - "src": "6136:17:4" + "src": "6136:17:0" } ], - "id": 1443, + "id": 415, "name": "ParameterList", - "src": "6003:156:4" + "src": "6003:156:0" }, { "children": [ @@ -20676,7 +20676,7 @@ "attributes": { "constant": false, "name": "", - "scope": 1509, + "scope": 481, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -20689,26 +20689,26 @@ "name": "bool", "type": "bool" }, - "id": 1444, + "id": 416, "name": "ElementaryTypeName", - "src": "6183:4:4" + "src": "6183:4:0" } ], - "id": 1445, + "id": 417, "name": "VariableDeclaration", - "src": "6183:4:4" + "src": "6183:4:0" } ], - "id": 1446, + "id": 418, "name": "ParameterList", - "src": "6182:6:4" + "src": "6182:6:0" }, { "children": [ { "attributes": { "assignments": [ - 1450 + 422 ] }, "children": [ @@ -20716,7 +20716,7 @@ "attributes": { "constant": false, "name": "p1", - "scope": 1508, + "scope": 480, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point[]", @@ -20734,22 +20734,22 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1448, + "id": 420, "name": "UserDefinedTypeName", - "src": "6199:7:4" + "src": "6199:7:0" } ], - "id": 1449, + "id": 421, "name": "ArrayTypeName", - "src": "6199:9:4" + "src": "6199:9:0" } ], - "id": 1450, + "id": 422, "name": "VariableDeclaration", - "src": "6199:19:4" + "src": "6199:19:0" }, { "attributes": { @@ -20791,22 +20791,22 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1451, + "id": 423, "name": "UserDefinedTypeName", - "src": "6225:7:4" + "src": "6225:7:0" } ], - "id": 1452, + "id": 424, "name": "ArrayTypeName", - "src": "6225:9:4" + "src": "6225:9:0" } ], - "id": 1453, + "id": 425, "name": "NewExpression", - "src": "6221:13:4" + "src": "6221:13:0" }, { "attributes": { @@ -20821,24 +20821,24 @@ "type": "int_const 3", "value": "3" }, - "id": 1454, + "id": 426, "name": "Literal", - "src": "6235:1:4" + "src": "6235:1:0" } ], - "id": 1455, + "id": 427, "name": "FunctionCall", - "src": "6221:16:4" + "src": "6221:16:0" } ], - "id": 1456, + "id": 428, "name": "VariableDeclarationStatement", - "src": "6199:38:4" + "src": "6199:38:0" }, { "attributes": { "assignments": [ - 1460 + 432 ] }, "children": [ @@ -20846,7 +20846,7 @@ "attributes": { "constant": false, "name": "p2", - "scope": 1508, + "scope": 480, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point[]", @@ -20864,22 +20864,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1458, + "id": 430, "name": "UserDefinedTypeName", - "src": "6247:7:4" + "src": "6247:7:0" } ], - "id": 1459, + "id": 431, "name": "ArrayTypeName", - "src": "6247:9:4" + "src": "6247:9:0" } ], - "id": 1460, + "id": 432, "name": "VariableDeclaration", - "src": "6247:19:4" + "src": "6247:19:0" }, { "attributes": { @@ -20921,22 +20921,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1461, + "id": 433, "name": "UserDefinedTypeName", - "src": "6273:7:4" + "src": "6273:7:0" } ], - "id": 1462, + "id": 434, "name": "ArrayTypeName", - "src": "6273:9:4" + "src": "6273:9:0" } ], - "id": 1463, + "id": 435, "name": "NewExpression", - "src": "6269:13:4" + "src": "6269:13:0" }, { "attributes": { @@ -20951,19 +20951,19 @@ "type": "int_const 3", "value": "3" }, - "id": 1464, + "id": 436, "name": "Literal", - "src": "6283:1:4" + "src": "6283:1:0" } ], - "id": 1465, + "id": 437, "name": "FunctionCall", - "src": "6269:16:4" + "src": "6269:16:0" } ], - "id": 1466, + "id": 438, "name": "VariableDeclarationStatement", - "src": "6247:38:4" + "src": "6247:38:0" }, { "children": [ @@ -20994,13 +20994,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1450, + "referencedDeclaration": 422, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1467, + "id": 439, "name": "Identifier", - "src": "6295:2:4" + "src": "6295:2:0" }, { "attributes": { @@ -21015,14 +21015,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1468, + "id": 440, "name": "Literal", - "src": "6298:1:4" + "src": "6298:1:0" } ], - "id": 1469, + "id": 441, "name": "IndexAccess", - "src": "6295:5:4" + "src": "6295:5:0" }, { "attributes": { @@ -21030,23 +21030,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1432, + "referencedDeclaration": 404, "type": "struct Pairing.G1Point memory", "value": "a1" }, - "id": 1470, + "id": 442, "name": "Identifier", - "src": "6303:2:4" + "src": "6303:2:0" } ], - "id": 1471, + "id": 443, "name": "Assignment", - "src": "6295:10:4" + "src": "6295:10:0" } ], - "id": 1472, + "id": 444, "name": "ExpressionStatement", - "src": "6295:10:4" + "src": "6295:10:0" }, { "children": [ @@ -21077,13 +21077,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1450, + "referencedDeclaration": 422, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1473, + "id": 445, "name": "Identifier", - "src": "6315:2:4" + "src": "6315:2:0" }, { "attributes": { @@ -21098,14 +21098,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1474, + "id": 446, "name": "Literal", - "src": "6318:1:4" + "src": "6318:1:0" } ], - "id": 1475, + "id": 447, "name": "IndexAccess", - "src": "6315:5:4" + "src": "6315:5:0" }, { "attributes": { @@ -21113,23 +21113,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1436, + "referencedDeclaration": 408, "type": "struct Pairing.G1Point memory", "value": "b1" }, - "id": 1476, + "id": 448, "name": "Identifier", - "src": "6323:2:4" + "src": "6323:2:0" } ], - "id": 1477, + "id": 449, "name": "Assignment", - "src": "6315:10:4" + "src": "6315:10:0" } ], - "id": 1478, + "id": 450, "name": "ExpressionStatement", - "src": "6315:10:4" + "src": "6315:10:0" }, { "children": [ @@ -21160,13 +21160,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1450, + "referencedDeclaration": 422, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1479, + "id": 451, "name": "Identifier", - "src": "6335:2:4" + "src": "6335:2:0" }, { "attributes": { @@ -21181,14 +21181,14 @@ "type": "int_const 2", "value": "2" }, - "id": 1480, + "id": 452, "name": "Literal", - "src": "6338:1:4" + "src": "6338:1:0" } ], - "id": 1481, + "id": 453, "name": "IndexAccess", - "src": "6335:5:4" + "src": "6335:5:0" }, { "attributes": { @@ -21196,23 +21196,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1440, + "referencedDeclaration": 412, "type": "struct Pairing.G1Point memory", "value": "c1" }, - "id": 1482, + "id": 454, "name": "Identifier", - "src": "6343:2:4" + "src": "6343:2:0" } ], - "id": 1483, + "id": 455, "name": "Assignment", - "src": "6335:10:4" + "src": "6335:10:0" } ], - "id": 1484, + "id": 456, "name": "ExpressionStatement", - "src": "6335:10:4" + "src": "6335:10:0" }, { "children": [ @@ -21243,13 +21243,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1460, + "referencedDeclaration": 432, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1485, + "id": 457, "name": "Identifier", - "src": "6355:2:4" + "src": "6355:2:0" }, { "attributes": { @@ -21264,14 +21264,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1486, + "id": 458, "name": "Literal", - "src": "6358:1:4" + "src": "6358:1:0" } ], - "id": 1487, + "id": 459, "name": "IndexAccess", - "src": "6355:5:4" + "src": "6355:5:0" }, { "attributes": { @@ -21279,23 +21279,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1434, + "referencedDeclaration": 406, "type": "struct Pairing.G2Point memory", "value": "a2" }, - "id": 1488, + "id": 460, "name": "Identifier", - "src": "6363:2:4" + "src": "6363:2:0" } ], - "id": 1489, + "id": 461, "name": "Assignment", - "src": "6355:10:4" + "src": "6355:10:0" } ], - "id": 1490, + "id": 462, "name": "ExpressionStatement", - "src": "6355:10:4" + "src": "6355:10:0" }, { "children": [ @@ -21326,13 +21326,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1460, + "referencedDeclaration": 432, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1491, + "id": 463, "name": "Identifier", - "src": "6375:2:4" + "src": "6375:2:0" }, { "attributes": { @@ -21347,14 +21347,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1492, + "id": 464, "name": "Literal", - "src": "6378:1:4" + "src": "6378:1:0" } ], - "id": 1493, + "id": 465, "name": "IndexAccess", - "src": "6375:5:4" + "src": "6375:5:0" }, { "attributes": { @@ -21362,23 +21362,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1438, + "referencedDeclaration": 410, "type": "struct Pairing.G2Point memory", "value": "b2" }, - "id": 1494, + "id": 466, "name": "Identifier", - "src": "6383:2:4" + "src": "6383:2:0" } ], - "id": 1495, + "id": 467, "name": "Assignment", - "src": "6375:10:4" + "src": "6375:10:0" } ], - "id": 1496, + "id": 468, "name": "ExpressionStatement", - "src": "6375:10:4" + "src": "6375:10:0" }, { "children": [ @@ -21409,13 +21409,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1460, + "referencedDeclaration": 432, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1497, + "id": 469, "name": "Identifier", - "src": "6395:2:4" + "src": "6395:2:0" }, { "attributes": { @@ -21430,14 +21430,14 @@ "type": "int_const 2", "value": "2" }, - "id": 1498, + "id": 470, "name": "Literal", - "src": "6398:1:4" + "src": "6398:1:0" } ], - "id": 1499, + "id": 471, "name": "IndexAccess", - "src": "6395:5:4" + "src": "6395:5:0" }, { "attributes": { @@ -21445,27 +21445,27 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1442, + "referencedDeclaration": 414, "type": "struct Pairing.G2Point memory", "value": "c2" }, - "id": 1500, + "id": 472, "name": "Identifier", - "src": "6403:2:4" + "src": "6403:2:0" } ], - "id": 1501, + "id": 473, "name": "Assignment", - "src": "6395:10:4" + "src": "6395:10:0" } ], - "id": 1502, + "id": 474, "name": "ExpressionStatement", - "src": "6395:10:4" + "src": "6395:10:0" }, { "attributes": { - "functionReturnParameters": 1446 + "functionReturnParameters": 418 }, "children": [ { @@ -21487,24 +21487,24 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" }, { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } ], "overloadedDeclarations": [ null ], - "referencedDeclaration": 1367, + "referencedDeclaration": 339, "type": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)", "value": "pairing" }, - "id": 1503, + "id": 475, "name": "Identifier", - "src": "6422:7:4" + "src": "6422:7:0" }, { "attributes": { @@ -21512,13 +21512,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1450, + "referencedDeclaration": 422, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1504, + "id": 476, "name": "Identifier", - "src": "6430:2:4" + "src": "6430:2:0" }, { "attributes": { @@ -21526,33 +21526,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1460, + "referencedDeclaration": 432, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1505, + "id": 477, "name": "Identifier", - "src": "6434:2:4" + "src": "6434:2:0" } ], - "id": 1506, + "id": 478, "name": "FunctionCall", - "src": "6422:15:4" + "src": "6422:15:0" } ], - "id": 1507, + "id": 479, "name": "Return", - "src": "6415:22:4" + "src": "6415:22:0" } ], - "id": 1508, + "id": 480, "name": "Block", - "src": "6189:255:4" + "src": "6189:255:0" } ], - "id": 1509, + "id": 481, "name": "FunctionDefinition", - "src": "5982:462:4" + "src": "5982:462:0" }, { "attributes": { @@ -21564,7 +21564,7 @@ null ], "name": "pairingProd4", - "scope": 1605, + "scope": 577, "stateMutability": "view", "superFunction": null, "visibility": "internal" @@ -21576,7 +21576,7 @@ "attributes": { "constant": false, "name": "a1", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -21588,23 +21588,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1510, + "id": 482, "name": "UserDefinedTypeName", - "src": "6547:7:4" + "src": "6547:7:0" } ], - "id": 1511, + "id": 483, "name": "VariableDeclaration", - "src": "6547:17:4" + "src": "6547:17:0" }, { "attributes": { "constant": false, "name": "a2", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -21616,23 +21616,23 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1512, + "id": 484, "name": "UserDefinedTypeName", - "src": "6566:7:4" + "src": "6566:7:0" } ], - "id": 1513, + "id": 485, "name": "VariableDeclaration", - "src": "6566:17:4" + "src": "6566:17:0" }, { "attributes": { "constant": false, "name": "b1", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -21644,23 +21644,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1514, + "id": 486, "name": "UserDefinedTypeName", - "src": "6597:7:4" + "src": "6597:7:0" } ], - "id": 1515, + "id": 487, "name": "VariableDeclaration", - "src": "6597:17:4" + "src": "6597:17:0" }, { "attributes": { "constant": false, "name": "b2", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -21672,23 +21672,23 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1516, + "id": 488, "name": "UserDefinedTypeName", - "src": "6616:7:4" + "src": "6616:7:0" } ], - "id": 1517, + "id": 489, "name": "VariableDeclaration", - "src": "6616:17:4" + "src": "6616:17:0" }, { "attributes": { "constant": false, "name": "c1", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -21700,23 +21700,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1518, + "id": 490, "name": "UserDefinedTypeName", - "src": "6647:7:4" + "src": "6647:7:0" } ], - "id": 1519, + "id": 491, "name": "VariableDeclaration", - "src": "6647:17:4" + "src": "6647:17:0" }, { "attributes": { "constant": false, "name": "c2", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -21728,23 +21728,23 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1520, + "id": 492, "name": "UserDefinedTypeName", - "src": "6666:7:4" + "src": "6666:7:0" } ], - "id": 1521, + "id": 493, "name": "VariableDeclaration", - "src": "6666:17:4" + "src": "6666:17:0" }, { "attributes": { "constant": false, "name": "d1", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -21756,23 +21756,23 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1522, + "id": 494, "name": "UserDefinedTypeName", - "src": "6697:7:4" + "src": "6697:7:0" } ], - "id": 1523, + "id": 495, "name": "VariableDeclaration", - "src": "6697:17:4" + "src": "6697:17:0" }, { "attributes": { "constant": false, "name": "d2", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point", @@ -21784,22 +21784,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1524, + "id": 496, "name": "UserDefinedTypeName", - "src": "6716:7:4" + "src": "6716:7:0" } ], - "id": 1525, + "id": 497, "name": "VariableDeclaration", - "src": "6716:17:4" + "src": "6716:17:0" } ], - "id": 1526, + "id": 498, "name": "ParameterList", - "src": "6533:206:4" + "src": "6533:206:0" }, { "children": [ @@ -21807,7 +21807,7 @@ "attributes": { "constant": false, "name": "", - "scope": 1604, + "scope": 576, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -21820,26 +21820,26 @@ "name": "bool", "type": "bool" }, - "id": 1527, + "id": 499, "name": "ElementaryTypeName", - "src": "6763:4:4" + "src": "6763:4:0" } ], - "id": 1528, + "id": 500, "name": "VariableDeclaration", - "src": "6763:4:4" + "src": "6763:4:0" } ], - "id": 1529, + "id": 501, "name": "ParameterList", - "src": "6762:6:4" + "src": "6762:6:0" }, { "children": [ { "attributes": { "assignments": [ - 1533 + 505 ] }, "children": [ @@ -21847,7 +21847,7 @@ "attributes": { "constant": false, "name": "p1", - "scope": 1603, + "scope": 575, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point[]", @@ -21865,22 +21865,22 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1531, + "id": 503, "name": "UserDefinedTypeName", - "src": "6779:7:4" + "src": "6779:7:0" } ], - "id": 1532, + "id": 504, "name": "ArrayTypeName", - "src": "6779:9:4" + "src": "6779:9:0" } ], - "id": 1533, + "id": 505, "name": "VariableDeclaration", - "src": "6779:19:4" + "src": "6779:19:0" }, { "attributes": { @@ -21922,22 +21922,22 @@ "attributes": { "contractScope": null, "name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1534, + "id": 506, "name": "UserDefinedTypeName", - "src": "6805:7:4" + "src": "6805:7:0" } ], - "id": 1535, + "id": 507, "name": "ArrayTypeName", - "src": "6805:9:4" + "src": "6805:9:0" } ], - "id": 1536, + "id": 508, "name": "NewExpression", - "src": "6801:13:4" + "src": "6801:13:0" }, { "attributes": { @@ -21952,24 +21952,24 @@ "type": "int_const 4", "value": "4" }, - "id": 1537, + "id": 509, "name": "Literal", - "src": "6815:1:4" + "src": "6815:1:0" } ], - "id": 1538, + "id": 510, "name": "FunctionCall", - "src": "6801:16:4" + "src": "6801:16:0" } ], - "id": 1539, + "id": 511, "name": "VariableDeclarationStatement", - "src": "6779:38:4" + "src": "6779:38:0" }, { "attributes": { "assignments": [ - 1543 + 515 ] }, "children": [ @@ -21977,7 +21977,7 @@ "attributes": { "constant": false, "name": "p2", - "scope": 1603, + "scope": 575, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G2Point[]", @@ -21995,22 +21995,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1541, + "id": 513, "name": "UserDefinedTypeName", - "src": "6827:7:4" + "src": "6827:7:0" } ], - "id": 1542, + "id": 514, "name": "ArrayTypeName", - "src": "6827:9:4" + "src": "6827:9:0" } ], - "id": 1543, + "id": 515, "name": "VariableDeclaration", - "src": "6827:19:4" + "src": "6827:19:0" }, { "attributes": { @@ -22052,22 +22052,22 @@ "attributes": { "contractScope": null, "name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1544, + "id": 516, "name": "UserDefinedTypeName", - "src": "6853:7:4" + "src": "6853:7:0" } ], - "id": 1545, + "id": 517, "name": "ArrayTypeName", - "src": "6853:9:4" + "src": "6853:9:0" } ], - "id": 1546, + "id": 518, "name": "NewExpression", - "src": "6849:13:4" + "src": "6849:13:0" }, { "attributes": { @@ -22082,19 +22082,19 @@ "type": "int_const 4", "value": "4" }, - "id": 1547, + "id": 519, "name": "Literal", - "src": "6863:1:4" + "src": "6863:1:0" } ], - "id": 1548, + "id": 520, "name": "FunctionCall", - "src": "6849:16:4" + "src": "6849:16:0" } ], - "id": 1549, + "id": 521, "name": "VariableDeclarationStatement", - "src": "6827:38:4" + "src": "6827:38:0" }, { "children": [ @@ -22125,13 +22125,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1533, + "referencedDeclaration": 505, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1550, + "id": 522, "name": "Identifier", - "src": "6875:2:4" + "src": "6875:2:0" }, { "attributes": { @@ -22146,14 +22146,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1551, + "id": 523, "name": "Literal", - "src": "6878:1:4" + "src": "6878:1:0" } ], - "id": 1552, + "id": 524, "name": "IndexAccess", - "src": "6875:5:4" + "src": "6875:5:0" }, { "attributes": { @@ -22161,23 +22161,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1511, + "referencedDeclaration": 483, "type": "struct Pairing.G1Point memory", "value": "a1" }, - "id": 1553, + "id": 525, "name": "Identifier", - "src": "6883:2:4" + "src": "6883:2:0" } ], - "id": 1554, + "id": 526, "name": "Assignment", - "src": "6875:10:4" + "src": "6875:10:0" } ], - "id": 1555, + "id": 527, "name": "ExpressionStatement", - "src": "6875:10:4" + "src": "6875:10:0" }, { "children": [ @@ -22208,13 +22208,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1533, + "referencedDeclaration": 505, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1556, + "id": 528, "name": "Identifier", - "src": "6895:2:4" + "src": "6895:2:0" }, { "attributes": { @@ -22229,14 +22229,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1557, + "id": 529, "name": "Literal", - "src": "6898:1:4" + "src": "6898:1:0" } ], - "id": 1558, + "id": 530, "name": "IndexAccess", - "src": "6895:5:4" + "src": "6895:5:0" }, { "attributes": { @@ -22244,23 +22244,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1515, + "referencedDeclaration": 487, "type": "struct Pairing.G1Point memory", "value": "b1" }, - "id": 1559, + "id": 531, "name": "Identifier", - "src": "6903:2:4" + "src": "6903:2:0" } ], - "id": 1560, + "id": 532, "name": "Assignment", - "src": "6895:10:4" + "src": "6895:10:0" } ], - "id": 1561, + "id": 533, "name": "ExpressionStatement", - "src": "6895:10:4" + "src": "6895:10:0" }, { "children": [ @@ -22291,13 +22291,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1533, + "referencedDeclaration": 505, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1562, + "id": 534, "name": "Identifier", - "src": "6915:2:4" + "src": "6915:2:0" }, { "attributes": { @@ -22312,14 +22312,14 @@ "type": "int_const 2", "value": "2" }, - "id": 1563, + "id": 535, "name": "Literal", - "src": "6918:1:4" + "src": "6918:1:0" } ], - "id": 1564, + "id": 536, "name": "IndexAccess", - "src": "6915:5:4" + "src": "6915:5:0" }, { "attributes": { @@ -22327,23 +22327,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1519, + "referencedDeclaration": 491, "type": "struct Pairing.G1Point memory", "value": "c1" }, - "id": 1565, + "id": 537, "name": "Identifier", - "src": "6923:2:4" + "src": "6923:2:0" } ], - "id": 1566, + "id": 538, "name": "Assignment", - "src": "6915:10:4" + "src": "6915:10:0" } ], - "id": 1567, + "id": 539, "name": "ExpressionStatement", - "src": "6915:10:4" + "src": "6915:10:0" }, { "children": [ @@ -22374,13 +22374,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1533, + "referencedDeclaration": 505, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1568, + "id": 540, "name": "Identifier", - "src": "6935:2:4" + "src": "6935:2:0" }, { "attributes": { @@ -22395,14 +22395,14 @@ "type": "int_const 3", "value": "3" }, - "id": 1569, + "id": 541, "name": "Literal", - "src": "6938:1:4" + "src": "6938:1:0" } ], - "id": 1570, + "id": 542, "name": "IndexAccess", - "src": "6935:5:4" + "src": "6935:5:0" }, { "attributes": { @@ -22410,23 +22410,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1523, + "referencedDeclaration": 495, "type": "struct Pairing.G1Point memory", "value": "d1" }, - "id": 1571, + "id": 543, "name": "Identifier", - "src": "6943:2:4" + "src": "6943:2:0" } ], - "id": 1572, + "id": 544, "name": "Assignment", - "src": "6935:10:4" + "src": "6935:10:0" } ], - "id": 1573, + "id": 545, "name": "ExpressionStatement", - "src": "6935:10:4" + "src": "6935:10:0" }, { "children": [ @@ -22457,13 +22457,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1543, + "referencedDeclaration": 515, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1574, + "id": 546, "name": "Identifier", - "src": "6955:2:4" + "src": "6955:2:0" }, { "attributes": { @@ -22478,14 +22478,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1575, + "id": 547, "name": "Literal", - "src": "6958:1:4" + "src": "6958:1:0" } ], - "id": 1576, + "id": 548, "name": "IndexAccess", - "src": "6955:5:4" + "src": "6955:5:0" }, { "attributes": { @@ -22493,23 +22493,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1513, + "referencedDeclaration": 485, "type": "struct Pairing.G2Point memory", "value": "a2" }, - "id": 1577, + "id": 549, "name": "Identifier", - "src": "6963:2:4" + "src": "6963:2:0" } ], - "id": 1578, + "id": 550, "name": "Assignment", - "src": "6955:10:4" + "src": "6955:10:0" } ], - "id": 1579, + "id": 551, "name": "ExpressionStatement", - "src": "6955:10:4" + "src": "6955:10:0" }, { "children": [ @@ -22540,13 +22540,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1543, + "referencedDeclaration": 515, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1580, + "id": 552, "name": "Identifier", - "src": "6975:2:4" + "src": "6975:2:0" }, { "attributes": { @@ -22561,14 +22561,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1581, + "id": 553, "name": "Literal", - "src": "6978:1:4" + "src": "6978:1:0" } ], - "id": 1582, + "id": 554, "name": "IndexAccess", - "src": "6975:5:4" + "src": "6975:5:0" }, { "attributes": { @@ -22576,23 +22576,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1517, + "referencedDeclaration": 489, "type": "struct Pairing.G2Point memory", "value": "b2" }, - "id": 1583, + "id": 555, "name": "Identifier", - "src": "6983:2:4" + "src": "6983:2:0" } ], - "id": 1584, + "id": 556, "name": "Assignment", - "src": "6975:10:4" + "src": "6975:10:0" } ], - "id": 1585, + "id": 557, "name": "ExpressionStatement", - "src": "6975:10:4" + "src": "6975:10:0" }, { "children": [ @@ -22623,13 +22623,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1543, + "referencedDeclaration": 515, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1586, + "id": 558, "name": "Identifier", - "src": "6995:2:4" + "src": "6995:2:0" }, { "attributes": { @@ -22644,14 +22644,14 @@ "type": "int_const 2", "value": "2" }, - "id": 1587, + "id": 559, "name": "Literal", - "src": "6998:1:4" + "src": "6998:1:0" } ], - "id": 1588, + "id": 560, "name": "IndexAccess", - "src": "6995:5:4" + "src": "6995:5:0" }, { "attributes": { @@ -22659,23 +22659,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1521, + "referencedDeclaration": 493, "type": "struct Pairing.G2Point memory", "value": "c2" }, - "id": 1589, + "id": 561, "name": "Identifier", - "src": "7003:2:4" + "src": "7003:2:0" } ], - "id": 1590, + "id": 562, "name": "Assignment", - "src": "6995:10:4" + "src": "6995:10:0" } ], - "id": 1591, + "id": 563, "name": "ExpressionStatement", - "src": "6995:10:4" + "src": "6995:10:0" }, { "children": [ @@ -22706,13 +22706,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1543, + "referencedDeclaration": 515, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1592, + "id": 564, "name": "Identifier", - "src": "7015:2:4" + "src": "7015:2:0" }, { "attributes": { @@ -22727,14 +22727,14 @@ "type": "int_const 3", "value": "3" }, - "id": 1593, + "id": 565, "name": "Literal", - "src": "7018:1:4" + "src": "7018:1:0" } ], - "id": 1594, + "id": 566, "name": "IndexAccess", - "src": "7015:5:4" + "src": "7015:5:0" }, { "attributes": { @@ -22742,27 +22742,27 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1525, + "referencedDeclaration": 497, "type": "struct Pairing.G2Point memory", "value": "d2" }, - "id": 1595, + "id": 567, "name": "Identifier", - "src": "7023:2:4" + "src": "7023:2:0" } ], - "id": 1596, + "id": 568, "name": "Assignment", - "src": "7015:10:4" + "src": "7015:10:0" } ], - "id": 1597, + "id": 569, "name": "ExpressionStatement", - "src": "7015:10:4" + "src": "7015:10:0" }, { "attributes": { - "functionReturnParameters": 1529 + "functionReturnParameters": 501 }, "children": [ { @@ -22784,24 +22784,24 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_array$_t_struct$_G1Point_$1034_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G1Point_$6_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G1Point memory[] memory" }, { - "typeIdentifier": "t_array$_t_struct$_G2Point_$1043_memory_$dyn_memory_ptr", + "typeIdentifier": "t_array$_t_struct$_G2Point_$15_memory_$dyn_memory_ptr", "typeString": "struct Pairing.G2Point memory[] memory" } ], "overloadedDeclarations": [ null ], - "referencedDeclaration": 1367, + "referencedDeclaration": 339, "type": "function (struct Pairing.G1Point memory[] memory,struct Pairing.G2Point memory[] memory) view returns (bool)", "value": "pairing" }, - "id": 1598, + "id": 570, "name": "Identifier", - "src": "7042:7:4" + "src": "7042:7:0" }, { "attributes": { @@ -22809,13 +22809,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1533, + "referencedDeclaration": 505, "type": "struct Pairing.G1Point memory[] memory", "value": "p1" }, - "id": 1599, + "id": 571, "name": "Identifier", - "src": "7050:2:4" + "src": "7050:2:0" }, { "attributes": { @@ -22823,38 +22823,38 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1543, + "referencedDeclaration": 515, "type": "struct Pairing.G2Point memory[] memory", "value": "p2" }, - "id": 1600, + "id": 572, "name": "Identifier", - "src": "7054:2:4" + "src": "7054:2:0" } ], - "id": 1601, + "id": 573, "name": "FunctionCall", - "src": "7042:15:4" + "src": "7042:15:0" } ], - "id": 1602, + "id": 574, "name": "Return", - "src": "7035:22:4" + "src": "7035:22:0" } ], - "id": 1603, + "id": 575, "name": "Block", - "src": "6769:295:4" + "src": "6769:295:0" } ], - "id": 1604, + "id": 576, "name": "FunctionDefinition", - "src": "6512:552:4" + "src": "6512:552:0" } ], - "id": 1605, + "id": 577, "name": "ContractDefinition", - "src": "1217:5849:4" + "src": "1217:5849:0" }, { "attributes": { @@ -22868,10 +22868,10 @@ "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ - 2086 + 1058 ], "name": "Verifier", - "scope": 2087 + "scope": 1059 }, "children": [ { @@ -22883,23 +22883,23 @@ "attributes": { "contractScope": null, "name": "Pairing", - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "library Pairing" }, - "id": 1606, + "id": 578, "name": "UserDefinedTypeName", - "src": "7097:7:4" + "src": "7097:7:0" } ], - "id": 1607, + "id": 579, "name": "UsingForDirective", - "src": "7091:20:4" + "src": "7091:20:0" }, { "attributes": { "canonicalName": "Verifier.VerifyingKey", "name": "VerifyingKey", - "scope": 2086, + "scope": 1058, "visibility": "public" }, "children": [ @@ -22907,7 +22907,7 @@ "attributes": { "constant": false, "name": "alfa1", - "scope": 1619, + "scope": 591, "stateVariable": false, "storageLocation": "default", "type": "struct Pairing.G1Point", @@ -22919,23 +22919,23 @@ "attributes": { "contractScope": null, "name": "Pairing.G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1608, + "id": 580, "name": "UserDefinedTypeName", - "src": "7146:15:4" + "src": "7146:15:0" } ], - "id": 1609, + "id": 581, "name": "VariableDeclaration", - "src": "7146:21:4" + "src": "7146:21:0" }, { "attributes": { "constant": false, "name": "beta2", - "scope": 1619, + "scope": 591, "stateVariable": false, "storageLocation": "default", "type": "struct Pairing.G2Point", @@ -22947,23 +22947,23 @@ "attributes": { "contractScope": null, "name": "Pairing.G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1610, + "id": 582, "name": "UserDefinedTypeName", - "src": "7177:15:4" + "src": "7177:15:0" } ], - "id": 1611, + "id": 583, "name": "VariableDeclaration", - "src": "7177:21:4" + "src": "7177:21:0" }, { "attributes": { "constant": false, "name": "gamma2", - "scope": 1619, + "scope": 591, "stateVariable": false, "storageLocation": "default", "type": "struct Pairing.G2Point", @@ -22975,23 +22975,23 @@ "attributes": { "contractScope": null, "name": "Pairing.G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1612, + "id": 584, "name": "UserDefinedTypeName", - "src": "7208:15:4" + "src": "7208:15:0" } ], - "id": 1613, + "id": 585, "name": "VariableDeclaration", - "src": "7208:22:4" + "src": "7208:22:0" }, { "attributes": { "constant": false, "name": "delta2", - "scope": 1619, + "scope": 591, "stateVariable": false, "storageLocation": "default", "type": "struct Pairing.G2Point", @@ -23003,23 +23003,23 @@ "attributes": { "contractScope": null, "name": "Pairing.G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1614, + "id": 586, "name": "UserDefinedTypeName", - "src": "7240:15:4" + "src": "7240:15:0" } ], - "id": 1615, + "id": 587, "name": "VariableDeclaration", - "src": "7240:22:4" + "src": "7240:22:0" }, { "attributes": { "constant": false, "name": "IC", - "scope": 1619, + "scope": 591, "stateVariable": false, "storageLocation": "default", "type": "struct Pairing.G1Point[]", @@ -23037,33 +23037,33 @@ "attributes": { "contractScope": null, "name": "Pairing.G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1616, + "id": 588, "name": "UserDefinedTypeName", - "src": "7272:15:4" + "src": "7272:15:0" } ], - "id": 1617, + "id": 589, "name": "ArrayTypeName", - "src": "7272:17:4" + "src": "7272:17:0" } ], - "id": 1618, + "id": 590, "name": "VariableDeclaration", - "src": "7272:20:4" + "src": "7272:20:0" } ], - "id": 1619, + "id": 591, "name": "StructDefinition", - "src": "7116:183:4" + "src": "7116:183:0" }, { "attributes": { "canonicalName": "Verifier.Proof", "name": "Proof", - "scope": 2086, + "scope": 1058, "visibility": "public" }, "children": [ @@ -23071,7 +23071,7 @@ "attributes": { "constant": false, "name": "A", - "scope": 1626, + "scope": 598, "stateVariable": false, "storageLocation": "default", "type": "struct Pairing.G1Point", @@ -23083,23 +23083,23 @@ "attributes": { "contractScope": null, "name": "Pairing.G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1620, + "id": 592, "name": "UserDefinedTypeName", - "src": "7327:15:4" + "src": "7327:15:0" } ], - "id": 1621, + "id": 593, "name": "VariableDeclaration", - "src": "7327:17:4" + "src": "7327:17:0" }, { "attributes": { "constant": false, "name": "B", - "scope": 1626, + "scope": 598, "stateVariable": false, "storageLocation": "default", "type": "struct Pairing.G2Point", @@ -23111,23 +23111,23 @@ "attributes": { "contractScope": null, "name": "Pairing.G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "struct Pairing.G2Point" }, - "id": 1622, + "id": 594, "name": "UserDefinedTypeName", - "src": "7354:15:4" + "src": "7354:15:0" } ], - "id": 1623, + "id": 595, "name": "VariableDeclaration", - "src": "7354:17:4" + "src": "7354:17:0" }, { "attributes": { "constant": false, "name": "C", - "scope": 1626, + "scope": 598, "stateVariable": false, "storageLocation": "default", "type": "struct Pairing.G1Point", @@ -23139,22 +23139,22 @@ "attributes": { "contractScope": null, "name": "Pairing.G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1624, + "id": 596, "name": "UserDefinedTypeName", - "src": "7381:15:4" + "src": "7381:15:0" } ], - "id": 1625, + "id": 597, "name": "VariableDeclaration", - "src": "7381:17:4" + "src": "7381:17:0" } ], - "id": 1626, + "id": 598, "name": "StructDefinition", - "src": "7304:101:4" + "src": "7304:101:0" }, { "attributes": { @@ -23166,7 +23166,7 @@ null ], "name": "verifyingKey", - "scope": 2086, + "scope": 1058, "stateMutability": "pure", "superFunction": null, "visibility": "internal" @@ -23179,9 +23179,9 @@ ] }, "children": [], - "id": 1627, + "id": 599, "name": "ParameterList", - "src": "7431:2:4" + "src": "7431:2:0" }, { "children": [ @@ -23189,7 +23189,7 @@ "attributes": { "constant": false, "name": "vk", - "scope": 1778, + "scope": 750, "stateVariable": false, "storageLocation": "memory", "type": "struct Verifier.VerifyingKey", @@ -23201,22 +23201,22 @@ "attributes": { "contractScope": null, "name": "VerifyingKey", - "referencedDeclaration": 1619, + "referencedDeclaration": 591, "type": "struct Verifier.VerifyingKey" }, - "id": 1628, + "id": 600, "name": "UserDefinedTypeName", - "src": "7457:12:4" + "src": "7457:12:0" } ], - "id": 1629, + "id": 601, "name": "VariableDeclaration", - "src": "7457:22:4" + "src": "7457:22:0" } ], - "id": 1630, + "id": 602, "name": "ParameterList", - "src": "7456:24:4" + "src": "7456:24:0" }, { "children": [ @@ -23241,7 +23241,7 @@ "isPure": false, "lValueRequested": true, "member_name": "alfa1", - "referencedDeclaration": 1609, + "referencedDeclaration": 581, "type": "struct Pairing.G1Point memory" }, "children": [ @@ -23251,18 +23251,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1631, + "id": 603, "name": "Identifier", - "src": "7491:2:4" + "src": "7491:2:0" } ], - "id": 1633, + "id": 605, "name": "MemberAccess", - "src": "7491:8:4" + "src": "7491:8:0" }, { "attributes": { @@ -23283,12 +23283,12 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_rational_12460490708279467301202778391127510537683948258096796922127174268009168016746_by_1", - "typeString": "int_const 1246...(69 digits omitted)...6746" + "typeIdentifier": "t_rational_18657542331331594053741415770570506550706569498961410954133033897989591401189_by_1", + "typeString": "int_const 1865...(69 digits omitted)...1189" }, { - "typeIdentifier": "t_rational_2044073673724661651577421329709273081857081212805872863635504960509226496242_by_1", - "typeString": "int_const 2044...(68 digits omitted)...6242" + "typeIdentifier": "t_rational_6264260897865443982211421147903875993071737418978097054373843876593191958554_by_1", + "typeString": "int_const 6264...(68 digits omitted)...8554" } ], "isConstant": false, @@ -23296,7 +23296,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -23306,67 +23306,67 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1634, + "id": 606, "name": "Identifier", - "src": "7502:7:4" + "src": "7502:7:0" } ], - "id": 1635, + "id": 607, "name": "MemberAccess", - "src": "7502:15:4" + "src": "7502:15:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "3132343630343930373038323739343637333031323032373738333931313237353130353337363833393438323538303936373936393232313237313734323638303039313638303136373436", + "hexvalue": "3138363537353432333331333331353934303533373431343135373730353730353036353530373036353639343938393631343130393534313333303333383937393839353931343031313839", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1246...(69 digits omitted)...6746", - "value": "12460490708279467301202778391127510537683948258096796922127174268009168016746" + "type": "int_const 1865...(69 digits omitted)...1189", + "value": "18657542331331594053741415770570506550706569498961410954133033897989591401189" }, - "id": 1636, + "id": 608, "name": "Literal", - "src": "7518:77:4" + "src": "7518:77:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "32303434303733363733373234363631363531353737343231333239373039323733303831383537303831323132383035383732383633363335353034393630353039323236343936323432", + "hexvalue": "36323634323630383937383635343433393832323131343231313437393033383735393933303731373337343138393738303937303534333733383433383736353933313931393538353534", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 2044...(68 digits omitted)...6242", - "value": "2044073673724661651577421329709273081857081212805872863635504960509226496242" + "type": "int_const 6264...(68 digits omitted)...8554", + "value": "6264260897865443982211421147903875993071737418978097054373843876593191958554" }, - "id": 1637, + "id": 609, "name": "Literal", - "src": "7596:76:4" + "src": "7596:76:0" } ], - "id": 1638, + "id": 610, "name": "FunctionCall", - "src": "7502:171:4" + "src": "7502:171:0" } ], - "id": 1639, + "id": 611, "name": "Assignment", - "src": "7491:182:4" + "src": "7491:182:0" } ], - "id": 1640, + "id": 612, "name": "ExpressionStatement", - "src": "7491:182:4" + "src": "7491:182:0" }, { "children": [ @@ -23389,7 +23389,7 @@ "isPure": false, "lValueRequested": true, "member_name": "beta2", - "referencedDeclaration": 1611, + "referencedDeclaration": 583, "type": "struct Pairing.G2Point memory" }, "children": [ @@ -23399,18 +23399,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1641, + "id": 613, "name": "Identifier", - "src": "7683:2:4" + "src": "7683:2:0" } ], - "id": 1643, + "id": 615, "name": "MemberAccess", - "src": "7683:8:4" + "src": "7683:8:0" }, { "attributes": { @@ -23444,7 +23444,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "type(struct Pairing.G2Point storage pointer)" }, "children": [ @@ -23454,18 +23454,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1644, + "id": 616, "name": "Identifier", - "src": "7694:7:4" + "src": "7694:7:0" } ], - "id": 1645, + "id": 617, "name": "MemberAccess", - "src": "7694:15:4" + "src": "7694:15:0" }, { "attributes": { @@ -23481,41 +23481,41 @@ { "attributes": { "argumentTypes": null, - "hexvalue": "3136303837343930313933383736313631363337343438303435373034383837393233333934303730373439333031373239343031303432353238323037373830333037333533313438373534", + "hexvalue": "3136313435313436343933313035303531373331383335353737343331343636353232373737333132353536373132313032363432323538353836363034313536393635363438343839333233", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1608...(69 digits omitted)...8754", - "value": "16087490193876161637448045704887923394070749301729401042528207780307353148754" + "type": "int_const 1614...(69 digits omitted)...9323", + "value": "16145146493105051731835577431466522777312556712102642258586604156965648489323" }, - "id": 1646, + "id": 618, "name": "Literal", - "src": "7711:77:4" + "src": "7711:77:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "34303437333135353438323330373136363730373932373131333634313439343830363238303436353434363338373339343331393436313130383337343130343033393232393533333032", + "hexvalue": "31343038333937393037363330313738303834343735383431363238323838393739353630303331303737393233313631373230323930363536363435363930383838353134393030363930", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 4047...(68 digits omitted)...3302", - "value": "4047315548230716670792711364149480628046544638739431946110837410403922953302" + "type": "int_const 1408...(68 digits omitted)...0690", + "value": "1408397907630178084475841628288979560031077923161720290656645690888514900690" }, - "id": 1647, + "id": 619, "name": "Literal", - "src": "7789:76:4" + "src": "7789:76:0" } ], - "id": 1648, + "id": 620, "name": "TupleExpression", - "src": "7710:156:4" + "src": "7710:156:0" }, { "attributes": { @@ -23531,56 +23531,56 @@ { "attributes": { "argumentTypes": null, - "hexvalue": "3134323633313537353839393235353033303235353238373932353232343434313030303538373731343134363933323733393435313439303332383839393230373735353938323431353138", + "hexvalue": "3131393738393335343638313130393336343739343532353430343736363835363530393633323533353433343438343434343931303432343438363032393939323936353030383737353330", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1426...(69 digits omitted)...1518", - "value": "14263157589925503025528792522444100058771414693273945149032889920775598241518" + "type": "int_const 1197...(69 digits omitted)...7530", + "value": "11978935468110936479452540476685650963253543448444491042448602999296500877530" }, - "id": 1649, + "id": 621, "name": "Literal", - "src": "7869:77:4" + "src": "7869:77:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "32343033303839383232303531383538363434393835383038313639343634373537333735323530333032373535353932393934303039323934313130323337363136353532353935373538", + "hexvalue": "313132393138303633363430313434343033393532333737383335333234303635393136373732393238363330313236363434343836353738393636313932383934353237383434323432", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 2403...(68 digits omitted)...5758", - "value": "2403089822051858644985808169464757375250302755592994009294110237616552595758" + "type": "int_const 1129...(67 digits omitted)...4242", + "value": "112918063640144403952377835324065916772928630126644486578966192894527844242" }, - "id": 1650, + "id": 622, "name": "Literal", - "src": "7947:76:4" + "src": "7947:75:0" } ], - "id": 1651, + "id": 623, "name": "TupleExpression", - "src": "7868:156:4" + "src": "7868:155:0" } ], - "id": 1652, + "id": 624, "name": "FunctionCall", - "src": "7694:331:4" + "src": "7694:330:0" } ], - "id": 1653, + "id": 625, "name": "Assignment", - "src": "7683:342:4" + "src": "7683:341:0" } ], - "id": 1654, + "id": 626, "name": "ExpressionStatement", - "src": "7683:342:4" + "src": "7683:341:0" }, { "children": [ @@ -23603,7 +23603,7 @@ "isPure": false, "lValueRequested": true, "member_name": "gamma2", - "referencedDeclaration": 1613, + "referencedDeclaration": 585, "type": "struct Pairing.G2Point memory" }, "children": [ @@ -23613,18 +23613,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1655, + "id": 627, "name": "Identifier", - "src": "8035:2:4" + "src": "8034:2:0" } ], - "id": 1657, + "id": 629, "name": "MemberAccess", - "src": "8035:9:4" + "src": "8034:9:0" }, { "attributes": { @@ -23658,7 +23658,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "type(struct Pairing.G2Point storage pointer)" }, "children": [ @@ -23668,18 +23668,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1658, + "id": 630, "name": "Identifier", - "src": "8047:7:4" + "src": "8046:7:0" } ], - "id": 1659, + "id": 631, "name": "MemberAccess", - "src": "8047:15:4" + "src": "8046:15:0" }, { "attributes": { @@ -23695,41 +23695,41 @@ { "attributes": { "argumentTypes": null, - "hexvalue": "3138313233323736333034313237313630343338333933383031303838373137333138373831313938313332393631333938373933373630383132373439323537313836303633303134333337", + "hexvalue": "3134373134313631353431343732313930383430373036343037343630353737353730343731393535303230333833313634313237303134303434393639313439383435303939303839303433", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1812...(69 digits omitted)...4337", - "value": "18123276304127160438393801088717318781198132961398793760812749257186063014337" + "type": "int_const 1471...(69 digits omitted)...9043", + "value": "14714161541472190840706407460577570471955020383164127014044969149845099089043" }, - "id": 1660, + "id": 632, "name": "Literal", - "src": "8064:77:4" + "src": "8063:77:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "3137363037343233313035333133333335353235343332383639363637363739333532363234393234303636353935373537303332373137373832333939383232323537303230353033313337", + "hexvalue": "3231313534343035353736323436383139383930343830383537323631383133323435383733323930313137393232343936343631323434393531343337313030363739383032353939333032", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1760...(69 digits omitted)...3137", - "value": "17607423105313335525432869667679352624924066595757032717782399822257020503137" + "type": "int_const 2115...(69 digits omitted)...9302", + "value": "21154405576246819890480857261813245873290117922496461244951437100679802599302" }, - "id": 1661, + "id": 633, "name": "Literal", - "src": "8142:77:4" + "src": "8141:77:0" } ], - "id": 1662, + "id": 634, "name": "TupleExpression", - "src": "8063:157:4" + "src": "8062:157:0" }, { "attributes": { @@ -23745,56 +23745,56 @@ { "attributes": { "argumentTypes": null, - "hexvalue": "3131303235353831333239363530303437363531363739373537303836333838373234313637343735323139343036393133313134323730343938343330383838343833353236303130363834", + "hexvalue": "31383430303831383330323737393035383338373434333731383238353331383131313139363337333632303737373533303536363737333334383430303137363538333138353638333930", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1102...(69 digits omitted)...0684", - "value": "11025581329650047651679757086388724167475219406913114270498430888483526010684" + "type": "int_const 1840...(68 digits omitted)...8390", + "value": "1840081830277905838744371828531811119637362077753056677334840017658318568390" }, - "id": 1663, + "id": 635, "name": "Literal", - "src": "8223:77:4" + "src": "8222:76:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "3137323233303432313133303632303330353536323738383136363934363631393730333331363937323334393232363936303132303133313737313934373233353439353238343734323031", + "hexvalue": "343130393731373630383735323538323535303030373030313435393538393431343730393730343634343539353131323437393531383435323935373439313935353431363734373730", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1722...(69 digits omitted)...4201", - "value": "17223042113062030556278816694661970331697234922696012013177194723549528474201" + "type": "int_const 4109...(67 digits omitted)...4770", + "value": "410971760875258255000700145958941470970464459511247951845295749195541674770" }, - "id": 1664, + "id": 636, "name": "Literal", - "src": "8301:77:4" + "src": "8299:75:0" } ], - "id": 1665, + "id": 637, "name": "TupleExpression", - "src": "8222:157:4" + "src": "8221:154:0" } ], - "id": 1666, + "id": 638, "name": "FunctionCall", - "src": "8047:333:4" + "src": "8046:330:0" } ], - "id": 1667, + "id": 639, "name": "Assignment", - "src": "8035:345:4" + "src": "8034:342:0" } ], - "id": 1668, + "id": 640, "name": "ExpressionStatement", - "src": "8035:345:4" + "src": "8034:342:0" }, { "children": [ @@ -23817,7 +23817,7 @@ "isPure": false, "lValueRequested": true, "member_name": "delta2", - "referencedDeclaration": 1615, + "referencedDeclaration": 587, "type": "struct Pairing.G2Point memory" }, "children": [ @@ -23827,18 +23827,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1669, + "id": 641, "name": "Identifier", - "src": "8390:2:4" + "src": "8386:2:0" } ], - "id": 1671, + "id": 643, "name": "MemberAccess", - "src": "8390:9:4" + "src": "8386:9:0" }, { "attributes": { @@ -23872,7 +23872,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "type(struct Pairing.G2Point storage pointer)" }, "children": [ @@ -23882,18 +23882,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1672, + "id": 644, "name": "Identifier", - "src": "8402:7:4" + "src": "8398:7:0" } ], - "id": 1673, + "id": 645, "name": "MemberAccess", - "src": "8402:15:4" + "src": "8398:15:0" }, { "attributes": { @@ -23909,41 +23909,41 @@ { "attributes": { "argumentTypes": null, - "hexvalue": "36303337363233343438353132313638393837323630353636323031363838313232323435373931333731353235303238303938353035393532323539313634343331383437373735343931", + "hexvalue": "363039363232343936313538303134333235313130343230353538383034333635343130323233333439323830383339313439353639343634313631393632333433343237373634323837", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 6037...(68 digits omitted)...5491", - "value": "6037623448512168987260566201688122245791371525028098505952259164431847775491" + "type": "int_const 6096...(67 digits omitted)...4287", + "value": "609622496158014325110420558804365410223349280839149569464161962343427764287" }, - "id": 1674, + "id": 646, "name": "Literal", - "src": "8419:76:4" + "src": "8415:75:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "343538333336353735343333393938353036303136343538303137323138313131383632383739313836313339333034363534363036333831333732353833393134343436393539363137", + "hexvalue": "38333137333733343234323836333834303932353436353936393932343634373435303337313737323033373838323331303237323231343939333538323730323033393339373938333131", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 4583...(67 digits omitted)...9617", - "value": "458336575433998506016458017218111862879186139304654606381372583914446959617" + "type": "int_const 8317...(68 digits omitted)...8311", + "value": "8317373424286384092546596992464745037177203788231027221499358270203939798311" }, - "id": 1675, + "id": 647, "name": "Literal", - "src": "8496:75:4" + "src": "8491:76:0" } ], - "id": 1676, + "id": 648, "name": "TupleExpression", - "src": "8418:154:4" + "src": "8414:154:0" }, { "attributes": { @@ -23959,56 +23959,56 @@ { "attributes": { "argumentTypes": null, - "hexvalue": "3135303734373437333331343536383439313231303431343737393938303638373935333431333536353034313634353534333632393232383835383632323839303237393430393030343830", + "hexvalue": "38393634333830383136343833313934383839393931363639393937323639393237303938333130333036383330383835323635363134303434383539343734373834333031363136383339", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1507...(69 digits omitted)...0480", - "value": "15074747331456849121041477998068795341356504164554362922885862289027940900480" + "type": "int_const 8964...(68 digits omitted)...6839", + "value": "8964380816483194889991669997269927098310306830885265614044859474784301616839" }, - "id": 1677, + "id": 649, "name": "Literal", - "src": "8575:77:4" + "src": "8571:76:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "34353531373137333338363135373631373236383834353535373239383135373337323430393437323334323632303338363737393835393536383434313839323430393038363935363536", + "hexvalue": "34363537313536323439373935313631393139363238393134333033333236393633303139353634383035363936353238343831393031353336353236313236353739333038303930313339", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 4551...(68 digits omitted)...5656", - "value": "4551717338615761726884555729815737240947234262038677985956844189240908695656" + "type": "int_const 4657...(68 digits omitted)...0139", + "value": "4657156249795161919628914303326963019564805696528481901536526126579308090139" }, - "id": 1678, + "id": 650, "name": "Literal", - "src": "8653:76:4" + "src": "8648:76:0" } ], - "id": 1679, + "id": 651, "name": "TupleExpression", - "src": "8574:156:4" + "src": "8570:155:0" } ], - "id": 1680, + "id": 652, "name": "FunctionCall", - "src": "8402:329:4" + "src": "8398:328:0" } ], - "id": 1681, + "id": 653, "name": "Assignment", - "src": "8390:341:4" + "src": "8386:340:0" } ], - "id": 1682, + "id": 654, "name": "ExpressionStatement", - "src": "8390:341:4" + "src": "8386:340:0" }, { "children": [ @@ -24031,7 +24031,7 @@ "isPure": false, "lValueRequested": true, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -24041,18 +24041,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1683, + "id": 655, "name": "Identifier", - "src": "8741:2:4" + "src": "8736:2:0" } ], - "id": 1685, + "id": 657, "name": "MemberAccess", - "src": "8741:5:4" + "src": "8736:5:0" }, { "attributes": { @@ -24094,22 +24094,22 @@ "attributes": { "contractScope": null, "name": "Pairing.G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1686, + "id": 658, "name": "UserDefinedTypeName", - "src": "8753:15:4" + "src": "8748:15:0" } ], - "id": 1687, + "id": 659, "name": "ArrayTypeName", - "src": "8753:17:4" + "src": "8748:17:0" } ], - "id": 1688, + "id": 660, "name": "NewExpression", - "src": "8749:21:4" + "src": "8744:21:0" }, { "attributes": { @@ -24124,24 +24124,24 @@ "type": "int_const 7", "value": "7" }, - "id": 1689, + "id": 661, "name": "Literal", - "src": "8771:1:4" + "src": "8766:1:0" } ], - "id": 1690, + "id": 662, "name": "FunctionCall", - "src": "8749:24:4" + "src": "8744:24:0" } ], - "id": 1691, + "id": 663, "name": "Assignment", - "src": "8741:32:4" + "src": "8736:32:0" } ], - "id": 1692, + "id": 664, "name": "ExpressionStatement", - "src": "8741:32:4" + "src": "8736:32:0" }, { "children": [ @@ -24174,7 +24174,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -24184,18 +24184,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1693, + "id": 665, "name": "Identifier", - "src": "8783:2:4" + "src": "8778:2:0" } ], - "id": 1696, + "id": 668, "name": "MemberAccess", - "src": "8783:5:4" + "src": "8778:5:0" }, { "attributes": { @@ -24210,14 +24210,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1695, + "id": 667, "name": "Literal", - "src": "8789:1:4" + "src": "8784:1:0" } ], - "id": 1697, + "id": 669, "name": "IndexAccess", - "src": "8783:8:4" + "src": "8778:8:0" }, { "attributes": { @@ -24238,12 +24238,12 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_rational_3280151354857701104805815107342927006881561188181486049350149056802788902277_by_1", - "typeString": "int_const 3280...(68 digits omitted)...2277" + "typeIdentifier": "t_rational_20166610602661498805481216064041390370160663060098850035854617107084652933188_by_1", + "typeString": "int_const 2016...(69 digits omitted)...3188" }, { - "typeIdentifier": "t_rational_4096205864284246892786942491620896521544938058951378408773174891322097316913_by_1", - "typeString": "int_const 4096...(68 digits omitted)...6913" + "typeIdentifier": "t_rational_1659975302204996438525238174042926887396319013457610086028476512633965956990_by_1", + "typeString": "int_const 1659...(68 digits omitted)...6990" } ], "isConstant": false, @@ -24251,7 +24251,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -24261,67 +24261,67 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1698, + "id": 670, "name": "Identifier", - "src": "8794:7:4" + "src": "8789:7:0" } ], - "id": 1699, + "id": 671, "name": "MemberAccess", - "src": "8794:15:4" + "src": "8789:15:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "33323830313531333534383537373031313034383035383135313037333432393237303036383831353631313838313831343836303439333530313439303536383032373838393032323737", + "hexvalue": "3230313636363130363032363631343938383035343831323136303634303431333930333730313630363633303630303938383530303335383534363137313037303834363532393333313838", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 3280...(68 digits omitted)...2277", - "value": "3280151354857701104805815107342927006881561188181486049350149056802788902277" + "type": "int_const 2016...(69 digits omitted)...3188", + "value": "20166610602661498805481216064041390370160663060098850035854617107084652933188" }, - "id": 1700, + "id": 672, "name": "Literal", - "src": "8810:76:4" + "src": "8805:77:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "34303936323035383634323834323436383932373836393432343931363230383936353231353434393338303538393531333738343038373733313734383931333232303937333136393133", + "hexvalue": "31363539393735333032323034393936343338353235323338313734303432393236383837333936333139303133343537363130303836303238343736353132363333393635393536393930", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 4096...(68 digits omitted)...6913", - "value": "4096205864284246892786942491620896521544938058951378408773174891322097316913" + "type": "int_const 1659...(68 digits omitted)...6990", + "value": "1659975302204996438525238174042926887396319013457610086028476512633965956990" }, - "id": 1701, + "id": 673, "name": "Literal", - "src": "8887:76:4" + "src": "8883:76:0" } ], - "id": 1702, + "id": 674, "name": "FunctionCall", - "src": "8794:170:4" + "src": "8789:171:0" } ], - "id": 1703, + "id": 675, "name": "Assignment", - "src": "8783:181:4" + "src": "8778:182:0" } ], - "id": 1704, + "id": 676, "name": "ExpressionStatement", - "src": "8783:181:4" + "src": "8778:182:0" }, { "children": [ @@ -24354,7 +24354,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -24364,18 +24364,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1705, + "id": 677, "name": "Identifier", - "src": "8974:2:4" + "src": "8970:2:0" } ], - "id": 1708, + "id": 680, "name": "MemberAccess", - "src": "8974:5:4" + "src": "8970:5:0" }, { "attributes": { @@ -24390,14 +24390,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1707, + "id": 679, "name": "Literal", - "src": "8980:1:4" + "src": "8976:1:0" } ], - "id": 1709, + "id": 681, "name": "IndexAccess", - "src": "8974:8:4" + "src": "8970:8:0" }, { "attributes": { @@ -24418,12 +24418,12 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_rational_886075252733300330869950498066252804027245332188737089899561929180698930798_by_1", - "typeString": "int_const 8860...(67 digits omitted)...0798" + "typeIdentifier": "t_rational_4220871189670953026506414371868481831410889010217108719382613726183286975446_by_1", + "typeString": "int_const 4220...(68 digits omitted)...5446" }, { - "typeIdentifier": "t_rational_15570234229151758134113005312914035073446975470656183090215346868677091213005_by_1", - "typeString": "int_const 1557...(69 digits omitted)...3005" + "typeIdentifier": "t_rational_1000393167704732207794518371383982711909560731997085626334108036666911896515_by_1", + "typeString": "int_const 1000...(68 digits omitted)...6515" } ], "isConstant": false, @@ -24431,7 +24431,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -24441,67 +24441,67 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1710, + "id": 682, "name": "Identifier", - "src": "8985:7:4" + "src": "8981:7:0" } ], - "id": 1711, + "id": 683, "name": "MemberAccess", - "src": "8985:15:4" + "src": "8981:15:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "383836303735323532373333333030333330383639393530343938303636323532383034303237323435333332313838373337303839383939353631393239313830363938393330373938", + "hexvalue": "34323230383731313839363730393533303236353036343134333731383638343831383331343130383839303130323137313038373139333832363133373236313833323836393735343436", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 8860...(67 digits omitted)...0798", - "value": "886075252733300330869950498066252804027245332188737089899561929180698930798" + "type": "int_const 4220...(68 digits omitted)...5446", + "value": "4220871189670953026506414371868481831410889010217108719382613726183286975446" }, - "id": 1712, + "id": 684, "name": "Literal", - "src": "9001:75:4" + "src": "8997:76:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "3135353730323334323239313531373538313334313133303035333132393134303335303733343436393735343730363536313833303930323135333436383638363737303931323133303035", + "hexvalue": "31303030333933313637373034373332323037373934353138333731333833393832373131393039353630373331393937303835363236333334313038303336363636393131383936353135", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1557...(69 digits omitted)...3005", - "value": "15570234229151758134113005312914035073446975470656183090215346868677091213005" + "type": "int_const 1000...(68 digits omitted)...6515", + "value": "1000393167704732207794518371383982711909560731997085626334108036666911896515" }, - "id": 1713, + "id": 685, "name": "Literal", - "src": "9077:77:4" + "src": "9074:76:0" } ], - "id": 1714, + "id": 686, "name": "FunctionCall", - "src": "8985:170:4" + "src": "8981:170:0" } ], - "id": 1715, + "id": 687, "name": "Assignment", - "src": "8974:181:4" + "src": "8970:181:0" } ], - "id": 1716, + "id": 688, "name": "ExpressionStatement", - "src": "8974:181:4" + "src": "8970:181:0" }, { "children": [ @@ -24534,7 +24534,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -24544,18 +24544,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1717, + "id": 689, "name": "Identifier", - "src": "9165:2:4" + "src": "9161:2:0" } ], - "id": 1720, + "id": 692, "name": "MemberAccess", - "src": "9165:5:4" + "src": "9161:5:0" }, { "attributes": { @@ -24570,14 +24570,14 @@ "type": "int_const 2", "value": "2" }, - "id": 1719, + "id": 691, "name": "Literal", - "src": "9171:1:4" + "src": "9167:1:0" } ], - "id": 1721, + "id": 693, "name": "IndexAccess", - "src": "9165:8:4" + "src": "9161:8:0" }, { "attributes": { @@ -24598,12 +24598,12 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_rational_4803911529229921243819115938814624698011704327571816657368259655263810910424_by_1", - "typeString": "int_const 4803...(68 digits omitted)...0424" + "typeIdentifier": "t_rational_12239086110821316935616912649060211038392877351736651065425057336661040984065_by_1", + "typeString": "int_const 1223...(69 digits omitted)...4065" }, { - "typeIdentifier": "t_rational_9421521138574274245916449596797669329387046444348355383899676800456202039055_by_1", - "typeString": "int_const 9421...(68 digits omitted)...9055" + "typeIdentifier": "t_rational_5374452082587629349940763802872591986728213630869355796260909357433421532329_by_1", + "typeString": "int_const 5374...(68 digits omitted)...2329" } ], "isConstant": false, @@ -24611,7 +24611,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -24621,67 +24621,67 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1722, + "id": 694, "name": "Identifier", - "src": "9176:7:4" + "src": "9172:7:0" } ], - "id": 1723, + "id": 695, "name": "MemberAccess", - "src": "9176:15:4" + "src": "9172:15:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "34383033393131353239323239393231323433383139313135393338383134363234363938303131373034333237353731383136363537333638323539363535323633383130393130343234", + "hexvalue": "3132323339303836313130383231333136393335363136393132363439303630323131303338333932383737333531373336363531303635343235303537333336363631303430393834303635", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 4803...(68 digits omitted)...0424", - "value": "4803911529229921243819115938814624698011704327571816657368259655263810910424" + "type": "int_const 1223...(69 digits omitted)...4065", + "value": "12239086110821316935616912649060211038392877351736651065425057336661040984065" }, - "id": 1724, + "id": 696, "name": "Literal", - "src": "9192:76:4" + "src": "9188:77:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "39343231353231313338353734323734323435393136343439353936373937363639333239333837303436343434333438333535333833383939363736383030343536323032303339303535", + "hexvalue": "35333734343532303832353837363239333439393430373633383032383732353931393836373238323133363330383639333535373936323630393039333537343333343231353332333239", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 9421...(68 digits omitted)...9055", - "value": "9421521138574274245916449596797669329387046444348355383899676800456202039055" + "type": "int_const 5374...(68 digits omitted)...2329", + "value": "5374452082587629349940763802872591986728213630869355796260909357433421532329" }, - "id": 1725, + "id": 697, "name": "Literal", - "src": "9269:76:4" + "src": "9266:76:0" } ], - "id": 1726, + "id": 698, "name": "FunctionCall", - "src": "9176:170:4" + "src": "9172:171:0" } ], - "id": 1727, + "id": 699, "name": "Assignment", - "src": "9165:181:4" + "src": "9161:182:0" } ], - "id": 1728, + "id": 700, "name": "ExpressionStatement", - "src": "9165:181:4" + "src": "9161:182:0" }, { "children": [ @@ -24714,7 +24714,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -24724,18 +24724,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1729, + "id": 701, "name": "Identifier", - "src": "9356:2:4" + "src": "9353:2:0" } ], - "id": 1732, + "id": 704, "name": "MemberAccess", - "src": "9356:5:4" + "src": "9353:5:0" }, { "attributes": { @@ -24750,14 +24750,14 @@ "type": "int_const 3", "value": "3" }, - "id": 1731, + "id": 703, "name": "Literal", - "src": "9362:1:4" + "src": "9359:1:0" } ], - "id": 1733, + "id": 705, "name": "IndexAccess", - "src": "9356:8:4" + "src": "9353:8:0" }, { "attributes": { @@ -24778,12 +24778,12 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_rational_8556536154095961870679484985871880561903552891231663801453118433906208208634_by_1", - "typeString": "int_const 8556...(68 digits omitted)...8634" + "typeIdentifier": "t_rational_10285133610545411845819507508720146823943262881879468951491365404146203175832_by_1", + "typeString": "int_const 1028...(69 digits omitted)...5832" }, { - "typeIdentifier": "t_rational_3050601476829943501968050336923012297384352890508269063303888737139486918441_by_1", - "typeString": "int_const 3050...(68 digits omitted)...8441" + "typeIdentifier": "t_rational_2498247655234760266120312262546972165343297120557370090775420013522145792015_by_1", + "typeString": "int_const 2498...(68 digits omitted)...2015" } ], "isConstant": false, @@ -24791,7 +24791,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -24801,67 +24801,67 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1734, + "id": 706, "name": "Identifier", - "src": "9367:7:4" + "src": "9364:7:0" } ], - "id": 1735, + "id": 707, "name": "MemberAccess", - "src": "9367:15:4" + "src": "9364:15:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "38353536353336313534303935393631383730363739343834393835383731383830353631393033353532383931323331363633383031343533313138343333393036323038323038363334", + "hexvalue": "3130323835313333363130353435343131383435383139353037353038373230313436383233393433323632383831383739343638393531343931333635343034313436323033313735383332", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 8556...(68 digits omitted)...8634", - "value": "8556536154095961870679484985871880561903552891231663801453118433906208208634" + "type": "int_const 1028...(69 digits omitted)...5832", + "value": "10285133610545411845819507508720146823943262881879468951491365404146203175832" }, - "id": 1736, + "id": 708, "name": "Literal", - "src": "9383:76:4" + "src": "9380:77:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "33303530363031343736383239393433353031393638303530333336393233303132323937333834333532383930353038323639303633333033383838373337313339343836393138343431", + "hexvalue": "32343938323437363535323334373630323636313230333132323632353436393732313635333433323937313230353537333730303930373735343230303133353232313435373932303135", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 3050...(68 digits omitted)...8441", - "value": "3050601476829943501968050336923012297384352890508269063303888737139486918441" + "type": "int_const 2498...(68 digits omitted)...2015", + "value": "2498247655234760266120312262546972165343297120557370090775420013522145792015" }, - "id": 1737, + "id": 709, "name": "Literal", - "src": "9460:76:4" + "src": "9458:76:0" } ], - "id": 1738, + "id": 710, "name": "FunctionCall", - "src": "9367:170:4" + "src": "9364:171:0" } ], - "id": 1739, + "id": 711, "name": "Assignment", - "src": "9356:181:4" + "src": "9353:182:0" } ], - "id": 1740, + "id": 712, "name": "ExpressionStatement", - "src": "9356:181:4" + "src": "9353:182:0" }, { "children": [ @@ -24894,7 +24894,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -24904,18 +24904,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1741, + "id": 713, "name": "Identifier", - "src": "9547:2:4" + "src": "9545:2:0" } ], - "id": 1744, + "id": 716, "name": "MemberAccess", - "src": "9547:5:4" + "src": "9545:5:0" }, { "attributes": { @@ -24930,14 +24930,14 @@ "type": "int_const 4", "value": "4" }, - "id": 1743, + "id": 715, "name": "Literal", - "src": "9553:1:4" + "src": "9551:1:0" } ], - "id": 1745, + "id": 717, "name": "IndexAccess", - "src": "9547:8:4" + "src": "9545:8:0" }, { "attributes": { @@ -24958,12 +24958,12 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_rational_300970557484518070492531175714788912131243344262805477266806064126958929035_by_1", - "typeString": "int_const 3009...(67 digits omitted)...9035" + "typeIdentifier": "t_rational_18113182104873248546285711585405582060453978828497035767859046179153107375835_by_1", + "typeString": "int_const 1811...(69 digits omitted)...5835" }, { - "typeIdentifier": "t_rational_7398530781379870905922247634738956356372326243016843550426084862881205863447_by_1", - "typeString": "int_const 7398...(68 digits omitted)...3447" + "typeIdentifier": "t_rational_6729094613760083456600449536123737034270234634314951752808465378236383530847_by_1", + "typeString": "int_const 6729...(68 digits omitted)...0847" } ], "isConstant": false, @@ -24971,7 +24971,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -24981,67 +24981,67 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1746, + "id": 718, "name": "Identifier", - "src": "9558:7:4" + "src": "9556:7:0" } ], - "id": 1747, + "id": 719, "name": "MemberAccess", - "src": "9558:15:4" + "src": "9556:15:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "333030393730353537343834353138303730343932353331313735373134373838393132313331323433333434323632383035343737323636383036303634313236393538393239303335", + "hexvalue": "3138313133313832313034383733323438353436323835373131353835343035353832303630343533393738383238343937303335373637383539303436313739313533313037333735383335", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 3009...(67 digits omitted)...9035", - "value": "300970557484518070492531175714788912131243344262805477266806064126958929035" + "type": "int_const 1811...(69 digits omitted)...5835", + "value": "18113182104873248546285711585405582060453978828497035767859046179153107375835" }, - "id": 1748, + "id": 720, "name": "Literal", - "src": "9574:75:4" + "src": "9572:77:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "37333938353330373831333739383730393035393232323437363334373338393536333536333732333236323433303136383433353530343236303834383632383831323035383633343437", + "hexvalue": "36373239303934363133373630303833343536363030343439353336313233373337303334323730323334363334333134393531373532383038343635333738323336333833353330383437", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 7398...(68 digits omitted)...3447", - "value": "7398530781379870905922247634738956356372326243016843550426084862881205863447" + "type": "int_const 6729...(68 digits omitted)...0847", + "value": "6729094613760083456600449536123737034270234634314951752808465378236383530847" }, - "id": 1749, + "id": 721, "name": "Literal", - "src": "9650:76:4" + "src": "9650:76:0" } ], - "id": 1750, + "id": 722, "name": "FunctionCall", - "src": "9558:169:4" + "src": "9556:171:0" } ], - "id": 1751, + "id": 723, "name": "Assignment", - "src": "9547:180:4" + "src": "9545:182:0" } ], - "id": 1752, + "id": 724, "name": "ExpressionStatement", - "src": "9547:180:4" + "src": "9545:182:0" }, { "children": [ @@ -25074,7 +25074,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -25084,18 +25084,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1753, + "id": 725, "name": "Identifier", - "src": "9737:2:4" + "src": "9737:2:0" } ], - "id": 1756, + "id": 728, "name": "MemberAccess", - "src": "9737:5:4" + "src": "9737:5:0" }, { "attributes": { @@ -25110,14 +25110,14 @@ "type": "int_const 5", "value": "5" }, - "id": 1755, + "id": 727, "name": "Literal", - "src": "9743:1:4" + "src": "9743:1:0" } ], - "id": 1757, + "id": 729, "name": "IndexAccess", - "src": "9737:8:4" + "src": "9737:8:0" }, { "attributes": { @@ -25138,12 +25138,12 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_rational_19920099237792867409693124415022100529487012962841642820676567509262507193107_by_1", - "typeString": "int_const 1992...(69 digits omitted)...3107" + "typeIdentifier": "t_rational_2675854458152962472161665122142721791686118092900325507962353336751375645555_by_1", + "typeString": "int_const 2675...(68 digits omitted)...5555" }, { - "typeIdentifier": "t_rational_20219544009593389298713776672148908906084007300789292168389787721741450912038_by_1", - "typeString": "int_const 2021...(69 digits omitted)...2038" + "typeIdentifier": "t_rational_12913224302380448616475651904030096179632834250198895128713731772227526103851_by_1", + "typeString": "int_const 1291...(69 digits omitted)...3851" } ], "isConstant": false, @@ -25151,7 +25151,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -25161,67 +25161,67 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1758, + "id": 730, "name": "Identifier", - "src": "9748:7:4" + "src": "9748:7:0" } ], - "id": 1759, + "id": 731, "name": "MemberAccess", - "src": "9748:15:4" + "src": "9748:15:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "3139393230303939323337373932383637343039363933313234343135303232313030353239343837303132393632383431363432383230363736353637353039323632353037313933313037", + "hexvalue": "32363735383534343538313532393632343732313631363635313232313432373231373931363836313138303932393030333235353037393632333533333336373531333735363435353535", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1992...(69 digits omitted)...3107", - "value": "19920099237792867409693124415022100529487012962841642820676567509262507193107" + "type": "int_const 2675...(68 digits omitted)...5555", + "value": "2675854458152962472161665122142721791686118092900325507962353336751375645555" }, - "id": 1760, + "id": 732, "name": "Literal", - "src": "9764:77:4" + "src": "9764:76:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "3230323139353434303039353933333839323938373133373736363732313438393038393036303834303037333030373839323932313638333839373837373231373431343530393132303338", + "hexvalue": "3132393133323234333032333830343438363136343735363531393034303330303936313739363332383334323530313938383935313238373133373331373732323237353236313033383531", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 2021...(69 digits omitted)...2038", - "value": "20219544009593389298713776672148908906084007300789292168389787721741450912038" + "type": "int_const 1291...(69 digits omitted)...3851", + "value": "12913224302380448616475651904030096179632834250198895128713731772227526103851" }, - "id": 1761, + "id": 733, "name": "Literal", - "src": "9842:77:4" + "src": "9841:77:0" } ], - "id": 1762, + "id": 734, "name": "FunctionCall", - "src": "9748:172:4" + "src": "9748:171:0" } ], - "id": 1763, + "id": 735, "name": "Assignment", - "src": "9737:183:4" + "src": "9737:182:0" } ], - "id": 1764, + "id": 736, "name": "ExpressionStatement", - "src": "9737:183:4" + "src": "9737:182:0" }, { "children": [ @@ -25254,7 +25254,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -25264,18 +25264,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1629, + "referencedDeclaration": 601, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1765, + "id": 737, "name": "Identifier", - "src": "9930:2:4" + "src": "9929:2:0" } ], - "id": 1768, + "id": 740, "name": "MemberAccess", - "src": "9930:5:4" + "src": "9929:5:0" }, { "attributes": { @@ -25290,14 +25290,14 @@ "type": "int_const 6", "value": "6" }, - "id": 1767, + "id": 739, "name": "Literal", - "src": "9936:1:4" + "src": "9935:1:0" } ], - "id": 1769, + "id": 741, "name": "IndexAccess", - "src": "9930:8:4" + "src": "9929:8:0" }, { "attributes": { @@ -25318,12 +25318,12 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_rational_19738468465658587453371819831578835676337686216736310076443477948701915541203_by_1", - "typeString": "int_const 1973...(69 digits omitted)...1203" + "typeIdentifier": "t_rational_6904531203927324497190715701219512027355142032925478416168419557191017067138_by_1", + "typeString": "int_const 6904...(68 digits omitted)...7138" }, { - "typeIdentifier": "t_rational_17051611336678940832594719954268295083764993921610290255520015002513439413943_by_1", - "typeString": "int_const 1705...(69 digits omitted)...3943" + "typeIdentifier": "t_rational_3297385619144148685859898508280807841114612552526206265036207895270147740391_by_1", + "typeString": "int_const 3297...(68 digits omitted)...0391" } ], "isConstant": false, @@ -25331,7 +25331,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -25341,77 +25341,77 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1770, + "id": 742, "name": "Identifier", - "src": "9941:7:4" + "src": "9940:7:0" } ], - "id": 1771, + "id": 743, "name": "MemberAccess", - "src": "9941:15:4" + "src": "9940:15:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "3139373338343638343635363538353837343533333731383139383331353738383335363736333337363836323136373336333130303736343433343737393438373031393135353431323033", + "hexvalue": "36393034353331323033393237333234343937313930373135373031323139353132303237333535313432303332393235343738343136313638343139353537313931303137303637313338", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1973...(69 digits omitted)...1203", - "value": "19738468465658587453371819831578835676337686216736310076443477948701915541203" + "type": "int_const 6904...(68 digits omitted)...7138", + "value": "6904531203927324497190715701219512027355142032925478416168419557191017067138" }, - "id": 1772, + "id": 744, "name": "Literal", - "src": "9957:77:4" + "src": "9956:76:0" }, { "attributes": { "argumentTypes": null, - "hexvalue": "3137303531363131333336363738393430383332353934373139393534323638323935303833373634393933393231363130323930323535353230303135303032353133343339343133393433", + "hexvalue": "33323937333835363139313434313438363835383539383938353038323830383037383431313134363132353532353236323036323635303336323037383935323730313437373430333931", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "subdenomination": null, "token": "number", - "type": "int_const 1705...(69 digits omitted)...3943", - "value": "17051611336678940832594719954268295083764993921610290255520015002513439413943" + "type": "int_const 3297...(68 digits omitted)...0391", + "value": "3297385619144148685859898508280807841114612552526206265036207895270147740391" }, - "id": 1773, + "id": 745, "name": "Literal", - "src": "10035:77:4" + "src": "10033:76:0" } ], - "id": 1774, + "id": 746, "name": "FunctionCall", - "src": "9941:172:4" + "src": "9940:170:0" } ], - "id": 1775, + "id": 747, "name": "Assignment", - "src": "9930:183:4" + "src": "9929:181:0" } ], - "id": 1776, + "id": 748, "name": "ExpressionStatement", - "src": "9930:183:4" + "src": "9929:181:0" } ], - "id": 1777, + "id": 749, "name": "Block", - "src": "7481:2640:4" + "src": "7481:2637:0" } ], - "id": 1778, + "id": 750, "name": "FunctionDefinition", - "src": "7410:2711:4" + "src": "7410:2708:0" }, { "attributes": { @@ -25423,7 +25423,7 @@ null ], "name": "verify", - "scope": 2086, + "scope": 1058, "stateMutability": "view", "superFunction": null, "visibility": "internal" @@ -25435,7 +25435,7 @@ "attributes": { "constant": false, "name": "input", - "scope": 1899, + "scope": 871, "stateVariable": false, "storageLocation": "memory", "type": "uint256[]", @@ -25454,25 +25454,25 @@ "name": "uint", "type": "uint256" }, - "id": 1779, + "id": 751, "name": "ElementaryTypeName", - "src": "10142:4:4" + "src": "10139:4:0" } ], - "id": 1780, + "id": 752, "name": "ArrayTypeName", - "src": "10142:6:4" + "src": "10139:6:0" } ], - "id": 1781, + "id": 753, "name": "VariableDeclaration", - "src": "10142:19:4" + "src": "10139:19:0" }, { "attributes": { "constant": false, "name": "proof", - "scope": 1899, + "scope": 871, "stateVariable": false, "storageLocation": "memory", "type": "struct Verifier.Proof", @@ -25484,22 +25484,22 @@ "attributes": { "contractScope": null, "name": "Proof", - "referencedDeclaration": 1626, + "referencedDeclaration": 598, "type": "struct Verifier.Proof" }, - "id": 1782, + "id": 754, "name": "UserDefinedTypeName", - "src": "10163:5:4" + "src": "10160:5:0" } ], - "id": 1783, + "id": 755, "name": "VariableDeclaration", - "src": "10163:18:4" + "src": "10160:18:0" } ], - "id": 1784, + "id": 756, "name": "ParameterList", - "src": "10141:41:4" + "src": "10138:41:0" }, { "children": [ @@ -25507,7 +25507,7 @@ "attributes": { "constant": false, "name": "", - "scope": 1899, + "scope": 871, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -25520,26 +25520,26 @@ "name": "uint", "type": "uint256" }, - "id": 1785, + "id": 757, "name": "ElementaryTypeName", - "src": "10206:4:4" + "src": "10203:4:0" } ], - "id": 1786, + "id": 758, "name": "VariableDeclaration", - "src": "10206:4:4" + "src": "10203:4:0" } ], - "id": 1787, + "id": 759, "name": "ParameterList", - "src": "10205:6:4" + "src": "10202:6:0" }, { "children": [ { "attributes": { "assignments": [ - 1789 + 761 ] }, "children": [ @@ -25547,7 +25547,7 @@ "attributes": { "constant": false, "name": "snark_scalar_field", - "scope": 1898, + "scope": 870, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -25560,14 +25560,14 @@ "name": "uint256", "type": "uint256" }, - "id": 1788, + "id": 760, "name": "ElementaryTypeName", - "src": "10222:7:4" + "src": "10219:7:0" } ], - "id": 1789, + "id": 761, "name": "VariableDeclaration", - "src": "10222:26:4" + "src": "10219:26:0" }, { "attributes": { @@ -25582,19 +25582,19 @@ "type": "int_const 2188...(69 digits omitted)...5617", "value": "21888242871839275222246405745257275088548364400416034343698204186575808495617" }, - "id": 1790, + "id": 762, "name": "Literal", - "src": "10251:77:4" + "src": "10248:77:0" } ], - "id": 1791, + "id": 763, "name": "VariableDeclarationStatement", - "src": "10222:106:4" + "src": "10219:106:0" }, { "attributes": { "assignments": [ - 1793 + 765 ] }, "children": [ @@ -25602,7 +25602,7 @@ "attributes": { "constant": false, "name": "vk", - "scope": 1898, + "scope": 870, "stateVariable": false, "storageLocation": "memory", "type": "struct Verifier.VerifyingKey", @@ -25614,17 +25614,17 @@ "attributes": { "contractScope": null, "name": "VerifyingKey", - "referencedDeclaration": 1619, + "referencedDeclaration": 591, "type": "struct Verifier.VerifyingKey" }, - "id": 1792, + "id": 764, "name": "UserDefinedTypeName", - "src": "10338:12:4" + "src": "10335:12:0" } ], - "id": 1793, + "id": 765, "name": "VariableDeclaration", - "src": "10338:22:4" + "src": "10335:22:0" }, { "attributes": { @@ -25652,23 +25652,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1778, + "referencedDeclaration": 750, "type": "function () pure returns (struct Verifier.VerifyingKey memory)", "value": "verifyingKey" }, - "id": 1794, + "id": 766, "name": "Identifier", - "src": "10363:12:4" + "src": "10360:12:0" } ], - "id": 1795, + "id": 767, "name": "FunctionCall", - "src": "10363:14:4" + "src": "10360:14:0" } ], - "id": 1796, + "id": 768, "name": "VariableDeclarationStatement", - "src": "10338:39:4" + "src": "10335:39:0" }, { "children": [ @@ -25700,16 +25700,16 @@ } ], "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, + "referencedDeclaration": 1077, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 1797, + "id": 769, "name": "Identifier", - "src": "10387:7:4" + "src": "10384:7:0" }, { "attributes": { @@ -25759,18 +25759,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1781, + "referencedDeclaration": 753, "type": "uint256[] memory", "value": "input" }, - "id": 1798, + "id": 770, "name": "Identifier", - "src": "10395:5:4" + "src": "10392:5:0" } ], - "id": 1799, + "id": 771, "name": "MemberAccess", - "src": "10395:12:4" + "src": "10392:12:0" }, { "attributes": { @@ -25785,14 +25785,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1800, + "id": 772, "name": "Literal", - "src": "10410:1:4" + "src": "10407:1:0" } ], - "id": 1801, + "id": 773, "name": "BinaryOperation", - "src": "10395:16:4" + "src": "10392:16:0" }, { "attributes": { @@ -25814,7 +25814,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -25824,28 +25824,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1793, + "referencedDeclaration": 765, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1802, + "id": 774, "name": "Identifier", - "src": "10415:2:4" + "src": "10412:2:0" } ], - "id": 1803, + "id": 775, "name": "MemberAccess", - "src": "10415:5:4" + "src": "10412:5:0" } ], - "id": 1804, + "id": 776, "name": "MemberAccess", - "src": "10415:12:4" + "src": "10412:12:0" } ], - "id": 1805, + "id": 777, "name": "BinaryOperation", - "src": "10395:32:4" + "src": "10392:32:0" }, { "attributes": { @@ -25860,24 +25860,24 @@ "type": "literal_string \"verifier-bad-input\"", "value": "verifier-bad-input" }, - "id": 1806, + "id": 778, "name": "Literal", - "src": "10428:20:4" + "src": "10425:20:0" } ], - "id": 1807, + "id": 779, "name": "FunctionCall", - "src": "10387:62:4" + "src": "10384:62:0" } ], - "id": 1808, + "id": 780, "name": "ExpressionStatement", - "src": "10387:62:4" + "src": "10384:62:0" }, { "attributes": { "assignments": [ - 1812 + 784 ] }, "children": [ @@ -25885,7 +25885,7 @@ "attributes": { "constant": false, "name": "vk_x", - "scope": 1898, + "scope": 870, "stateVariable": false, "storageLocation": "memory", "type": "struct Pairing.G1Point", @@ -25897,17 +25897,17 @@ "attributes": { "contractScope": null, "name": "Pairing.G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "struct Pairing.G1Point" }, - "id": 1811, + "id": 783, "name": "UserDefinedTypeName", - "src": "10506:15:4" + "src": "10503:15:0" } ], - "id": 1812, + "id": 784, "name": "VariableDeclaration", - "src": "10506:27:4" + "src": "10503:27:0" }, { "attributes": { @@ -25941,7 +25941,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -25951,18 +25951,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1813, + "id": 785, "name": "Identifier", - "src": "10536:7:4" + "src": "10533:7:0" } ], - "id": 1814, + "id": 786, "name": "MemberAccess", - "src": "10536:15:4" + "src": "10533:15:0" }, { "attributes": { @@ -25977,9 +25977,9 @@ "type": "int_const 0", "value": "0" }, - "id": 1815, + "id": 787, "name": "Literal", - "src": "10552:1:4" + "src": "10549:1:0" }, { "attributes": { @@ -25994,26 +25994,26 @@ "type": "int_const 0", "value": "0" }, - "id": 1816, + "id": 788, "name": "Literal", - "src": "10555:1:4" + "src": "10552:1:0" } ], - "id": 1817, + "id": 789, "name": "FunctionCall", - "src": "10536:21:4" + "src": "10533:21:0" } ], - "id": 1818, + "id": 790, "name": "VariableDeclarationStatement", - "src": "10506:51:4" + "src": "10503:51:0" }, { "children": [ { "attributes": { "assignments": [ - 1820 + 792 ] }, "children": [ @@ -26021,7 +26021,7 @@ "attributes": { "constant": false, "name": "i", - "scope": 1859, + "scope": 831, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -26034,14 +26034,14 @@ "name": "uint", "type": "uint256" }, - "id": 1819, + "id": 791, "name": "ElementaryTypeName", - "src": "10572:4:4" + "src": "10569:4:0" } ], - "id": 1820, + "id": 792, "name": "VariableDeclaration", - "src": "10572:6:4" + "src": "10569:6:0" }, { "attributes": { @@ -26056,14 +26056,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1821, + "id": 793, "name": "Literal", - "src": "10581:1:4" + "src": "10578:1:0" } ], - "id": 1822, + "id": 794, "name": "VariableDeclarationStatement", - "src": "10572:10:4" + "src": "10569:10:0" }, { "attributes": { @@ -26086,13 +26086,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1820, + "referencedDeclaration": 792, "type": "uint256", "value": "i" }, - "id": 1823, + "id": 795, "name": "Identifier", - "src": "10584:1:4" + "src": "10581:1:0" }, { "attributes": { @@ -26112,23 +26112,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1781, + "referencedDeclaration": 753, "type": "uint256[] memory", "value": "input" }, - "id": 1824, + "id": 796, "name": "Identifier", - "src": "10588:5:4" + "src": "10585:5:0" } ], - "id": 1825, + "id": 797, "name": "MemberAccess", - "src": "10588:12:4" + "src": "10585:12:0" } ], - "id": 1826, + "id": 798, "name": "BinaryOperation", - "src": "10584:16:4" + "src": "10581:16:0" }, { "children": [ @@ -26150,23 +26150,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1820, + "referencedDeclaration": 792, "type": "uint256", "value": "i" }, - "id": 1827, + "id": 799, "name": "Identifier", - "src": "10602:1:4" + "src": "10599:1:0" } ], - "id": 1828, + "id": 800, "name": "UnaryOperation", - "src": "10602:3:4" + "src": "10599:3:0" } ], - "id": 1829, + "id": 801, "name": "ExpressionStatement", - "src": "10602:3:4" + "src": "10599:3:0" }, { "children": [ @@ -26200,16 +26200,16 @@ } ], "overloadedDeclarations": [ - 2134, - 2135 + 1076, + 1077 ], - "referencedDeclaration": 2135, + "referencedDeclaration": 1077, "type": "function (bool,string memory) pure", "value": "require" }, - "id": 1830, + "id": 802, "name": "Identifier", - "src": "10621:7:4" + "src": "10618:7:0" }, { "attributes": { @@ -26242,13 +26242,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1781, + "referencedDeclaration": 753, "type": "uint256[] memory", "value": "input" }, - "id": 1831, + "id": 803, "name": "Identifier", - "src": "10629:5:4" + "src": "10626:5:0" }, { "attributes": { @@ -26256,18 +26256,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1820, + "referencedDeclaration": 792, "type": "uint256", "value": "i" }, - "id": 1832, + "id": 804, "name": "Identifier", - "src": "10635:1:4" + "src": "10632:1:0" } ], - "id": 1833, + "id": 805, "name": "IndexAccess", - "src": "10629:8:4" + "src": "10626:8:0" }, { "attributes": { @@ -26275,18 +26275,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1789, + "referencedDeclaration": 761, "type": "uint256", "value": "snark_scalar_field" }, - "id": 1834, + "id": 806, "name": "Identifier", - "src": "10640:18:4" + "src": "10637:18:0" } ], - "id": 1835, + "id": 807, "name": "BinaryOperation", - "src": "10629:29:4" + "src": "10626:29:0" }, { "attributes": { @@ -26301,19 +26301,19 @@ "type": "literal_string \"verifier-gte-snark-scalar-field\"", "value": "verifier-gte-snark-scalar-field" }, - "id": 1836, + "id": 808, "name": "Literal", - "src": "10659:33:4" + "src": "10656:33:0" } ], - "id": 1837, + "id": 809, "name": "FunctionCall", - "src": "10621:72:4" + "src": "10618:72:0" } ], - "id": 1838, + "id": 810, "name": "ExpressionStatement", - "src": "10621:72:4" + "src": "10618:72:0" }, { "children": [ @@ -26334,13 +26334,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1812, + "referencedDeclaration": 784, "type": "struct Pairing.G1Point memory", "value": "vk_x" }, - "id": 1839, + "id": 811, "name": "Identifier", - "src": "10707:4:4" + "src": "10704:4:0" }, { "attributes": { @@ -26361,11 +26361,11 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" } ], @@ -26374,7 +26374,7 @@ "isPure": false, "lValueRequested": false, "member_name": "addition", - "referencedDeclaration": 1161, + "referencedDeclaration": 133, "type": "function (struct Pairing.G1Point memory,struct Pairing.G1Point memory) view returns (struct Pairing.G1Point memory)" }, "children": [ @@ -26384,18 +26384,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1840, + "id": 812, "name": "Identifier", - "src": "10714:7:4" + "src": "10711:7:0" } ], - "id": 1841, + "id": 813, "name": "MemberAccess", - "src": "10714:16:4" + "src": "10711:16:0" }, { "attributes": { @@ -26403,13 +26403,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1812, + "referencedDeclaration": 784, "type": "struct Pairing.G1Point memory", "value": "vk_x" }, - "id": 1842, + "id": 814, "name": "Identifier", - "src": "10731:4:4" + "src": "10728:4:0" }, { "attributes": { @@ -26430,7 +26430,7 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" }, { @@ -26443,7 +26443,7 @@ "isPure": false, "lValueRequested": false, "member_name": "scalar_mul", - "referencedDeclaration": 1206, + "referencedDeclaration": 178, "type": "function (struct Pairing.G1Point memory,uint256) view returns (struct Pairing.G1Point memory)" }, "children": [ @@ -26453,18 +26453,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1843, + "id": 815, "name": "Identifier", - "src": "10737:7:4" + "src": "10734:7:0" } ], - "id": 1844, + "id": 816, "name": "MemberAccess", - "src": "10737:18:4" + "src": "10734:18:0" }, { "attributes": { @@ -26484,7 +26484,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -26494,18 +26494,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1793, + "referencedDeclaration": 765, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1845, + "id": 817, "name": "Identifier", - "src": "10756:2:4" + "src": "10753:2:0" } ], - "id": 1846, + "id": 818, "name": "MemberAccess", - "src": "10756:5:4" + "src": "10753:5:0" }, { "attributes": { @@ -26528,13 +26528,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1820, + "referencedDeclaration": 792, "type": "uint256", "value": "i" }, - "id": 1847, + "id": 819, "name": "Identifier", - "src": "10762:1:4" + "src": "10759:1:0" }, { "attributes": { @@ -26549,19 +26549,19 @@ "type": "int_const 1", "value": "1" }, - "id": 1848, + "id": 820, "name": "Literal", - "src": "10766:1:4" + "src": "10763:1:0" } ], - "id": 1849, + "id": 821, "name": "BinaryOperation", - "src": "10762:5:4" + "src": "10759:5:0" } ], - "id": 1850, + "id": 822, "name": "IndexAccess", - "src": "10756:12:4" + "src": "10753:12:0" }, { "attributes": { @@ -26579,13 +26579,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1781, + "referencedDeclaration": 753, "type": "uint256[] memory", "value": "input" }, - "id": 1851, + "id": 823, "name": "Identifier", - "src": "10770:5:4" + "src": "10767:5:0" }, { "attributes": { @@ -26593,48 +26593,48 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1820, + "referencedDeclaration": 792, "type": "uint256", "value": "i" }, - "id": 1852, + "id": 824, "name": "Identifier", - "src": "10776:1:4" + "src": "10773:1:0" } ], - "id": 1853, + "id": 825, "name": "IndexAccess", - "src": "10770:8:4" + "src": "10767:8:0" } ], - "id": 1854, + "id": 826, "name": "FunctionCall", - "src": "10737:42:4" + "src": "10734:42:0" } ], - "id": 1855, + "id": 827, "name": "FunctionCall", - "src": "10714:66:4" + "src": "10711:66:0" } ], - "id": 1856, + "id": 828, "name": "Assignment", - "src": "10707:73:4" + "src": "10704:73:0" } ], - "id": 1857, + "id": 829, "name": "ExpressionStatement", - "src": "10707:73:4" + "src": "10704:73:0" } ], - "id": 1858, + "id": 830, "name": "Block", - "src": "10607:184:4" + "src": "10604:184:0" } ], - "id": 1859, + "id": 831, "name": "ForStatement", - "src": "10567:224:4" + "src": "10564:224:0" }, { "children": [ @@ -26655,13 +26655,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1812, + "referencedDeclaration": 784, "type": "struct Pairing.G1Point memory", "value": "vk_x" }, - "id": 1860, + "id": 832, "name": "Identifier", - "src": "10800:4:4" + "src": "10797:4:0" }, { "attributes": { @@ -26682,11 +26682,11 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } ], @@ -26695,7 +26695,7 @@ "isPure": false, "lValueRequested": false, "member_name": "addition", - "referencedDeclaration": 1161, + "referencedDeclaration": 133, "type": "function (struct Pairing.G1Point memory,struct Pairing.G1Point memory) view returns (struct Pairing.G1Point memory)" }, "children": [ @@ -26705,18 +26705,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1861, + "id": 833, "name": "Identifier", - "src": "10807:7:4" + "src": "10804:7:0" } ], - "id": 1862, + "id": 834, "name": "MemberAccess", - "src": "10807:16:4" + "src": "10804:16:0" }, { "attributes": { @@ -26724,13 +26724,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1812, + "referencedDeclaration": 784, "type": "struct Pairing.G1Point memory", "value": "vk_x" }, - "id": 1863, + "id": 835, "name": "Identifier", - "src": "10824:4:4" + "src": "10821:4:0" }, { "attributes": { @@ -26750,7 +26750,7 @@ "isPure": false, "lValueRequested": false, "member_name": "IC", - "referencedDeclaration": 1618, + "referencedDeclaration": 590, "type": "struct Pairing.G1Point memory[] memory" }, "children": [ @@ -26760,18 +26760,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1793, + "referencedDeclaration": 765, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1864, + "id": 836, "name": "Identifier", - "src": "10830:2:4" + "src": "10827:2:0" } ], - "id": 1865, + "id": 837, "name": "MemberAccess", - "src": "10830:5:4" + "src": "10827:5:0" }, { "attributes": { @@ -26786,29 +26786,29 @@ "type": "int_const 0", "value": "0" }, - "id": 1866, + "id": 838, "name": "Literal", - "src": "10836:1:4" + "src": "10833:1:0" } ], - "id": 1867, + "id": 839, "name": "IndexAccess", - "src": "10830:8:4" + "src": "10827:8:0" } ], - "id": 1868, + "id": 840, "name": "FunctionCall", - "src": "10807:32:4" + "src": "10804:32:0" } ], - "id": 1869, + "id": 841, "name": "Assignment", - "src": "10800:39:4" + "src": "10797:39:0" } ], - "id": 1870, + "id": 842, "name": "ExpressionStatement", - "src": "10800:39:4" + "src": "10797:39:0" }, { "attributes": { @@ -26846,35 +26846,35 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory_ptr", + "typeIdentifier": "t_struct$_G1Point_$6_memory_ptr", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" }, { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" }, { - "typeIdentifier": "t_struct$_G2Point_$1043_memory", + "typeIdentifier": "t_struct$_G2Point_$15_memory", "typeString": "struct Pairing.G2Point memory" } ], @@ -26883,7 +26883,7 @@ "isPure": false, "lValueRequested": false, "member_name": "pairingProd4", - "referencedDeclaration": 1604, + "referencedDeclaration": 576, "type": "function (struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory,struct Pairing.G1Point memory,struct Pairing.G2Point memory) view returns (bool)" }, "children": [ @@ -26893,18 +26893,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1871, + "id": 843, "name": "Identifier", - "src": "10854:7:4" + "src": "10851:7:0" } ], - "id": 1872, + "id": 844, "name": "MemberAccess", - "src": "10854:20:4" + "src": "10851:20:0" }, { "attributes": { @@ -26925,7 +26925,7 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_G1Point_$1034_memory", + "typeIdentifier": "t_struct$_G1Point_$6_memory", "typeString": "struct Pairing.G1Point memory" } ], @@ -26934,7 +26934,7 @@ "isPure": false, "lValueRequested": false, "member_name": "negate", - "referencedDeclaration": 1108, + "referencedDeclaration": 80, "type": "function (struct Pairing.G1Point memory) pure returns (struct Pairing.G1Point memory)" }, "children": [ @@ -26944,18 +26944,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1873, + "id": 845, "name": "Identifier", - "src": "10888:7:4" + "src": "10885:7:0" } ], - "id": 1874, + "id": 846, "name": "MemberAccess", - "src": "10888:14:4" + "src": "10885:14:0" }, { "attributes": { @@ -26965,7 +26965,7 @@ "isPure": false, "lValueRequested": false, "member_name": "A", - "referencedDeclaration": 1621, + "referencedDeclaration": 593, "type": "struct Pairing.G1Point memory" }, "children": [ @@ -26975,23 +26975,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1783, + "referencedDeclaration": 755, "type": "struct Verifier.Proof memory", "value": "proof" }, - "id": 1875, + "id": 847, "name": "Identifier", - "src": "10903:5:4" + "src": "10900:5:0" } ], - "id": 1876, + "id": 848, "name": "MemberAccess", - "src": "10903:7:4" + "src": "10900:7:0" } ], - "id": 1877, + "id": 849, "name": "FunctionCall", - "src": "10888:23:4" + "src": "10885:23:0" }, { "attributes": { @@ -27001,7 +27001,7 @@ "isPure": false, "lValueRequested": false, "member_name": "B", - "referencedDeclaration": 1623, + "referencedDeclaration": 595, "type": "struct Pairing.G2Point memory" }, "children": [ @@ -27011,18 +27011,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1783, + "referencedDeclaration": 755, "type": "struct Verifier.Proof memory", "value": "proof" }, - "id": 1878, + "id": 850, "name": "Identifier", - "src": "10913:5:4" + "src": "10910:5:0" } ], - "id": 1879, + "id": 851, "name": "MemberAccess", - "src": "10913:7:4" + "src": "10910:7:0" }, { "attributes": { @@ -27032,7 +27032,7 @@ "isPure": false, "lValueRequested": false, "member_name": "alfa1", - "referencedDeclaration": 1609, + "referencedDeclaration": 581, "type": "struct Pairing.G1Point memory" }, "children": [ @@ -27042,18 +27042,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1793, + "referencedDeclaration": 765, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1880, + "id": 852, "name": "Identifier", - "src": "10934:2:4" + "src": "10931:2:0" } ], - "id": 1881, + "id": 853, "name": "MemberAccess", - "src": "10934:8:4" + "src": "10931:8:0" }, { "attributes": { @@ -27063,7 +27063,7 @@ "isPure": false, "lValueRequested": false, "member_name": "beta2", - "referencedDeclaration": 1611, + "referencedDeclaration": 583, "type": "struct Pairing.G2Point memory" }, "children": [ @@ -27073,18 +27073,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1793, + "referencedDeclaration": 765, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1882, + "id": 854, "name": "Identifier", - "src": "10944:2:4" + "src": "10941:2:0" } ], - "id": 1883, + "id": 855, "name": "MemberAccess", - "src": "10944:8:4" + "src": "10941:8:0" }, { "attributes": { @@ -27092,13 +27092,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1812, + "referencedDeclaration": 784, "type": "struct Pairing.G1Point memory", "value": "vk_x" }, - "id": 1884, + "id": 856, "name": "Identifier", - "src": "10966:4:4" + "src": "10963:4:0" }, { "attributes": { @@ -27108,7 +27108,7 @@ "isPure": false, "lValueRequested": false, "member_name": "gamma2", - "referencedDeclaration": 1613, + "referencedDeclaration": 585, "type": "struct Pairing.G2Point memory" }, "children": [ @@ -27118,18 +27118,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1793, + "referencedDeclaration": 765, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1885, + "id": 857, "name": "Identifier", - "src": "10972:2:4" + "src": "10969:2:0" } ], - "id": 1886, + "id": 858, "name": "MemberAccess", - "src": "10972:9:4" + "src": "10969:9:0" }, { "attributes": { @@ -27139,7 +27139,7 @@ "isPure": false, "lValueRequested": false, "member_name": "C", - "referencedDeclaration": 1625, + "referencedDeclaration": 597, "type": "struct Pairing.G1Point memory" }, "children": [ @@ -27149,18 +27149,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1783, + "referencedDeclaration": 755, "type": "struct Verifier.Proof memory", "value": "proof" }, - "id": 1887, + "id": 859, "name": "Identifier", - "src": "10995:5:4" + "src": "10992:5:0" } ], - "id": 1888, + "id": 860, "name": "MemberAccess", - "src": "10995:7:4" + "src": "10992:7:0" }, { "attributes": { @@ -27170,7 +27170,7 @@ "isPure": false, "lValueRequested": false, "member_name": "delta2", - "referencedDeclaration": 1615, + "referencedDeclaration": 587, "type": "struct Pairing.G2Point memory" }, "children": [ @@ -27180,32 +27180,32 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1793, + "referencedDeclaration": 765, "type": "struct Verifier.VerifyingKey memory", "value": "vk" }, - "id": 1889, + "id": 861, "name": "Identifier", - "src": "11004:2:4" + "src": "11001:2:0" } ], - "id": 1890, + "id": 862, "name": "MemberAccess", - "src": "11004:9:4" + "src": "11001:9:0" } ], - "id": 1891, + "id": 863, "name": "FunctionCall", - "src": "10854:169:4" + "src": "10851:169:0" } ], - "id": 1892, + "id": 864, "name": "UnaryOperation", - "src": "10853:170:4" + "src": "10850:170:0" }, { "attributes": { - "functionReturnParameters": 1787 + "functionReturnParameters": 759 }, "children": [ { @@ -27221,23 +27221,23 @@ "type": "int_const 1", "value": "1" }, - "id": 1893, + "id": 865, "name": "Literal", - "src": "11032:1:4" + "src": "11029:1:0" } ], - "id": 1894, + "id": 866, "name": "Return", - "src": "11025:8:4" + "src": "11022:8:0" } ], - "id": 1895, + "id": 867, "name": "IfStatement", - "src": "10849:184:4" + "src": "10846:184:0" }, { "attributes": { - "functionReturnParameters": 1787 + "functionReturnParameters": 759 }, "children": [ { @@ -27253,24 +27253,24 @@ "type": "int_const 0", "value": "0" }, - "id": 1896, + "id": 868, "name": "Literal", - "src": "11050:1:4" + "src": "11047:1:0" } ], - "id": 1897, + "id": 869, "name": "Return", - "src": "11043:8:4" + "src": "11040:8:0" } ], - "id": 1898, + "id": 870, "name": "Block", - "src": "10212:846:4" + "src": "10209:846:0" } ], - "id": 1899, + "id": 871, "name": "FunctionDefinition", - "src": "10126:932:4" + "src": "10123:932:0" }, { "attributes": { @@ -27282,7 +27282,7 @@ null ], "name": "verifyProof", - "scope": 2086, + "scope": 1058, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -27294,7 +27294,7 @@ "attributes": { "constant": false, "name": "a", - "scope": 2029, + "scope": 1001, "stateVariable": false, "storageLocation": "memory", "type": "uint256[2]", @@ -27312,9 +27312,9 @@ "name": "uint", "type": "uint256" }, - "id": 1900, + "id": 872, "name": "ElementaryTypeName", - "src": "11097:4:4" + "src": "11094:4:0" }, { "attributes": { @@ -27329,25 +27329,25 @@ "type": "int_const 2", "value": "2" }, - "id": 1901, + "id": 873, "name": "Literal", - "src": "11102:1:4" + "src": "11099:1:0" } ], - "id": 1902, + "id": 874, "name": "ArrayTypeName", - "src": "11097:7:4" + "src": "11094:7:0" } ], - "id": 1903, + "id": 875, "name": "VariableDeclaration", - "src": "11097:16:4" + "src": "11094:16:0" }, { "attributes": { "constant": false, "name": "b", - "scope": 2029, + "scope": 1001, "stateVariable": false, "storageLocation": "memory", "type": "uint256[2][2]", @@ -27370,9 +27370,9 @@ "name": "uint", "type": "uint256" }, - "id": 1904, + "id": 876, "name": "ElementaryTypeName", - "src": "11127:4:4" + "src": "11124:4:0" }, { "attributes": { @@ -27387,14 +27387,14 @@ "type": "int_const 2", "value": "2" }, - "id": 1905, + "id": 877, "name": "Literal", - "src": "11132:1:4" + "src": "11129:1:0" } ], - "id": 1906, + "id": 878, "name": "ArrayTypeName", - "src": "11127:7:4" + "src": "11124:7:0" }, { "attributes": { @@ -27409,25 +27409,25 @@ "type": "int_const 2", "value": "2" }, - "id": 1907, + "id": 879, "name": "Literal", - "src": "11135:1:4" + "src": "11132:1:0" } ], - "id": 1908, + "id": 880, "name": "ArrayTypeName", - "src": "11127:10:4" + "src": "11124:10:0" } ], - "id": 1909, + "id": 881, "name": "VariableDeclaration", - "src": "11127:19:4" + "src": "11124:19:0" }, { "attributes": { "constant": false, "name": "c", - "scope": 2029, + "scope": 1001, "stateVariable": false, "storageLocation": "memory", "type": "uint256[2]", @@ -27445,9 +27445,9 @@ "name": "uint", "type": "uint256" }, - "id": 1910, + "id": 882, "name": "ElementaryTypeName", - "src": "11160:4:4" + "src": "11157:4:0" }, { "attributes": { @@ -27462,25 +27462,25 @@ "type": "int_const 2", "value": "2" }, - "id": 1911, + "id": 883, "name": "Literal", - "src": "11165:1:4" + "src": "11162:1:0" } ], - "id": 1912, + "id": 884, "name": "ArrayTypeName", - "src": "11160:7:4" + "src": "11157:7:0" } ], - "id": 1913, + "id": 885, "name": "VariableDeclaration", - "src": "11160:16:4" + "src": "11157:16:0" }, { "attributes": { "constant": false, "name": "input", - "scope": 2029, + "scope": 1001, "stateVariable": false, "storageLocation": "memory", "type": "uint256[6]", @@ -27498,9 +27498,9 @@ "name": "uint", "type": "uint256" }, - "id": 1914, + "id": 886, "name": "ElementaryTypeName", - "src": "11190:4:4" + "src": "11187:4:0" }, { "attributes": { @@ -27515,24 +27515,24 @@ "type": "int_const 6", "value": "6" }, - "id": 1915, + "id": 887, "name": "Literal", - "src": "11195:1:4" + "src": "11192:1:0" } ], - "id": 1916, + "id": 888, "name": "ArrayTypeName", - "src": "11190:7:4" + "src": "11187:7:0" } ], - "id": 1917, + "id": 889, "name": "VariableDeclaration", - "src": "11190:20:4" + "src": "11187:20:0" } ], - "id": 1918, + "id": 890, "name": "ParameterList", - "src": "11083:137:4" + "src": "11080:137:0" }, { "children": [ @@ -27540,7 +27540,7 @@ "attributes": { "constant": false, "name": "r", - "scope": 2029, + "scope": 1001, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -27553,26 +27553,26 @@ "name": "bool", "type": "bool" }, - "id": 1919, + "id": 891, "name": "ElementaryTypeName", - "src": "11242:4:4" + "src": "11239:4:0" } ], - "id": 1920, + "id": 892, "name": "VariableDeclaration", - "src": "11242:6:4" + "src": "11239:6:0" } ], - "id": 1921, + "id": 893, "name": "ParameterList", - "src": "11241:8:4" + "src": "11238:8:0" }, { "children": [ { "attributes": { "assignments": [ - 1923 + 895 ], "initialValue": null }, @@ -27581,7 +27581,7 @@ "attributes": { "constant": false, "name": "proof", - "scope": 2028, + "scope": 1000, "stateVariable": false, "storageLocation": "memory", "type": "struct Verifier.Proof", @@ -27593,22 +27593,22 @@ "attributes": { "contractScope": null, "name": "Proof", - "referencedDeclaration": 1626, + "referencedDeclaration": 598, "type": "struct Verifier.Proof" }, - "id": 1922, + "id": 894, "name": "UserDefinedTypeName", - "src": "11260:5:4" + "src": "11257:5:0" } ], - "id": 1923, + "id": 895, "name": "VariableDeclaration", - "src": "11260:18:4" + "src": "11257:18:0" } ], - "id": 1924, + "id": 896, "name": "VariableDeclarationStatement", - "src": "11260:18:4" + "src": "11257:18:0" }, { "children": [ @@ -27631,7 +27631,7 @@ "isPure": false, "lValueRequested": true, "member_name": "A", - "referencedDeclaration": 1621, + "referencedDeclaration": 593, "type": "struct Pairing.G1Point memory" }, "children": [ @@ -27641,18 +27641,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1923, + "referencedDeclaration": 895, "type": "struct Verifier.Proof memory", "value": "proof" }, - "id": 1925, + "id": 897, "name": "Identifier", - "src": "11288:5:4" + "src": "11285:5:0" } ], - "id": 1927, + "id": 899, "name": "MemberAccess", - "src": "11288:7:4" + "src": "11285:7:0" }, { "attributes": { @@ -27686,7 +27686,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -27696,18 +27696,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1928, + "id": 900, "name": "Identifier", - "src": "11298:7:4" + "src": "11295:7:0" } ], - "id": 1929, + "id": 901, "name": "MemberAccess", - "src": "11298:15:4" + "src": "11295:15:0" }, { "attributes": { @@ -27725,13 +27725,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1903, + "referencedDeclaration": 875, "type": "uint256[2] memory", "value": "a" }, - "id": 1930, + "id": 902, "name": "Identifier", - "src": "11314:1:4" + "src": "11311:1:0" }, { "attributes": { @@ -27746,14 +27746,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1931, + "id": 903, "name": "Literal", - "src": "11316:1:4" + "src": "11313:1:0" } ], - "id": 1932, + "id": 904, "name": "IndexAccess", - "src": "11314:4:4" + "src": "11311:4:0" }, { "attributes": { @@ -27771,13 +27771,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1903, + "referencedDeclaration": 875, "type": "uint256[2] memory", "value": "a" }, - "id": 1933, + "id": 905, "name": "Identifier", - "src": "11320:1:4" + "src": "11317:1:0" }, { "attributes": { @@ -27792,29 +27792,29 @@ "type": "int_const 1", "value": "1" }, - "id": 1934, + "id": 906, "name": "Literal", - "src": "11322:1:4" + "src": "11319:1:0" } ], - "id": 1935, + "id": 907, "name": "IndexAccess", - "src": "11320:4:4" + "src": "11317:4:0" } ], - "id": 1936, + "id": 908, "name": "FunctionCall", - "src": "11298:27:4" + "src": "11295:27:0" } ], - "id": 1937, + "id": 909, "name": "Assignment", - "src": "11288:37:4" + "src": "11285:37:0" } ], - "id": 1938, + "id": 910, "name": "ExpressionStatement", - "src": "11288:37:4" + "src": "11285:37:0" }, { "children": [ @@ -27837,7 +27837,7 @@ "isPure": false, "lValueRequested": true, "member_name": "B", - "referencedDeclaration": 1623, + "referencedDeclaration": 595, "type": "struct Pairing.G2Point memory" }, "children": [ @@ -27847,18 +27847,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1923, + "referencedDeclaration": 895, "type": "struct Verifier.Proof memory", "value": "proof" }, - "id": 1939, + "id": 911, "name": "Identifier", - "src": "11335:5:4" + "src": "11332:5:0" } ], - "id": 1941, + "id": 913, "name": "MemberAccess", - "src": "11335:7:4" + "src": "11332:7:0" }, { "attributes": { @@ -27892,7 +27892,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G2Point", - "referencedDeclaration": 1043, + "referencedDeclaration": 15, "type": "type(struct Pairing.G2Point storage pointer)" }, "children": [ @@ -27902,18 +27902,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1942, + "id": 914, "name": "Identifier", - "src": "11345:7:4" + "src": "11342:7:0" } ], - "id": 1943, + "id": 915, "name": "MemberAccess", - "src": "11345:15:4" + "src": "11342:15:0" }, { "attributes": { @@ -27952,13 +27952,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1909, + "referencedDeclaration": 881, "type": "uint256[2] memory[2] memory", "value": "b" }, - "id": 1944, + "id": 916, "name": "Identifier", - "src": "11362:1:4" + "src": "11359:1:0" }, { "attributes": { @@ -27973,14 +27973,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1945, + "id": 917, "name": "Literal", - "src": "11364:1:4" + "src": "11361:1:0" } ], - "id": 1946, + "id": 918, "name": "IndexAccess", - "src": "11362:4:4" + "src": "11359:4:0" }, { "attributes": { @@ -27995,14 +27995,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1947, + "id": 919, "name": "Literal", - "src": "11367:1:4" + "src": "11364:1:0" } ], - "id": 1948, + "id": 920, "name": "IndexAccess", - "src": "11362:7:4" + "src": "11359:7:0" }, { "attributes": { @@ -28030,13 +28030,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1909, + "referencedDeclaration": 881, "type": "uint256[2] memory[2] memory", "value": "b" }, - "id": 1949, + "id": 921, "name": "Identifier", - "src": "11371:1:4" + "src": "11368:1:0" }, { "attributes": { @@ -28051,14 +28051,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1950, + "id": 922, "name": "Literal", - "src": "11373:1:4" + "src": "11370:1:0" } ], - "id": 1951, + "id": 923, "name": "IndexAccess", - "src": "11371:4:4" + "src": "11368:4:0" }, { "attributes": { @@ -28073,19 +28073,19 @@ "type": "int_const 1", "value": "1" }, - "id": 1952, + "id": 924, "name": "Literal", - "src": "11376:1:4" + "src": "11373:1:0" } ], - "id": 1953, + "id": 925, "name": "IndexAccess", - "src": "11371:7:4" + "src": "11368:7:0" } ], - "id": 1954, + "id": 926, "name": "TupleExpression", - "src": "11361:18:4" + "src": "11358:18:0" }, { "attributes": { @@ -28124,13 +28124,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1909, + "referencedDeclaration": 881, "type": "uint256[2] memory[2] memory", "value": "b" }, - "id": 1955, + "id": 927, "name": "Identifier", - "src": "11382:1:4" + "src": "11379:1:0" }, { "attributes": { @@ -28145,14 +28145,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1956, + "id": 928, "name": "Literal", - "src": "11384:1:4" + "src": "11381:1:0" } ], - "id": 1957, + "id": 929, "name": "IndexAccess", - "src": "11382:4:4" + "src": "11379:4:0" }, { "attributes": { @@ -28167,14 +28167,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1958, + "id": 930, "name": "Literal", - "src": "11387:1:4" + "src": "11384:1:0" } ], - "id": 1959, + "id": 931, "name": "IndexAccess", - "src": "11382:7:4" + "src": "11379:7:0" }, { "attributes": { @@ -28202,13 +28202,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1909, + "referencedDeclaration": 881, "type": "uint256[2] memory[2] memory", "value": "b" }, - "id": 1960, + "id": 932, "name": "Identifier", - "src": "11391:1:4" + "src": "11388:1:0" }, { "attributes": { @@ -28223,14 +28223,14 @@ "type": "int_const 1", "value": "1" }, - "id": 1961, + "id": 933, "name": "Literal", - "src": "11393:1:4" + "src": "11390:1:0" } ], - "id": 1962, + "id": 934, "name": "IndexAccess", - "src": "11391:4:4" + "src": "11388:4:0" }, { "attributes": { @@ -28245,34 +28245,34 @@ "type": "int_const 1", "value": "1" }, - "id": 1963, + "id": 935, "name": "Literal", - "src": "11396:1:4" + "src": "11393:1:0" } ], - "id": 1964, + "id": 936, "name": "IndexAccess", - "src": "11391:7:4" + "src": "11388:7:0" } ], - "id": 1965, + "id": 937, "name": "TupleExpression", - "src": "11381:18:4" + "src": "11378:18:0" } ], - "id": 1966, + "id": 938, "name": "FunctionCall", - "src": "11345:55:4" + "src": "11342:55:0" } ], - "id": 1967, + "id": 939, "name": "Assignment", - "src": "11335:65:4" + "src": "11332:65:0" } ], - "id": 1968, + "id": 940, "name": "ExpressionStatement", - "src": "11335:65:4" + "src": "11332:65:0" }, { "children": [ @@ -28295,7 +28295,7 @@ "isPure": false, "lValueRequested": true, "member_name": "C", - "referencedDeclaration": 1625, + "referencedDeclaration": 597, "type": "struct Pairing.G1Point memory" }, "children": [ @@ -28305,18 +28305,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1923, + "referencedDeclaration": 895, "type": "struct Verifier.Proof memory", "value": "proof" }, - "id": 1969, + "id": 941, "name": "Identifier", - "src": "11410:5:4" + "src": "11407:5:0" } ], - "id": 1971, + "id": 943, "name": "MemberAccess", - "src": "11410:7:4" + "src": "11407:7:0" }, { "attributes": { @@ -28350,7 +28350,7 @@ "isPure": false, "lValueRequested": false, "member_name": "G1Point", - "referencedDeclaration": 1034, + "referencedDeclaration": 6, "type": "type(struct Pairing.G1Point storage pointer)" }, "children": [ @@ -28360,18 +28360,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1605, + "referencedDeclaration": 577, "type": "type(library Pairing)", "value": "Pairing" }, - "id": 1972, + "id": 944, "name": "Identifier", - "src": "11420:7:4" + "src": "11417:7:0" } ], - "id": 1973, + "id": 945, "name": "MemberAccess", - "src": "11420:15:4" + "src": "11417:15:0" }, { "attributes": { @@ -28389,13 +28389,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1913, + "referencedDeclaration": 885, "type": "uint256[2] memory", "value": "c" }, - "id": 1974, + "id": 946, "name": "Identifier", - "src": "11436:1:4" + "src": "11433:1:0" }, { "attributes": { @@ -28410,14 +28410,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1975, + "id": 947, "name": "Literal", - "src": "11438:1:4" + "src": "11435:1:0" } ], - "id": 1976, + "id": 948, "name": "IndexAccess", - "src": "11436:4:4" + "src": "11433:4:0" }, { "attributes": { @@ -28435,13 +28435,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1913, + "referencedDeclaration": 885, "type": "uint256[2] memory", "value": "c" }, - "id": 1977, + "id": 949, "name": "Identifier", - "src": "11442:1:4" + "src": "11439:1:0" }, { "attributes": { @@ -28456,34 +28456,34 @@ "type": "int_const 1", "value": "1" }, - "id": 1978, + "id": 950, "name": "Literal", - "src": "11444:1:4" + "src": "11441:1:0" } ], - "id": 1979, + "id": 951, "name": "IndexAccess", - "src": "11442:4:4" + "src": "11439:4:0" } ], - "id": 1980, + "id": 952, "name": "FunctionCall", - "src": "11420:27:4" + "src": "11417:27:0" } ], - "id": 1981, + "id": 953, "name": "Assignment", - "src": "11410:37:4" + "src": "11407:37:0" } ], - "id": 1982, + "id": 954, "name": "ExpressionStatement", - "src": "11410:37:4" + "src": "11407:37:0" }, { "attributes": { "assignments": [ - 1986 + 958 ] }, "children": [ @@ -28491,7 +28491,7 @@ "attributes": { "constant": false, "name": "inputValues", - "scope": 2028, + "scope": 1000, "stateVariable": false, "storageLocation": "memory", "type": "uint256[]", @@ -28510,19 +28510,19 @@ "name": "uint", "type": "uint256" }, - "id": 1984, + "id": 956, "name": "ElementaryTypeName", - "src": "11457:4:4" + "src": "11454:4:0" } ], - "id": 1985, + "id": 957, "name": "ArrayTypeName", - "src": "11457:6:4" + "src": "11454:6:0" } ], - "id": 1986, + "id": 958, "name": "VariableDeclaration", - "src": "11457:25:4" + "src": "11454:25:0" }, { "attributes": { @@ -28565,19 +28565,19 @@ "name": "uint", "type": "uint256" }, - "id": 1987, + "id": 959, "name": "ElementaryTypeName", - "src": "11489:4:4" + "src": "11486:4:0" } ], - "id": 1988, + "id": 960, "name": "ArrayTypeName", - "src": "11489:6:4" + "src": "11486:6:0" } ], - "id": 1989, + "id": 961, "name": "NewExpression", - "src": "11485:10:4" + "src": "11482:10:0" }, { "attributes": { @@ -28597,35 +28597,35 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1917, + "referencedDeclaration": 889, "type": "uint256[6] memory", "value": "input" }, - "id": 1990, + "id": 962, "name": "Identifier", - "src": "11496:5:4" + "src": "11493:5:0" } ], - "id": 1991, + "id": 963, "name": "MemberAccess", - "src": "11496:12:4" + "src": "11493:12:0" } ], - "id": 1992, + "id": 964, "name": "FunctionCall", - "src": "11485:24:4" + "src": "11482:24:0" } ], - "id": 1993, + "id": 965, "name": "VariableDeclarationStatement", - "src": "11457:52:4" + "src": "11454:52:0" }, { "children": [ { "attributes": { "assignments": [ - 1995 + 967 ] }, "children": [ @@ -28633,7 +28633,7 @@ "attributes": { "constant": false, "name": "i", - "scope": 2014, + "scope": 986, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -28646,14 +28646,14 @@ "name": "uint", "type": "uint256" }, - "id": 1994, + "id": 966, "name": "ElementaryTypeName", - "src": "11523:4:4" + "src": "11520:4:0" } ], - "id": 1995, + "id": 967, "name": "VariableDeclaration", - "src": "11523:6:4" + "src": "11520:6:0" }, { "attributes": { @@ -28668,14 +28668,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1996, + "id": 968, "name": "Literal", - "src": "11532:1:4" + "src": "11529:1:0" } ], - "id": 1997, + "id": 969, "name": "VariableDeclarationStatement", - "src": "11523:10:4" + "src": "11520:10:0" }, { "attributes": { @@ -28698,13 +28698,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1995, + "referencedDeclaration": 967, "type": "uint256", "value": "i" }, - "id": 1998, + "id": 970, "name": "Identifier", - "src": "11535:1:4" + "src": "11532:1:0" }, { "attributes": { @@ -28724,23 +28724,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1917, + "referencedDeclaration": 889, "type": "uint256[6] memory", "value": "input" }, - "id": 1999, + "id": 971, "name": "Identifier", - "src": "11539:5:4" + "src": "11536:5:0" } ], - "id": 2000, + "id": 972, "name": "MemberAccess", - "src": "11539:12:4" + "src": "11536:12:0" } ], - "id": 2001, + "id": 973, "name": "BinaryOperation", - "src": "11535:16:4" + "src": "11532:16:0" }, { "children": [ @@ -28762,23 +28762,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1995, + "referencedDeclaration": 967, "type": "uint256", "value": "i" }, - "id": 2002, + "id": 974, "name": "Identifier", - "src": "11553:1:4" + "src": "11550:1:0" } ], - "id": 2003, + "id": 975, "name": "UnaryOperation", - "src": "11553:3:4" + "src": "11550:3:0" } ], - "id": 2004, + "id": 976, "name": "ExpressionStatement", - "src": "11553:3:4" + "src": "11550:3:0" }, { "children": [ @@ -28811,13 +28811,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1986, + "referencedDeclaration": 958, "type": "uint256[] memory", "value": "inputValues" }, - "id": 2005, + "id": 977, "name": "Identifier", - "src": "11571:11:4" + "src": "11568:11:0" }, { "attributes": { @@ -28825,18 +28825,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1995, + "referencedDeclaration": 967, "type": "uint256", "value": "i" }, - "id": 2006, + "id": 978, "name": "Identifier", - "src": "11583:1:4" + "src": "11580:1:0" } ], - "id": 2007, + "id": 979, "name": "IndexAccess", - "src": "11571:14:4" + "src": "11568:14:0" }, { "attributes": { @@ -28854,13 +28854,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1917, + "referencedDeclaration": 889, "type": "uint256[6] memory", "value": "input" }, - "id": 2008, + "id": 980, "name": "Identifier", - "src": "11588:5:4" + "src": "11585:5:0" }, { "attributes": { @@ -28868,38 +28868,38 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1995, + "referencedDeclaration": 967, "type": "uint256", "value": "i" }, - "id": 2009, + "id": 981, "name": "Identifier", - "src": "11594:1:4" + "src": "11591:1:0" } ], - "id": 2010, + "id": 982, "name": "IndexAccess", - "src": "11588:8:4" + "src": "11585:8:0" } ], - "id": 2011, + "id": 983, "name": "Assignment", - "src": "11571:25:4" + "src": "11568:25:0" } ], - "id": 2012, + "id": 984, "name": "ExpressionStatement", - "src": "11571:25:4" + "src": "11568:25:0" } ], - "id": 2013, + "id": 985, "name": "Block", - "src": "11557:50:4" + "src": "11554:50:0" } ], - "id": 2014, + "id": 986, "name": "ForStatement", - "src": "11519:88:4" + "src": "11516:88:0" }, { "children": [ @@ -28941,20 +28941,20 @@ "typeString": "uint256[] memory" }, { - "typeIdentifier": "t_struct$_Proof_$1626_memory_ptr", + "typeIdentifier": "t_struct$_Proof_$598_memory_ptr", "typeString": "struct Verifier.Proof memory" } ], "overloadedDeclarations": [ null ], - "referencedDeclaration": 1899, + "referencedDeclaration": 871, "type": "function (uint256[] memory,struct Verifier.Proof memory) view returns (uint256)", "value": "verify" }, - "id": 2015, + "id": 987, "name": "Identifier", - "src": "11620:6:4" + "src": "11617:6:0" }, { "attributes": { @@ -28962,13 +28962,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1986, + "referencedDeclaration": 958, "type": "uint256[] memory", "value": "inputValues" }, - "id": 2016, + "id": 988, "name": "Identifier", - "src": "11627:11:4" + "src": "11624:11:0" }, { "attributes": { @@ -28976,18 +28976,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1923, + "referencedDeclaration": 895, "type": "struct Verifier.Proof memory", "value": "proof" }, - "id": 2017, + "id": 989, "name": "Identifier", - "src": "11640:5:4" + "src": "11637:5:0" } ], - "id": 2018, + "id": 990, "name": "FunctionCall", - "src": "11620:26:4" + "src": "11617:26:0" }, { "attributes": { @@ -29002,20 +29002,20 @@ "type": "int_const 0", "value": "0" }, - "id": 2019, + "id": 991, "name": "Literal", - "src": "11650:1:4" + "src": "11647:1:0" } ], - "id": 2020, + "id": 992, "name": "BinaryOperation", - "src": "11620:31:4" + "src": "11617:31:0" }, { "children": [ { "attributes": { - "functionReturnParameters": 1921 + "functionReturnParameters": 893 }, "children": [ { @@ -29031,25 +29031,25 @@ "type": "bool", "value": "true" }, - "id": 2021, + "id": 993, "name": "Literal", - "src": "11674:4:4" + "src": "11671:4:0" } ], - "id": 2022, + "id": 994, "name": "Return", - "src": "11667:11:4" + "src": "11664:11:0" } ], - "id": 2023, + "id": 995, "name": "Block", - "src": "11653:36:4" + "src": "11650:36:0" }, { "children": [ { "attributes": { - "functionReturnParameters": 1921 + "functionReturnParameters": 893 }, "children": [ { @@ -29065,34 +29065,34 @@ "type": "bool", "value": "false" }, - "id": 2024, + "id": 996, "name": "Literal", - "src": "11716:5:4" + "src": "11713:5:0" } ], - "id": 2025, + "id": 997, "name": "Return", - "src": "11709:12:4" + "src": "11706:12:0" } ], - "id": 2026, + "id": 998, "name": "Block", - "src": "11695:37:4" + "src": "11692:37:0" } ], - "id": 2027, + "id": 999, "name": "IfStatement", - "src": "11616:116:4" + "src": "11613:116:0" } ], - "id": 2028, + "id": 1000, "name": "Block", - "src": "11250:488:4" + "src": "11247:488:0" } ], - "id": 2029, + "id": 1001, "name": "FunctionDefinition", - "src": "11063:675:4" + "src": "11060:675:0" }, { "attributes": { @@ -29104,7 +29104,7 @@ null ], "name": "verifyProof", - "scope": 2086, + "scope": 1058, "stateMutability": "view", "superFunction": null, "visibility": "external" @@ -29116,7 +29116,7 @@ "attributes": { "constant": false, "name": "proof", - "scope": 2085, + "scope": 1057, "stateVariable": false, "storageLocation": "calldata", "type": "bytes", @@ -29129,20 +29129,20 @@ "name": "bytes", "type": "bytes" }, - "id": 2030, + "id": 1002, "name": "ElementaryTypeName", - "src": "11764:5:4" + "src": "11761:5:0" } ], - "id": 2031, + "id": 1003, "name": "VariableDeclaration", - "src": "11764:20:4" + "src": "11761:20:0" }, { "attributes": { "constant": false, "name": "inputs", - "scope": 2085, + "scope": 1057, "stateVariable": false, "storageLocation": "calldata", "type": "uint256[6]", @@ -29160,9 +29160,9 @@ "name": "uint", "type": "uint256" }, - "id": 2032, + "id": 1004, "name": "ElementaryTypeName", - "src": "11786:4:4" + "src": "11783:4:0" }, { "attributes": { @@ -29177,24 +29177,24 @@ "type": "int_const 6", "value": "6" }, - "id": 2033, + "id": 1005, "name": "Literal", - "src": "11791:1:4" + "src": "11788:1:0" } ], - "id": 2034, + "id": 1006, "name": "ArrayTypeName", - "src": "11786:7:4" + "src": "11783:7:0" } ], - "id": 2035, + "id": 1007, "name": "VariableDeclaration", - "src": "11786:23:4" + "src": "11783:23:0" } ], - "id": 2036, + "id": 1008, "name": "ParameterList", - "src": "11763:47:4" + "src": "11760:47:0" }, { "children": [ @@ -29202,7 +29202,7 @@ "attributes": { "constant": false, "name": "r", - "scope": 2085, + "scope": 1057, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -29215,29 +29215,29 @@ "name": "bool", "type": "bool" }, - "id": 2037, + "id": 1009, "name": "ElementaryTypeName", - "src": "11834:4:4" + "src": "11831:4:0" } ], - "id": 2038, + "id": 1010, "name": "VariableDeclaration", - "src": "11834:6:4" + "src": "11831:6:0" } ], - "id": 2039, + "id": 1011, "name": "ParameterList", - "src": "11833:8:4" + "src": "11830:8:0" }, { "children": [ { "attributes": { "assignments": [ - 2044, - 2048, - 2052, - 2056 + 1016, + 1020, + 1024, + 1028 ] }, "children": [ @@ -29245,7 +29245,7 @@ "attributes": { "constant": false, "name": "a", - "scope": 2084, + "scope": 1056, "stateVariable": false, "storageLocation": "memory", "type": "uint256[2]", @@ -29263,9 +29263,9 @@ "name": "uint", "type": "uint256" }, - "id": 2042, + "id": 1014, "name": "ElementaryTypeName", - "src": "11914:4:4" + "src": "11911:4:0" }, { "attributes": { @@ -29280,25 +29280,25 @@ "type": "int_const 2", "value": "2" }, - "id": 2041, + "id": 1013, "name": "Literal", - "src": "11919:1:4" + "src": "11916:1:0" } ], - "id": 2043, + "id": 1015, "name": "ArrayTypeName", - "src": "11914:7:4" + "src": "11911:7:0" } ], - "id": 2044, + "id": 1016, "name": "VariableDeclaration", - "src": "11914:16:4" + "src": "11911:16:0" }, { "attributes": { "constant": false, "name": "b1", - "scope": 2084, + "scope": 1056, "stateVariable": false, "storageLocation": "memory", "type": "uint256[2]", @@ -29316,9 +29316,9 @@ "name": "uint", "type": "uint256" }, - "id": 2045, + "id": 1017, "name": "ElementaryTypeName", - "src": "11932:4:4" + "src": "11929:4:0" }, { "attributes": { @@ -29333,25 +29333,25 @@ "type": "int_const 2", "value": "2" }, - "id": 2046, + "id": 1018, "name": "Literal", - "src": "11937:1:4" + "src": "11934:1:0" } ], - "id": 2047, + "id": 1019, "name": "ArrayTypeName", - "src": "11932:7:4" + "src": "11929:7:0" } ], - "id": 2048, + "id": 1020, "name": "VariableDeclaration", - "src": "11932:17:4" + "src": "11929:17:0" }, { "attributes": { "constant": false, "name": "b2", - "scope": 2084, + "scope": 1056, "stateVariable": false, "storageLocation": "memory", "type": "uint256[2]", @@ -29369,9 +29369,9 @@ "name": "uint", "type": "uint256" }, - "id": 2049, + "id": 1021, "name": "ElementaryTypeName", - "src": "11951:4:4" + "src": "11948:4:0" }, { "attributes": { @@ -29386,25 +29386,25 @@ "type": "int_const 2", "value": "2" }, - "id": 2050, + "id": 1022, "name": "Literal", - "src": "11956:1:4" + "src": "11953:1:0" } ], - "id": 2051, + "id": 1023, "name": "ArrayTypeName", - "src": "11951:7:4" + "src": "11948:7:0" } ], - "id": 2052, + "id": 1024, "name": "VariableDeclaration", - "src": "11951:17:4" + "src": "11948:17:0" }, { "attributes": { "constant": false, "name": "c", - "scope": 2084, + "scope": 1056, "stateVariable": false, "storageLocation": "memory", "type": "uint256[2]", @@ -29422,9 +29422,9 @@ "name": "uint", "type": "uint256" }, - "id": 2053, + "id": 1025, "name": "ElementaryTypeName", - "src": "11970:4:4" + "src": "11967:4:0" }, { "attributes": { @@ -29439,19 +29439,19 @@ "type": "int_const 2", "value": "2" }, - "id": 2054, + "id": 1026, "name": "Literal", - "src": "11975:1:4" + "src": "11972:1:0" } ], - "id": 2055, + "id": 1027, "name": "ArrayTypeName", - "src": "11970:7:4" + "src": "11967:7:0" } ], - "id": 2056, + "id": 1028, "name": "VariableDeclaration", - "src": "11970:16:4" + "src": "11967:16:0" }, { "attributes": { @@ -29495,18 +29495,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2118, + "referencedDeclaration": 1060, "type": "abi", "value": "abi" }, - "id": 2057, + "id": 1029, "name": "Identifier", - "src": "11990:3:4" + "src": "11987:3:0" } ], - "id": 2058, + "id": 1030, "name": "MemberAccess", - "src": "11990:10:4" + "src": "11987:10:0" }, { "attributes": { @@ -29514,13 +29514,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2031, + "referencedDeclaration": 1003, "type": "bytes calldata", "value": "proof" }, - "id": 2059, + "id": 1031, "name": "Identifier", - "src": "12001:5:4" + "src": "11998:5:0" }, { "attributes": { @@ -29553,9 +29553,9 @@ "type": "type(uint256)", "value": "uint" }, - "id": 2060, + "id": 1032, "name": "ElementaryTypeNameExpression", - "src": "12009:4:4" + "src": "12006:4:0" }, { "attributes": { @@ -29570,14 +29570,14 @@ "type": "int_const 2", "value": "2" }, - "id": 2061, + "id": 1033, "name": "Literal", - "src": "12014:1:4" + "src": "12011:1:0" } ], - "id": 2062, + "id": 1034, "name": "IndexAccess", - "src": "12009:7:4" + "src": "12006:7:0" }, { "attributes": { @@ -29599,9 +29599,9 @@ "type": "type(uint256)", "value": "uint" }, - "id": 2063, + "id": 1035, "name": "ElementaryTypeNameExpression", - "src": "12018:4:4" + "src": "12015:4:0" }, { "attributes": { @@ -29616,14 +29616,14 @@ "type": "int_const 2", "value": "2" }, - "id": 2064, + "id": 1036, "name": "Literal", - "src": "12023:1:4" + "src": "12020:1:0" } ], - "id": 2065, + "id": 1037, "name": "IndexAccess", - "src": "12018:7:4" + "src": "12015:7:0" }, { "attributes": { @@ -29645,9 +29645,9 @@ "type": "type(uint256)", "value": "uint" }, - "id": 2066, + "id": 1038, "name": "ElementaryTypeNameExpression", - "src": "12027:4:4" + "src": "12024:4:0" }, { "attributes": { @@ -29662,14 +29662,14 @@ "type": "int_const 2", "value": "2" }, - "id": 2067, + "id": 1039, "name": "Literal", - "src": "12032:1:4" + "src": "12029:1:0" } ], - "id": 2068, + "id": 1040, "name": "IndexAccess", - "src": "12027:7:4" + "src": "12024:7:0" }, { "attributes": { @@ -29691,9 +29691,9 @@ "type": "type(uint256)", "value": "uint" }, - "id": 2069, + "id": 1041, "name": "ElementaryTypeNameExpression", - "src": "12036:4:4" + "src": "12033:4:0" }, { "attributes": { @@ -29708,33 +29708,33 @@ "type": "int_const 2", "value": "2" }, - "id": 2070, + "id": 1042, "name": "Literal", - "src": "12041:1:4" + "src": "12038:1:0" } ], - "id": 2071, + "id": 1043, "name": "IndexAccess", - "src": "12036:7:4" + "src": "12033:7:0" } ], - "id": 2072, + "id": 1044, "name": "TupleExpression", - "src": "12008:36:4" + "src": "12005:36:0" } ], - "id": 2073, + "id": 1045, "name": "FunctionCall", - "src": "11990:55:4" + "src": "11987:55:0" } ], - "id": 2074, + "id": 1046, "name": "VariableDeclarationStatement", - "src": "11913:132:4" + "src": "11910:132:0" }, { "attributes": { - "functionReturnParameters": 2039 + "functionReturnParameters": 1011 }, "children": [ { @@ -29775,13 +29775,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2029, + "referencedDeclaration": 1001, "type": "function (uint256[2] memory,uint256[2] memory[2] memory,uint256[2] memory,uint256[6] memory) view returns (bool)", "value": "verifyProof" }, - "id": 2075, + "id": 1047, "name": "Identifier", - "src": "12062:11:4" + "src": "12059:11:0" }, { "attributes": { @@ -29789,13 +29789,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2044, + "referencedDeclaration": 1016, "type": "uint256[2] memory", "value": "a" }, - "id": 2076, + "id": 1048, "name": "Identifier", - "src": "12074:1:4" + "src": "12071:1:0" }, { "attributes": { @@ -29814,13 +29814,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2048, + "referencedDeclaration": 1020, "type": "uint256[2] memory", "value": "b1" }, - "id": 2077, + "id": 1049, "name": "Identifier", - "src": "12078:2:4" + "src": "12075:2:0" }, { "attributes": { @@ -29828,18 +29828,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2052, + "referencedDeclaration": 1024, "type": "uint256[2] memory", "value": "b2" }, - "id": 2078, + "id": 1050, "name": "Identifier", - "src": "12082:2:4" + "src": "12079:2:0" } ], - "id": 2079, + "id": 1051, "name": "TupleExpression", - "src": "12077:8:4" + "src": "12074:8:0" }, { "attributes": { @@ -29847,13 +29847,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2056, + "referencedDeclaration": 1028, "type": "uint256[2] memory", "value": "c" }, - "id": 2080, + "id": 1052, "name": "Identifier", - "src": "12087:1:4" + "src": "12084:1:0" }, { "attributes": { @@ -29861,43 +29861,43 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 2035, + "referencedDeclaration": 1007, "type": "uint256[6] calldata", "value": "inputs" }, - "id": 2081, + "id": 1053, "name": "Identifier", - "src": "12090:6:4" + "src": "12087:6:0" } ], - "id": 2082, + "id": 1054, "name": "FunctionCall", - "src": "12062:35:4" + "src": "12059:35:0" } ], - "id": 2083, + "id": 1055, "name": "Return", - "src": "12055:42:4" + "src": "12052:42:0" } ], - "id": 2084, + "id": 1056, "name": "Block", - "src": "11842:262:4" + "src": "11839:262:0" } ], - "id": 2085, + "id": 1057, "name": "FunctionDefinition", - "src": "11743:361:4" + "src": "11740:361:0" } ], - "id": 2086, + "id": 1058, "name": "ContractDefinition", - "src": "7067:5039:4" + "src": "7067:5036:0" } ], - "id": 2087, + "id": 1059, "name": "SourceUnit", - "src": "1193:10914:4" + "src": "1193:10911:0" }, "compiler": { "name": "solc", @@ -29913,18 +29913,18 @@ "42220": { "events": {}, "links": {}, - "address": "0x28ab493BFb23dB3709f4bDE25E3eE53154fA1afD", - "transactionHash": "0x0a6a0c9cbe5745e51ab064ad8f4921b9f99a8335ee3a2d40ea55b80a78313f33" + "address": "0x7C750D23a2c31A4fB004f7A824d79Df3390ccD87", + "transactionHash": "0xcd0f2f040e7a81b446e9aedba407f31b8e50cf61faaff700a0b12e19f43e12d8" }, "44787": { "events": {}, "links": {}, - "address": "0x66b685aDC160B52E5b5290CA44ff4E39dA66f334", - "transactionHash": "0xa8a2cf784ec0a733927bb9f1333d7a2500965705a2fed806eeaed840ad98c8d8" + "address": "0xB0fA4173Ba69f96aEE763874fD3A9725B1124CF1", + "transactionHash": "0x4a84ec6b7d08f03108dcbb59df24be5fef2fc7a8b498ad380c7bf8cb3c2cce2b" } }, "schemaVersion": "3.3.4", - "updatedAt": "2021-04-02T22:56:11.641Z", + "updatedAt": "2021-04-04T21:13:13.393Z", "networkType": "ethereum", "devdoc": { "methods": {}