UNPKG

@zjbtest/contracts

Version:
1,101 lines 97.9 kB
{ "contractName": "SystemContract", "abi": [], "metadata": "{\"compiler\":{\"version\":\"0.8.0+commit.c7dfd78e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/runner/work/predeploy-contracts/predeploy-contracts/contracts/utils/SystemContract.sol\":\"SystemContract\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/runner/work/predeploy-contracts/predeploy-contracts/contracts/utils/SystemContract.sol\":{\"keccak256\":\"0xa1629e13e52c1caa85a8658eadb41827faffe20ef1f5db46a48fc1956a843b03\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://2be225f1990ecbc01e3c35ff2aa0f0c1de1bf45b85d05468e6125182642dea37\",\"dweb:/ipfs/QmZBVmNFDGNTWAJjxxpi2VJfBU2mtSLDFQ9aB7ziEgrqZA\"]}},\"version\":1}", "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220bd8c2baa4718203c728e0c532724fc540f6088c4f1f32aa3aeea508447fc391c64736f6c63430008000033", "deployedBytecode": "0x6080604052600080fdfea2646970667358221220bd8c2baa4718203c728e0c532724fc540f6088c4f1f32aa3aeea508447fc391c64736f6c63430008000033", "immutableReferences": {}, "generatedSources": [], "deployedGeneratedSources": [], "sourceMap": "71:585:14:-:0;;;;;;;;;;;;;;;;;;;", "deployedSourceMap": "71:585:14:-:0;;;;;", "source": "// SPDX-License-Identifier: GPL-3.0-or-later\n\npragma solidity ^0.8.0;\n\ncontract SystemContract {\n modifier systemContract(address addr) {\n bytes memory addrBytes = abi.encodePacked(addr);\n for (uint i = 0; i < 12; i++) {\n require(addrBytes[i] == 0, \"not a system contract\");\n }\n _;\n }\n\n modifier systemContracts(address[] memory addrs) {\n for (uint i = 0; i < addrs.length; i++) {\n bytes memory addrBytes = abi.encodePacked(addrs[i]);\n for (uint j = 0; j < 12; j++) {\n require(addrBytes[j] == 0, \"not a system contract\");\n }\n }\n _;\n }\n}\n", "sourcePath": "/home/runner/work/predeploy-contracts/predeploy-contracts/contracts/utils/SystemContract.sol", "ast": { "absolutePath": "/home/runner/work/predeploy-contracts/predeploy-contracts/contracts/utils/SystemContract.sol", "exportedSymbols": { "SystemContract": [ 2074 ] }, "id": 2075, "license": "GPL-3.0-or-later", "nodeType": "SourceUnit", "nodes": [ { "id": 1989, "literals": [ "solidity", "^", "0.8", ".0" ], "nodeType": "PragmaDirective", "src": "46:23:14" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 2074, "linearizedBaseContracts": [ 2074 ], "name": "SystemContract", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 2022, "nodeType": "Block", "src": "139:190:14", "statements": [ { "assignments": [ 1994 ], "declarations": [ { "constant": false, "id": 1994, "mutability": "mutable", "name": "addrBytes", "nodeType": "VariableDeclaration", "scope": 2022, "src": "149:22:14", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1993, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "149:5:14", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 1999, "initialValue": { "arguments": [ { "id": 1997, "name": "addr", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1991, "src": "191:4:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "id": 1995, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967295, "src": "174:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 1996, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "174:16:14", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 1998, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "174:22:14", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", "src": "149:47:14" }, { "body": { "id": 2019, "nodeType": "Block", "src": "236:76:14", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, "id": 2015, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { "id": 2011, "name": "addrBytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1994, "src": "258:9:14", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 2013, "indexExpression": { "id": 2012, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2001, "src": "268:1:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "258:12:14", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 2014, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "274:1:14", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "258:17:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "6e6f7420612073797374656d20636f6e7472616374", "id": 2016, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "277:23:14", "typeDescriptions": { "typeIdentifier": "t_stringliteral_2048fc62d6fa599cdedd13d2fdd3a09f7c2da540eff3443be54395301074d106", "typeString": "literal_string \"not a system contract\"" }, "value": "not a system contract" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_2048fc62d6fa599cdedd13d2fdd3a09f7c2da540eff3443be54395301074d106", "typeString": "literal_string \"not a system contract\"" } ], "id": 2010, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "250:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2017, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "250:51:14", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2018, "nodeType": "ExpressionStatement", "src": "250:51:14" } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2006, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 2004, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2001, "src": "223:1:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "hexValue": "3132", "id": 2005, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "227:2:14", "typeDescriptions": { "typeIdentifier": "t_rational_12_by_1", "typeString": "int_const 12" }, "value": "12" }, "src": "223:6:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 2020, "initializationExpression": { "assignments": [ 2001 ], "declarations": [ { "constant": false, "id": 2001, "mutability": "mutable", "name": "i", "nodeType": "VariableDeclaration", "scope": 2020, "src": "211:6:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2000, "name": "uint", "nodeType": "ElementaryTypeName", "src": "211:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 2003, "initialValue": { "hexValue": "30", "id": 2002, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "220:1:14", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "211:10:14" }, "loopExpression": { "expression": { "id": 2008, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "231:3:14", "subExpression": { "id": 2007, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2001, "src": "231:1:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2009, "nodeType": "ExpressionStatement", "src": "231:3:14" }, "nodeType": "ForStatement", "src": "206:106:14" }, { "id": 2021, "nodeType": "PlaceholderStatement", "src": "321:1:14" } ] }, "id": 2023, "name": "systemContract", "nodeType": "ModifierDefinition", "parameters": { "id": 1992, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1991, "mutability": "mutable", "name": "addr", "nodeType": "VariableDeclaration", "scope": 2023, "src": "125:12:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1990, "name": "address", "nodeType": "ElementaryTypeName", "src": "125:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "124:14:14" }, "src": "101:228:14", "virtual": false, "visibility": "internal" }, { "body": { "id": 2072, "nodeType": "Block", "src": "384:270:14", "statements": [ { "body": { "id": 2069, "nodeType": "Block", "src": "434:203:14", "statements": [ { "assignments": [ 2040 ], "declarations": [ { "constant": false, "id": 2040, "mutability": "mutable", "name": "addrBytes", "nodeType": "VariableDeclaration", "scope": 2069, "src": "448:22:14", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2039, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "448:5:14", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "id": 2047, "initialValue": { "arguments": [ { "baseExpression": { "id": 2043, "name": "addrs", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2026, "src": "490:5:14", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, "id": 2045, "indexExpression": { "id": 2044, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2029, "src": "496:1:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "490:8:14", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "id": 2041, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967295, "src": "473:3:14", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, "id": 2042, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", "src": "473:16:14", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, "id": 2046, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "473:26:14", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "nodeType": "VariableDeclarationStatement", "src": "448:51:14" }, { "body": { "id": 2067, "nodeType": "Block", "src": "543:84:14", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" }, "id": 2063, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { "id": 2059, "name": "addrBytes", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2040, "src": "569:9:14", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 2061, "indexExpression": { "id": 2060, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2049, "src": "579:1:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "569:12:14", "typeDescriptions": { "typeIdentifier": "t_bytes1", "typeString": "bytes1" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "hexValue": "30", "id": 2062, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "585:1:14", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "569:17:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "6e6f7420612073797374656d20636f6e7472616374", "id": 2064, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "588:23:14", "typeDescriptions": { "typeIdentifier": "t_stringliteral_2048fc62d6fa599cdedd13d2fdd3a09f7c2da540eff3443be54395301074d106", "typeString": "literal_string \"not a system contract\"" }, "value": "not a system contract" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_2048fc62d6fa599cdedd13d2fdd3a09f7c2da540eff3443be54395301074d106", "typeString": "literal_string \"not a system contract\"" } ], "id": 2058, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "561:7:14", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2065, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "561:51:14", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2066, "nodeType": "ExpressionStatement", "src": "561:51:14" } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2054, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 2052, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2049, "src": "530:1:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "hexValue": "3132", "id": 2053, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "534:2:14", "typeDescriptions": { "typeIdentifier": "t_rational_12_by_1", "typeString": "int_const 12" }, "value": "12" }, "src": "530:6:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 2068, "initializationExpression": { "assignments": [ 2049 ], "declarations": [ { "constant": false, "id": 2049, "mutability": "mutable", "name": "j", "nodeType": "VariableDeclaration", "scope": 2068, "src": "518:6:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2048, "name": "uint", "nodeType": "ElementaryTypeName", "src": "518:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 2051, "initialValue": { "hexValue": "30", "id": 2050, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "527:1:14", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "518:10:14" }, "loopExpression": { "expression": { "id": 2056, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "538:3:14", "subExpression": { "id": 2055, "name": "j", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2049, "src": "538:1:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2057, "nodeType": "ExpressionStatement", "src": "538:3:14" }, "nodeType": "ForStatement", "src": "513:114:14" } ] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2035, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 2032, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2029, "src": "411:1:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "expression": { "id": 2033, "name": "addrs", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2026, "src": "415:5:14", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, "id": 2034, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "src": "415:12:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "411:16:14", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 2070, "initializationExpression": { "assignments": [ 2029 ], "declarations": [ { "constant": false, "id": 2029, "mutability": "mutable", "name": "i", "nodeType": "VariableDeclaration", "scope": 2070, "src": "399:6:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2028, "name": "uint", "nodeType": "ElementaryTypeName", "src": "399:4:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "id": 2031, "initialValue": { "hexValue": "30", "id": 2030, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "408:1:14", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "nodeType": "VariableDeclarationStatement", "src": "399:10:14" }, "loopExpression": { "expression": { "id": 2037, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": false, "src": "429:3:14", "subExpression": { "id": 2036, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2029, "src": "429:1:14", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 2038, "nodeType": "ExpressionStatement", "src": "429:3:14" }, "nodeType": "ForStatement", "src": "394:243:14" }, { "id": 2071, "nodeType": "PlaceholderStatement", "src": "646:1:14" } ] }, "id": 2073, "name": "systemContracts", "nodeType": "ModifierDefinition", "parameters": { "id": 2027, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2026, "mutability": "mutable", "name": "addrs", "nodeType": "VariableDeclaration", "scope": 2073, "src": "360:22:14", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[]" }, "typeName": { "baseType": { "id": 2024, "name": "address", "nodeType": "ElementaryTypeName", "src": "360:7:14", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 2025, "nodeType": "ArrayTypeName", "src": "360:9:14", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } }, "visibility": "internal" } ], "src": "359:24:14" }, "src": "335:319:14", "virtual": false, "visibility": "internal" } ], "scope": 2075, "src": "71:585:14" } ], "src": "46:611:14" }, "legacyAST": { "absolutePath":