UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 27.3 kB
{"abi":[],"bytecode":{"object":"0x602d6037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"215:1048:76:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;215:1048:76;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"215:1048:76:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"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\":{\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb3ebde1c8d27576db912d87c3560dab14adfb9cd001be95890ec4ba035e652e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a709421c4f5d4677db8216055d2d4dac96a613efdb08178a9f7041f0c5cef689\",\"dweb:/ipfs/QmYs2rStvVLDnSJs8HgaMD1ABwoKKWdiVbQyNfLfFWTjTy\"]}},\"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":{"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":"SignedMath"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb3ebde1c8d27576db912d87c3560dab14adfb9cd001be95890ec4ba035e652e7","urls":["bzz-raw://a709421c4f5d4677db8216055d2d4dac96a613efdb08178a9f7041f0c5cef689","dweb:/ipfs/QmYs2rStvVLDnSJs8HgaMD1ABwoKKWdiVbQyNfLfFWTjTy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev","details":"Standard signed math utilities missing in the Solidity language."},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol","id":57518,"exportedSymbols":{"SignedMath":[57517]},"nodeType":"SourceUnit","src":"109:1155:76","nodes":[{"id":57414,"nodeType":"PragmaDirective","src":"109:23:76","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":57517,"nodeType":"ContractDefinition","src":"215:1048:76","nodes":[{"id":57433,"nodeType":"FunctionDefinition","src":"311:102:76","nodes":[],"body":{"id":57432,"nodeType":"Block","src":"375:38:76","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":57427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57425,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57418,"src":"392:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":57426,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57420,"src":"397:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"392:6:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":57429,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57420,"src":"405:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":57430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"392:14:76","trueExpression":{"id":57428,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57418,"src":"401:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":57424,"id":57431,"nodeType":"Return","src":"385:21:76"}]},"documentation":{"id":57416,"nodeType":"StructuredDocumentation","src":"240:66:76","text":" @dev Returns the largest of two signed numbers."},"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"320:3:76","parameters":{"id":57421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57418,"mutability":"mutable","name":"a","nameLocation":"331:1:76","nodeType":"VariableDeclaration","scope":57433,"src":"324:8:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":57417,"name":"int256","nodeType":"ElementaryTypeName","src":"324:6:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":57420,"mutability":"mutable","name":"b","nameLocation":"341:1:76","nodeType":"VariableDeclaration","scope":57433,"src":"334:8:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":57419,"name":"int256","nodeType":"ElementaryTypeName","src":"334:6:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"323:20:76"},"returnParameters":{"id":57424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57423,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57433,"src":"367:6:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":57422,"name":"int256","nodeType":"ElementaryTypeName","src":"367:6:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"366:8:76"},"scope":57517,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57451,"nodeType":"FunctionDefinition","src":"491:101:76","nodes":[],"body":{"id":57450,"nodeType":"Block","src":"555:37:76","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":57445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57443,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57436,"src":"572:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":57444,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57438,"src":"576:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"572:5:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":57447,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57438,"src":"584:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":57448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"572:13:76","trueExpression":{"id":57446,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57436,"src":"580:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":57442,"id":57449,"nodeType":"Return","src":"565:20:76"}]},"documentation":{"id":57434,"nodeType":"StructuredDocumentation","src":"419:67:76","text":" @dev Returns the smallest of two signed numbers."},"implemented":true,"kind":"function","modifiers":[],"name":"min","nameLocation":"500:3:76","parameters":{"id":57439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57436,"mutability":"mutable","name":"a","nameLocation":"511:1:76","nodeType":"VariableDeclaration","scope":57451,"src":"504:8:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":57435,"name":"int256","nodeType":"ElementaryTypeName","src":"504:6:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":57438,"mutability":"mutable","name":"b","nameLocation":"521:1:76","nodeType":"VariableDeclaration","scope":57451,"src":"514:8:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":57437,"name":"int256","nodeType":"ElementaryTypeName","src":"514:6:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"503:20:76"},"returnParameters":{"id":57442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57441,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57451,"src":"547:6:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":57440,"name":"int256","nodeType":"ElementaryTypeName","src":"547:6:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"546:8:76"},"scope":57517,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57495,"nodeType":"FunctionDefinition","src":"729:230:76","nodes":[],"body":{"id":57494,"nodeType":"Block","src":"797:162:76","nodes":[],"statements":[{"assignments":[57462],"declarations":[{"constant":false,"id":57462,"mutability":"mutable","name":"x","nameLocation":"866:1:76","nodeType":"VariableDeclaration","scope":57494,"src":"859:8:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":57461,"name":"int256","nodeType":"ElementaryTypeName","src":"859:6:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":57475,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":57474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":57465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57463,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57454,"src":"871:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":57464,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57456,"src":"875:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"871:5:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":57466,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"870:7:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":57472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":57469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57467,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57454,"src":"882:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":57468,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57456,"src":"886:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"882:5:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":57470,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"881:7:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":57471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"892:1:76","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"881:12:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":57473,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"880:14:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"870:24:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"859:35:76"},{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":57492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57476,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57462,"src":"911:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":57490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":57481,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57462,"src":"931:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":57480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"923:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":57479,"name":"uint256","nodeType":"ElementaryTypeName","src":"923:7:76","typeDescriptions":{}}},"id":57482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"923:10:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":57483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"937:3:76","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"923:17:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":57478,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"916:6:76","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":57477,"name":"int256","nodeType":"ElementaryTypeName","src":"916:6:76","typeDescriptions":{}}},"id":57485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"916:25:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":57488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57486,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57454,"src":"945:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":57487,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57456,"src":"949:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"945:5:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":57489,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"944:7:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"916:35:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":57491,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"915:37:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"911:41:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":57460,"id":57493,"nodeType":"Return","src":"904:48:76"}]},"documentation":{"id":57452,"nodeType":"StructuredDocumentation","src":"598:126:76","text":" @dev Returns the average of two signed numbers without overflow.\n The result is rounded towards zero."},"implemented":true,"kind":"function","modifiers":[],"name":"average","nameLocation":"738:7:76","parameters":{"id":57457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57454,"mutability":"mutable","name":"a","nameLocation":"753:1:76","nodeType":"VariableDeclaration","scope":57495,"src":"746:8:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":57453,"name":"int256","nodeType":"ElementaryTypeName","src":"746:6:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":57456,"mutability":"mutable","name":"b","nameLocation":"763:1:76","nodeType":"VariableDeclaration","scope":57495,"src":"756:8:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":57455,"name":"int256","nodeType":"ElementaryTypeName","src":"756:6:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"745:20:76"},"returnParameters":{"id":57460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57459,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57495,"src":"789:6:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":57458,"name":"int256","nodeType":"ElementaryTypeName","src":"789:6:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"788:8:76"},"scope":57517,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57516,"nodeType":"FunctionDefinition","src":"1048:213:76","nodes":[],"body":{"id":57515,"nodeType":"Block","src":"1103:158:76","nodes":[],"statements":[{"id":57514,"nodeType":"UncheckedBlock","src":"1113:142:76","statements":[{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":57507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57505,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57498,"src":"1228:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":57506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1233:1:76","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1228:6:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":57510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1241:2:76","subExpression":{"id":57509,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57498,"src":"1242:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":57511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1228:15:76","trueExpression":{"id":57508,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57498,"src":"1237:1:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":57504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1220:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":57503,"name":"uint256","nodeType":"ElementaryTypeName","src":"1220:7:76","typeDescriptions":{}}},"id":57512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1220:24:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":57502,"id":57513,"nodeType":"Return","src":"1213:31:76"}]}]},"documentation":{"id":57496,"nodeType":"StructuredDocumentation","src":"965:78:76","text":" @dev Returns the absolute unsigned value of a signed value."},"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"1057:3:76","parameters":{"id":57499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57498,"mutability":"mutable","name":"n","nameLocation":"1068:1:76","nodeType":"VariableDeclaration","scope":57516,"src":"1061:8:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":57497,"name":"int256","nodeType":"ElementaryTypeName","src":"1061:6:76","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1060:10:76"},"returnParameters":{"id":57502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57501,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57516,"src":"1094:7:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57500,"name":"uint256","nodeType":"ElementaryTypeName","src":"1094:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1093:9:76"},"scope":57517,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"SignedMath","contractDependencies":[],"contractKind":"library","documentation":{"id":57415,"nodeType":"StructuredDocumentation","src":"134:80:76","text":" @dev Standard signed math utilities missing in the Solidity language."},"fullyImplemented":true,"linearizedBaseContracts":[57517],"name":"SignedMath","nameLocation":"223:10:76","scope":57518,"usedErrors":[]}],"license":"MIT"},"id":76}