@tokamak-network/thanos-contracts
Version:
1 lines • 22.5 kB
JSON
{"abi":[],"bytecode":{"object":"0x602d6037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"162:2613:175:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;162:2613:175;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"162:2613:175:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"PreimageKeyLib\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Shared utilities for localizing local keys in the preimage oracle.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/cannon/PreimageKeyLib.sol\":\"PreimageKeyLib\"},\"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\":{\"src/cannon/PreimageKeyLib.sol\":{\"keccak256\":\"0x082e910b8a3f523ac0920f0bc5a09e127fe9e48127694e5a0efce820d4654e85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bce8c13880b75f2d8561188279b2333c455c831216fc29375570d9c93767c6cc\",\"dweb:/ipfs/QmRmworxD49TBLcLS81sNUEfkQVgg3tf2L6pUDCduDJvWm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/cannon/PreimageKeyLib.sol":"PreimageKeyLib"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"src/cannon/PreimageKeyLib.sol":{"keccak256":"0x082e910b8a3f523ac0920f0bc5a09e127fe9e48127694e5a0efce820d4654e85","urls":["bzz-raw://bce8c13880b75f2d8561188279b2333c455c831216fc29375570d9c93767c6cc","dweb:/ipfs/QmRmworxD49TBLcLS81sNUEfkQVgg3tf2L6pUDCduDJvWm"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"Shared utilities for localizing local keys in the preimage oracle."},"devdoc":{"version":1,"kind":"dev","title":"PreimageKeyLib"},"ast":{"absolutePath":"src/cannon/PreimageKeyLib.sol","id":101032,"exportedSymbols":{"PreimageKeyLib":[101031]},"nodeType":"SourceUnit","src":"32:2744:175","nodes":[{"id":100988,"nodeType":"PragmaDirective","src":"32:23:175","nodes":[],"literals":["solidity","0.8",".15"]},{"id":101031,"nodeType":"ContractDefinition","src":"162:2613:175","nodes":[{"id":101008,"nodeType":"FunctionDefinition","src":"552:449:175","nodes":[],"body":{"id":101007,"nodeType":"Block","src":"651:350:175","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"670:221:175","statements":[{"nodeType":"YulAssignment","src":"824:57:175","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"839:3:175","type":"","value":"248"},{"kind":"number","nodeType":"YulLiteral","src":"844:1:175","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"835:3:175"},"nodeType":"YulFunctionCall","src":"835:11:175"},{"arguments":[{"name":"_ident","nodeType":"YulIdentifier","src":"852:6:175"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"868:3:175","type":"","value":"248"},{"kind":"number","nodeType":"YulLiteral","src":"873:4:175","type":"","value":"0xFF"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"864:3:175"},"nodeType":"YulFunctionCall","src":"864:14:175"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"860:3:175"},"nodeType":"YulFunctionCall","src":"860:19:175"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"848:3:175"},"nodeType":"YulFunctionCall","src":"848:32:175"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"832:2:175"},"nodeType":"YulFunctionCall","src":"832:49:175"},"variableNames":[{"name":"key_","nodeType":"YulIdentifier","src":"824:4:175"}]}]},"evmVersion":"london","externalReferences":[{"declaration":100992,"isOffset":false,"isSlot":false,"src":"852:6:175","valueSize":1},{"declaration":100997,"isOffset":false,"isSlot":false,"src":"824:4:175","valueSize":1}],"id":100999,"nodeType":"InlineAssembly","src":"661:230:175"},{"expression":{"id":101005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101000,"name":"key_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100997,"src":"958:4:175","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":101002,"name":"key_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100997,"src":"974:4:175","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":101003,"name":"_localContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100994,"src":"980:13:175","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":101001,"name":"localize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101020,"src":"965:8:175","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) view returns (bytes32)"}},"id":101004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"965:29:175","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"958:36:175","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":101006,"nodeType":"ExpressionStatement","src":"958:36:175"}]},"documentation":{"id":100990,"nodeType":"StructuredDocumentation","src":"191:356:175","text":"@notice Generates a context-specific local key for the given local data identifier.\n @dev See `localize` for a description of the localization operation.\n @param _ident The identifier of the local data. [0, 32) bytes in size.\n @param _localContext The local context for the key.\n @return key_ The context-specific local key."},"implemented":true,"kind":"function","modifiers":[],"name":"localizeIdent","nameLocation":"561:13:175","parameters":{"id":100995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":100992,"mutability":"mutable","name":"_ident","nameLocation":"583:6:175","nodeType":"VariableDeclaration","scope":101008,"src":"575:14:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100991,"name":"uint256","nodeType":"ElementaryTypeName","src":"575:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":100994,"mutability":"mutable","name":"_localContext","nameLocation":"599:13:175","nodeType":"VariableDeclaration","scope":101008,"src":"591:21:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":100993,"name":"bytes32","nodeType":"ElementaryTypeName","src":"591:7:175","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"574:39:175"},"returnParameters":{"id":100998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":100997,"mutability":"mutable","name":"key_","nameLocation":"645:4:175","nodeType":"VariableDeclaration","scope":101008,"src":"637:12:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":100996,"name":"bytes32","nodeType":"ElementaryTypeName","src":"637:7:175","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"636:14:175"},"scope":101031,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":101020,"nodeType":"FunctionDefinition","src":"1455:676:175","nodes":[],"body":{"id":101019,"nodeType":"Block","src":"1556:575:175","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"1575:550:175","statements":[{"nodeType":"YulVariableDeclaration","src":"1659:22:175","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1676:4:175","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"1670:5:175"},"nodeType":"YulFunctionCall","src":"1670:11:175"},"variables":[{"name":"ptr","nodeType":"YulTypedName","src":"1663:3:175","type":""}]},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1794:1:175","type":"","value":"0"},{"name":"_key","nodeType":"YulIdentifier","src":"1797:4:175"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1787:6:175"},"nodeType":"YulFunctionCall","src":"1787:15:175"},"nodeType":"YulExpressionStatement","src":"1787:15:175"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1822:4:175","type":"","value":"0x20"},{"arguments":[],"functionName":{"name":"caller","nodeType":"YulIdentifier","src":"1828:6:175"},"nodeType":"YulFunctionCall","src":"1828:8:175"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1815:6:175"},"nodeType":"YulFunctionCall","src":"1815:22:175"},"nodeType":"YulExpressionStatement","src":"1815:22:175"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1857:4:175","type":"","value":"0x40"},{"name":"_localContext","nodeType":"YulIdentifier","src":"1863:13:175"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1850:6:175"},"nodeType":"YulFunctionCall","src":"1850:27:175"},"nodeType":"YulExpressionStatement","src":"1850:27:175"},{"nodeType":"YulAssignment","src":"1959:78:175","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1993:1:175","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1996:4:175","type":"","value":"0x60"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"1983:9:175"},"nodeType":"YulFunctionCall","src":"1983:18:175"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2011:3:175","type":"","value":"248"},{"kind":"number","nodeType":"YulLiteral","src":"2016:4:175","type":"","value":"0xFF"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2007:3:175"},"nodeType":"YulFunctionCall","src":"2007:14:175"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2003:3:175"},"nodeType":"YulFunctionCall","src":"2003:19:175"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1979:3:175"},"nodeType":"YulFunctionCall","src":"1979:44:175"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2029:3:175","type":"","value":"248"},{"kind":"number","nodeType":"YulLiteral","src":"2034:1:175","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2025:3:175"},"nodeType":"YulFunctionCall","src":"2025:11:175"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"1976:2:175"},"nodeType":"YulFunctionCall","src":"1976:61:175"},"variableNames":[{"name":"localizedKey_","nodeType":"YulIdentifier","src":"1959:13:175"}]},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2105:4:175","type":"","value":"0x40"},{"name":"ptr","nodeType":"YulIdentifier","src":"2111:3:175"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2098:6:175"},"nodeType":"YulFunctionCall","src":"2098:17:175"},"nodeType":"YulExpressionStatement","src":"2098:17:175"}]},"evmVersion":"london","externalReferences":[{"declaration":101011,"isOffset":false,"isSlot":false,"src":"1797:4:175","valueSize":1},{"declaration":101013,"isOffset":false,"isSlot":false,"src":"1863:13:175","valueSize":1},{"declaration":101016,"isOffset":false,"isSlot":false,"src":"1959:13:175","valueSize":1}],"id":101018,"nodeType":"InlineAssembly","src":"1566:559:175"}]},"documentation":{"id":101009,"nodeType":"StructuredDocumentation","src":"1007:443:175","text":"@notice Localizes a given local data key for the caller's context.\n @dev The localization operation is defined as:\n localize(k) = H(k .. sender .. local_context) & ~(0xFF << 248) | (0x01 << 248)\n where H is the Keccak-256 hash function.\n @param _key The local data key to localize.\n @param _localContext The local context for the key.\n @return localizedKey_ The localized local data key."},"implemented":true,"kind":"function","modifiers":[],"name":"localize","nameLocation":"1464:8:175","parameters":{"id":101014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101011,"mutability":"mutable","name":"_key","nameLocation":"1481:4:175","nodeType":"VariableDeclaration","scope":101020,"src":"1473:12:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":101010,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1473:7:175","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":101013,"mutability":"mutable","name":"_localContext","nameLocation":"1495:13:175","nodeType":"VariableDeclaration","scope":101020,"src":"1487:21:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":101012,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1487:7:175","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1472:37:175"},"returnParameters":{"id":101017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101016,"mutability":"mutable","name":"localizedKey_","nameLocation":"1541:13:175","nodeType":"VariableDeclaration","scope":101020,"src":"1533:21:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":101015,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1533:7:175","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1532:23:175"},"scope":101031,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":101030,"nodeType":"FunctionDefinition","src":"2293:480:175","nodes":[],"body":{"id":101029,"nodeType":"Block","src":"2384:389:175","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"2403:364:175","statements":[{"nodeType":"YulVariableDeclaration","src":"2465:28:175","value":{"arguments":[{"name":"_preimage","nodeType":"YulIdentifier","src":"2483:9:175"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2477:5:175"},"nodeType":"YulFunctionCall","src":"2477:16:175"},"variables":[{"name":"size","nodeType":"YulTypedName","src":"2469:4:175","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2583:46:175","value":{"arguments":[{"arguments":[{"name":"_preimage","nodeType":"YulIdentifier","src":"2606:9:175"},{"kind":"number","nodeType":"YulLiteral","src":"2617:4:175","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2602:3:175"},"nodeType":"YulFunctionCall","src":"2602:20:175"},{"name":"size","nodeType":"YulIdentifier","src":"2624:4:175"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"2592:9:175"},"nodeType":"YulFunctionCall","src":"2592:37:175"},"variables":[{"name":"h","nodeType":"YulTypedName","src":"2587:1:175","type":""}]},{"nodeType":"YulAssignment","src":"2705:52:175","value":{"arguments":[{"arguments":[{"name":"h","nodeType":"YulIdentifier","src":"2720:1:175"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2731:3:175","type":"","value":"248"},{"kind":"number","nodeType":"YulLiteral","src":"2736:4:175","type":"","value":"0xFF"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2727:3:175"},"nodeType":"YulFunctionCall","src":"2727:14:175"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"2723:3:175"},"nodeType":"YulFunctionCall","src":"2723:19:175"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2716:3:175"},"nodeType":"YulFunctionCall","src":"2716:27:175"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2749:3:175","type":"","value":"248"},{"kind":"number","nodeType":"YulLiteral","src":"2754:1:175","type":"","value":"2"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2745:3:175"},"nodeType":"YulFunctionCall","src":"2745:11:175"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2713:2:175"},"nodeType":"YulFunctionCall","src":"2713:44:175"},"variableNames":[{"name":"key_","nodeType":"YulIdentifier","src":"2705:4:175"}]}]},"evmVersion":"london","externalReferences":[{"declaration":101023,"isOffset":false,"isSlot":false,"src":"2483:9:175","valueSize":1},{"declaration":101023,"isOffset":false,"isSlot":false,"src":"2606:9:175","valueSize":1},{"declaration":101026,"isOffset":false,"isSlot":false,"src":"2705:4:175","valueSize":1}],"id":101028,"nodeType":"InlineAssembly","src":"2394:373:175"}]},"documentation":{"id":101021,"nodeType":"StructuredDocumentation","src":"2137:151:175","text":"@notice Computes and returns the key for a global keccak pre-image.\n @param _preimage The pre-image.\n @return key_ The pre-image key."},"implemented":true,"kind":"function","modifiers":[],"name":"keccak256PreimageKey","nameLocation":"2302:20:175","parameters":{"id":101024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101023,"mutability":"mutable","name":"_preimage","nameLocation":"2336:9:175","nodeType":"VariableDeclaration","scope":101030,"src":"2323:22:175","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":101022,"name":"bytes","nodeType":"ElementaryTypeName","src":"2323:5:175","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2322:24:175"},"returnParameters":{"id":101027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101026,"mutability":"mutable","name":"key_","nameLocation":"2378:4:175","nodeType":"VariableDeclaration","scope":101030,"src":"2370:12:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":101025,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2370:7:175","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2369:14:175"},"scope":101031,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"PreimageKeyLib","contractDependencies":[],"contractKind":"library","documentation":{"id":100989,"nodeType":"StructuredDocumentation","src":"57:105:175","text":"@title PreimageKeyLib\n @notice Shared utilities for localizing local keys in the preimage oracle."},"fullyImplemented":true,"linearizedBaseContracts":[101031],"name":"PreimageKeyLib","nameLocation":"170:14:175","scope":101032,"usedErrors":[]}],"license":"MIT"},"id":175}