@etherisc/registry-contracts
Version:
Etherisc's smart contracts for the registry.
1,104 lines • 221 kB
JSON
{
"abi": [],
"allSourcePaths": {
"25": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/Strings.sol",
"26": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/cryptography/ECDSA.sol",
"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/cryptography/ECDSA.sol",
"exportedSymbols": {
"ECDSA": [
14129
],
"Math": [
13636
],
"Strings": [
17301
]
},
"id": 14130,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 13770,
"literals": [
"solidity",
"^",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "112:23:26"
},
{
"absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.8.2/contracts/utils/Strings.sol",
"file": "../Strings.sol",
"id": 13771,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 14130,
"sourceUnit": 17302,
"src": "137:24:26",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "ECDSA",
"contractDependencies": [],
"contractKind": "library",
"documentation": {
"id": 13772,
"nodeType": "StructuredDocumentation",
"src": "163:205:26",
"text": " @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n These functions can be used to verify that a message was signed by the holder\n of the private keys of a given address."
},
"fullyImplemented": true,
"id": 14129,
"linearizedBaseContracts": [
14129
],
"name": "ECDSA",
"nameLocation": "377:5:26",
"nodeType": "ContractDefinition",
"nodes": [
{
"canonicalName": "ECDSA.RecoverError",
"id": 13778,
"members": [
{
"id": 13773,
"name": "NoError",
"nameLocation": "417:7:26",
"nodeType": "EnumValue",
"src": "417:7:26"
},
{
"id": 13774,
"name": "InvalidSignature",
"nameLocation": "434:16:26",
"nodeType": "EnumValue",
"src": "434:16:26"
},
{
"id": 13775,
"name": "InvalidSignatureLength",
"nameLocation": "460:22:26",
"nodeType": "EnumValue",
"src": "460:22:26"
},
{
"id": 13776,
"name": "InvalidSignatureS",
"nameLocation": "492:17:26",
"nodeType": "EnumValue",
"src": "492:17:26"
},
{
"id": 13777,
"name": "InvalidSignatureV",
"nameLocation": "519:17:26",
"nodeType": "EnumValue",
"src": "519:17:26"
}
],
"name": "RecoverError",
"nameLocation": "394:12:26",
"nodeType": "EnumDefinition",
"src": "389:175:26"
},
{
"body": {
"id": 13821,
"nodeType": "Block",
"src": "624:457:26",
"statements": [
{
"condition": {
"commonType": {
"typeIdentifier": "t_enum$_RecoverError_$13778",
"typeString": "enum ECDSA.RecoverError"
},
"id": 13787,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 13784,
"name": "error",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13781,
"src": "638:5:26",
"typeDescriptions": {
"typeIdentifier": "t_enum$_RecoverError_$13778",
"typeString": "enum ECDSA.RecoverError"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"expression": {
"id": 13785,
"name": "RecoverError",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13778,
"src": "647:12:26",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_RecoverError_$13778_$",
"typeString": "type(enum ECDSA.RecoverError)"
}
},
"id": 13786,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "660:7:26",
"memberName": "NoError",
"nodeType": "MemberAccess",
"referencedDeclaration": 13773,
"src": "647:20:26",
"typeDescriptions": {
"typeIdentifier": "t_enum$_RecoverError_$13778",
"typeString": "enum ECDSA.RecoverError"
}
},
"src": "638:29:26",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"condition": {
"commonType": {
"typeIdentifier": "t_enum$_RecoverError_$13778",
"typeString": "enum ECDSA.RecoverError"
},
"id": 13793,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 13790,
"name": "error",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13781,
"src": "734:5:26",
"typeDescriptions": {
"typeIdentifier": "t_enum$_RecoverError_$13778",
"typeString": "enum ECDSA.RecoverError"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"expression": {
"id": 13791,
"name": "RecoverError",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13778,
"src": "743:12:26",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_RecoverError_$13778_$",
"typeString": "type(enum ECDSA.RecoverError)"
}
},
"id": 13792,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "756:16:26",
"memberName": "InvalidSignature",
"nodeType": "MemberAccess",
"referencedDeclaration": 13774,
"src": "743:29:26",
"typeDescriptions": {
"typeIdentifier": "t_enum$_RecoverError_$13778",
"typeString": "enum ECDSA.RecoverError"
}
},
"src": "734:38:26",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"condition": {
"commonType": {
"typeIdentifier": "t_enum$_RecoverError_$13778",
"typeString": "enum ECDSA.RecoverError"
},
"id": 13802,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 13799,
"name": "error",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13781,
"src": "843:5:26",
"typeDescriptions": {
"typeIdentifier": "t_enum$_RecoverError_$13778",
"typeString": "enum ECDSA.RecoverError"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"expression": {
"id": 13800,
"name": "RecoverError",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13778,
"src": "852:12:26",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_RecoverError_$13778_$",
"typeString": "type(enum ECDSA.RecoverError)"
}
},
"id": 13801,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "865:22:26",
"memberName": "InvalidSignatureLength",
"nodeType": "MemberAccess",
"referencedDeclaration": 13775,
"src": "852:35:26",
"typeDescriptions": {
"typeIdentifier": "t_enum$_RecoverError_$13778",
"typeString": "enum ECDSA.RecoverError"
}
},
"src": "843:44:26",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"condition": {
"commonType": {
"typeIdentifier": "t_enum$_RecoverError_$13778",
"typeString": "enum ECDSA.RecoverError"
},
"id": 13811,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 13808,
"name": "error",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13781,
"src": "965:5:26",
"typeDescriptions": {
"typeIdentifier": "t_enum$_RecoverError_$13778",
"typeString": "enum ECDSA.RecoverError"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"expression": {
"id": 13809,
"name": "RecoverError",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13778,
"src": "974:12:26",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_RecoverError_$13778_$",
"typeString": "type(enum ECDSA.RecoverError)"
}
},
"id": 13810,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "987:17:26",
"memberName": "InvalidSignatureS",
"nodeType": "MemberAccess",
"referencedDeclaration": 13776,
"src": "974:30:26",
"typeDescriptions": {
"typeIdentifier": "t_enum$_RecoverError_$13778",
"typeString": "enum ECDSA.RecoverError"
}
},
"src": "965:39:26",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 13817,
"nodeType": "IfStatement",
"src": "961:114:26",
"trueBody": {
"id": 13816,
"nodeType": "Block",
"src": "1006:69:26",
"statements": [
{
"expression": {
"arguments": [
{
"hexValue": "45434453413a20696e76616c6964207369676e6174757265202773272076616c7565",
"id": 13813,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1027:36:26",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd",
"typeString": "literal_string \"ECDSA: invalid signature 's' value\""
},
"value": "ECDSA: invalid signature 's' value"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd",
"typeString": "literal_string \"ECDSA: invalid signature 's' value\""
}
],
"id": 13812,
"name": "revert",
"nodeType": "Identifier",
"overloadedDeclarations": [
-19,
-19
],
"referencedDeclaration": -19,
"src": "1020:6:26",
"typeDescriptions": {
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
"typeString": "function (string memory) pure"
}
},
"id": 13814,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1020:44:26",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 13815,
"nodeType": "ExpressionStatement",
"src": "1020:44:26"
}
]
}
},
"id": 13818,
"nodeType": "IfStatement",
"src": "839:236:26",
"trueBody": {
"id": 13807,
"nodeType": "Block",
"src": "889:66:26",
"statements": [
{
"expression": {
"arguments": [
{
"hexValue": "45434453413a20696e76616c6964207369676e6174757265206c656e677468",
"id": 13804,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "910:33:26",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77",
"typeString": "literal_string \"ECDSA: invalid signature length\""
},
"value": "ECDSA: invalid signature length"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77",
"typeString": "literal_string \"ECDSA: invalid signature length\""
}
],
"id": 13803,
"name": "revert",
"nodeType": "Identifier",
"overloadedDeclarations": [
-19,
-19
],
"referencedDeclaration": -19,
"src": "903:6:26",
"typeDescriptions": {
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
"typeString": "function (string memory) pure"
}
},
"id": 13805,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "903:41:26",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 13806,
"nodeType": "ExpressionStatement",
"src": "903:41:26"
}
]
}
},
"id": 13819,
"nodeType": "IfStatement",
"src": "730:345:26",
"trueBody": {
"id": 13798,
"nodeType": "Block",
"src": "774:59:26",
"statements": [
{
"expression": {
"arguments": [
{
"hexValue": "45434453413a20696e76616c6964207369676e6174757265",
"id": 13795,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "795:26:26",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be",
"typeString": "literal_string \"ECDSA: invalid signature\""
},
"value": "ECDSA: invalid signature"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be",
"typeString": "literal_string \"ECDSA: invalid signature\""
}
],
"id": 13794,
"name": "revert",
"nodeType": "Identifier",
"overloadedDeclarations": [
-19,
-19
],
"referencedDeclaration": -19,
"src": "788:6:26",
"typeDescriptions": {
"typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
"typeString": "function (string memory) pure"
}
},
"id": 13796,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "788:34:26",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 13797,
"nodeType": "ExpressionStatement",
"src": "788:34:26"
}
]
}
},
"id": 13820,
"nodeType": "IfStatement",
"src": "634:441:26",
"trueBody": {
"id": 13789,
"nodeType": "Block",
"src": "669:55:26",
"statements": [
{
"functionReturnParameters": 13783,
"id": 13788,
"nodeType": "Return",
"src": "683:7:26"
}
]
}
}
]
},
"id": 13822,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "_throwError",
"nameLocation": "579:11:26",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 13782,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 13781,
"mutability": "mutable",
"name": "error",
"nameLocation": "604:5:26",
"nodeType": "VariableDeclaration",
"scope": 13822,
"src": "591:18:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_enum$_RecoverError_$13778",
"typeString": "enum ECDSA.RecoverError"
},
"typeName": {
"id": 13780,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 13779,
"name": "RecoverError",
"nameLocations": [
"591:12:26"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 13778,
"src": "591:12:26"
},
"referencedDeclaration": 13778,
"src": "591:12:26",
"typeDescriptions": {
"typeIdentifier": "t_enum$_RecoverError_$13778",
"typeString": "enum ECDSA.RecoverError"
}
},
"visibility": "internal"
}
],
"src": "590:20:26"
},
"returnParameters": {
"id": 13783,
"nodeType": "ParameterList",
"parameters": [],
"src": "624:0:26"
},
"scope": 14129,
"src": "570:511:26",
"stateMutability": "pure",
"virtual": false,
"visibility": "private"
},
{
"body": {
"id": 13867,
"nodeType": "Block",
"src": "2249:626:26",
"statements": [
{
"condition": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 13838,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"id": 13835,
"name": "signature",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13827,
"src": "2263:9:26",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 13836,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "2273:6:26",
"memberName": "length",
"nodeType": "MemberAccess",
"src": "2263:16:26",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"hexValue": "3635",
"id": 13837,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2283:2:26",
"typeDescriptions": {
"typeIdentifier": "t_rational_65_by_1",
"typeString": "int_const 65"
},
"value": "65"
},
"src": "2263:22:26",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"id": 13865,
"nodeType": "Block",
"src": "2788:81:26",
"statements": [
{
"expression": {
"components": [
{
"arguments": [
{
"hexValue": "30",
"id": 13859,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2818:1:26",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"id": 13858,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2810:7:26",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 13857,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2810:7:26",
"typeDescriptions": {}
}
},
"id": 13860,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2810:10:26",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"expression": {
"id": 13861,
"name": "RecoverError",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13778,
"src": "2822:12:26",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_enum$_RecoverError_$13778_$",
"typeString": "type(enum ECDSA.RecoverError)"
}
},
"id": 13862,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "2835:22:26",
"memberName": "InvalidSignatureLength",
"nodeType": "MemberAccess",
"referencedDeclaration": 13775,
"src": "2822:35:26",
"typeDescriptions": {
"typeIdentifier": "t_enum$_RecoverError_$13778",
"typeString": "enum ECDSA.RecoverError"
}
}
],
"id": 13863,
"isConstant": false,
"isInlineArray": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "TupleExpression",
"src": "2809:49:26",
"typeDescriptions": {
"typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$13778_$",
"typeString": "tuple(address,enum ECDSA.RecoverError)"
}
},
"functionReturnParameters": 13834,
"id": 13864,
"nodeType": "Return",
"src": "2802:56:26"
}
]
},
"id": 13866,
"nodeType": "IfStatement",
"src": "2259:610:26",
"trueBody": {
"id": 13856,
"nodeType": "Block",
"src": "2287:495:26",
"statements": [
{
"assignments": [
13840
],
"declarations": [
{
"constant": false,
"id": 13840,
"mutability": "mutable",
"name": "r",
"nameLocation": "2309:1:26",
"nodeType": "VariableDeclaration",
"scope": 13856,
"src": "2301:9:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 13839,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2301:7:26",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"id": 13841,
"nodeType": "VariableDeclarationStatement",
"src": "2301:9:26"
},
{
"assignments": [
13843
],
"declarations": [
{
"constant": false,
"id": 13843,
"mutability": "mutable",
"name": "s",
"nameLocation": "2332:1:26",
"nodeType": "VariableDeclaration",
"scope": 13856,
"src": "2324:9:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 13842,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2324:7:26",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"id": 13844,
"nodeType": "VariableDeclarationStatement",
"src": "2324:9:26"
},
{
"assignments": [
13846
],
"declarations": [
{
"constant": false,
"id": 13846,
"mutability": "mutable",
"name": "v",
"nameLocation": "2353:1:26",
"nodeType": "VariableDeclaration",
"scope": 13856,
"src": "2347:7:26",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"typeName": {
"id": 13845,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "2347:5:26",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"visibility": "internal"
}
],
"id": 13847,
"nodeType": "VariableDeclarationStatement",
"src": "2347:7:26"
},
{
"AST": {
"nodeType": "YulBlock",
"src": "2555:171:26",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2573:32:26",
"value": {
"arguments": [
{
"arguments": [
{
"name": "signature",
"nodeType": "YulIdentifier",
"src": "2588:9:26"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2599:4:26",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2584:3:26"
},
"nodeType": "YulFunctionCall",
"src": "2584:20:26"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2578:5:26"
},
"nodeType": "YulFunctionCall",
"src": "2578:27:26"
},
"variableNames": [
{
"name": "r",
"nodeType": "YulIdentifier",
"src": "2573:1:26"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2622:32:26",
"value": {
"arguments": [
{
"arguments": [
{
"name": "signature",
"nodeType": "YulIdentifier",
"src": "2637:9:26"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2648:4:26",
"type": "",
"value": "0x40"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2633:3:26"
},
"nodeType": "YulFunctionCall",
"src": "2633:20:26"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2627:5:26"
},
"nodeType": "YulFunctionCall",
"src": "2627:27:26"
},
"variableNames": [
{
"name": "s",
"nodeType": "YulIdentifier",
"src": "2622:1:26"
}
]
},
{
"nodeType": "YulAssignment",
"src": "2671:41:26",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2681:1:26",
"type": "",
"value": "0"
},
{
"arguments": [
{
"arguments": [
{
"name": "signature",
"nodeType": "YulIdentifier",
"src": "2694:9:26"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2705:4:26",
"type": "",
"value": "0x60"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2690:3:26"
},
"nodeType": "YulFunctionCall",
"src": "2690:20:26"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "2684:5:26"
},
"nodeType": "YulFunctionCall",
"src": "2684:27:26"
}
],
"functionName": {
"name": "byte",
"nodeType": "YulIdentifier",
"src":