@tokamak-network/thanos-contracts
Version:
1 lines • 50.6 kB
JSON
{"abi":[{"type":"fallback","stateMutability":"nonpayable"},{"type":"event","name":"WhatHappened","inputs":[{"name":"success","type":"bool","indexed":false,"internalType":"bool"},{"name":"returndata","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b5061015b8061001d5f395ff3fe608060405234801561000f575f80fd5b505f803373ffffffffffffffffffffffffffffffffffffffff165f366040516100399291906100cc565b5f604051808303815f865af19150503d805f8114610072576040519150601f19603f3d011682016040523d82523d5f602084013e610077565b606091505b50915091507f2106b16c04ed7c28102e8f5bae2a81f8f969346efa3d397f8dd488794385d41482826040516100ad9291906100db565b60405180910390a18180156100c457815160208301f35b815160208301fd5b818382375f9101908152919050565b82151581525f602060408184015283518060408501525f5b8181101561010f578581018301518582016060015282016100f3565b505f6060828601015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010192505050939250505056fea164736f6c6343000814000a","sourceMap":"465:440:88:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b505f803373ffffffffffffffffffffffffffffffffffffffff165f366040516100399291906100cc565b5f604051808303815f865af19150503d805f8114610072576040519150601f19603f3d011682016040523d82523d5f602084013e610077565b606091505b50915091507f2106b16c04ed7c28102e8f5bae2a81f8f969346efa3d397f8dd488794385d41482826040516100ad9291906100db565b60405180910390a18180156100c457815160208301f35b815160208301fd5b818382375f9101908152919050565b82151581525f602060408184015283518060408501525f5b8181101561010f578581018301518582016060015282016100f3565b505f6060828601015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010192505050939250505056fea164736f6c6343000814000a","sourceMap":"465:440:88:-:0;;;;;;;;;;;;;581:12;595:23;622:10;:15;;638:8;;622:25;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;580:67;;;;662:33;675:7;684:10;662:33;;;;;;;:::i;:::-;;;;;;;;735:7;755:59;;;;873:10;867:17;860:4;848:10;844:21;837:48;755:59;800:10;794:17;787:4;775:10;771:21;764:48;14:271:96;197:6;189;184:3;171:33;153:3;223:16;;248:13;;;223:16;14:271;-1:-1:-1;14:271:96:o;290:686::-;473:6;466:14;459:22;448:9;441:41;422:4;501:2;539;534;523:9;519:18;512:30;571:6;565:13;614:6;609:2;598:9;594:18;587:34;639:1;649:140;663:6;660:1;657:13;649:140;;;758:14;;;754:23;;748:30;724:17;;;743:2;720:26;713:66;678:10;;649:140;;;653:3;838:1;833:2;824:6;813:9;809:22;805:31;798:42;967:2;897:66;892:2;884:6;880:15;876:88;865:9;861:104;857:113;849:121;;;;290:686;;;;;:::o","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"returndata\",\"type\":\"bytes\"}],\"name\":\"WhatHappened\",\"type\":\"event\"},{\"stateMutability\":\"nonpayable\",\"type\":\"fallback\"}],\"devdoc\":{\"details\":\"Useful for testing reentrancy guards\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/Callers.sol\":\"CallerCaller\"},\"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\":{\"test/mocks/Callers.sol\":{\"keccak256\":\"0x844c8fc5f94fd3c7372b2d64d19655b9624ae1799b963055c7329ec720070f9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9240cfd20be3f973ee0319cda59beaad2b9a33ac2ac08e73251bff35fc45a2b\",\"dweb:/ipfs/QmdKQFqucQvGKJ2jxr96PMLrZoFYLHzKmFCV4iSu7dNMCL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bool","name":"success","type":"bool","indexed":false},{"internalType":"bytes","name":"returndata","type":"bytes","indexed":false}],"type":"event","name":"WhatHappened","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"fallback"}],"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":{"test/mocks/Callers.sol":"CallerCaller"},"evmVersion":"shanghai","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"test/mocks/Callers.sol":{"keccak256":"0x844c8fc5f94fd3c7372b2d64d19655b9624ae1799b963055c7329ec720070f9c","urls":["bzz-raw://d9240cfd20be3f973ee0319cda59beaad2b9a33ac2ac08e73251bff35fc45a2b","dweb:/ipfs/QmdKQFqucQvGKJ2jxr96PMLrZoFYLHzKmFCV4iSu7dNMCL"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev","details":"Useful for testing reentrancy guards"},"ast":{"absolutePath":"test/mocks/Callers.sol","id":63811,"exportedSymbols":{"CallRecorder":[63673],"CallerCaller":[63702],"ConfigurableCaller":[63793],"Reverter":[63810]},"nodeType":"SourceUnit","src":"32:2555:88","nodes":[{"id":63628,"nodeType":"PragmaDirective","src":"32:23:88","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":63673,"nodeType":"ContractDefinition","src":"57:360:88","nodes":[{"id":63637,"nodeType":"StructDefinition","src":"85:111:88","nodes":[],"canonicalName":"CallRecorder.CallInfo","members":[{"constant":false,"id":63630,"mutability":"mutable","name":"sender","nameLocation":"119:6:88","nodeType":"VariableDeclaration","scope":63637,"src":"111:14:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63629,"name":"address","nodeType":"ElementaryTypeName","src":"111:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63632,"mutability":"mutable","name":"data","nameLocation":"141:4:88","nodeType":"VariableDeclaration","scope":63637,"src":"135:10:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":63631,"name":"bytes","nodeType":"ElementaryTypeName","src":"135:5:88","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":63634,"mutability":"mutable","name":"gas","nameLocation":"163:3:88","nodeType":"VariableDeclaration","scope":63637,"src":"155:11:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63633,"name":"uint256","nodeType":"ElementaryTypeName","src":"155:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63636,"mutability":"mutable","name":"value","nameLocation":"184:5:88","nodeType":"VariableDeclaration","scope":63637,"src":"176:13:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63635,"name":"uint256","nodeType":"ElementaryTypeName","src":"176:7:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CallInfo","nameLocation":"92:8:88","scope":63673,"visibility":"public"},{"id":63640,"nodeType":"VariableDeclaration","src":"202:24:88","nodes":[],"constant":false,"functionSelector":"da516aa9","mutability":"mutable","name":"lastCall","nameLocation":"218:8:88","scope":63673,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CallInfo_$63637_storage","typeString":"struct CallRecorder.CallInfo"},"typeName":{"id":63639,"nodeType":"UserDefinedTypeName","pathNode":{"id":63638,"name":"CallInfo","nameLocations":["202:8:88"],"nodeType":"IdentifierPath","referencedDeclaration":63637,"src":"202:8:88"},"referencedDeclaration":63637,"src":"202:8:88","typeDescriptions":{"typeIdentifier":"t_struct$_CallInfo_$63637_storage_ptr","typeString":"struct CallRecorder.CallInfo"}},"visibility":"public"},{"id":63672,"nodeType":"FunctionDefinition","src":"233:182:88","nodes":[],"body":{"id":63671,"nodeType":"Block","src":"266:149:88","nodes":[],"statements":[{"expression":{"id":63648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":63643,"name":"lastCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63640,"src":"276:8:88","typeDescriptions":{"typeIdentifier":"t_struct$_CallInfo_$63637_storage","typeString":"struct CallRecorder.CallInfo storage ref"}},"id":63645,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"285:6:88","memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":63630,"src":"276:15:88","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":63646,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"294:3:88","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":63647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"298:6:88","memberName":"sender","nodeType":"MemberAccess","src":"294:10:88","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"276:28:88","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63649,"nodeType":"ExpressionStatement","src":"276:28:88"},{"expression":{"id":63655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":63650,"name":"lastCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63640,"src":"314:8:88","typeDescriptions":{"typeIdentifier":"t_struct$_CallInfo_$63637_storage","typeString":"struct CallRecorder.CallInfo storage ref"}},"id":63652,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"323:4:88","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":63632,"src":"314:13:88","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":63653,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"330:3:88","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":63654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"334:4:88","memberName":"data","nodeType":"MemberAccess","src":"330:8:88","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"src":"314:24:88","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":63656,"nodeType":"ExpressionStatement","src":"314:24:88"},{"expression":{"id":63662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":63657,"name":"lastCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63640,"src":"348:8:88","typeDescriptions":{"typeIdentifier":"t_struct$_CallInfo_$63637_storage","typeString":"struct CallRecorder.CallInfo storage ref"}},"id":63659,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"357:3:88","memberName":"gas","nodeType":"MemberAccess","referencedDeclaration":63634,"src":"348:12:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":63660,"name":"gasleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-7,"src":"363:7:88","typeDescriptions":{"typeIdentifier":"t_function_gasleft_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":63661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"363:9:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"348:24:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63663,"nodeType":"ExpressionStatement","src":"348:24:88"},{"expression":{"id":63669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":63664,"name":"lastCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63640,"src":"382:8:88","typeDescriptions":{"typeIdentifier":"t_struct$_CallInfo_$63637_storage","typeString":"struct CallRecorder.CallInfo storage ref"}},"id":63666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"391:5:88","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":63636,"src":"382:14:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":63667,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"399:3:88","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":63668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"403:5:88","memberName":"value","nodeType":"MemberAccess","src":"399:9:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"382:26:88","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":63670,"nodeType":"ExpressionStatement","src":"382:26:88"}]},"functionSelector":"266cf109","implemented":true,"kind":"function","modifiers":[],"name":"record","nameLocation":"242:6:88","parameters":{"id":63641,"nodeType":"ParameterList","parameters":[],"src":"248:2:88"},"returnParameters":{"id":63642,"nodeType":"ParameterList","parameters":[],"src":"266:0:88"},"scope":63673,"stateMutability":"payable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"CallRecorder","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[63673],"name":"CallRecorder","nameLocation":"66:12:88","scope":63811,"usedErrors":[],"usedEvents":[]},{"id":63702,"nodeType":"ContractDefinition","src":"465:440:88","nodes":[{"id":63680,"nodeType":"EventDefinition","src":"493:51:88","nodes":[],"anonymous":false,"eventSelector":"2106b16c04ed7c28102e8f5bae2a81f8f969346efa3d397f8dd488794385d414","name":"WhatHappened","nameLocation":"499:12:88","parameters":{"id":63679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63676,"indexed":false,"mutability":"mutable","name":"success","nameLocation":"517:7:88","nodeType":"VariableDeclaration","scope":63680,"src":"512:12:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63675,"name":"bool","nodeType":"ElementaryTypeName","src":"512:4:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":63678,"indexed":false,"mutability":"mutable","name":"returndata","nameLocation":"532:10:88","nodeType":"VariableDeclaration","scope":63680,"src":"526:16:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63677,"name":"bytes","nodeType":"ElementaryTypeName","src":"526:5:88","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"511:32:88"}},{"id":63701,"nodeType":"FunctionDefinition","src":"550:353:88","nodes":[],"body":{"id":63700,"nodeType":"Block","src":"570:333:88","nodes":[],"statements":[{"assignments":[63684,63686],"declarations":[{"constant":false,"id":63684,"mutability":"mutable","name":"success","nameLocation":"586:7:88","nodeType":"VariableDeclaration","scope":63700,"src":"581:12:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63683,"name":"bool","nodeType":"ElementaryTypeName","src":"581:4:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":63686,"mutability":"mutable","name":"returndata","nameLocation":"608:10:88","nodeType":"VariableDeclaration","scope":63700,"src":"595:23:88","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63685,"name":"bytes","nodeType":"ElementaryTypeName","src":"595:5:88","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63693,"initialValue":{"arguments":[{"expression":{"id":63690,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"638:3:88","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":63691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"642:4:88","memberName":"data","nodeType":"MemberAccess","src":"638:8:88","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":63687,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"622:3:88","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":63688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"626:6:88","memberName":"sender","nodeType":"MemberAccess","src":"622:10:88","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"633:4:88","memberName":"call","nodeType":"MemberAccess","src":"622:15:88","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":63692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"622:25:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"580:67:88"},{"eventCall":{"arguments":[{"id":63695,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63684,"src":"675:7:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":63696,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63686,"src":"684:10:88","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63694,"name":"WhatHappened","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63680,"src":"662:12:88","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bool_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bool,bytes memory)"}},"id":63697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"662:33:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63698,"nodeType":"EmitStatement","src":"657:38:88"},{"AST":{"nodeType":"YulBlock","src":"714:183:88","statements":[{"cases":[{"body":{"nodeType":"YulBlock","src":"762:52:88","statements":[{"expression":{"arguments":[{"arguments":[{"name":"returndata","nodeType":"YulIdentifier","src":"775:10:88"},{"kind":"number","nodeType":"YulLiteral","src":"787:4:88","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"771:3:88"},"nodeType":"YulFunctionCall","src":"771:21:88"},{"arguments":[{"name":"returndata","nodeType":"YulIdentifier","src":"800:10:88"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"794:5:88"},"nodeType":"YulFunctionCall","src":"794:17:88"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"764:6:88"},"nodeType":"YulFunctionCall","src":"764:48:88"},"nodeType":"YulExpressionStatement","src":"764:48:88"}]},"nodeType":"YulCase","src":"755:59:88","value":{"kind":"number","nodeType":"YulLiteral","src":"760:1:88","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"835:52:88","statements":[{"expression":{"arguments":[{"arguments":[{"name":"returndata","nodeType":"YulIdentifier","src":"848:10:88"},{"kind":"number","nodeType":"YulLiteral","src":"860:4:88","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"844:3:88"},"nodeType":"YulFunctionCall","src":"844:21:88"},{"arguments":[{"name":"returndata","nodeType":"YulIdentifier","src":"873:10:88"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"867:5:88"},"nodeType":"YulFunctionCall","src":"867:17:88"}],"functionName":{"name":"return","nodeType":"YulIdentifier","src":"837:6:88"},"nodeType":"YulFunctionCall","src":"837:48:88"},"nodeType":"YulExpressionStatement","src":"837:48:88"}]},"nodeType":"YulCase","src":"827:60:88","value":"default"}],"expression":{"name":"success","nodeType":"YulIdentifier","src":"735:7:88"},"nodeType":"YulSwitch","src":"728:159:88"}]},"evmVersion":"shanghai","externalReferences":[{"declaration":63686,"isOffset":false,"isSlot":false,"src":"775:10:88","valueSize":1},{"declaration":63686,"isOffset":false,"isSlot":false,"src":"800:10:88","valueSize":1},{"declaration":63686,"isOffset":false,"isSlot":false,"src":"848:10:88","valueSize":1},{"declaration":63686,"isOffset":false,"isSlot":false,"src":"873:10:88","valueSize":1},{"declaration":63684,"isOffset":false,"isSlot":false,"src":"735:7:88","valueSize":1}],"id":63699,"nodeType":"InlineAssembly","src":"705:192:88"}]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":63681,"nodeType":"ParameterList","parameters":[],"src":"558:2:88"},"returnParameters":{"id":63682,"nodeType":"ParameterList","parameters":[],"src":"570:0:88"},"scope":63702,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"CallerCaller","contractDependencies":[],"contractKind":"contract","documentation":{"id":63674,"nodeType":"StructuredDocumentation","src":"419:46:88","text":"@dev Useful for testing reentrancy guards"},"fullyImplemented":true,"linearizedBaseContracts":[63702],"name":"CallerCaller","nameLocation":"474:12:88","scope":63811,"usedErrors":[],"usedEvents":[63680]},{"id":63793,"nodeType":"ContractDefinition","src":"992:1409:88","nodes":[{"id":63706,"nodeType":"VariableDeclaration","src":"1026:20:88","nodes":[],"constant":false,"mutability":"mutable","name":"doRevert","nameLocation":"1031:8:88","scope":63793,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63704,"name":"bool","nodeType":"ElementaryTypeName","src":"1026:4:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":63705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1042:4:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"internal"},{"id":63708,"nodeType":"VariableDeclaration","src":"1052:14:88","nodes":[],"constant":false,"mutability":"mutable","name":"target","nameLocation":"1060:6:88","scope":63793,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63707,"name":"address","nodeType":"ElementaryTypeName","src":"1052:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":63710,"nodeType":"VariableDeclaration","src":"1072:13:88","nodes":[],"constant":false,"mutability":"mutable","name":"payload","nameLocation":"1078:7:88","scope":63793,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes"},"typeName":{"id":63709,"name":"bytes","nodeType":"ElementaryTypeName","src":"1072:5:88","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"id":63716,"nodeType":"EventDefinition","src":"1092:51:88","nodes":[],"anonymous":false,"eventSelector":"2106b16c04ed7c28102e8f5bae2a81f8f969346efa3d397f8dd488794385d414","name":"WhatHappened","nameLocation":"1098:12:88","parameters":{"id":63715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63712,"indexed":false,"mutability":"mutable","name":"success","nameLocation":"1116:7:88","nodeType":"VariableDeclaration","scope":63716,"src":"1111:12:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63711,"name":"bool","nodeType":"ElementaryTypeName","src":"1111:4:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":63714,"indexed":false,"mutability":"mutable","name":"returndata","nameLocation":"1131:10:88","nodeType":"VariableDeclaration","scope":63716,"src":"1125:16:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63713,"name":"bytes","nodeType":"ElementaryTypeName","src":"1125:5:88","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1110:32:88"}},{"id":63747,"nodeType":"FunctionDefinition","src":"1231:491:88","nodes":[],"body":{"id":63746,"nodeType":"Block","src":"1256:466:88","nodes":[],"statements":[{"condition":{"id":63720,"name":"doRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63706,"src":"1270:8:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":63744,"nodeType":"Block","src":"1347:369:88","statements":[{"assignments":[63727,63729],"declarations":[{"constant":false,"id":63727,"mutability":"mutable","name":"success","nameLocation":"1367:7:88","nodeType":"VariableDeclaration","scope":63744,"src":"1362:12:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63726,"name":"bool","nodeType":"ElementaryTypeName","src":"1362:4:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":63729,"mutability":"mutable","name":"returndata","nameLocation":"1389:10:88","nodeType":"VariableDeclaration","scope":63744,"src":"1376:23:88","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":63728,"name":"bytes","nodeType":"ElementaryTypeName","src":"1376:5:88","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":63737,"initialValue":{"arguments":[{"id":63735,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63710,"src":"1424:7:88","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}],"expression":{"arguments":[{"id":63732,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63708,"src":"1411:6:88","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":63731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1403:7:88","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":63730,"name":"address","nodeType":"ElementaryTypeName","src":"1403:7:88","typeDescriptions":{}}},"id":63733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1403:15:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1419:4:88","memberName":"call","nodeType":"MemberAccess","src":"1403:20:88","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":63736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1403:29:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1361:71:88"},{"eventCall":{"arguments":[{"id":63739,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63727,"src":"1464:7:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":63740,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63729,"src":"1473:10:88","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":63738,"name":"WhatHappened","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63716,"src":"1451:12:88","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bool_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bool,bytes memory)"}},"id":63741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1451:33:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63742,"nodeType":"EmitStatement","src":"1446:38:88"},{"AST":{"nodeType":"YulBlock","src":"1507:199:88","statements":[{"cases":[{"body":{"nodeType":"YulBlock","src":"1563:52:88","statements":[{"expression":{"arguments":[{"arguments":[{"name":"returndata","nodeType":"YulIdentifier","src":"1576:10:88"},{"kind":"number","nodeType":"YulLiteral","src":"1588:4:88","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1572:3:88"},"nodeType":"YulFunctionCall","src":"1572:21:88"},{"arguments":[{"name":"returndata","nodeType":"YulIdentifier","src":"1601:10:88"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1595:5:88"},"nodeType":"YulFunctionCall","src":"1595:17:88"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1565:6:88"},"nodeType":"YulFunctionCall","src":"1565:48:88"},"nodeType":"YulExpressionStatement","src":"1565:48:88"}]},"nodeType":"YulCase","src":"1556:59:88","value":{"kind":"number","nodeType":"YulLiteral","src":"1561:1:88","type":"","value":"0"}},{"body":{"nodeType":"YulBlock","src":"1640:52:88","statements":[{"expression":{"arguments":[{"arguments":[{"name":"returndata","nodeType":"YulIdentifier","src":"1653:10:88"},{"kind":"number","nodeType":"YulLiteral","src":"1665:4:88","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1649:3:88"},"nodeType":"YulFunctionCall","src":"1649:21:88"},{"arguments":[{"name":"returndata","nodeType":"YulIdentifier","src":"1678:10:88"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1672:5:88"},"nodeType":"YulFunctionCall","src":"1672:17:88"}],"functionName":{"name":"return","nodeType":"YulIdentifier","src":"1642:6:88"},"nodeType":"YulFunctionCall","src":"1642:48:88"},"nodeType":"YulExpressionStatement","src":"1642:48:88"}]},"nodeType":"YulCase","src":"1632:60:88","value":"default"}],"expression":{"name":"success","nodeType":"YulIdentifier","src":"1532:7:88"},"nodeType":"YulSwitch","src":"1525:167:88"}]},"evmVersion":"shanghai","externalReferences":[{"declaration":63729,"isOffset":false,"isSlot":false,"src":"1576:10:88","valueSize":1},{"declaration":63729,"isOffset":false,"isSlot":false,"src":"1601:10:88","valueSize":1},{"declaration":63729,"isOffset":false,"isSlot":false,"src":"1653:10:88","valueSize":1},{"declaration":63729,"isOffset":false,"isSlot":false,"src":"1678:10:88","valueSize":1},{"declaration":63727,"isOffset":false,"isSlot":false,"src":"1532:7:88","valueSize":1}],"id":63743,"nodeType":"InlineAssembly","src":"1498:208:88"}]},"id":63745,"nodeType":"IfStatement","src":"1266:450:88","trueBody":{"id":63725,"nodeType":"Block","src":"1280:61:88","statements":[{"expression":{"arguments":[{"hexValue":"436f6e666967757261626c6543616c6c65723a20726576657274","id":63722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1301:28:88","typeDescriptions":{"typeIdentifier":"t_stringliteral_56f10bd421950dc6c7ac070b7769873cb899ff26d2d363d32ddbac6b2fa40d60","typeString":"literal_string \"ConfigurableCaller: revert\""},"value":"ConfigurableCaller: revert"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56f10bd421950dc6c7ac070b7769873cb899ff26d2d363d32ddbac6b2fa40d60","typeString":"literal_string \"ConfigurableCaller: revert\""}],"id":63721,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1294:6:88","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":63723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1294:36:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63724,"nodeType":"ExpressionStatement","src":"1294:36:88"}]}}]},"documentation":{"id":63717,"nodeType":"StructuredDocumentation","src":"1149:77:88","text":"@notice Call the configured target with the configured payload OR revert."},"functionSelector":"28b5e32b","implemented":true,"kind":"function","modifiers":[],"name":"call","nameLocation":"1240:4:88","parameters":{"id":63718,"nodeType":"ParameterList","parameters":[],"src":"1244:2:88"},"returnParameters":{"id":63719,"nodeType":"ParameterList","parameters":[],"src":"1256:0:88"},"scope":63793,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":63758,"nodeType":"FunctionDefinition","src":"1786:83:88","nodes":[],"body":{"id":63757,"nodeType":"Block","src":"1832:37:88","nodes":[],"statements":[{"expression":{"id":63755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":63753,"name":"doRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63706,"src":"1842:8:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":63754,"name":"_doRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63750,"src":"1853:9:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1842:20:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":63756,"nodeType":"ExpressionStatement","src":"1842:20:88"}]},"documentation":{"id":63748,"nodeType":"StructuredDocumentation","src":"1728:53:88","text":"@notice Set whether or not to have `call` revert."},"functionSelector":"781dd750","implemented":true,"kind":"function","modifiers":[],"name":"setDoRevert","nameLocation":"1795:11:88","parameters":{"id":63751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63750,"mutability":"mutable","name":"_doRevert","nameLocation":"1812:9:88","nodeType":"VariableDeclaration","scope":63758,"src":"1807:14:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":63749,"name":"bool","nodeType":"ElementaryTypeName","src":"1807:4:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1806:16:88"},"returnParameters":{"id":63752,"nodeType":"ParameterList","parameters":[],"src":"1832:0:88"},"scope":63793,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":63769,"nodeType":"FunctionDefinition","src":"1935:78:88","nodes":[],"body":{"id":63768,"nodeType":"Block","src":"1980:33:88","nodes":[],"statements":[{"expression":{"id":63766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":63764,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63708,"src":"1990:6:88","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":63765,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63761,"src":"1999:7:88","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1990:16:88","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":63767,"nodeType":"ExpressionStatement","src":"1990:16:88"}]},"documentation":{"id":63759,"nodeType":"StructuredDocumentation","src":"1875:55:88","text":"@notice Set the target for the call made in `call`."},"functionSelector":"776d1a01","implemented":true,"kind":"function","modifiers":[],"name":"setTarget","nameLocation":"1944:9:88","parameters":{"id":63762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63761,"mutability":"mutable","name":"_target","nameLocation":"1962:7:88","nodeType":"VariableDeclaration","scope":63769,"src":"1954:15:88","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63760,"name":"address","nodeType":"ElementaryTypeName","src":"1954:7:88","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1953:17:88"},"returnParameters":{"id":63763,"nodeType":"ParameterList","parameters":[],"src":"1980:0:88"},"scope":63793,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":63780,"nodeType":"FunctionDefinition","src":"2080:89:88","nodes":[],"body":{"id":63779,"nodeType":"Block","src":"2134:35:88","nodes":[],"statements":[{"expression":{"id":63777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":63775,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63710,"src":"2144:7:88","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":63776,"name":"_payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63772,"src":"2154:8:88","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"src":"2144:18:88","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":63778,"nodeType":"ExpressionStatement","src":"2144:18:88"}]},"documentation":{"id":63770,"nodeType":"StructuredDocumentation","src":"2019:56:88","text":"@notice Set the payload for the call made in `call`."},"functionSelector":"deb3cdf2","implemented":true,"kind":"function","modifiers":[],"name":"setPayload","nameLocation":"2089:10:88","parameters":{"id":63773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63772,"mutability":"mutable","name":"_payload","nameLocation":"2115:8:88","nodeType":"VariableDeclaration","scope":63780,"src":"2100:23:88","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":63771,"name":"bytes","nodeType":"ElementaryTypeName","src":"2100:5:88","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2099:25:88"},"returnParameters":{"id":63774,"nodeType":"ParameterList","parameters":[],"src":"2134:0:88"},"scope":63793,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":63792,"nodeType":"FunctionDefinition","src":"2288:111:88","nodes":[],"body":{"id":63791,"nodeType":"Block","src":"2308:91:88","nodes":[],"statements":[{"condition":{"id":63784,"name":"doRevert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63706,"src":"2322:8:88","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":63790,"nodeType":"IfStatement","src":"2318:75:88","trueBody":{"id":63789,"nodeType":"Block","src":"2332:61:88","statements":[{"expression":{"arguments":[{"hexValue":"436f6e666967757261626c6543616c6c65723a20726576657274","id":63786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2353:28:88","typeDescriptions":{"typeIdentifier":"t_stringliteral_56f10bd421950dc6c7ac070b7769873cb899ff26d2d363d32ddbac6b2fa40d60","typeString":"literal_string \"ConfigurableCaller: revert\""},"value":"ConfigurableCaller: revert"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56f10bd421950dc6c7ac070b7769873cb899ff26d2d363d32ddbac6b2fa40d60","typeString":"literal_string \"ConfigurableCaller: revert\""}],"id":63785,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"2346:6:88","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":63787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2346:36:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63788,"nodeType":"ExpressionStatement","src":"2346:36:88"}]}}]},"documentation":{"id":63781,"nodeType":"StructuredDocumentation","src":"2175:108:88","text":"@notice Fallback function that reverts if `doRevert` is true.\n Otherwise, it does nothing."},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":63782,"nodeType":"ParameterList","parameters":[],"src":"2296:2:88"},"returnParameters":{"id":63783,"nodeType":"ParameterList","parameters":[],"src":"2308:0:88"},"scope":63793,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ConfigurableCaller","contractDependencies":[],"contractKind":"contract","documentation":{"id":63703,"nodeType":"StructuredDocumentation","src":"907:85:88","text":"@dev Used for testing the `CrossDomainMessenger`'s per-message reentrancy guard."},"fullyImplemented":true,"linearizedBaseContracts":[63793],"name":"ConfigurableCaller","nameLocation":"1001:18:88","scope":63811,"usedErrors":[],"usedEvents":[63716]},{"id":63810,"nodeType":"ContractDefinition","src":"2433:153:88","nodes":[{"id":63802,"nodeType":"FunctionDefinition","src":"2457:76:88","nodes":[],"body":{"id":63801,"nodeType":"Block","src":"2489:44:88","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"5265766572746572207265766572746564","id":63798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2506:19:88","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3edf6a705c1ac2ccf4eb0ce9f05039f24b547c0f1460366bd5050c270cb80ba","typeString":"literal_string \"Reverter reverted\""},"value":"Reverter reverted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3edf6a705c1ac2ccf4eb0ce9f05039f24b547c0f1460366bd5050c270cb80ba","typeString":"literal_string \"Reverter reverted\""}],"id":63797,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"2499:6:88","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":63799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2499:27:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63800,"nodeType":"ExpressionStatement","src":"2499:27:88"}]},"functionSelector":"afc874d2","implemented":true,"kind":"function","modifiers":[],"name":"doRevert","nameLocation":"2466:8:88","parameters":{"id":63795,"nodeType":"ParameterList","parameters":[],"src":"2474:2:88"},"returnParameters":{"id":63796,"nodeType":"ParameterList","parameters":[],"src":"2489:0:88"},"scope":63810,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":63809,"nodeType":"FunctionDefinition","src":"2539:45:88","nodes":[],"body":{"id":63808,"nodeType":"Block","src":"2559:25:88","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":63805,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"2569:6:88","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$__$returns$__$","typeString":"function () pure"}},"id":63806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2569:8:88","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63807,"nodeType":"ExpressionStatement","src":"2569:8:88"}]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":63803,"nodeType":"ParameterList","parameters":[],"src":"2547:2:88"},"returnParamet