UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 27.8 kB
{"abi":[{"type":"function","name":"setGuard","inputs":[{"name":"guard","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ChangedGuard","inputs":[{"name":"guard","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50610177806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e19a9dd914610030575b600080fd5b61004361003e36600461012d565b610045565b005b61004d6100be565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c881815560405173ffffffffffffffffffffffffffffffffffffffff831681527f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa29060200160405180910390a15050565b33301461012b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f4753303331000000000000000000000000000000000000000000000000000000604482015260640160405180910390fd5b565b60006020828403121561013f57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461016357600080fd5b939250505056fea164736f6c634300080f000a","sourceMap":"735:903:81:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e19a9dd914610030575b600080fd5b61004361003e36600461012d565b610045565b005b61004d6100be565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c881815560405173ffffffffffffffffffffffffffffffffffffffff831681527f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa29060200160405180910390a15050565b33301461012b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f4753303331000000000000000000000000000000000000000000000000000000604482015260640160405180910390fd5b565b60006020828403121561013f57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461016357600080fd5b939250505056fea164736f6c634300080f000a","sourceMap":"735:903:81:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1150:254;;;;;;:::i;:::-;;:::i;:::-;;;440:17:87;:15;:17::i;:::-;915:66:81::1;1335:19:::0;;;1378::::1;::::0;504:42:416;492:55;;474:74;;1378:19:81::1;::::0;462:2:416;447:18;1378:19:81::1;;;;;;;1203:201;1150:254:::0;:::o;231:102:87:-;289:10;311:4;289:27;281:45;;;;;;;761:2:416;281:45:87;;;743:21:416;800:1;780:18;;;773:29;838:7;818:18;;;811:35;863:18;;281:45:87;;;;;;;;231:102::o;14:309:416:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;231:42;224:5;220:54;213:5;210:65;200:93;;289:1;286;279:12;200:93;312:5;14:309;-1:-1:-1;;;14:309:416:o","linkReferences":{}},"methodIdentifiers":{"setGuard(address)":"e19a9dd9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"ChangedGuard\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"setGuard\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Richard Meissner - <richard@gnosis.pm>\",\"kind\":\"dev\",\"methods\":{\"setGuard(address)\":{\"details\":\"Set a guard that checks transactions before execution\",\"params\":{\"guard\":\"The address of the guard to be used or the 0 address to disable the guard\"}}},\"title\":\"Fallback Manager - A contract that manages fallback calls made to this contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/safe-contracts/contracts/base/GuardManager.sol\":\"GuardManager\"},\"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/safe-contracts/contracts/base/GuardManager.sol\":{\"keccak256\":\"0x53a532a31f9632d5a73ad0df56f05bd2b66a2f781f571eb48d00367d370707f9\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://eebc15cb7c83cf9516514b34bd16fb19c08104c738fa172ae3c98c66b84708ed\",\"dweb:/ipfs/QmfJ4yX5WwHU58QVoxJFaejyerscTs6VCgn2TdUVrEZeTP\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x473e45b1a5cc47be494b0e123c9127f0c11c1e0992a321ae5a644c0bfdb2c14f\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://948e6d5a8bd7377f7795b6e28584eab9be5c0a8db240bf5e606744a175238c3d\",\"dweb:/ipfs/QmQQaUmQfpuejV41jbxKSTgEBYYCcVTjCsDMgf2htgz6ej\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0x59d36efca578b75541a776f62a0d0ef03712fc27b6647c3915c14b572106d7bc\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8530c6e0392415d42486847cd4368d30f6cac42051596330692a571fcdbb9e29\",\"dweb:/ipfs/QmWw51Pshw5t2sMKANzxtfNdBSQUyQQpfTr3Mi7oNJGk7U\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"guard","type":"address","indexed":false}],"type":"event","name":"ChangedGuard","anonymous":false},{"inputs":[{"internalType":"address","name":"guard","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setGuard"}],"devdoc":{"kind":"dev","methods":{"setGuard(address)":{"details":"Set a guard that checks transactions before execution","params":{"guard":"The address of the guard to be used or the 0 address to disable the guard"}}},"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/base/GuardManager.sol":"GuardManager"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/safe-contracts/contracts/base/GuardManager.sol":{"keccak256":"0x53a532a31f9632d5a73ad0df56f05bd2b66a2f781f571eb48d00367d370707f9","urls":["bzz-raw://eebc15cb7c83cf9516514b34bd16fb19c08104c738fa172ae3c98c66b84708ed","dweb:/ipfs/QmfJ4yX5WwHU58QVoxJFaejyerscTs6VCgn2TdUVrEZeTP"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x473e45b1a5cc47be494b0e123c9127f0c11c1e0992a321ae5a644c0bfdb2c14f","urls":["bzz-raw://948e6d5a8bd7377f7795b6e28584eab9be5c0a8db240bf5e606744a175238c3d","dweb:/ipfs/QmQQaUmQfpuejV41jbxKSTgEBYYCcVTjCsDMgf2htgz6ej"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0x59d36efca578b75541a776f62a0d0ef03712fc27b6647c3915c14b572106d7bc","urls":["bzz-raw://8530c6e0392415d42486847cd4368d30f6cac42051596330692a571fcdbb9e29","dweb:/ipfs/QmWw51Pshw5t2sMKANzxtfNdBSQUyQQpfTr3Mi7oNJGk7U"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev","author":"Richard Meissner - <richard@gnosis.pm>","methods":{"setGuard(address)":{"details":"Set a guard that checks transactions before execution","params":{"guard":"The address of the guard to be used or the 0 address to disable the guard"}}},"title":"Fallback Manager - A contract that manages fallback calls made to this contract"},"ast":{"absolutePath":"lib/safe-contracts/contracts/base/GuardManager.sol","id":59231,"exportedSymbols":{"Enum":[60115],"Guard":[59190],"GuardManager":[59230],"SelfAuthorized":[60190]},"nodeType":"SourceUnit","src":"42:1597:81","nodes":[{"id":59154,"nodeType":"PragmaDirective","src":"42:31:81","nodes":[],"literals":["solidity",">=","0.7",".0","<","0.9",".0"]},{"id":59155,"nodeType":"ImportDirective","src":"75:28:81","nodes":[],"absolutePath":"lib/safe-contracts/contracts/common/Enum.sol","file":"../common/Enum.sol","nameLocation":"-1:-1:-1","scope":59231,"sourceUnit":60116,"symbolAliases":[],"unitAlias":""},{"id":59156,"nodeType":"ImportDirective","src":"104:38:81","nodes":[],"absolutePath":"lib/safe-contracts/contracts/common/SelfAuthorized.sol","file":"../common/SelfAuthorized.sol","nameLocation":"-1:-1:-1","scope":59231,"sourceUnit":60191,"symbolAliases":[],"unitAlias":""},{"id":59190,"nodeType":"ContractDefinition","src":"144:447:81","nodes":[{"id":59182,"nodeType":"FunctionDefinition","src":"166:349:81","nodes":[],"functionSelector":"75f0bb52","implemented":false,"kind":"function","modifiers":[],"name":"checkTransaction","nameLocation":"175:16:81","parameters":{"id":59180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59158,"mutability":"mutable","name":"to","nameLocation":"209:2:81","nodeType":"VariableDeclaration","scope":59182,"src":"201:10:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59157,"name":"address","nodeType":"ElementaryTypeName","src":"201:7:81","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59160,"mutability":"mutable","name":"value","nameLocation":"229:5:81","nodeType":"VariableDeclaration","scope":59182,"src":"221:13:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59159,"name":"uint256","nodeType":"ElementaryTypeName","src":"221:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59162,"mutability":"mutable","name":"data","nameLocation":"257:4:81","nodeType":"VariableDeclaration","scope":59182,"src":"244:17:81","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":59161,"name":"bytes","nodeType":"ElementaryTypeName","src":"244:5:81","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":59165,"mutability":"mutable","name":"operation","nameLocation":"286:9:81","nodeType":"VariableDeclaration","scope":59182,"src":"271:24:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$60114","typeString":"enum Enum.Operation"},"typeName":{"id":59164,"nodeType":"UserDefinedTypeName","pathNode":{"id":59163,"name":"Enum.Operation","nodeType":"IdentifierPath","referencedDeclaration":60114,"src":"271:14:81"},"referencedDeclaration":60114,"src":"271:14:81","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$60114","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":59167,"mutability":"mutable","name":"safeTxGas","nameLocation":"313:9:81","nodeType":"VariableDeclaration","scope":59182,"src":"305:17:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59166,"name":"uint256","nodeType":"ElementaryTypeName","src":"305:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59169,"mutability":"mutable","name":"baseGas","nameLocation":"340:7:81","nodeType":"VariableDeclaration","scope":59182,"src":"332:15:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59168,"name":"uint256","nodeType":"ElementaryTypeName","src":"332:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59171,"mutability":"mutable","name":"gasPrice","nameLocation":"365:8:81","nodeType":"VariableDeclaration","scope":59182,"src":"357:16:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59170,"name":"uint256","nodeType":"ElementaryTypeName","src":"357:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59173,"mutability":"mutable","name":"gasToken","nameLocation":"391:8:81","nodeType":"VariableDeclaration","scope":59182,"src":"383:16:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59172,"name":"address","nodeType":"ElementaryTypeName","src":"383:7:81","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59175,"mutability":"mutable","name":"refundReceiver","nameLocation":"425:14:81","nodeType":"VariableDeclaration","scope":59182,"src":"409:30:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":59174,"name":"address","nodeType":"ElementaryTypeName","src":"409:15:81","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":59177,"mutability":"mutable","name":"signatures","nameLocation":"462:10:81","nodeType":"VariableDeclaration","scope":59182,"src":"449:23:81","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":59176,"name":"bytes","nodeType":"ElementaryTypeName","src":"449:5:81","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":59179,"mutability":"mutable","name":"msgSender","nameLocation":"490:9:81","nodeType":"VariableDeclaration","scope":59182,"src":"482:17:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59178,"name":"address","nodeType":"ElementaryTypeName","src":"482:7:81","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"191:314:81"},"returnParameters":{"id":59181,"nodeType":"ParameterList","parameters":[],"src":"514:0:81"},"scope":59190,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":59189,"nodeType":"FunctionDefinition","src":"521:68:81","nodes":[],"functionSelector":"93271368","implemented":false,"kind":"function","modifiers":[],"name":"checkAfterExecution","nameLocation":"530:19:81","parameters":{"id":59187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59184,"mutability":"mutable","name":"txHash","nameLocation":"558:6:81","nodeType":"VariableDeclaration","scope":59189,"src":"550:14:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":59183,"name":"bytes32","nodeType":"ElementaryTypeName","src":"550:7:81","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":59186,"mutability":"mutable","name":"success","nameLocation":"571:7:81","nodeType":"VariableDeclaration","scope":59189,"src":"566:12:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59185,"name":"bool","nodeType":"ElementaryTypeName","src":"566:4:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"549:30:81"},"returnParameters":{"id":59188,"nodeType":"ParameterList","parameters":[],"src":"588:0:81"},"scope":59190,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"Guard","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[59190],"name":"Guard","nameLocation":"154:5:81","scope":59231,"usedErrors":[]},{"id":59230,"nodeType":"ContractDefinition","src":"735:903:81","nodes":[{"id":59197,"nodeType":"EventDefinition","src":"781:34:81","nodes":[],"anonymous":false,"eventSelector":"1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa2","name":"ChangedGuard","nameLocation":"787:12:81","parameters":{"id":59196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59195,"indexed":false,"mutability":"mutable","name":"guard","nameLocation":"808:5:81","nodeType":"VariableDeclaration","scope":59197,"src":"800:13:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59194,"name":"address","nodeType":"ElementaryTypeName","src":"800:7:81","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"799:15:81"}},{"id":59200,"nodeType":"VariableDeclaration","src":"868:113:81","nodes":[],"constant":true,"mutability":"constant","name":"GUARD_STORAGE_SLOT","nameLocation":"894:18:81","scope":59230,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":59198,"name":"bytes32","nodeType":"ElementaryTypeName","src":"868:7:81","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307834613230346636323063386335636364636133666435346430303362616464383562613530303433366134333166306362646134663535386339336333346338","id":59199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"915:66:81","typeDescriptions":{"typeIdentifier":"t_rational_33528237782592280163068556224972516439282563014722366175641814928123294921928_by_1","typeString":"int_const 3352...(69 digits omitted)...1928"},"value":"0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8"},"visibility":"internal"},{"id":59218,"nodeType":"FunctionDefinition","src":"1150:254:81","nodes":[],"body":{"id":59217,"nodeType":"Block","src":"1203:201:81","nodes":[],"statements":[{"assignments":[59209],"declarations":[{"constant":false,"id":59209,"mutability":"mutable","name":"slot","nameLocation":"1221:4:81","nodeType":"VariableDeclaration","scope":59217,"src":"1213:12:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":59208,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1213:7:81","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":59211,"initialValue":{"id":59210,"name":"GUARD_STORAGE_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59200,"src":"1228:18:81","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1213:33:81"},{"AST":{"nodeType":"YulBlock","src":"1321:43:81","statements":[{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1342:4:81"},{"name":"guard","nodeType":"YulIdentifier","src":"1348:5:81"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"1335:6:81"},"nodeType":"YulFunctionCall","src":"1335:19:81"},"nodeType":"YulExpressionStatement","src":"1335:19:81"}]},"evmVersion":"london","externalReferences":[{"declaration":59203,"isOffset":false,"isSlot":false,"src":"1348:5:81","valueSize":1},{"declaration":59209,"isOffset":false,"isSlot":false,"src":"1342:4:81","valueSize":1}],"id":59212,"nodeType":"InlineAssembly","src":"1312:52:81"},{"eventCall":{"arguments":[{"id":59214,"name":"guard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59203,"src":"1391:5:81","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":59213,"name":"ChangedGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59197,"src":"1378:12:81","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":59215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1378:19:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59216,"nodeType":"EmitStatement","src":"1373:24:81"}]},"documentation":{"id":59201,"nodeType":"StructuredDocumentation","src":"988:157:81","text":"@dev Set a guard that checks transactions before execution\n @param guard The address of the guard to be used or the 0 address to disable the guard"},"functionSelector":"e19a9dd9","implemented":true,"kind":"function","modifiers":[{"id":59206,"kind":"modifierInvocation","modifierName":{"id":59205,"name":"authorized","nodeType":"IdentifierPath","referencedDeclaration":60189,"src":"1192:10:81"},"nodeType":"ModifierInvocation","src":"1192:10:81"}],"name":"setGuard","nameLocation":"1159:8:81","parameters":{"id":59204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59203,"mutability":"mutable","name":"guard","nameLocation":"1176:5:81","nodeType":"VariableDeclaration","scope":59218,"src":"1168:13:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59202,"name":"address","nodeType":"ElementaryTypeName","src":"1168:7:81","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1167:15:81"},"returnParameters":{"id":59207,"nodeType":"ParameterList","parameters":[],"src":"1203:0:81"},"scope":59230,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":59229,"nodeType":"FunctionDefinition","src":"1410:226:81","nodes":[],"body":{"id":59228,"nodeType":"Block","src":"1468:168:81","nodes":[],"statements":[{"assignments":[59224],"declarations":[{"constant":false,"id":59224,"mutability":"mutable","name":"slot","nameLocation":"1486:4:81","nodeType":"VariableDeclaration","scope":59228,"src":"1478:12:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":59223,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1478:7:81","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":59226,"initialValue":{"id":59225,"name":"GUARD_STORAGE_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59200,"src":"1493:18:81","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1478:33:81"},{"AST":{"nodeType":"YulBlock","src":"1586:44:81","statements":[{"nodeType":"YulAssignment","src":"1600:20:81","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1615:4:81"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"1609:5:81"},"nodeType":"YulFunctionCall","src":"1609:11:81"},"variableNames":[{"name":"guard","nodeType":"YulIdentifier","src":"1600:5:81"}]}]},"evmVersion":"london","externalReferences":[{"declaration":59221,"isOffset":false,"isSlot":false,"src":"1600:5:81","valueSize":1},{"declaration":59224,"isOffset":false,"isSlot":false,"src":"1615:4:81","valueSize":1}],"id":59227,"nodeType":"InlineAssembly","src":"1577:53:81"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getGuard","nameLocation":"1419:8:81","parameters":{"id":59219,"nodeType":"ParameterList","parameters":[],"src":"1427:2:81"},"returnParameters":{"id":59222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59221,"mutability":"mutable","name":"guard","nameLocation":"1461:5:81","nodeType":"VariableDeclaration","scope":59229,"src":"1453:13:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59220,"name":"address","nodeType":"ElementaryTypeName","src":"1453:7:81","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1452:15:81"},"scope":59230,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":59192,"name":"SelfAuthorized","nodeType":"IdentifierPath","referencedDeclaration":60190,"src":"760:14:81"},"id":59193,"nodeType":"InheritanceSpecifier","src":"760:14:81"}],"canonicalName":"GuardManager","contractDependencies":[],"contractKind":"contract","documentation":{"id":59191,"nodeType":"StructuredDocumentation","src":"593:142:81","text":"@title Fallback Manager - A contract that manages fallback calls made to this contract\n @author Richard Meissner - <richard@gnosis.pm>"},"fullyImplemented":true,"linearizedBaseContracts":[59230,60190],"name":"GuardManager","nameLocation":"744:12:81","scope":59231,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":81}