{"abi":[],"bytecode":{"object":"0x","linkReferences":{}},"deployedBytecode":{"object":"0x","linkReferences":{}},"ast":{"absolutePath":"src/libraries/templates/createTemplate.sol","id":177314,"exportedSymbols":{"EncodedLengths":[7251],"IStore":[8658],"ResourceId":[9486],"TemplateContent":[160540],"TemplateTables":[162079],"createTemplate":[177313]},"nodeType":"SourceUnit","src":"32:785:308","nodes":[{"id":177242,"nodeType":"PragmaDirective","src":"32:25:308","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":177244,"nodeType":"ImportDirective","src":"59:58:308","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/IStore.sol","file":"@latticexyz/store/src/IStore.sol","nameLocation":"-1:-1:-1","scope":177314,"sourceUnit":8659,"symbolAliases":[{"foreign":{"id":177243,"name":"IStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8658,"src":"68:6:308","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":177246,"nodeType":"ImportDirective","src":"118:66:308","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/ResourceId.sol","file":"@latticexyz/store/src/ResourceId.sol","nameLocation":"-1:-1:-1","scope":177314,"sourceUnit":9568,"symbolAliases":[{"foreign":{"id":177245,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"127:10:308","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":177248,"nodeType":"ImportDirective","src":"185:74:308","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/EncodedLengths.sol","file":"@latticexyz/store/src/EncodedLengths.sol","nameLocation":"-1:-1:-1","scope":177314,"sourceUnit":7873,"symbolAliases":[{"foreign":{"id":177247,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"194:14:308","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":177251,"nodeType":"ImportDirective","src":"261:74:308","nodes":[],"absolutePath":"src/codegen/index.sol","file":"../../codegen/index.sol","nameLocation":"-1:-1:-1","scope":177314,"sourceUnit":87483,"symbolAliases":[{"foreign":{"id":177249,"name":"TemplateTables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":162079,"src":"270:14:308","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":177250,"name":"TemplateContent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":160540,"src":"286:15:308","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":177313,"nodeType":"FunctionDefinition","src":"367:449:308","nodes":[],"body":{"id":177312,"nodeType":"Block","src":"541:275:308","nodes":[],"statements":[{"expression":{"arguments":[{"id":177272,"name":"templateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177254,"src":"564:10:308","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":177273,"name":"tableIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177257,"src":"576:8:308","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":177269,"name":"TemplateTables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":162079,"src":"545:14:308","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TemplateTables_$162079_$","typeString":"type(library TemplateTables)"}},"id":177271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"560:3:308","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":160981,"src":"545:18:308","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32[] memory)"}},"id":177274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"545:40:308","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":177275,"nodeType":"ExpressionStatement","src":"545:40:308"},{"body":{"id":177310,"nodeType":"Block","src":"632:182:308","statements":[{"expression":{"arguments":[{"id":177289,"name":"templateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177254,"src":"665:10:308","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"baseExpression":{"id":177292,"name":"tableIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177257,"src":"699:8:308","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":177294,"indexExpression":{"id":177293,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177277,"src":"708:1:308","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"699:11:308","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":177290,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"683:10:308","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"type(ResourceId)"}},"id":177291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"694:4:308","memberName":"wrap","nodeType":"MemberAccess","src":"683:15:308","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_ResourceId_$9486_$","typeString":"function (bytes32) pure returns (ResourceId)"}},"id":177295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"683:28:308","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"}},{"arguments":[{"baseExpression":{"id":177298,"name":"encodedLengthss","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177263,"src":"739:15:308","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":177300,"indexExpression":{"id":177299,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177277,"src":"755:1:308","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"739:18:308","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":177296,"name":"EncodedLengths","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7251,"src":"719:14:308","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"type(EncodedLengths)"}},"id":177297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"734:4:308","memberName":"wrap","nodeType":"MemberAccess","src":"719:19:308","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_EncodedLengths_$7251_$","typeString":"function (bytes32) pure returns (EncodedLengths)"}},"id":177301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"719:39:308","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"}},{"baseExpression":{"id":177302,"name":"staticDatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177260,"src":"766:11:308","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":177304,"indexExpression":{"id":177303,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177277,"src":"778:1:308","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"766:14:308","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"baseExpression":{"id":177305,"name":"dynamicDatas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177266,"src":"788:12:308","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":177307,"indexExpression":{"id":177306,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177277,"src":"801:1:308","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"788:15:308","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$9486","typeString":"ResourceId"},{"typeIdentifier":"t_userDefinedValueType$_EncodedLengths_$7251","typeString":"EncodedLengths"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":177286,"name":"TemplateContent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":160540,"src":"638:15:308","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TemplateContent_$160540_$","typeString":"type(library TemplateContent)"}},"id":177288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"654:3:308","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":159944,"src":"638:19:308","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_userDefinedValueType$_ResourceId_$9486_$_t_userDefinedValueType$_EncodedLengths_$7251_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes32,ResourceId,EncodedLengths,bytes memory,bytes memory)"}},"id":177308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"638:171:308","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":177309,"nodeType":"ExpressionStatement","src":"638:171:308"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":177282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":177279,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177277,"src":"606:1:308","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":177280,"name":"tableIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177257,"src":"610:8:308","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":177281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"619:6:308","memberName":"length","nodeType":"MemberAccess","src":"610:15:308","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"606:19:308","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":177311,"initializationExpression":{"assignments":[177277],"declarations":[{"constant":false,"id":177277,"mutability":"mutable","name":"i","nameLocation":"603:1:308","nodeType":"VariableDeclaration","scope":177311,"src":"595:9:308","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":177276,"name":"uint256","nodeType":"ElementaryTypeName","src":"595:7:308","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":177278,"nodeType":"VariableDeclarationStatement","src":"595:9:308"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":177284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"627:3:308","subExpression":{"id":177283,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177277,"src":"627:1:308","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":177285,"nodeType":"ExpressionStatement","src":"627:3:308"},"nodeType":"ForStatement","src":"590:224:308"}]},"documentation":{"id":177252,"nodeType":"StructuredDocumentation","src":"337:29:308","text":" Create a template."},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"createTemplate","nameLocation":"376:14:308","parameters":{"id":177267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":177254,"mutability":"mutable","name":"templateId","nameLocation":"402:10:308","nodeType":"VariableDeclaration","scope":177313,"src":"394:18:308","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":177253,"name":"bytes32","nodeType":"ElementaryTypeName","src":"394:7:308","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":177257,"mutability":"mutable","name":"tableIds","nameLocation":"433:8:308","nodeType":"VariableDeclaration","scope":177313,"src":"416:25:308","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":177255,"name":"bytes32","nodeType":"ElementaryTypeName","src":"416:7:308","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":177256,"nodeType":"ArrayTypeName","src":"416:9:308","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":177260,"mutability":"mutable","name":"staticDatas","nameLocation":"460:11:308","nodeType":"VariableDeclaration","scope":177313,"src":"445:26:308","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":177258,"name":"bytes","nodeType":"ElementaryTypeName","src":"445:5:308","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":177259,"nodeType":"ArrayTypeName","src":"445:7:308","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":177263,"mutability":"mutable","name":"encodedLengthss","nameLocation":"492:15:308","nodeType":"VariableDeclaration","scope":177313,"src":"475:32:308","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":177261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"475:7:308","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":177262,"nodeType":"ArrayTypeName","src":"475:9:308","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":177266,"mutability":"mutable","name":"dynamicDatas","nameLocation":"526:12:308","nodeType":"VariableDeclaration","scope":177313,"src":"511:27:308","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":177264,"name":"bytes","nodeType":"ElementaryTypeName","src":"511:5:308","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":177265,"nodeType":"ArrayTypeName","src":"511:7:308","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"390:150:308"},"returnParameters":{"id":177268,"nodeType":"ParameterList","parameters":[],"src":"541:0:308"},"scope":177314,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"license":"MIT"},"id":308}