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