@balancy/wasm 1.0.38 → 1.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -411,6 +411,8 @@ var Balancy = function() {
411
411
  "__Z29jsbalancyHardPurchaseShopSlotPN7Balancy4Data8BaseDataEPNS_4Core11PaymentInfoEN10emscripten3valEb",
412
412
  "__Z30jsbalancyHardPurchaseGameOfferPN7Balancy4Data8BaseDataEPNS_4Core11PaymentInfoEN10emscripten3valEb",
413
413
  "__Z35jsbalancyHardPurchaseGameOfferGroupPN7Balancy4Data8BaseDataEPNS_5Utils15JsonBasedObjectEPNS_4Core11PaymentInfoEN10emscripten3valEb",
414
+ "__Z29jsbalancyAuth_NameAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_N10emscripten3valE",
415
+ "__Z29jsbalancyLink_NameAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_bN10emscripten3valE",
414
416
  "__Z35jsbalancyDailyBonus_claimNextRewardPN7Balancy4Data8BaseDataE",
415
417
  "__Z38jsbalancyDailyBonus_canClaimNextRewardPN7Balancy4Data8BaseDataE",
416
418
  "__Z47jsbalancyDailyBonus_getSecondsTillTheNextRewardPN7Balancy4Data8BaseDataE",
@@ -528,8 +530,8 @@ var Balancy = function() {
528
530
  "_balancyGetProductsIdAndType",
529
531
  "_balancyGetParsedObject",
530
532
  "_balancyAuth_NameAndPassword",
533
+ "_balancyLink_NameAndPassword",
531
534
  "__Z22jsbalancyAuth_DeviceIdNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEN10emscripten3valE",
532
- "__Z29jsbalancyAuth_NameAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_N10emscripten3valE",
533
535
  "__Z30jsbalancyAuth_EmailAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_N10emscripten3valE",
534
536
  "_balancyInventory_AddItems",
535
537
  "_balancyInventory_RemoveItems",
@@ -1196,17 +1198,18 @@ var Balancy = function() {
1196
1198
  });
1197
1199
  }
1198
1200
  }
