{"abi":[],"bytecode":{"object":"0x","linkReferences":{}},"deployedBytecode":{"object":"0x","linkReferences":{}},"ast":{"absolutePath":"src/libraries/levels/createLevel.sol","id":177150,"exportedSymbols":{"LevelPosition":[114630],"LevelPositionIndex":[117247],"LevelTemplates":[118786],"LevelTemplatesIndex":[120591],"createLevelIndex":[177149]},"nodeType":"SourceUnit","src":"32:435:306","nodes":[{"id":177097,"nodeType":"PragmaDirective","src":"32:25:306","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":177102,"nodeType":"ImportDirective","src":"59:113:306","nodes":[],"absolutePath":"src/codegen/index.sol","file":"../../codegen/index.sol","nameLocation":"-1:-1:-1","scope":177150,"sourceUnit":87483,"symbolAliases":[{"foreign":{"id":177098,"name":"LevelTemplates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118786,"src":"68:14:306","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":177099,"name":"LevelTemplatesIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120591,"src":"84:19:306","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":177100,"name":"LevelPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114630,"src":"105:13:306","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":177101,"name":"LevelPositionIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":117247,"src":"120:18:306","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":177149,"nodeType":"FunctionDefinition","src":"174:292:306","nodes":[],"body":{"id":177148,"nodeType":"Block","src":"270:196:306","nodes":[],"statements":[{"expression":{"arguments":[{"id":177118,"name":"levelId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177104,"src":"294:7:306","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":177119,"name":"templateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177108,"src":"303:10:306","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":177115,"name":"LevelTemplates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118786,"src":"274:14:306","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LevelTemplates_$118786_$","typeString":"type(library LevelTemplates)"}},"id":177117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"289:4:306","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":118217,"src":"274:19:306","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":177120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"274:40:306","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":177121,"nodeType":"ExpressionStatement","src":"274:40:306"},{"expression":{"arguments":[{"id":177125,"name":"levelId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177104,"src":"343:7:306","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":177126,"name":"templateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177108,"src":"352:10:306","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":177127,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177106,"src":"364:5:306","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":177122,"name":"LevelTemplatesIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120591,"src":"318:19:306","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LevelTemplatesIndex_$120591_$","typeString":"type(library LevelTemplatesIndex)"}},"id":177124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"338:4:306","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":119926,"src":"318:24:306","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (bytes32,bytes32,uint256)"}},"id":177128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"318:52:306","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":177129,"nodeType":"ExpressionStatement","src":"318:52:306"},{"expression":{"arguments":[{"id":177133,"name":"levelId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177104,"src":"393:7:306","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":177134,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177106,"src":"402:5:306","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":177135,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177110,"src":"409:1:306","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"id":177136,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177112,"src":"412:1:306","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_int32","typeString":"int32"}],"expression":{"id":177130,"name":"LevelPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114630,"src":"375:13:306","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LevelPosition_$114630_$","typeString":"type(library LevelPosition)"}},"id":177132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"389:3:306","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":114174,"src":"375:17:306","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$_t_int32_$_t_int32_$returns$__$","typeString":"function (bytes32,uint256,int32,int32)"}},"id":177137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"375:39:306","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":177138,"nodeType":"ExpressionStatement","src":"375:39:306"},{"expression":{"arguments":[{"id":177142,"name":"levelId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177104,"src":"442:7:306","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":177143,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177110,"src":"451:1:306","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"id":177144,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177112,"src":"454:1:306","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"id":177145,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177106,"src":"457:5:306","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":177139,"name":"LevelPositionIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":117247,"src":"418:18:306","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LevelPositionIndex_$117247_$","typeString":"type(library LevelPositionIndex)"}},"id":177141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"437:4:306","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":116270,"src":"418:23:306","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_int32_$_t_int32_$_t_uint256_$returns$__$","typeString":"function (bytes32,int32,int32,uint256)"}},"id":177146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"418:45:306","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":177147,"nodeType":"ExpressionStatement","src":"418:45:306"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"createLevelIndex","nameLocation":"183:16:306","parameters":{"id":177113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":177104,"mutability":"mutable","name":"levelId","nameLocation":"208:7:306","nodeType":"VariableDeclaration","scope":177149,"src":"200:15:306","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":177103,"name":"bytes32","nodeType":"ElementaryTypeName","src":"200:7:306","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":177106,"mutability":"mutable","name":"index","nameLocation":"225:5:306","nodeType":"VariableDeclaration","scope":177149,"src":"217:13:306","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":177105,"name":"uint256","nodeType":"ElementaryTypeName","src":"217:7:306","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":177108,"mutability":"mutable","name":"templateId","nameLocation":"240:10:306","nodeType":"VariableDeclaration","scope":177149,"src":"232:18:306","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":177107,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232:7:306","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":177110,"mutability":"mutable","name":"x","nameLocation":"258:1:306","nodeType":"VariableDeclaration","scope":177149,"src":"252:7:306","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":177109,"name":"int32","nodeType":"ElementaryTypeName","src":"252:5:306","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"},{"constant":false,"id":177112,"mutability":"mutable","name":"y","nameLocation":"267:1:306","nodeType":"VariableDeclaration","scope":177149,"src":"261:7:306","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":177111,"name":"int32","nodeType":"ElementaryTypeName","src":"261:5:306","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"199:70:306"},"returnParameters":{"id":177114,"nodeType":"ParameterList","parameters":[],"src":"270:0:306"},"scope":177150,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"license":"MIT"},"id":306}