UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 27.9 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":"0x608060405234801561000f575f80fd5b506101718061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063e19a9dd91461002d575b5f80fd5b61004061003b36600461012a565b610042565b005b61004a6100bb565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c881815560405173ffffffffffffffffffffffffffffffffffffffff831681527f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa29060200160405180910390a15050565b333014610128576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f4753303331000000000000000000000000000000000000000000000000000000604482015260640160405180910390fd5b565b5f6020828403121561013a575f80fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461015d575f80fd5b939250505056fea164736f6c6343000814000a","sourceMap":"735:903:43:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063e19a9dd91461002d575b5f80fd5b61004061003b36600461012a565b610042565b005b61004a6100bb565b7f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c881815560405173ffffffffffffffffffffffffffffffffffffffff831681527f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa29060200160405180910390a15050565b333014610128576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f4753303331000000000000000000000000000000000000000000000000000000604482015260640160405180910390fd5b565b5f6020828403121561013a575f80fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461015d575f80fd5b939250505056fea164736f6c6343000814000a","sourceMap":"735:903:43:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1150:254;;;;;;:::i;:::-;;:::i;:::-;;;440:17:49;:15;:17::i;:::-;915:66:43::1;1335:19:::0;;;1378::::1;::::0;504:42:96;492:55;;474:74;;1378:19:43::1;::::0;462:2:96;447:18;1378:19:43::1;;;;;;;1203:201;1150:254:::0;:::o;231:102:49:-;289:10;311:4;289:27;281:45;;;;;;;761:2:96;281:45:49;;;743:21:96;800:1;780:18;;;773:29;838:7;818:18;;;811:35;863:18;;281:45:49;;;;;;;;231:102::o;14:309:96:-;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:96:o","linkReferences":{}},"methodIdentifiers":{"setGuard(address)":"e19a9dd9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"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\":\"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/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.20+commit.a1b79de6"},"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":"shanghai","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":49923,"exportedSymbols":{"Enum":[50807],"Guard":[49882],"GuardManager":[49922],"SelfAuthorized":[50882]},"nodeType":"SourceUnit","src":"42:1597:43","nodes":[{"id":49846,"nodeType":"PragmaDirective","src":"42:31:43","nodes":[],"literals":["solidity",">=","0.7",".0","<","0.9",".0"]},{"id":49847,"nodeType":"ImportDirective","src":"75:28:43","nodes":[],"absolutePath":"lib/safe-contracts/contracts/common/Enum.sol","file":"../common/Enum.sol","nameLocation":"-1:-1:-1","scope":49923,"sourceUnit":50808,"symbolAliases":[],"unitAlias":""},{"id":49848,"nodeType":"ImportDirective","src":"104:38:43","nodes":[],"absolutePath":"lib/safe-contracts/contracts/common/SelfAuthorized.sol","file":"../common/SelfAuthorized.sol","nameLocation":"-1:-1:-1","scope":49923,"sourceUnit":50883,"symbolAliases":[],"unitAlias":""},{"id":49882,"nodeType":"ContractDefinition","src":"144:447:43","nodes":[{"id":49874,"nodeType":"FunctionDefinition","src":"166:349:43","nodes":[],"functionSelector":"75f0bb52","implemented":false,"kind":"function","modifiers":[],"name":"checkTransaction","nameLocation":"175:16:43","parameters":{"id":49872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49850,"mutability":"mutable","name":"to","nameLocation":"209:2:43","nodeType":"VariableDeclaration","scope":49874,"src":"201:10:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49849,"name":"address","nodeType":"ElementaryTypeName","src":"201:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49852,"mutability":"mutable","name":"value","nameLocation":"229:5:43","nodeType":"VariableDeclaration","scope":49874,"src":"221:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49851,"name":"uint256","nodeType":"ElementaryTypeName","src":"221:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49854,"mutability":"mutable","name":"data","nameLocation":"257:4:43","nodeType":"VariableDeclaration","scope":49874,"src":"244:17:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":49853,"name":"bytes","nodeType":"ElementaryTypeName","src":"244:5:43","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":49857,"mutability":"mutable","name":"operation","nameLocation":"286:9:43","nodeType":"VariableDeclaration","scope":49874,"src":"271:24:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"},"typeName":{"id":49856,"nodeType":"UserDefinedTypeName","pathNode":{"id":49855,"name":"Enum.Operation","nameLocations":["271:4:43","276:9:43"],"nodeType":"IdentifierPath","referencedDeclaration":50806,"src":"271:14:43"},"referencedDeclaration":50806,"src":"271:14:43","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":49859,"mutability":"mutable","name":"safeTxGas","nameLocation":"313:9:43","nodeType":"VariableDeclaration","scope":49874,"src":"305:17:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49858,"name":"uint256","nodeType":"ElementaryTypeName","src":"305:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49861,"mutability":"mutable","name":"baseGas","nameLocation":"340:7:43","nodeType":"VariableDeclaration","scope":49874,"src":"332:15:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49860,"name":"uint256","nodeType":"ElementaryTypeName","src":"332:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49863,"mutability":"mutable","name":"gasPrice","nameLocation":"365:8:43","nodeType":"VariableDeclaration","scope":49874,"src":"357:16:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49862,"name":"uint256","nodeType":"ElementaryTypeName","src":"357:7:43","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49865,"mutability":"mutable","name":"gasToken","nameLocation":"391:8:43","nodeType":"VariableDeclaration","scope":49874,"src":"383:16:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49864,"name":"address","nodeType":"ElementaryTypeName","src":"383:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49867,"mutability":"mutable","name":"refundReceiver","nameLocation":"425:14:43","nodeType":"VariableDeclaration","scope":49874,"src":"409:30:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":49866,"name":"address","nodeType":"ElementaryTypeName","src":"409:15:43","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":49869,"mutability":"mutable","name":"signatures","nameLocation":"462:10:43","nodeType":"VariableDeclaration","scope":49874,"src":"449:23:43","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":49868,"name":"bytes","nodeType":"ElementaryTypeName","src":"449:5:43","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":49871,"mutability":"mutable","name":"msgSender","nameLocation":"490:9:43","nodeType":"VariableDeclaration","scope":49874,"src":"482:17:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49870,"name":"address","nodeType":"ElementaryTypeName","src":"482:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"191:314:43"},"returnParameters":{"id":49873,"nodeType":"ParameterList","parameters":[],"src":"514:0:43"},"scope":49882,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":49881,"nodeType":"FunctionDefinition","src":"521:68:43","nodes":[],"functionSelector":"93271368","implemented":false,"kind":"function","modifiers":[],"name":"checkAfterExecution","nameLocation":"530:19:43","parameters":{"id":49879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49876,"mutability":"mutable","name":"txHash","nameLocation":"558:6:43","nodeType":"VariableDeclaration","scope":49881,"src":"550:14:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49875,"name":"bytes32","nodeType":"ElementaryTypeName","src":"550:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":49878,"mutability":"mutable","name":"success","nameLocation":"571:7:43","nodeType":"VariableDeclaration","scope":49881,"src":"566:12:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49877,"name":"bool","nodeType":"ElementaryTypeName","src":"566:4:43","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"549:30:43"},"returnParameters":{"id":49880,"nodeType":"ParameterList","parameters":[],"src":"588:0:43"},"scope":49882,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"Guard","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[49882],"name":"Guard","nameLocation":"154:5:43","scope":49923,"usedErrors":[],"usedEvents":[]},{"id":49922,"nodeType":"ContractDefinition","src":"735:903:43","nodes":[{"id":49889,"nodeType":"EventDefinition","src":"781:34:43","nodes":[],"anonymous":false,"eventSelector":"1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa2","name":"ChangedGuard","nameLocation":"787:12:43","parameters":{"id":49888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49887,"indexed":false,"mutability":"mutable","name":"guard","nameLocation":"808:5:43","nodeType":"VariableDeclaration","scope":49889,"src":"800:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49886,"name":"address","nodeType":"ElementaryTypeName","src":"800:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"799:15:43"}},{"id":49892,"nodeType":"VariableDeclaration","src":"868:113:43","nodes":[],"constant":true,"mutability":"constant","name":"GUARD_STORAGE_SLOT","nameLocation":"894:18:43","scope":49922,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49890,"name":"bytes32","nodeType":"ElementaryTypeName","src":"868:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307834613230346636323063386335636364636133666435346430303362616464383562613530303433366134333166306362646134663535386339336333346338","id":49891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"915:66:43","typeDescriptions":{"typeIdentifier":"t_rational_33528237782592280163068556224972516439282563014722366175641814928123294921928_by_1","typeString":"int_const 3352...(69 digits omitted)...1928"},"value":"0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8"},"visibility":"internal"},{"id":49910,"nodeType":"FunctionDefinition","src":"1150:254:43","nodes":[],"body":{"id":49909,"nodeType":"Block","src":"1203:201:43","nodes":[],"statements":[{"assignments":[49901],"declarations":[{"constant":false,"id":49901,"mutability":"mutable","name":"slot","nameLocation":"1221:4:43","nodeType":"VariableDeclaration","scope":49909,"src":"1213:12:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1213:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":49903,"initialValue":{"id":49902,"name":"GUARD_STORAGE_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49892,"src":"1228:18:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1213:33:43"},{"AST":{"nodeType":"YulBlock","src":"1321:43:43","statements":[{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1342:4:43"},{"name":"guard","nodeType":"YulIdentifier","src":"1348:5:43"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"1335:6:43"},"nodeType":"YulFunctionCall","src":"1335:19:43"},"nodeType":"YulExpressionStatement","src":"1335:19:43"}]},"evmVersion":"shanghai","externalReferences":[{"declaration":49895,"isOffset":false,"isSlot":false,"src":"1348:5:43","valueSize":1},{"declaration":49901,"isOffset":false,"isSlot":false,"src":"1342:4:43","valueSize":1}],"id":49904,"nodeType":"InlineAssembly","src":"1312:52:43"},{"eventCall":{"arguments":[{"id":49906,"name":"guard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49895,"src":"1391:5:43","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49905,"name":"ChangedGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49889,"src":"1378:12:43","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":49907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1378:19:43","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49908,"nodeType":"EmitStatement","src":"1373:24:43"}]},"documentation":{"id":49893,"nodeType":"StructuredDocumentation","src":"988:157:43","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":49898,"kind":"modifierInvocation","modifierName":{"id":49897,"name":"authorized","nameLocations":["1192:10:43"],"nodeType":"IdentifierPath","referencedDeclaration":50881,"src":"1192:10:43"},"nodeType":"ModifierInvocation","src":"1192:10:43"}],"name":"setGuard","nameLocation":"1159:8:43","parameters":{"id":49896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49895,"mutability":"mutable","name":"guard","nameLocation":"1176:5:43","nodeType":"VariableDeclaration","scope":49910,"src":"1168:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49894,"name":"address","nodeType":"ElementaryTypeName","src":"1168:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1167:15:43"},"returnParameters":{"id":49899,"nodeType":"ParameterList","parameters":[],"src":"1203:0:43"},"scope":49922,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":49921,"nodeType":"FunctionDefinition","src":"1410:226:43","nodes":[],"body":{"id":49920,"nodeType":"Block","src":"1468:168:43","nodes":[],"statements":[{"assignments":[49916],"declarations":[{"constant":false,"id":49916,"mutability":"mutable","name":"slot","nameLocation":"1486:4:43","nodeType":"VariableDeclaration","scope":49920,"src":"1478:12:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49915,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1478:7:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":49918,"initialValue":{"id":49917,"name":"GUARD_STORAGE_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49892,"src":"1493:18:43","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1478:33:43"},{"AST":{"nodeType":"YulBlock","src":"1586:44:43","statements":[{"nodeType":"YulAssignment","src":"1600:20:43","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1615:4:43"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"1609:5:43"},"nodeType":"YulFunctionCall","src":"1609:11:43"},"variableNames":[{"name":"guard","nodeType":"YulIdentifier","src":"1600:5:43"}]}]},"evmVersion":"shanghai","externalReferences":[{"declaration":49913,"isOffset":false,"isSlot":false,"src":"1600:5:43","valueSize":1},{"declaration":49916,"isOffset":false,"isSlot":false,"src":"1615:4:43","valueSize":1}],"id":49919,"nodeType":"InlineAssembly","src":"1577:53:43"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getGuard","nameLocation":"1419:8:43","parameters":{"id":49911,"nodeType":"ParameterList","parameters":[],"src":"1427:2:43"},"returnParameters":{"id":49914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49913,"mutability":"mutable","name":"guard","nameLocation":"1461:5:43","nodeType":"VariableDeclaration","scope":49921,"src":"1453:13:43","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49912,"name":"address","nodeType":"ElementaryTypeName","src":"1453:7:43","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1452:15:43"},"scope":49922,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":49884,"name":"SelfAuthorized","nameLocations":["760:14:43"],"nodeType":"IdentifierPath","referencedDeclaration":50882,"src":"760:14:43"},"id":49885,"nodeType":"InheritanceSpecifier","src":"760:14:43"}],"canonicalName":"GuardManager","contractDependencies":[],"contractKind":"contract","documentation":{"id":49883,"nodeType":"StructuredDocumentation","src":"593:142:43","text":"@title Fallback Manager - A contract that manages fallback calls made to this contract\n @author Richard Meissner - <richard@gnosis.pm>"},"fullyImplemented":true,"linearizedBaseContracts":[49922,50882],"name":"GuardManager","nameLocation":"744:12:43","scope":49923,"usedErrors":[],"usedEvents":[49889]}],"license":"LGPL-3.0-only"},"id":43}