@etherisc/registry-contracts
Version:
Etherisc's smart contracts for the registry.
1,278 lines • 540 kB
JSON
{
"abi": [],
"allSourcePaths": {
"30": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/math/Math.sol"
},
"ast": {
"absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/math/Math.sol",
"exportedSymbols": {
"Math": [
13636
]
},
"id": 13637,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 12773,
"literals": [
"solidity",
"^",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "103:23:30"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "Math",
"contractDependencies": [],
"contractKind": "library",
"documentation": {
"id": 12774,
"nodeType": "StructuredDocumentation",
"src": "128:73:30",
"text": " @dev Standard math utilities missing in the Solidity language."
},
"fullyImplemented": true,
"id": 13636,
"linearizedBaseContracts": [
13636
],
"name": "Math",
"nameLocation": "210:4:30",
"nodeType": "ContractDefinition",
"nodes": [
{
"canonicalName": "Math.Rounding",
"id": 12778,
"members": [
{
"id": 12775,
"name": "Down",
"nameLocation": "245:4:30",
"nodeType": "EnumValue",
"src": "245:4:30"
},
{
"id": 12776,
"name": "Up",
"nameLocation": "287:2:30",
"nodeType": "EnumValue",
"src": "287:2:30"
},
{
"id": 12777,
"name": "Zero",
"nameLocation": "318:4:30",
"nodeType": "EnumValue",
"src": "318:4:30"
}
],
"name": "Rounding",
"nameLocation": "226:8:30",
"nodeType": "EnumDefinition",
"src": "221:122:30"
},
{
"body": {
"id": 12795,
"nodeType": "Block",
"src": "480:37:30",
"statements": [
{
"expression": {
"condition": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 12790,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 12788,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12781,
"src": "497:1:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": ">",
"rightExpression": {
"id": 12789,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12783,
"src": "501:1:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "497:5:30",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseExpression": {
"id": 12792,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12783,
"src": "509:1:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 12793,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "Conditional",
"src": "497:13:30",
"trueExpression": {
"id": 12791,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12781,
"src": "505:1:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 12787,
"id": 12794,
"nodeType": "Return",
"src": "490:20:30"
}
]
},
"documentation": {
"id": 12779,
"nodeType": "StructuredDocumentation",
"src": "349:59:30",
"text": " @dev Returns the largest of two numbers."
},
"id": 12796,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "max",
"nameLocation": "422:3:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 12784,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 12781,
"mutability": "mutable",
"name": "a",
"nameLocation": "434:1:30",
"nodeType": "VariableDeclaration",
"scope": 12796,
"src": "426:9:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 12780,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "426:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 12783,
"mutability": "mutable",
"name": "b",
"nameLocation": "445:1:30",
"nodeType": "VariableDeclaration",
"scope": 12796,
"src": "437:9:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 12782,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "437:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "425:22:30"
},
"returnParameters": {
"id": 12787,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 12786,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 12796,
"src": "471:7:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 12785,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "471:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "470:9:30"
},
"scope": 13636,
"src": "413:104:30",
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"body": {
"id": 12813,
"nodeType": "Block",
"src": "655:37:30",
"statements": [
{
"expression": {
"condition": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 12808,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 12806,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12799,
"src": "672:1:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"id": 12807,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12801,
"src": "676:1:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "672:5:30",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseExpression": {
"id": 12810,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12801,
"src": "684:1:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 12811,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "Conditional",
"src": "672:13:30",
"trueExpression": {
"id": 12809,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12799,
"src": "680:1:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 12805,
"id": 12812,
"nodeType": "Return",
"src": "665:20:30"
}
]
},
"documentation": {
"id": 12797,
"nodeType": "StructuredDocumentation",
"src": "523:60:30",
"text": " @dev Returns the smallest of two numbers."
},
"id": 12814,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "min",
"nameLocation": "597:3:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 12802,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 12799,
"mutability": "mutable",
"name": "a",
"nameLocation": "609:1:30",
"nodeType": "VariableDeclaration",
"scope": 12814,
"src": "601:9:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 12798,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "601:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 12801,
"mutability": "mutable",
"name": "b",
"nameLocation": "620:1:30",
"nodeType": "VariableDeclaration",
"scope": 12814,
"src": "612:9:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 12800,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "612:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "600:22:30"
},
"returnParameters": {
"id": 12805,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 12804,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 12814,
"src": "646:7:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 12803,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "646:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "645:9:30"
},
"scope": 13636,
"src": "588:104:30",
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"body": {
"id": 12836,
"nodeType": "Block",
"src": "876:82:30",
"statements": [
{
"expression": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 12834,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"components": [
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 12826,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 12824,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12817,
"src": "931:1:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "&",
"rightExpression": {
"id": 12825,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12819,
"src": "935:1:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "931:5:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"id": 12827,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "930:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 12833,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"components": [
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 12830,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 12828,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12817,
"src": "941:1:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "^",
"rightExpression": {
"id": 12829,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12819,
"src": "945:1:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "941:5:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"id": 12831,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "940:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "/",
"rightExpression": {
"hexValue": "32",
"id": 12832,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "950:1:30",
"typeDescriptions": {
"typeIdentifier": "t_rational_2_by_1",
"typeString": "int_const 2"
},
"value": "2"
},
"src": "940:11:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "930:21:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 12823,
"id": 12835,
"nodeType": "Return",
"src": "923:28:30"
}
]
},
"documentation": {
"id": 12815,
"nodeType": "StructuredDocumentation",
"src": "698:102:30",
"text": " @dev Returns the average of two numbers. The result is rounded towards\n zero."
},
"id": 12837,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "average",
"nameLocation": "814:7:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 12820,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 12817,
"mutability": "mutable",
"name": "a",
"nameLocation": "830:1:30",
"nodeType": "VariableDeclaration",
"scope": 12837,
"src": "822:9:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 12816,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "822:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 12819,
"mutability": "mutable",
"name": "b",
"nameLocation": "841:1:30",
"nodeType": "VariableDeclaration",
"scope": 12837,
"src": "833:9:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 12818,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "833:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "821:22:30"
},
"returnParameters": {
"id": 12823,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 12822,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 12837,
"src": "867:7:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 12821,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "867:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "866:9:30"
},
"scope": 13636,
"src": "805:153:30",
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"body": {
"id": 12861,
"nodeType": "Block",
"src": "1228:123:30",
"statements": [
{
"expression": {
"condition": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 12849,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 12847,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12840,
"src": "1316:1:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"hexValue": "30",
"id": 12848,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1321:1:30",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "1316:6:30",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseExpression": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 12858,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 12856,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"components": [
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 12853,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 12851,
"name": "a",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12840,
"src": "1330:1:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"hexValue": "31",
"id": 12852,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1334:1:30",
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"src": "1330:5:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"id": 12854,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "1329:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "/",
"rightExpression": {
"id": 12855,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12842,
"src": "1339:1:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1329:11:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"hexValue": "31",
"id": 12857,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1343:1:30",
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"src": "1329:15:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 12859,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "Conditional",
"src": "1316:28:30",
"trueExpression": {
"hexValue": "30",
"id": 12850,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1325:1:30",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 12846,
"id": 12860,
"nodeType": "Return",
"src": "1309:35:30"
}
]
},
"documentation": {
"id": 12838,
"nodeType": "StructuredDocumentation",
"src": "964:188:30",
"text": " @dev Returns the ceiling of the division of two numbers.\n This differs from standard division with `/` in that it rounds up instead\n of rounding down."
},
"id": 12862,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "ceilDiv",
"nameLocation": "1166:7:30",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 12843,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 12840,
"mutability": "mutable",
"name": "a",
"nameLocation": "1182:1:30",
"nodeType": "VariableDeclaration",
"scope": 12862,
"src": "1174:9:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 12839,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1174:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 12842,
"mutability": "mutable",
"name": "b",
"nameLocation": "1193:1:30",
"nodeType": "VariableDeclaration",
"scope": 12862,
"src": "1185:9:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 12841,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1185:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1173:22:30"
},
"returnParameters": {
"id": 12846,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 12845,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 12862,
"src": "1219:7:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 12844,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1219:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1218:9:30"
},
"scope": 13636,
"src": "1157:194:30",
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"body": {
"id": 12983,
"nodeType": "Block",
"src": "1795:3797:30",
"statements": [
{
"id": 12982,
"nodeType": "UncheckedBlock",
"src": "1805:3781:30",
"statements": [
{
"assignments": [
12875
],
"declarations": [
{
"constant": false,
"id": 12875,
"mutability": "mutable",
"name": "prod0",
"nameLocation": "2134:5:30",
"nodeType": "VariableDeclaration",
"scope": 12982,
"src": "2126:13:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 12874,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2126:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"id": 12876,
"nodeType": "VariableDeclarationStatement",
"src": "2126:13:30"
},
{
"assignments": [
12878
],
"declarations": [
{
"constant": false,
"id": 12878,
"mutability": "mutable",
"name": "prod1",
"nameLocation": "2206:5:30",
"nodeType": "VariableDeclaration",
"scope": 12982,
"src": "2198:13:30",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 12877,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2198:7:30",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"id": 12879,
"nodeType": "VariableDeclarationStatement",
"src": "2198:13:30"
},
{
"AST": {
"nodeType": "YulBlock",
"src": "2278:157:30",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "2296:30:30",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2313:1:30"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2316:1:30"
},
{
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2323:1:30",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nodeType": "YulIdentifier",
"src": "2319:3:30"
},
"nodeType": "YulFunctionCall",
"src": "2319:6:30"
}
],
"functionName": {
"name": "mulmod",
"nodeType": "YulIdentifier",
"src": "2306:6:30"
},
"nodeType": "YulFunctionCall",
"src": "2306:20:30"
},
"variables": [
{
"name": "mm",
"nodeType": "YulTypedName",
"src": "2300:2:30",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "2343:18:30",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "2356:1:30"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "2359:1:30"
}
],
"functionName": {
"name": "mul",
"nodeType": "YulIdentif