func: function hatchEgg() isActive external {
          
          EtheremonTransformData transformData = EtheremonTransformData(transformDataContract);
          MonsterEgg memory egg;
          (egg.eggId, egg.objId, egg.classId, egg.trainer, egg.hatchTime, egg.newObjId) = transformData.getHatchingEggData(msg.sender);
          
          if (egg.eggId == 0 || egg.trainer != msg.sender)
              revert();
          
          if (egg.newObjId > 0 || egg.hatchTime > block.timestamp) {
              revert();
          }
          
          EtheremonMonsterNFTInterface monsterNFT = EtheremonMonsterNFTInterface(monsterNFTContract);
          uint objId = monsterNFT.mintMonster(egg.classId, egg.trainer, "..name me...");
          transformData.setHatchedEgg(egg.eggId, uint64(objId));
          EventHatchEgg(egg.trainer, egg.eggId, objId);
      }