@tokamak-network/thanos-contracts
Version:
1 lines • 27.3 kB
JSON
{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"215:1048:26:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;215:1048:26;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"215:1048:26:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"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\":\"cancun\",\"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.26+commit.8a97fa7a"},"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":"cancun","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":47012,"exportedSymbols":{"SignedMath":[47011]},"nodeType":"SourceUnit","src":"109:1155:26","nodes":[{"id":46908,"nodeType":"PragmaDirective","src":"109:23:26","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":47011,"nodeType":"ContractDefinition","src":"215:1048:26","nodes":[{"id":46927,"nodeType":"FunctionDefinition","src":"311:102:26","nodes":[],"body":{"id":46926,"nodeType":"Block","src":"375:38:26","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":46921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46919,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46912,"src":"392:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":46920,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46914,"src":"397:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"392:6:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":46923,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46914,"src":"405:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":46924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"392:14:26","trueExpression":{"id":46922,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46912,"src":"401:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":46918,"id":46925,"nodeType":"Return","src":"385:21:26"}]},"documentation":{"id":46910,"nodeType":"StructuredDocumentation","src":"240:66:26","text":" @dev Returns the largest of two signed numbers."},"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"320:3:26","parameters":{"id":46915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46912,"mutability":"mutable","name":"a","nameLocation":"331:1:26","nodeType":"VariableDeclaration","scope":46927,"src":"324:8:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":46911,"name":"int256","nodeType":"ElementaryTypeName","src":"324:6:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":46914,"mutability":"mutable","name":"b","nameLocation":"341:1:26","nodeType":"VariableDeclaration","scope":46927,"src":"334:8:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":46913,"name":"int256","nodeType":"ElementaryTypeName","src":"334:6:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"323:20:26"},"returnParameters":{"id":46918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46917,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46927,"src":"367:6:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":46916,"name":"int256","nodeType":"ElementaryTypeName","src":"367:6:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"366:8:26"},"scope":47011,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46945,"nodeType":"FunctionDefinition","src":"491:101:26","nodes":[],"body":{"id":46944,"nodeType":"Block","src":"555:37:26","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":46939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46937,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46930,"src":"572:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":46938,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46932,"src":"576:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"572:5:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":46941,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46932,"src":"584:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":46942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"572:13:26","trueExpression":{"id":46940,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46930,"src":"580:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":46936,"id":46943,"nodeType":"Return","src":"565:20:26"}]},"documentation":{"id":46928,"nodeType":"StructuredDocumentation","src":"419:67:26","text":" @dev Returns the smallest of two signed numbers."},"implemented":true,"kind":"function","modifiers":[],"name":"min","nameLocation":"500:3:26","parameters":{"id":46933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46930,"mutability":"mutable","name":"a","nameLocation":"511:1:26","nodeType":"VariableDeclaration","scope":46945,"src":"504:8:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":46929,"name":"int256","nodeType":"ElementaryTypeName","src":"504:6:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":46932,"mutability":"mutable","name":"b","nameLocation":"521:1:26","nodeType":"VariableDeclaration","scope":46945,"src":"514:8:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":46931,"name":"int256","nodeType":"ElementaryTypeName","src":"514:6:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"503:20:26"},"returnParameters":{"id":46936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46935,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46945,"src":"547:6:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":46934,"name":"int256","nodeType":"ElementaryTypeName","src":"547:6:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"546:8:26"},"scope":47011,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":46989,"nodeType":"FunctionDefinition","src":"729:230:26","nodes":[],"body":{"id":46988,"nodeType":"Block","src":"797:162:26","nodes":[],"statements":[{"assignments":[46956],"declarations":[{"constant":false,"id":46956,"mutability":"mutable","name":"x","nameLocation":"866:1:26","nodeType":"VariableDeclaration","scope":46988,"src":"859:8:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":46955,"name":"int256","nodeType":"ElementaryTypeName","src":"859:6:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":46969,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":46968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":46959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46957,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46948,"src":"871:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":46958,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46950,"src":"875:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"871:5:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":46960,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"870:7:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":46966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":46963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46961,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46948,"src":"882:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":46962,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46950,"src":"886:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"882:5:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":46964,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"881:7:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":46965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"892:1:26","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"881:12:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":46967,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"880:14:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"870:24:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"859:35:26"},{"expression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":46986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46970,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46956,"src":"911:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":46984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":46978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":46975,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46956,"src":"931:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":46974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"923:7:26","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":46973,"name":"uint256","nodeType":"ElementaryTypeName","src":"923:7:26","typeDescriptions":{}}},"id":46976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"923:10:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":46977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"937:3:26","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"923:17:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":46972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"916:6:26","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":46971,"name":"int256","nodeType":"ElementaryTypeName","src":"916:6:26","typeDescriptions":{}}},"id":46979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"916:25:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":46982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46980,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46948,"src":"945:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":46981,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46950,"src":"949:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"945:5:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":46983,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"944:7:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"916:35:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":46985,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"915:37:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"911:41:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":46954,"id":46987,"nodeType":"Return","src":"904:48:26"}]},"documentation":{"id":46946,"nodeType":"StructuredDocumentation","src":"598:126:26","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:26","parameters":{"id":46951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46948,"mutability":"mutable","name":"a","nameLocation":"753:1:26","nodeType":"VariableDeclaration","scope":46989,"src":"746:8:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":46947,"name":"int256","nodeType":"ElementaryTypeName","src":"746:6:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":46950,"mutability":"mutable","name":"b","nameLocation":"763:1:26","nodeType":"VariableDeclaration","scope":46989,"src":"756:8:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":46949,"name":"int256","nodeType":"ElementaryTypeName","src":"756:6:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"745:20:26"},"returnParameters":{"id":46954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46953,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":46989,"src":"789:6:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":46952,"name":"int256","nodeType":"ElementaryTypeName","src":"789:6:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"788:8:26"},"scope":47011,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":47010,"nodeType":"FunctionDefinition","src":"1048:213:26","nodes":[],"body":{"id":47009,"nodeType":"Block","src":"1103:158:26","nodes":[],"statements":[{"id":47008,"nodeType":"UncheckedBlock","src":"1113:142:26","statements":[{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":47001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46999,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46992,"src":"1228:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":47000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1233:1:26","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1228:6:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":47004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1241:2:26","subExpression":{"id":47003,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46992,"src":"1242:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":47005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1228:15:26","trueExpression":{"id":47002,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46992,"src":"1237:1:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":46998,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1220:7:26","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":46997,"name":"uint256","nodeType":"ElementaryTypeName","src":"1220:7:26","typeDescriptions":{}}},"id":47006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1220:24:26","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":46996,"id":47007,"nodeType":"Return","src":"1213:31:26"}]}]},"documentation":{"id":46990,"nodeType":"StructuredDocumentation","src":"965:78:26","text":" @dev Returns the absolute unsigned value of a signed value."},"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"1057:3:26","parameters":{"id":46993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46992,"mutability":"mutable","name":"n","nameLocation":"1068:1:26","nodeType":"VariableDeclaration","scope":47010,"src":"1061:8:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":46991,"name":"int256","nodeType":"ElementaryTypeName","src":"1061:6:26","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1060:10:26"},"returnParameters":{"id":46996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46995,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47010,"src":"1094:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46994,"name":"uint256","nodeType":"ElementaryTypeName","src":"1094:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1093:9:26"},"scope":47011,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"SignedMath","contractDependencies":[],"contractKind":"library","documentation":{"id":46909,"nodeType":"StructuredDocumentation","src":"134:80:26","text":" @dev Standard signed math utilities missing in the Solidity language."},"fullyImplemented":true,"linearizedBaseContracts":[47011],"name":"SignedMath","nameLocation":"223:10:26","scope":47012,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":26}