@etherisc/depeg-contracts
Version:
Etherisc's smart contracts for a depeg insurance for stable coins.
1,092 lines (1,091 loc) • 235 kB
JSON
{
"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": "",