UNPKG

@etherisc/depeg-contracts

Version:

Etherisc's smart contracts for a depeg insurance for stable coins.

1,092 lines (1,091 loc) 235 kB
{ "abi": [], "allSourcePaths": { "12": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Strings.sol", "13": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/cryptography/ECDSA.sol" }, "ast": { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/cryptography/ECDSA.sol", "exportedSymbols": { "ECDSA": [ 13816 ], "Strings": [ 16154 ] }, "id": 13817, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 13430, "literals": [ "solidity", "^", "0.8", ".0" ], "nodeType": "PragmaDirective", "src": "112:23:13" }, { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Strings.sol", "file": "../Strings.sol", "id": 13431, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 13817, "sourceUnit": 16155, "src": "137:24:13", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "library", "documentation": { "id": 13432, "nodeType": "StructuredDocumentation", "src": "163:205:13", "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": 13816, "linearizedBaseContracts": [ 13816 ], "name": "ECDSA", "nameLocation": "377:5:13", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "ECDSA.RecoverError", "id": 13438, "members": [ { "id": 13433, "name": "NoError", "nameLocation": "417:7:13", "nodeType": "EnumValue", "src": "417:7:13" }, { "id": 13434, "name": "InvalidSignature", "nameLocation": "434:16:13", "nodeType": "EnumValue", "src": "434:16:13" }, { "id": 13435, "name": "InvalidSignatureLength", "nameLocation": "460:22:13", "nodeType": "EnumValue", "src": "460:22:13" }, { "id": 13436, "name": "InvalidSignatureS", "nameLocation": "492:17:13", "nodeType": "EnumValue", "src": "492:17:13" }, { "id": 13437, "name": "InvalidSignatureV", "nameLocation": "519:17:13", "nodeType": "EnumValue", "src": "519:17:13" } ], "name": "RecoverError", "nameLocation": "394:12:13", "nodeType": "EnumDefinition", "src": "389:153:13" }, { "body": { "id": 13491, "nodeType": "Block", "src": "602:577:13", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" }, "id": 13447, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 13444, "name": "error", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13441, "src": "616:5:13", "typeDescriptions": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "expression": { "id": 13445, "name": "RecoverError", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13438, "src": "625:12:13", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_RecoverError_$13438_$", "typeString": "type(enum ECDSA.RecoverError)" } }, "id": 13446, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "NoError", "nodeType": "MemberAccess", "referencedDeclaration": 13433, "src": "625:20:13", "typeDescriptions": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" } }, "src": "616:29:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "condition": { "commonType": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" }, "id": 13453, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 13450, "name": "error", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13441, "src": "712:5:13", "typeDescriptions": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "expression": { "id": 13451, "name": "RecoverError", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13438, "src": "721:12:13", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_RecoverError_$13438_$", "typeString": "type(enum ECDSA.RecoverError)" } }, "id": 13452, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "InvalidSignature", "nodeType": "MemberAccess", "referencedDeclaration": 13434, "src": "721:29:13", "typeDescriptions": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" } }, "src": "712:38:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "condition": { "commonType": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" }, "id": 13462, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 13459, "name": "error", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13441, "src": "821:5:13", "typeDescriptions": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "expression": { "id": 13460, "name": "RecoverError", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13438, "src": "830:12:13", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_RecoverError_$13438_$", "typeString": "type(enum ECDSA.RecoverError)" } }, "id": 13461, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "InvalidSignatureLength", "nodeType": "MemberAccess", "referencedDeclaration": 13435, "src": "830:35:13", "typeDescriptions": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" } }, "src": "821:44:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "condition": { "commonType": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" }, "id": 13471, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 13468, "name": "error", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13441, "src": "943:5:13", "typeDescriptions": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "expression": { "id": 13469, "name": "RecoverError", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13438, "src": "952:12:13", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_RecoverError_$13438_$", "typeString": "type(enum ECDSA.RecoverError)" } }, "id": 13470, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "InvalidSignatureS", "nodeType": "MemberAccess", "referencedDeclaration": 13436, "src": "952:30:13", "typeDescriptions": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" } }, "src": "943:39:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "condition": { "commonType": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" }, "id": 13480, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 13477, "name": "error", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13441, "src": "1063:5:13", "typeDescriptions": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "expression": { "id": 13478, "name": "RecoverError", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13438, "src": "1072:12:13", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_RecoverError_$13438_$", "typeString": "type(enum ECDSA.RecoverError)" } }, "id": 13479, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "InvalidSignatureV", "nodeType": "MemberAccess", "referencedDeclaration": 13437, "src": "1072:30:13", "typeDescriptions": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" } }, "src": "1063:39:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 13486, "nodeType": "IfStatement", "src": "1059:114:13", "trueBody": { "id": 13485, "nodeType": "Block", "src": "1104:69:13", "statements": [ { "expression": { "arguments": [ { "hexValue": "45434453413a20696e76616c6964207369676e6174757265202776272076616c7565", "id": 13482, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1125:36:13", "typeDescriptions": { "typeIdentifier": "t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4", "typeString": "literal_string \"ECDSA: invalid signature 'v' value\"" }, "value": "ECDSA: invalid signature 'v' value" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4", "typeString": "literal_string \"ECDSA: invalid signature 'v' value\"" } ], "id": 13481, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ -19, -19 ], "referencedDeclaration": -19, "src": "1118:6:13", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, "id": 13483, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1118:44:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 13484, "nodeType": "ExpressionStatement", "src": "1118:44:13" } ] } }, "id": 13487, "nodeType": "IfStatement", "src": "939:234:13", "trueBody": { "id": 13476, "nodeType": "Block", "src": "984:69:13", "statements": [ { "expression": { "arguments": [ { "hexValue": "45434453413a20696e76616c6964207369676e6174757265202773272076616c7565", "id": 13473, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1005:36:13", "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": 13472, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ -19, -19 ], "referencedDeclaration": -19, "src": "998:6:13", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, "id": 13474, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "998:44:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 13475, "nodeType": "ExpressionStatement", "src": "998:44:13" } ] } }, "id": 13488, "nodeType": "IfStatement", "src": "817:356:13", "trueBody": { "id": 13467, "nodeType": "Block", "src": "867:66:13", "statements": [ { "expression": { "arguments": [ { "hexValue": "45434453413a20696e76616c6964207369676e6174757265206c656e677468", "id": 13464, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "888:33:13", "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": 13463, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ -19, -19 ], "referencedDeclaration": -19, "src": "881:6:13", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, "id": 13465, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "881:41:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 13466, "nodeType": "ExpressionStatement", "src": "881:41:13" } ] } }, "id": 13489, "nodeType": "IfStatement", "src": "708:465:13", "trueBody": { "id": 13458, "nodeType": "Block", "src": "752:59:13", "statements": [ { "expression": { "arguments": [ { "hexValue": "45434453413a20696e76616c6964207369676e6174757265", "id": 13455, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "773:26:13", "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": 13454, "name": "revert", "nodeType": "Identifier", "overloadedDeclarations": [ -19, -19 ], "referencedDeclaration": -19, "src": "766:6:13", "typeDescriptions": { "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory) pure" } }, "id": 13456, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "766:34:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 13457, "nodeType": "ExpressionStatement", "src": "766:34:13" } ] } }, "id": 13490, "nodeType": "IfStatement", "src": "612:561:13", "trueBody": { "id": 13449, "nodeType": "Block", "src": "647:55:13", "statements": [ { "functionReturnParameters": 13443, "id": 13448, "nodeType": "Return", "src": "661:7:13" } ] } } ] }, "id": 13492, "implemented": true, "kind": "function", "modifiers": [], "name": "_throwError", "nameLocation": "557:11:13", "nodeType": "FunctionDefinition", "parameters": { "id": 13442, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 13441, "mutability": "mutable", "name": "error", "nameLocation": "582:5:13", "nodeType": "VariableDeclaration", "scope": 13492, "src": "569:18:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" }, "typeName": { "id": 13440, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 13439, "name": "RecoverError", "nodeType": "IdentifierPath", "referencedDeclaration": 13438, "src": "569:12:13" }, "referencedDeclaration": 13438, "src": "569:12:13", "typeDescriptions": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" } }, "visibility": "internal" } ], "src": "568:20:13" }, "returnParameters": { "id": 13443, "nodeType": "ParameterList", "parameters": [], "src": "602:0:13" }, "scope": 13816, "src": "548:631:13", "stateMutability": "pure", "virtual": false, "visibility": "private" }, { "body": { "id": 13537, "nodeType": "Block", "src": "2347:626:13", "statements": [ { "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 13508, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 13505, "name": "signature", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13497, "src": "2361:9:13", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 13506, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "src": "2361:16:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "3635", "id": 13507, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2381:2:13", "typeDescriptions": { "typeIdentifier": "t_rational_65_by_1", "typeString": "int_const 65" }, "value": "65" }, "src": "2361:22:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { "id": 13535, "nodeType": "Block", "src": "2886:81:13", "statements": [ { "expression": { "components": [ { "arguments": [ { "hexValue": "30", "id": 13529, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2916:1:13", "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": 13528, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "2908:7:13", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 13527, "name": "address", "nodeType": "ElementaryTypeName", "src": "2908:7:13", "typeDescriptions": {} } }, "id": 13530, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "2908:10:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "expression": { "id": 13531, "name": "RecoverError", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 13438, "src": "2920:12:13", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_RecoverError_$13438_$", "typeString": "type(enum ECDSA.RecoverError)" } }, "id": 13532, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "InvalidSignatureLength", "nodeType": "MemberAccess", "referencedDeclaration": 13435, "src": "2920:35:13", "typeDescriptions": { "typeIdentifier": "t_enum$_RecoverError_$13438", "typeString": "enum ECDSA.RecoverError" } } ], "id": 13533, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", "src": "2907:49:13", "typeDescriptions": { "typeIdentifier": "t_tuple$_t_address_$_t_enum$_RecoverError_$13438_$", "typeString": "tuple(address,enum ECDSA.RecoverError)" } }, "functionReturnParameters": 13504, "id": 13534, "nodeType": "Return", "src": "2900:56:13" } ] }, "id": 13536, "nodeType": "IfStatement", "src": "2357:610:13", "trueBody": { "id": 13526, "nodeType": "Block", "src": "2385:495:13", "statements": [ { "assignments": [ 13510 ], "declarations": [ { "constant": false, "id": 13510, "mutability": "mutable", "name": "r", "nameLocation": "2407:1:13", "nodeType": "VariableDeclaration", "scope": 13526, "src": "2399:9:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 13509, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2399:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 13511, "nodeType": "VariableDeclarationStatement", "src": "2399:9:13" }, { "assignments": [ 13513 ], "declarations": [ { "constant": false, "id": 13513, "mutability": "mutable", "name": "s", "nameLocation": "2430:1:13", "nodeType": "VariableDeclaration", "scope": 13526, "src": "2422:9:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 13512, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2422:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "id": 13514, "nodeType": "VariableDeclarationStatement", "src": "2422:9:13" }, { "assignments": [ 13516 ], "declarations": [ { "constant": false, "id": 13516, "mutability": "mutable", "name": "v", "nameLocation": "2451:1:13", "nodeType": "VariableDeclaration", "scope": 13526, "src": "2445:7:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 13515, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "2445:5:13", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "visibility": "internal" } ], "id": 13517, "nodeType": "VariableDeclarationStatement", "src": "2445:7:13" }, { "AST": { "nodeType": "YulBlock", "src": "2653:171:13", "statements": [ { "nodeType": "YulAssignment", "src": "2671:32:13", "value": { "arguments": [ { "arguments": [ { "name": "signature", "nodeType": "YulIdentifier", "src": "2686:9:13" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2697:4:13", "type": "",