1199
- function js_fetch(url, bLoadFile, method, headers, headersCount, body, successCallbackPtr, errorCallbackPtr, callbackPtr, binaryCallbackPtr) {
1201
+ function js_fetch(url, bLoadFile, method, headers, headersCount, body, successCallbackPtr, errorCallbackPtr, callbackPtr, binaryCallbackPtr, requestContextPtr) {
1202
+ var requestId = Date.now() + Math.random();
1200
1203
  var urlString = "";
1201
1204
  var methodString = "";
1202
1205
  var bodyString = null;
1203
1206
  try {
1204
1207
  if (!url) {
1205
- console.error(" URL pointer is null");
1208
+ console.error("[ERROR] [Request ".concat(requestId, "] URL pointer is null"));
1206
1209
  return;
1207
1210
  }
1208
1211
  if (!method) {
1209
- console.error(" Method pointer is null");
1212
+ console.error("[ERROR] [Request ".concat(requestId, "] Method pointer is null"));
1210
1213
  return;
1211
1214
  }
1212
1215
  urlString = UTF8ToString(url);
@@ -1215,51 +1218,92 @@ var Balancy = function() {
1215
1218
  bodyString = UTF8ToString(body);
1216
1219
  }
1217
1220
  if (!urlString || urlString.length === 0) {
1218
- console.error(" URL is empty or invalid");
1221
+ console.error("[ERROR] [Request ".concat(requestId, "] URL is empty or invalid"));
1219
1222
  return;
1220
1223
  }
1221
1224
  if (urlString.includes("\0") || urlString.includes("€")) {
1222
- console.error(" URL contains invalid characters:", urlString);
1225
+ console.error("[ERROR] [Request ".concat(requestId, "] URL contains invalid characters:"), urlString);
1223
1226
  return;
1224
1227
  }
1228
+ console.log("[START] [Request ".concat(requestId, "] Starting ").concat(bLoadFile ? "FILE LOAD" : "API REQUEST"));
1229
+ console.log(" URL: ".concat(urlString));
1230
+ console.log(" Method: ".concat(methodString));
1231
+ if (bodyString) {
1232
+ console.log(" Body: ".concat(bodyString.length > 200 ? bodyString.substring(0, 200) + "..." : bodyString));
1233
+ }
1225
1234
  } catch (error) {
1226
- console.error(" Error reading strings from WASM memory:", error);
1235
+ console.error("[ERROR] [Request ".concat(requestId, "] Error reading strings from WASM memory:"), error);
1227
1236
  return;
1228
1237
  }
1229
- var invokeErrorCallback = function(status, message, callbackPtr) {
1230
- console.log("❌ invokeErrorCallback:", status, message);
1238
+ var invokeErrorCallback = function(status, message) {
1239
+ var details = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "";
1240
+ var fullMessage = "[Request ".concat(requestId, "] ").concat(bLoadFile ? "FILE LOAD" : "API REQUEST", " FAILED: ").concat(methodString, " ").concat(urlString).concat(details ? " - " + details : "");
1241
+ console.error("[ERROR] ".concat(fullMessage));
1242
+ console.error(" Status: ".concat(status));
1243
+ console.error(" Error: ".concat(message || "Unknown error"));
1244
+ if (bodyString) {
1245
+ console.error(" Request Body: ".concat(bodyString.length > 500 ? bodyString.substring(0, 500) + "..." : bodyString));
1246
+ }
1231
1247
  try {
1232
- var errorMessage = message || "Unknown error";
1233
- var errorLength = lengthBytesUTF8(errorMessage) + 1;
1234
- var errorPtr = Module._malloc(errorLength);
1235
- stringToUTF8(errorMessage, errorPtr, errorLength);
1248
+ if (requestContextPtr) {
1249
+ console.log("[MEMORY] [Request ".concat(requestId, "] Cleaning up RequestContext at ").concat(requestContextPtr));
1250
+ Module._free(requestContextPtr);
1251
+ }
1252
+ if (!errorCallbackPtr || !callbackPtr) {
1253
+ console.error("[ERROR] [Request ".concat(requestId, "] Invalid callback pointers: errorCallback=").concat(errorCallbackPtr, ", callback=").concat(callbackPtr));
1254
+ return;
1255
+ }
1256
+ var errorMessage = fullMessage + (message ? " - ".concat(message) : "");
1257
+ var errorLength = lengthBytesUTF8(errorMessage);
1258
+ if (errorLength <= 0 || errorLength > 1048576) {
1259
+ console.error("[ERROR] [Request ".concat(requestId, "] Invalid error message length: ").concat(errorLength));
1260
+ return;
1261
+ }
1262
+ var errorPtr = Module._malloc(errorLength + 1);
1263
+ if (!errorPtr) {
1264
+ console.error("[ERROR] [Request ".concat(requestId, "] Failed to allocate memory for error message"));
1265
+ return;
1266
+ }
1267
+ console.log("[MEMORY] [Request ".concat(requestId, "] Allocated ").concat(errorLength + 1, " bytes for error message at ").concat(errorPtr));
1268
+ stringToUTF8(errorMessage, errorPtr, errorLength + 1);
1269
+ if (typeof Module["dynCall_viii"] !== "function") {
1270
+ console.error("[ERROR] [Request ".concat(requestId, "] dynCall_viii function not available"));
1271
+ Module._free(errorPtr);
1272
+ return;
1273
+ }
1236
1274
  Module["dynCall_viii"](errorCallbackPtr, status, errorPtr, callbackPtr);
1237
1275
  Module._free(errorPtr);
1276
+ console.log("[MEMORY] [Request ".concat(requestId, "] Freed error message memory at ").concat(errorPtr));
1238
1277
  } catch (error) {
1239
- console.error(" Error in error callback:", error);
1278
+ console.error("[ERROR] [Request ".concat(requestId, "] Error in error callback:"), error);
1240
1279
  }
1241
1280
  };
1242
1281
  var headersObj = new Headers;
1243
1282
  var ptrSize = Module.HEAPU32.BYTES_PER_ELEMENT;
1283
+ var headersLogged = [];
1244
1284
  try {
1245
1285
  for(var i = 0; i < headersCount; i += 2){
1246
1286
  var keyPtr = getValue(headers + i * ptrSize, "*");
1247
1287
  var valuePtr = getValue(headers + (i + 1) * ptrSize, "*");
1248
1288
  if (!keyPtr || !valuePtr) {
1249
- console.warn("⚠️ Skipping invalid header pointer at index", i);
1289
+ console.warn("[WARN] [Request ".concat(requestId, "] Skipping invalid header pointer at index"), i);
1250
1290
  continue;
1251
1291
  }
1252
1292
  var key = UTF8ToString(keyPtr);
1253
1293
  var value = UTF8ToString(valuePtr);
1254
1294
  if (!key || !value) {
1255
- console.warn("⚠️ Skipping empty header at index", i);
1295
+ console.warn("[WARN] [Request ".concat(requestId, "] Skipping empty header at index"), i);
1256
1296
  continue;
1257
1297
  }
1258
1298
  headersObj.append(key, value);
1299
+ headersLogged.push("".concat(key, ": ").concat(value));
1300
+ }
1301
+ if (headersLogged.length > 0) {
1302
+ console.log(" Headers: ".concat(headersLogged.join(", ")));
1259
1303
  }
1260
1304
  } catch (error) {
1261
- console.error(" Error processing headers:", error);
1262
- invokeErrorCallback(-1, "Header processing error: " + error.message, callbackPtr);
1305
+ console.error("[ERROR] [Request ".concat(requestId, "] Error processing headers:"), error);
1306
+ invokeErrorCallback(-1, "Header processing error: " + error.message, "");
1263
1307
  return;
1264
1308
  }
1265
1309
  var fetchOptions = {
@@ -1267,19 +1311,24 @@ var Balancy = function() {
1267
1311
  headers: headersObj,
1268
1312
  body: bodyString
1269
1313
  };
1314
+ var startTime = performance.now();
1270
1315
  fetch(urlString, fetchOptions).then(function(response) {
1316
+ var duration = performance.now() - startTime;
1317
+ console.log("[TIMING] [Request ".concat(requestId, "] Fetch completed in ").concat(duration.toFixed(2), "ms"));
1271
1318
  if (!response.ok) {
1272
- console.log(" Response not OK, reading error message");
1319
+ console.error("[ERROR] [Request ".concat(requestId, "] Response not OK, status: ").concat(response.status, " ").concat(response.statusText));
1273
1320
  response.text().then(function(errorMessage) {
1274
- console.log(" Error message:", errorMessage);
1275
- invokeErrorCallback(response.status, errorMessage, callbackPtr);
1321
+ console.error(" Response Body: ".concat(errorMessage));
1322
+ invokeErrorCallback(response.status, errorMessage, "HTTP ".concat(response.status, " ").concat(response.statusText));
1276
1323
  }).catch(function() {
1277
- console.log(" Failed to read error message");
1278
- invokeErrorCallback(response.status, null, callbackPtr);
1324
+ console.error(" Failed to read error response body");
1325
+ invokeErrorCallback(response.status, "HTTP ".concat(response.status, " ").concat(response.statusText), "Could not read response body");
1279
1326
  });
1280
1327
  return;
1281
1328
  }
1329
+ console.log("[SUCCESS] [Request ".concat(requestId, "] Response OK, status: ").concat(response.status));
1282
1330
  var contentType = response.headers.get("content-type") || "";
1331
+ console.log(" Content-Type: ".concat(contentType));
1283
1332
  var binaryExtensions = [
1284
1333
  ".png",
1285
1334
  ".jpg",
@@ -1320,33 +1369,104 @@ var Balancy = function() {
1320
1369
  return contentType.toLowerCase().includes(type);
1321
1370
  });
1322
1371
  var isBinary = contentType.includes("application/octet-stream") || hasBinaryExtension || !isTextMimeType && !contentType.includes("charset");
1372
+ console.log(" Detected as: ".concat(isBinary ? "BINARY" : "TEXT", " data"));
1323
1373
  if (isBinary) {
1324
1374
  response.arrayBuffer().then(function(arrayBuffer) {
1325
1375
  var dataSize = arrayBuffer.byteLength;
1376
+ console.log("[DATA] [Request ".concat(requestId, "] Binary data received: ").concat(dataSize, " bytes"));
1377
+ if (dataSize <= 0 || dataSize > 104857600) {
1378
+ console.error("[ERROR] [Request ".concat(requestId, "] Invalid binary data size: ").concat(dataSize));
1379
+ invokeErrorCallback(-1, "Invalid binary data size: ".concat(dataSize), "");
1380
+ return;
1381
+ }
1326
1382
  var dataPtr = Module._malloc(dataSize);
1383
+ if (!dataPtr) {
1384
+ console.error("[ERROR] [Request ".concat(requestId, "] Failed to allocate ").concat(dataSize, " bytes for binary data"));
1385
+ invokeErrorCallback(-1, "Memory allocation failed for binary data", "");
1386
+ return;
1387
+ }
1388
+ console.log("[MEMORY] [Request ".concat(requestId, "] Allocated ").concat(dataSize, " bytes for binary data at ").concat(dataPtr));
1327
1389
  var dataView = new Uint8Array(arrayBuffer);
1328
1390
  Module.HEAPU8.set(dataView, dataPtr);
1329
- Module["dynCall_viii"](binaryCallbackPtr, dataPtr, dataSize, callbackPtr);
1391
+ try {
1392
+ if (!binaryCallbackPtr || !callbackPtr) {
1393
+ console.error("[ERROR] [Request ".concat(requestId, "] Invalid binary callback pointers: binary=").concat(binaryCallbackPtr, ", callback=").concat(callbackPtr));
1394
+ Module._free(dataPtr);
1395
+ return;
1396
+ }
1397
+ if (typeof Module["dynCall_viii"] !== "function") {
1398
+ console.error("[ERROR] [Request ".concat(requestId, "] dynCall_viii function not available for binary callback"));
1399
+ Module._free(dataPtr);
1400
+ return;
1401
+ }
1402
+ Module["dynCall_viii"](binaryCallbackPtr, dataPtr, dataSize, callbackPtr);
1403
+ console.log("[SUCCESS] [Request ".concat(requestId, "] Binary callback completed successfully"));
1404
+ if (requestContextPtr) {
1405
+ console.log("[MEMORY] [Request ".concat(requestId, "] Cleaning up RequestContext at ").concat(requestContextPtr));
1406
+ Module._free(requestContextPtr);
1407
+ }
1408
+ } catch (error) {
1409
+ console.error("[ERROR] [Request ".concat(requestId, "] Error calling binary callback:"), error);
1410
+ invokeErrorCallback(-1, "Binary callback error: " + error.message, "");
1411
+ }
1330
1412
  Module._free(dataPtr);
1413
+ console.log("[MEMORY] [Request ".concat(requestId, "] Freed binary data memory at ").concat(dataPtr));
1331
1414
  }).catch(function(error) {
1332
- console.log(" Error reading binary data:", error);
1333
- invokeErrorCallback(-1, error.message, callbackPtr);
1415
+ console.error("[ERROR] [Request ".concat(requestId, "] Error reading binary data:"), error);
1416
+ invokeErrorCallback(-1, error.message, "Failed to read binary response");
1334
1417
  });
1335
1418
  } else {
1336
1419
  response.text().then(function(data) {
1337
1420
  var dataLength = lengthBytesUTF8(data);
1421
+ console.log("[DATA] [Request ".concat(requestId, "] Text data received: ").concat(dataLength, " bytes"));
1422
+ if (data.length > 0) {
1423
+ console.log(" Preview: ".concat(data.substring(0, 200)).concat(data.length > 200 ? "..." : ""));
1424
+ }
1425
+ if (dataLength <= 0 || dataLength > 104857600) {
1426
+ console.error("[ERROR] [Request ".concat(requestId, "] Invalid text data size: ").concat(dataLength));
1427
+ invokeErrorCallback(-1, "Invalid text data size: ".concat(dataLength), "");
1428
+ return;
1429
+ }
1338
1430
  var dataPtr = Module._malloc(dataLength + 1);
1339
- stringToUTF8(data, dataPtr, dataLength + 1);
1340
- Module["dynCall_viii"](successCallbackPtr, dataPtr, dataLength, callbackPtr);
1431
+ if (!dataPtr) {
1432
+ console.error("[ERROR] [Request ".concat(requestId, "] Failed to allocate ").concat(dataLength + 1, " bytes for text data"));
1433
+ invokeErrorCallback(-1, "Memory allocation failed for text data", "");
1434
+ return;
1435
+ }
1436
+ console.log("[MEMORY] [Request ".concat(requestId, "] Allocated ").concat(dataLength + 1, " bytes for text data at ").concat(dataPtr));
1437
+ try {
1438
+ stringToUTF8(data, dataPtr, dataLength + 1);
1439
+ if (!successCallbackPtr || !callbackPtr) {
1440
+ console.error("[ERROR] [Request ".concat(requestId, "] Invalid text callback pointers: success=").concat(successCallbackPtr, ", callback=").concat(callbackPtr));
1441
+ Module._free(dataPtr);
1442
+ return;
1443
+ }
1444
+ if (typeof Module["dynCall_viii"] !== "function") {
1445
+ console.error("[ERROR] [Request ".concat(requestId, "] dynCall_viii function not available for text callback"));
1446
+ Module._free(dataPtr);
1447
+ return;
1448
+ }
1449
+ Module["dynCall_viii"](successCallbackPtr, dataPtr, dataLength, callbackPtr);
1450
+ console.log("[SUCCESS] [Request ".concat(requestId, "] Text callback completed successfully"));
1451
+ if (requestContextPtr) {
1452
+ console.log("[MEMORY] [Request ".concat(requestId, "] Cleaning up RequestContext at ").concat(requestContextPtr));
1453
+ Module._free(requestContextPtr);
1454
+ }
1455
+ } catch (error) {
1456
+ console.error("[ERROR] [Request ".concat(requestId, "] Error calling text callback:"), error);
1457
+ invokeErrorCallback(-1, "Text callback error: " + error.message, "");
1458
+ }
1341
1459
  Module._free(dataPtr);
1460
+ console.log("[MEMORY] [Request ".concat(requestId, "] Freed text data memory at ").concat(dataPtr));
1342
1461
  }).catch(function(error) {
1343
- console.log(" Error reading text data:", error);
1344
- invokeErrorCallback(-1, error.message, callbackPtr);
1462
+ console.error("[ERROR] [Request ".concat(requestId, "] Error reading text data:"), error);
1463
+ invokeErrorCallback(-1, error.message, "Failed to read text response");
1345
1464
  });
1346
1465
  }
1347
1466
  }).catch(function(error) {
1348
- console.log("❌ Fetch error:", error);
1349
- invokeErrorCallback(-1, error.message, callbackPtr);
1467
+ var duration = performance.now() - startTime;
1468
+ console.error("[ERROR] [Request ".concat(requestId, "] Fetch error after ").concat(duration.toFixed(2), "ms:"), error);
1469
+ invokeErrorCallback(-1, error.message, "Network fetch failed");
1350
1470
  });
1351
1471
  }
1352
1472
  function js_call_typescript_bridge_send_ack(connectionId, ackId, responseData) {
@@ -7380,6 +7500,8 @@ var Balancy = function() {
7380
7500
  Module["__Z29jsbalancyHardPurchaseShopSlotPN7Balancy4Data8BaseDataEPNS_4Core11PaymentInfoEN10emscripten3valEb"] = createExportWrapper("_Z29jsbalancyHardPurchaseShopSlotPN7Balancy4Data8BaseDataEPNS_4Core11PaymentInfoEN10emscripten3valEb", 4);
7381
7501
  Module["__Z30jsbalancyHardPurchaseGameOfferPN7Balancy4Data8BaseDataEPNS_4Core11PaymentInfoEN10emscripten3valEb"] = createExportWrapper("_Z30jsbalancyHardPurchaseGameOfferPN7Balancy4Data8BaseDataEPNS_4Core11PaymentInfoEN10emscripten3valEb", 4);
7382
7502
  Module["__Z35jsbalancyHardPurchaseGameOfferGroupPN7Balancy4Data8BaseDataEPNS_5Utils15JsonBasedObjectEPNS_4Core11PaymentInfoEN10emscripten3valEb"] = createExportWrapper("_Z35jsbalancyHardPurchaseGameOfferGroupPN7Balancy4Data8BaseDataEPNS_5Utils15JsonBasedObjectEPNS_4Core11PaymentInfoEN10emscripten3valEb", 5);
7503
+ Module["__Z29jsbalancyAuth_NameAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_N10emscripten3valE"] = createExportWrapper("_Z29jsbalancyAuth_NameAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_N10emscripten3valE", 3);
7504
+ Module["__Z29jsbalancyLink_NameAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_bN10emscripten3valE"] = createExportWrapper("_Z29jsbalancyLink_NameAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_bN10emscripten3valE", 4);
7383
7505
  Module["__Z35jsbalancyDailyBonus_claimNextRewardPN7Balancy4Data8BaseDataE"] = createExportWrapper("_Z35jsbalancyDailyBonus_claimNextRewardPN7Balancy4Data8BaseDataE", 1);
7384
7506
  Module["__Z38jsbalancyDailyBonus_canClaimNextRewardPN7Balancy4Data8BaseDataE"] = createExportWrapper("_Z38jsbalancyDailyBonus_canClaimNextRewardPN7Balancy4Data8BaseDataE", 1);
7385
7507
  Module["__Z47jsbalancyDailyBonus_getSecondsTillTheNextRewardPN7Balancy4Data8BaseDataE"] = createExportWrapper("_Z47jsbalancyDailyBonus_getSecondsTillTheNextRewardPN7Balancy4Data8BaseDataE", 1);
@@ -7499,8 +7621,8 @@ var Balancy = function() {
7499
7621
  Module["_balancyGetProductsIdAndType"] = createExportWrapper("balancyGetProductsIdAndType", 1);
7500
7622
  Module["_balancyGetParsedObject"] = createExportWrapper("balancyGetParsedObject", 3);
7501
7623
  Module["_balancyAuth_NameAndPassword"] = createExportWrapper("balancyAuth_NameAndPassword", 3);
7624
+ Module["_balancyLink_NameAndPassword"] = createExportWrapper("balancyLink_NameAndPassword", 4);
7502
7625
  Module["__Z22jsbalancyAuth_DeviceIdNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEN10emscripten3valE"] = createExportWrapper("_Z22jsbalancyAuth_DeviceIdNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEN10emscripten3valE", 2);
7503
- Module["__Z29jsbalancyAuth_NameAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_N10emscripten3valE"] = createExportWrapper("_Z29jsbalancyAuth_NameAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_N10emscripten3valE", 3);
7504
7626
  Module["__Z30jsbalancyAuth_EmailAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_N10emscripten3valE"] = createExportWrapper("_Z30jsbalancyAuth_EmailAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_N10emscripten3valE", 3);
7505
7627
  Module["_balancyInventory_AddItems"] = createExportWrapper("balancyInventory_AddItems", 2);
7506
7628
  Module["_balancyInventory_RemoveItems"] = createExportWrapper("balancyInventory_RemoveItems", 2);