@etherisc/gif-contracts
Version:
This repository holds the GIF core contracts and tools to develop, test and deploy GIF instances.
1,183 lines • 125 kB
JSON
{
"abi": [],
"allSourcePaths": {
"24": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Strings.sol"
},
"ast": {
"absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Strings.sol",
"exportedSymbols": {
"Strings": [
23075
]
},
"id": 23076,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 22851,
"literals": [
"solidity",
"^",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "101:23:24"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "library",
"documentation": {
"id": 22852,
"nodeType": "StructuredDocumentation",
"src": "126:34:24",
"text": " @dev String operations."
},
"fullyImplemented": true,
"id": 23075,
"linearizedBaseContracts": [
23075
],
"name": "Strings",
"nameLocation": "169:7:24",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": true,
"id": 22855,
"mutability": "constant",
"name": "_HEX_SYMBOLS",
"nameLocation": "208:12:24",
"nodeType": "VariableDeclaration",
"scope": 23075,
"src": "183:58:24",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes16",
"typeString": "bytes16"
},
"typeName": {
"id": 22853,
"name": "bytes16",
"nodeType": "ElementaryTypeName",
"src": "183:7:24",
"typeDescriptions": {
"typeIdentifier": "t_bytes16",
"typeString": "bytes16"
}
},
"value": {
"hexValue": "30313233343536373839616263646566",
"id": 22854,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "223:18:24",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f",
"typeString": "literal_string \"0123456789abcdef\""
},
"value": "0123456789abcdef"
},
"visibility": "private"
},
{
"constant": true,
"id": 22858,
"mutability": "constant",
"name": "_ADDRESS_LENGTH",
"nameLocation": "270:15:24",
"nodeType": "VariableDeclaration",
"scope": 23075,
"src": "247:43:24",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 22856,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "247:5:24",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"value": {
"hexValue": "3230",
"id": 22857,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "288:2:24",
"typeDescriptions": {
"typeIdentifier": "t_rational_20_by_1",
"typeString": "int_const 20"
},
"value": "20"
},
"visibility": "private"
},
{
"body": {
"id": 22936,
"nodeType": "Block",
"src": "463:632:24",
"statements": [
{
"condition": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 22868,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 22866,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22861,
"src": "665:5:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"hexValue": "30",
"id": 22867,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "674:1:24",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "665:10:24",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 22872,
"nodeType": "IfStatement",
"src": "661:51:24",
"trueBody": {
"id": 22871,
"nodeType": "Block",
"src": "677:35:24",
"statements": [
{
"expression": {
"hexValue": "30",
"id": 22869,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "698:3:24",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
"typeString": "literal_string \"0\""
},
"value": "0"
},
"functionReturnParameters": 22865,
"id": 22870,
"nodeType": "Return",
"src": "691:10:24"
}
]
}
},
{
"assignments": [
22874
],
"declarations": [
{
"constant": false,
"id": 22874,
"mutability": "mutable",
"name": "temp",
"nameLocation": "729:4:24",
"nodeType": "VariableDeclaration",
"scope": 22936,
"src": "721:12:24",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 22873,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "721:7:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"id": 22876,
"initialValue": {
"id": 22875,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22861,
"src": "736:5:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "721:20:24"
},
{
"assignments": [
22878
],
"declarations": [
{
"constant": false,
"id": 22878,
"mutability": "mutable",
"name": "digits",
"nameLocation": "759:6:24",
"nodeType": "VariableDeclaration",
"scope": 22936,
"src": "751:14:24",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 22877,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "751:7:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"id": 22879,
"nodeType": "VariableDeclarationStatement",
"src": "751:14:24"
},
{
"body": {
"id": 22890,
"nodeType": "Block",
"src": "793:57:24",
"statements": [
{
"expression": {
"id": 22884,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "807:8:24",
"subExpression": {
"id": 22883,
"name": "digits",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22878,
"src": "807:6:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 22885,
"nodeType": "ExpressionStatement",
"src": "807:8:24"
},
{
"expression": {
"id": 22888,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 22886,
"name": "temp",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22874,
"src": "829:4:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "/=",
"rightHandSide": {
"hexValue": "3130",
"id": 22887,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "837:2:24",
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
"src": "829:10:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 22889,
"nodeType": "ExpressionStatement",
"src": "829:10:24"
}
]
},
"condition": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 22882,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 22880,
"name": "temp",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22874,
"src": "782:4:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"hexValue": "30",
"id": 22881,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "790:1:24",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "782:9:24",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 22891,
"nodeType": "WhileStatement",
"src": "775:75:24"
},
{
"assignments": [
22893
],
"declarations": [
{
"constant": false,
"id": 22893,
"mutability": "mutable",
"name": "buffer",
"nameLocation": "872:6:24",
"nodeType": "VariableDeclaration",
"scope": 22936,
"src": "859:19:24",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 22892,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "859:5:24",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"id": 22898,
"initialValue": {
"arguments": [
{
"id": 22896,
"name": "digits",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22878,
"src": "891:6:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 22895,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "NewExpression",
"src": "881:9:24",
"typeDescriptions": {
"typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (uint256) pure returns (bytes memory)"
},
"typeName": {
"id": 22894,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "885:5:24",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
}
},
"id": 22897,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "881:17:24",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "859:39:24"
},
{
"body": {
"id": 22929,
"nodeType": "Block",
"src": "927:131:24",
"statements": [
{
"expression": {
"id": 22904,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 22902,
"name": "digits",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22878,
"src": "941:6:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "-=",
"rightHandSide": {
"hexValue": "31",
"id": 22903,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "951:1:24",
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"src": "941:11:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 22905,
"nodeType": "ExpressionStatement",
"src": "941:11:24"
},
{
"expression": {
"id": 22923,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"baseExpression": {
"id": 22906,
"name": "buffer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22893,
"src": "966:6:24",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 22908,
"indexExpression": {
"id": 22907,
"name": "digits",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22878,
"src": "973:6:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "966:14:24",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"arguments": [
{
"arguments": [
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 22920,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"hexValue": "3438",
"id": 22913,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "996:2:24",
"typeDescriptions": {
"typeIdentifier": "t_rational_48_by_1",
"typeString": "int_const 48"
},
"value": "48"
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 22918,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 22916,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22861,
"src": "1009:5:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "%",
"rightExpression": {
"hexValue": "3130",
"id": 22917,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1017:2:24",
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
"src": "1009:10:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 22915,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1001:7:24",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
"id": 22914,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1001:7:24",
"typeDescriptions": {}
}
},
"id": 22919,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1001:19:24",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "996:24:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 22912,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "990:5:24",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint8_$",
"typeString": "type(uint8)"
},
"typeName": {
"id": 22911,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "990:5:24",
"typeDescriptions": {}
}
},
"id": 22921,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "990:31:24",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"id": 22910,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "983:6:24",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 22909,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "983:6:24",
"typeDescriptions": {}
}
},
"id": 22922,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "983:39:24",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"src": "966:56:24",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"id": 22924,
"nodeType": "ExpressionStatement",
"src": "966:56:24"
},
{
"expression": {
"id": 22927,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 22925,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22861,
"src": "1036:5:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "/=",
"rightHandSide": {
"hexValue": "3130",
"id": 22926,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1045:2:24",
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
"src": "1036:11:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 22928,
"nodeType": "ExpressionStatement",
"src": "1036:11:24"
}
]
},
"condition": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 22901,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 22899,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22861,
"src": "915:5:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"hexValue": "30",
"id": 22900,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "924:1:24",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "915:10:24",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 22930,
"nodeType": "WhileStatement",
"src": "908:150:24"
},
{
"expression": {
"arguments": [
{
"id": 22933,
"name": "buffer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22893,
"src": "1081:6:24",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 22932,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1074:6:24",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
"typeString": "type(string storage pointer)"
},
"typeName": {
"id": 22931,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "1074:6:24",
"typeDescriptions": {}
}
},
"id": 22934,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1074:14:24",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 22865,
"id": 22935,
"nodeType": "Return",
"src": "1067:21:24"
}
]
},
"documentation": {
"id": 22859,
"nodeType": "StructuredDocumentation",
"src": "297:90:24",
"text": " @dev Converts a `uint256` to its ASCII `string` decimal representation."
},
"id": 22937,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "toString",
"nameLocation": "401:8:24",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22862,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22861,
"mutability": "mutable",
"name": "value",
"nameLocation": "418:5:24",
"nodeType": "VariableDeclaration",
"scope": 22937,
"src": "410:13:24",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 22860,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "410:7:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "409:15:24"
},
"returnParameters": {
"id": 22865,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 22864,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 22937,
"src": "448:13:24",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 22863,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "448:6:24",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "447:15:24"
},
"scope": 23075,
"src": "392:703:24",
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},
{
"body": {
"id": 22977,
"nodeType": "Block",
"src": "1274:255:24",
"statements": [
{
"condition": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 22947,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 22945,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 22940,
"src": "1288:5:24",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"hexValue": "30",
"id": 22946,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1297:1:24",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "1288:10:24",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 22951,
"nodeType": "IfStatement",
"src": "1284:54:24",
"trueBody": {
"id": 22950,
"nodeType": "Block",
"src": "1300:38:24",
"statements": [
{
"expression": {
"hexValue": "30783030",
"id": 22948,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1321:6:24",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_27489e20a0060b723a1748bdff5e44570ee9fa