UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 43.4 kB
{"abi":[],"bytecode":{"object":"0x602d6037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"57:3886:173:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;57:3886:173;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"57:3886:173:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Safe/SafeSigners.sol\":\"SafeSigners\"},\"evmVersion\":\"london\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/Safe/SafeSigners.sol\":{\"keccak256\":\"0xc3c1ece8d6cdc8587926e2c67c401ee49a9adc2fbdb983679434f07c521576b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bf9dfb2dcc579a3cb58eb307223b48e5ee42678a42a4ba4453251a6e2c25ba3\",\"dweb:/ipfs/QmUwFHA8SxsVYBigJEsZaKqPuyYgYSa5juYXWZpYwfuNVT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/Safe/SafeSigners.sol":"SafeSigners"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"src/Safe/SafeSigners.sol":{"keccak256":"0xc3c1ece8d6cdc8587926e2c67c401ee49a9adc2fbdb983679434f07c521576b5","urls":["bzz-raw://6bf9dfb2dcc579a3cb58eb307223b48e5ee42678a42a4ba4453251a6e2c25ba3","dweb:/ipfs/QmUwFHA8SxsVYBigJEsZaKqPuyYgYSa5juYXWZpYwfuNVT"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"src/Safe/SafeSigners.sol","id":100507,"exportedSymbols":{"SafeSigners":[100506]},"nodeType":"SourceUnit","src":"32:3912:173","nodes":[{"id":100356,"nodeType":"PragmaDirective","src":"32:23:173","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":100506,"nodeType":"ContractDefinition","src":"57:3886:173","nodes":[{"id":100372,"nodeType":"FunctionDefinition","src":"969:738:173","nodes":[],"body":{"id":100371,"nodeType":"Block","src":"1135:572:173","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"1154:547:173","statements":[{"nodeType":"YulVariableDeclaration","src":"1168:34:173","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1192:4:173","type":"","value":"0x41"},{"name":"pos","nodeType":"YulIdentifier","src":"1198:3:173"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"1188:3:173"},"nodeType":"YulFunctionCall","src":"1188:14:173"},"variables":[{"name":"signaturePos","nodeType":"YulTypedName","src":"1172:12:173","type":""}]},{"nodeType":"YulAssignment","src":"1215:52:173","value":{"arguments":[{"arguments":[{"name":"signatures","nodeType":"YulIdentifier","src":"1230:10:173"},{"arguments":[{"name":"signaturePos","nodeType":"YulIdentifier","src":"1246:12:173"},{"kind":"number","nodeType":"YulLiteral","src":"1260:4:173","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1242:3:173"},"nodeType":"YulFunctionCall","src":"1242:23:173"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1226:3:173"},"nodeType":"YulFunctionCall","src":"1226:40:173"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1220:5:173"},"nodeType":"YulFunctionCall","src":"1220:47:173"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"1215:1:173"}]},{"nodeType":"YulAssignment","src":"1280:52:173","value":{"arguments":[{"arguments":[{"name":"signatures","nodeType":"YulIdentifier","src":"1295:10:173"},{"arguments":[{"name":"signaturePos","nodeType":"YulIdentifier","src":"1311:12:173"},{"kind":"number","nodeType":"YulLiteral","src":"1325:4:173","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1307:3:173"},"nodeType":"YulFunctionCall","src":"1307:23:173"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1291:3:173"},"nodeType":"YulFunctionCall","src":"1291:40:173"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1285:5:173"},"nodeType":"YulFunctionCall","src":"1285:47:173"},"variableNames":[{"name":"s","nodeType":"YulIdentifier","src":"1280:1:173"}]},{"nodeType":"YulAssignment","src":"1628:63:173","value":{"arguments":[{"arguments":[{"arguments":[{"name":"signatures","nodeType":"YulIdentifier","src":"1647:10:173"},{"arguments":[{"name":"signaturePos","nodeType":"YulIdentifier","src":"1663:12:173"},{"kind":"number","nodeType":"YulLiteral","src":"1677:4:173","type":"","value":"0x41"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1659:3:173"},"nodeType":"YulFunctionCall","src":"1659:23:173"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1643:3:173"},"nodeType":"YulFunctionCall","src":"1643:40:173"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1637:5:173"},"nodeType":"YulFunctionCall","src":"1637:47:173"},{"kind":"number","nodeType":"YulLiteral","src":"1686:4:173","type":"","value":"0xff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1633:3:173"},"nodeType":"YulFunctionCall","src":"1633:58:173"},"variableNames":[{"name":"v","nodeType":"YulIdentifier","src":"1628:1:173"}]}]},"evmVersion":"london","externalReferences":[{"declaration":100361,"isOffset":false,"isSlot":false,"src":"1198:3:173","valueSize":1},{"declaration":100366,"isOffset":false,"isSlot":false,"src":"1215:1:173","valueSize":1},{"declaration":100368,"isOffset":false,"isSlot":false,"src":"1280:1:173","valueSize":1},{"declaration":100359,"isOffset":false,"isSlot":false,"src":"1230:10:173","valueSize":1},{"declaration":100359,"isOffset":false,"isSlot":false,"src":"1295:10:173","valueSize":1},{"declaration":100359,"isOffset":false,"isSlot":false,"src":"1647:10:173","valueSize":1},{"declaration":100364,"isOffset":false,"isSlot":false,"src":"1628:1:173","valueSize":1}],"id":100370,"nodeType":"InlineAssembly","src":"1145:556:173"}]},"documentation":{"id":100357,"nodeType":"StructuredDocumentation","src":"83:881:173","text":"@notice Splits signature bytes into `uint8 v, bytes32 r, bytes32 s`.\n Copied directly from\n https://github.com/safe-global/safe-contracts/blob/e870f514ad34cd9654c72174d6d4a839e3c6639f/contracts/common/SignatureDecoder.sol\n @dev Make sure to perform a bounds check for @param pos, to avoid out of bounds access on @param signatures\n The signature format is a compact form of {bytes32 r}{bytes32 s}{uint8 v}\n Compact means uint8 is not padded to 32 bytes.\n @param pos Which signature to read.\n A prior bounds check of this parameter should be performed, to avoid out of bounds access.\n @param signatures Concatenated {r, s, v} signatures.\n @return v Recovery ID or Safe signature type.\n @return r Output value r of the signature.\n @return s Output value s of the signature."},"implemented":true,"kind":"function","modifiers":[],"name":"signatureSplit","nameLocation":"978:14:173","parameters":{"id":100362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":100359,"mutability":"mutable","name":"signatures","nameLocation":"1015:10:173","nodeType":"VariableDeclaration","scope":100372,"src":"1002:23:173","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":100358,"name":"bytes","nodeType":"ElementaryTypeName","src":"1002:5:173","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":100361,"mutability":"mutable","name":"pos","nameLocation":"1043:3:173","nodeType":"VariableDeclaration","scope":100372,"src":"1035:11:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100360,"name":"uint256","nodeType":"ElementaryTypeName","src":"1035:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"992:60:173"},"returnParameters":{"id":100369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":100364,"mutability":"mutable","name":"v","nameLocation":"1106:1:173","nodeType":"VariableDeclaration","scope":100372,"src":"1100:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":100363,"name":"uint8","nodeType":"ElementaryTypeName","src":"1100:5:173","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":100366,"mutability":"mutable","name":"r","nameLocation":"1117:1:173","nodeType":"VariableDeclaration","scope":100372,"src":"1109:9:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":100365,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1109:7:173","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":100368,"mutability":"mutable","name":"s","nameLocation":"1128:1:173","nodeType":"VariableDeclaration","scope":100372,"src":"1120:9:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":100367,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1120:7:173","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1099:31:173"},"scope":100506,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":100505,"nodeType":"FunctionDefinition","src":"2245:1696:173","nodes":[],"body":{"id":100504,"nodeType":"Block","src":"2444:1497:173","nodes":[],"statements":[{"expression":{"id":100391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":100385,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100383,"src":"2454:7:173","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":100389,"name":"requiredSignatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100379,"src":"2478:18:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":100388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2464:13:173","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":100386,"name":"address","nodeType":"ElementaryTypeName","src":"2468:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":100387,"nodeType":"ArrayTypeName","src":"2468:9:173","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":100390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2464:33:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"2454:43:173","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":100392,"nodeType":"ExpressionStatement","src":"2454:43:173"},{"assignments":[100394],"declarations":[{"constant":false,"id":100394,"mutability":"mutable","name":"currentOwner","nameLocation":"2516:12:173","nodeType":"VariableDeclaration","scope":100504,"src":"2508:20:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":100393,"name":"address","nodeType":"ElementaryTypeName","src":"2508:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":100395,"nodeType":"VariableDeclarationStatement","src":"2508:20:173"},{"assignments":[100397],"declarations":[{"constant":false,"id":100397,"mutability":"mutable","name":"v","nameLocation":"2544:1:173","nodeType":"VariableDeclaration","scope":100504,"src":"2538:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":100396,"name":"uint8","nodeType":"ElementaryTypeName","src":"2538:5:173","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":100398,"nodeType":"VariableDeclarationStatement","src":"2538:7:173"},{"assignments":[100400],"declarations":[{"constant":false,"id":100400,"mutability":"mutable","name":"r","nameLocation":"2563:1:173","nodeType":"VariableDeclaration","scope":100504,"src":"2555:9:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":100399,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2555:7:173","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":100401,"nodeType":"VariableDeclarationStatement","src":"2555:9:173"},{"assignments":[100403],"declarations":[{"constant":false,"id":100403,"mutability":"mutable","name":"s","nameLocation":"2582:1:173","nodeType":"VariableDeclaration","scope":100504,"src":"2574:9:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":100402,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2574:7:173","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":100404,"nodeType":"VariableDeclarationStatement","src":"2574:9:173"},{"assignments":[100406],"declarations":[{"constant":false,"id":100406,"mutability":"mutable","name":"i","nameLocation":"2601:1:173","nodeType":"VariableDeclaration","scope":100504,"src":"2593:9:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100405,"name":"uint256","nodeType":"ElementaryTypeName","src":"2593:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":100407,"nodeType":"VariableDeclarationStatement","src":"2593:9:173"},{"body":{"id":100502,"nodeType":"Block","src":"2653:1282:173","statements":[{"expression":{"id":100426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":100418,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100397,"src":"2668:1:173","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":100419,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100400,"src":"2671:1:173","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":100420,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100403,"src":"2674:1:173","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":100421,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"2667:9:173","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":100423,"name":"signatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100377,"src":"2694:10:173","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":100424,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100406,"src":"2706:1:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":100422,"name":"signatureSplit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100372,"src":"2679:14:173","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (uint8,bytes32,bytes32)"}},"id":100425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2679:29:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(uint8,bytes32,bytes32)"}},"src":"2667:41:173","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":100427,"nodeType":"ExpressionStatement","src":"2667:41:173"},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":100430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":100428,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100397,"src":"2726:1:173","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":100429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2731:1:173","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2726:6:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":100447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":100445,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100397,"src":"2980:1:173","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":100446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2985:1:173","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2980:6:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":100464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":100462,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100397,"src":"3226:1:173","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3330","id":100463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3230:2:173","typeDescriptions":{"typeIdentifier":"t_rational_30_by_1","typeString":"int_const 30"},"value":"30"},"src":"3226:6:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":100492,"nodeType":"Block","src":"3660:226:173","statements":[{"expression":{"id":100490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":100483,"name":"currentOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100394,"src":"3828:12:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":100485,"name":"dataHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100375,"src":"3853:8:173","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":100486,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100397,"src":"3863:1:173","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":100487,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100400,"src":"3866:1:173","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":100488,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100403,"src":"3869:1:173","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":100484,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"3843:9:173","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":100489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3843:28:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3828:43:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":100491,"nodeType":"ExpressionStatement","src":"3828:43:173"}]},"id":100493,"nodeType":"IfStatement","src":"3222:664:173","trueBody":{"id":100482,"nodeType":"Block","src":"3234:420:173","statements":[{"expression":{"id":100480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":100465,"name":"currentOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100394,"src":"3507:12:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"19457468657265756d205369676e6564204d6573736167653a0a3332","id":100470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3579:34:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73","typeString":"literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\""},"value":"\u0019Ethereum Signed Message:\n32"},{"id":100471,"name":"dataHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100375,"src":"3615:8:173","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73","typeString":"literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":100468,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3562:3:173","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":100469,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3562:16:173","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":100472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3562:62:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":100467,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3552:9:173","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":100473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3552:73:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":100476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":100474,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100397,"src":"3627:1:173","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"34","id":100475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3631:1:173","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"3627:5:173","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":100477,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100400,"src":"3634:1:173","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":100478,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100403,"src":"3637:1:173","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":100466,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"3542:9:173","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":100479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3542:97:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3507:132:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":100481,"nodeType":"ExpressionStatement","src":"3507:132:173"}]}},"id":100494,"nodeType":"IfStatement","src":"2976:910:173","trueBody":{"id":100461,"nodeType":"Block","src":"2988:228:173","statements":[{"expression":{"id":100459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":100448,"name":"currentOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100394,"src":"3158:12:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":100455,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100400,"src":"3197:1:173","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":100454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3189:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":100453,"name":"uint256","nodeType":"ElementaryTypeName","src":"3189:7:173","typeDescriptions":{}}},"id":100456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3189:10:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":100452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3181:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":100451,"name":"uint160","nodeType":"ElementaryTypeName","src":"3181:7:173","typeDescriptions":{}}},"id":100457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3181:19:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":100450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3173:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":100449,"name":"address","nodeType":"ElementaryTypeName","src":"3173:7:173","typeDescriptions":{}}},"id":100458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3173:28:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3158:43:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":100460,"nodeType":"ExpressionStatement","src":"3158:43:173"}]}},"id":100495,"nodeType":"IfStatement","src":"2722:1164:173","trueBody":{"id":100444,"nodeType":"Block","src":"2734:236:173","statements":[{"expression":{"id":100442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":100431,"name":"currentOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100394,"src":"2912:12:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":100438,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100400,"src":"2951:1:173","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":100437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2943:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":100436,"name":"uint256","nodeType":"ElementaryTypeName","src":"2943:7:173","typeDescriptions":{}}},"id":100439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2943:10:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":100435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2935:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":100434,"name":"uint160","nodeType":"ElementaryTypeName","src":"2935:7:173","typeDescriptions":{}}},"id":100440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2935:19:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":100433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2927:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":100432,"name":"address","nodeType":"ElementaryTypeName","src":"2927:7:173","typeDescriptions":{}}},"id":100441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2927:28:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2912:43:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":100443,"nodeType":"ExpressionStatement","src":"2912:43:173"}]}},{"expression":{"id":100500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":100496,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100383,"src":"3899:7:173","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":100498,"indexExpression":{"id":100497,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100406,"src":"3907:1:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3899:10:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":100499,"name":"currentOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100394,"src":"3912:12:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3899:25:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":100501,"nodeType":"ExpressionStatement","src":"3899:25:173"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":100414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":100412,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100406,"src":"2624:1:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":100413,"name":"requiredSignatures","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100379,"src":"2628:18:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2624:22:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":100503,"initializationExpression":{"expression":{"id":100410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":100408,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100406,"src":"2617:1:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":100409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2621:1:173","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2617:5:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":100411,"nodeType":"ExpressionStatement","src":"2617:5:173"},"loopExpression":{"expression":{"id":100416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2648:3:173","subExpression":{"id":100415,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100406,"src":"2648:1:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":100417,"nodeType":"ExpressionStatement","src":"2648:3:173"},"nodeType":"ForStatement","src":"2612:1323:173"}]},"documentation":{"id":100373,"nodeType":"StructuredDocumentation","src":"1713:527:173","text":"@notice Extract the signers from a set of signatures.\n This method is based closely on the code in the Safe.checkNSignatures() method.\n https://github.com/safe-global/safe-contracts/blob/e870f514ad34cd9654c72174d6d4a839e3c6639f/contracts/Safe.sol#L274\n It has been modified by removing all signature _validation_ code. We trust the Safe to properly validate\n the signatures.\n This method therefore simply extracts the addresses from the signatures."},"implemented":true,"kind":"function","modifiers":[],"name":"getNSigners","nameLocation":"2254:11:173","parameters":{"id":100380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":100375,"mutability":"mutable","name":"dataHash","nameLocation":"2283:8:173","nodeType":"VariableDeclaration","scope":100505,"src":"2275:16:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":100374,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2275:7:173","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":100377,"mutability":"mutable","name":"signatures","nameLocation":"2314:10:173","nodeType":"VariableDeclaration","scope":100505,"src":"2301:23:173","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":100376,"name":"bytes","nodeType":"ElementaryTypeName","src":"2301:5:173","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":100379,"mutability":"mutable","name":"requiredSignatures","nameLocation":"2342:18:173","nodeType":"VariableDeclaration","scope":100505,"src":"2334:26:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100378,"name":"uint256","nodeType":"ElementaryTypeName","src":"2334:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2265:101:173"},"returnParameters":{"id":100384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":100383,"mutability":"mutable","name":"_owners","nameLocation":"2431:7:173","nodeType":"VariableDeclaration","scope":100505,"src":"2414:24:173","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":100381,"name":"address","nodeType":"ElementaryTypeName","src":"2414:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":100382,"nodeType":"ArrayTypeName","src":"2414:9:173","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2413:26:173"},"scope":100506,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeSigners","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[100506],"name":"SafeSigners","nameLocation":"65:11:173","scope":100507,"usedErrors":[]}],"license":"MIT"},"id":173}