@tokamak-network/thanos-contracts
Version:
1 lines • 27.1 kB
JSON
{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c6343000814000a","sourceMap":"290:1186:55:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;290:1186:55;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c6343000814000a","sourceMap":"290:1186:55:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Math operations with safety checks that revert on error Renamed from SafeMath to GnosisSafeMath to avoid conflicts TODO: remove once open zeppelin update to solc 0.5.0\",\"kind\":\"dev\",\"methods\":{},\"title\":\"GnosisSafeMath\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/safe-contracts/contracts/external/GnosisSafeMath.sol\":\"GnosisSafeMath\"},\"evmVersion\":\"shanghai\",\"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\":{\"lib/safe-contracts/contracts/external/GnosisSafeMath.sol\":{\"keccak256\":\"0x2a2b4d74f5834a9437be0cd3254d7a676698fc78aa47941c2009470196998d98\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://ea04449ba8b78ec44f3463b68cbce971875626e91d028add50900c41101a1156\",\"dweb:/ipfs/QmR95ci4HVkJuyYGvYRHVpp6N3wefu5WVDhipKwRechWV6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"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":{"lib/safe-contracts/contracts/external/GnosisSafeMath.sol":"GnosisSafeMath"},"evmVersion":"shanghai","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/safe-contracts/contracts/external/GnosisSafeMath.sol":{"keccak256":"0x2a2b4d74f5834a9437be0cd3254d7a676698fc78aa47941c2009470196998d98","urls":["bzz-raw://ea04449ba8b78ec44f3463b68cbce971875626e91d028add50900c41101a1156","dweb:/ipfs/QmR95ci4HVkJuyYGvYRHVpp6N3wefu5WVDhipKwRechWV6"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev","details":"Math operations with safety checks that revert on error Renamed from SafeMath to GnosisSafeMath to avoid conflicts TODO: remove once open zeppelin update to solc 0.5.0","title":"GnosisSafeMath"},"ast":{"absolutePath":"lib/safe-contracts/contracts/external/GnosisSafeMath.sol","id":51181,"exportedSymbols":{"GnosisSafeMath":[51180]},"nodeType":"SourceUnit","src":"42:1435:55","nodes":[{"id":51076,"nodeType":"PragmaDirective","src":"42:31:55","nodes":[],"literals":["solidity",">=","0.7",".0","<","0.9",".0"]},{"id":51180,"nodeType":"ContractDefinition","src":"290:1186:55","nodes":[{"id":51111,"nodeType":"FunctionDefinition","src":"392:421:55","nodes":[],"body":{"id":51110,"nodeType":"Block","src":"459:354:55","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51087,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51080,"src":"690:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":51088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"695:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"690:6:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":51093,"nodeType":"IfStatement","src":"686:45:55","trueBody":{"id":51092,"nodeType":"Block","src":"698:33:55","statements":[{"expression":{"hexValue":"30","id":51090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"719:1:55","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":51086,"id":51091,"nodeType":"Return","src":"712:8:55"}]}},{"assignments":[51095],"declarations":[{"constant":false,"id":51095,"mutability":"mutable","name":"c","nameLocation":"749:1:55","nodeType":"VariableDeclaration","scope":51110,"src":"741:9:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51094,"name":"uint256","nodeType":"ElementaryTypeName","src":"741:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51099,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51096,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51080,"src":"753:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":51097,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51082,"src":"757:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"753:5:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"741:17:55"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51101,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51095,"src":"776:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":51102,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51080,"src":"780:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"776:5:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":51104,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51082,"src":"785:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"776:10:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":51100,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"768:7:55","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":51106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"768:19:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51107,"nodeType":"ExpressionStatement","src":"768:19:55"},{"expression":{"id":51108,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51095,"src":"805:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":51086,"id":51109,"nodeType":"Return","src":"798:8:55"}]},"documentation":{"id":51078,"nodeType":"StructuredDocumentation","src":"319:68:55","text":" @dev Multiplies two numbers, reverts on overflow."},"implemented":true,"kind":"function","modifiers":[],"name":"mul","nameLocation":"401:3:55","parameters":{"id":51083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51080,"mutability":"mutable","name":"a","nameLocation":"413:1:55","nodeType":"VariableDeclaration","scope":51111,"src":"405:9:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51079,"name":"uint256","nodeType":"ElementaryTypeName","src":"405:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51082,"mutability":"mutable","name":"b","nameLocation":"424:1:55","nodeType":"VariableDeclaration","scope":51111,"src":"416:9:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51081,"name":"uint256","nodeType":"ElementaryTypeName","src":"416:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"404:22:55"},"returnParameters":{"id":51086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51085,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51111,"src":"450:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51084,"name":"uint256","nodeType":"ElementaryTypeName","src":"450:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"449:9:55"},"scope":51180,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51136,"nodeType":"FunctionDefinition","src":"936:145:55","nodes":[],"body":{"id":51135,"nodeType":"Block","src":"1003:78:55","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51122,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51116,"src":"1021:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":51123,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51114,"src":"1026:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1021:6:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":51121,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1013:7:55","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":51125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1013:15:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51126,"nodeType":"ExpressionStatement","src":"1013:15:55"},{"assignments":[51128],"declarations":[{"constant":false,"id":51128,"mutability":"mutable","name":"c","nameLocation":"1046:1:55","nodeType":"VariableDeclaration","scope":51135,"src":"1038:9:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51127,"name":"uint256","nodeType":"ElementaryTypeName","src":"1038:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51132,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51129,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51114,"src":"1050:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":51130,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51116,"src":"1054:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1050:5:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1038:17:55"},{"expression":{"id":51133,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51128,"src":"1073:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":51120,"id":51134,"nodeType":"Return","src":"1066:8:55"}]},"documentation":{"id":51112,"nodeType":"StructuredDocumentation","src":"819:112:55","text":" @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend)."},"implemented":true,"kind":"function","modifiers":[],"name":"sub","nameLocation":"945:3:55","parameters":{"id":51117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51114,"mutability":"mutable","name":"a","nameLocation":"957:1:55","nodeType":"VariableDeclaration","scope":51136,"src":"949:9:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51113,"name":"uint256","nodeType":"ElementaryTypeName","src":"949:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51116,"mutability":"mutable","name":"b","nameLocation":"968:1:55","nodeType":"VariableDeclaration","scope":51136,"src":"960:9:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51115,"name":"uint256","nodeType":"ElementaryTypeName","src":"960:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"948:22:55"},"returnParameters":{"id":51120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51119,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51136,"src":"994:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51118,"name":"uint256","nodeType":"ElementaryTypeName","src":"994:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"993:9:55"},"scope":51180,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51161,"nodeType":"FunctionDefinition","src":"1154:145:55","nodes":[],"body":{"id":51160,"nodeType":"Block","src":"1221:78:55","nodes":[],"statements":[{"assignments":[51147],"declarations":[{"constant":false,"id":51147,"mutability":"mutable","name":"c","nameLocation":"1239:1:55","nodeType":"VariableDeclaration","scope":51160,"src":"1231:9:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51146,"name":"uint256","nodeType":"ElementaryTypeName","src":"1231:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51151,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51148,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51139,"src":"1243:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":51149,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51141,"src":"1247:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1243:5:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1231:17:55"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51153,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51147,"src":"1266:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":51154,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51139,"src":"1271:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1266:6:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":51152,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1258:7:55","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":51156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1258:15:55","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51157,"nodeType":"ExpressionStatement","src":"1258:15:55"},{"expression":{"id":51158,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51147,"src":"1291:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":51145,"id":51159,"nodeType":"Return","src":"1284:8:55"}]},"documentation":{"id":51137,"nodeType":"StructuredDocumentation","src":"1087:62:55","text":" @dev Adds two numbers, reverts on overflow."},"implemented":true,"kind":"function","modifiers":[],"name":"add","nameLocation":"1163:3:55","parameters":{"id":51142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51139,"mutability":"mutable","name":"a","nameLocation":"1175:1:55","nodeType":"VariableDeclaration","scope":51161,"src":"1167:9:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51138,"name":"uint256","nodeType":"ElementaryTypeName","src":"1167:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51141,"mutability":"mutable","name":"b","nameLocation":"1186:1:55","nodeType":"VariableDeclaration","scope":51161,"src":"1178:9:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51140,"name":"uint256","nodeType":"ElementaryTypeName","src":"1178:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1166:22:55"},"returnParameters":{"id":51145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51144,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51161,"src":"1212:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51143,"name":"uint256","nodeType":"ElementaryTypeName","src":"1212:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1211:9:55"},"scope":51180,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51179,"nodeType":"FunctionDefinition","src":"1369:105:55","nodes":[],"body":{"id":51178,"nodeType":"Block","src":"1436:38:55","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":51173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51171,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51164,"src":"1453:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":51172,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51166,"src":"1458:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1453:6:55","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":51175,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51166,"src":"1466:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":51176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1453:14:55","trueExpression":{"id":51174,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51164,"src":"1462:1:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":51170,"id":51177,"nodeType":"Return","src":"1446:21:55"}]},"documentation":{"id":51162,"nodeType":"StructuredDocumentation","src":"1305:59:55","text":" @dev Returns the largest of two numbers."},"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"1378:3:55","parameters":{"id":51167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51164,"mutability":"mutable","name":"a","nameLocation":"1390:1:55","nodeType":"VariableDeclaration","scope":51179,"src":"1382:9:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51163,"name":"uint256","nodeType":"ElementaryTypeName","src":"1382:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51166,"mutability":"mutable","name":"b","nameLocation":"1401:1:55","nodeType":"VariableDeclaration","scope":51179,"src":"1393:9:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51165,"name":"uint256","nodeType":"ElementaryTypeName","src":"1393:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1381:22:55"},"returnParameters":{"id":51170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51169,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51179,"src":"1427:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51168,"name":"uint256","nodeType":"ElementaryTypeName","src":"1427:7:55","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1426:9:55"},"scope":51180,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"GnosisSafeMath","contractDependencies":[],"contractKind":"library","documentation":{"id":51077,"nodeType":"StructuredDocumentation","src":"75:214:55","text":" @title GnosisSafeMath\n @dev Math operations with safety checks that revert on error\n Renamed from SafeMath to GnosisSafeMath to avoid conflicts\n TODO: remove once open zeppelin update to solc 0.5.0"},"fullyImplemented":true,"linearizedBaseContracts":[51180],"name":"GnosisSafeMath","nameLocation":"298:14:55","scope":51181,"usedErrors":[],"usedEvents":[]}],"license":"LGPL-3.0-only"},"id":55}