Initial commit

This commit is contained in:
janisslsm committed 2026-07-27 16:20:00 +03:00
commit af3b49f756
16065 files changed
+2938410

No files matched your search

@@ -0,0 +1,72 @@
/* Metro module 14063; source: modules/collectibles/native/hooks/useCardLayout.tsx; dependencies: [10020, 1478, 2] */
function _fun106622(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#106622, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14260:6, offset: 0x022e3144, size: 125 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const calculateTotalGaps_106623 = function(a0, a1) {
var COLLECTIBLES_SHOP_CARD_GAP = require(dependencyMap[0]).COLLECTIBLES_SHOP_CARD_GAP;
return a1 + COLLECTIBLES_SHOP_CARD_GAP * (a0 - 1);
};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/native/hooks/useCardLayout.tsx');
exports.useCardLayout = useCardLayout;
}
function useCardLayout() { // fn#106625, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14260:324, offset: 0x022e31f6, size: 539 bytes, params: 1, frame: 26
var r0;
var r32;
var r15;
var value11;
var value12;
const value2 = 1;
const width = importDefault(dependencyMap[value2])().width;
const r2 = width >= 320 ? 2 : value2;
const value4 = 2;
if (r2 < value4) {
return {columns: r2, cardWidth: undefined, rowWidth: undefined};
}
const r6 = width >= 768 ? 4 : value4;
const COLLECTIBLES_SHOP_CARD_WIDTH = (require(10020) /* metro dependency 10020: CollectiblesShopCardV2 */).COLLECTIBLES_SHOP_CARD_WIDTH;
const value6 = COLLECTIBLES_SHOP_CARD_WIDTH * r2;
const COLLECTIBLES_SHOP_CARD_GAP = (require(10020) /* metro dependency 10020: CollectiblesShopCardV2 */).COLLECTIBLES_SHOP_CARD_GAP;
const value7 = width - (value6 + COLLECTIBLES_SHOP_CARD_GAP * (r2 - value2));
const r3 = value7 < value4 * COLLECTIBLES_SHOP_CARD_GAP ? global.Math.max(4,
value7) : value4 * COLLECTIBLES_SHOP_CARD_GAP;
const value10 = calculateCardWidth_106624(r2, width, r3);
const COLLECTIBLES_SHOP_CARD_MAX_WIDTH = (require(10020) /* metro dependency 10020: CollectiblesShopCardV2 */).COLLECTIBLES_SHOP_CARD_MAX_WIDTH;
if (value10 > COLLECTIBLES_SHOP_CARD_MAX_WIDTH) {
if (r2 < r6) {
r0 = r2;
while (true) {
value11 = typeof r0 === 'bigint' ? r0 + 1n : +r0 + 1;
value12 = calculateCardWidth_106624(value11, width, r3);
if (!(value12 > COLLECTIBLES_SHOP_CARD_MAX_WIDTH)) {
r32 = value11;
r15 = value12;
break;
}
if (value11 < r6) {
r0 = value11;
continue;
}
r32 = value11;
r15 = value12;
break;
}
} else {
r32 = r2;
r15 = value10;
}
} else {
r32 = r2;
r15 = value10;
}
const Math = global.Math;
const min = Math.min;
const Math2 = global.Math;
const value14 = Reflect.apply(min, Math, [Math2.max(r15, COLLECTIBLES_SHOP_CARD_WIDTH),
COLLECTIBLES_SHOP_CARD_MAX_WIDTH]);
return value14 * r32 + calculateTotalGaps_106623(r32, r3) > width && r32 > value2 ? {columns: value2,
cardWidth: undefined, rowWidth: undefined} : {columns: r32, cardWidth: value14,
rowWidth: value14 * r32 + COLLECTIBLES_SHOP_CARD_GAP * (r32 - value2) + r3};
}
@@ -0,0 +1,74 @@
/* Metro module 14049; source: modules/collectibles/native/hooks/useFilteredAndSortedProducts.tsx; dependencies: [31, 1878, 663, 14050, 14051, 14052, 566, 3802, 5133, 2] */
function _fun106540(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#106540, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14246:6, offset: 0x022dfef2, size: 170 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const env0_5 = (require(663) /* metro dependency 663: CollectiblesShopConstants */).CollectiblesMobileShopScreen;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/native/hooks/useFilteredAndSortedProducts.tsx');
exports.useFilteredAndSortedProducts = useFilteredAndSortedProducts;
}
function usePriceFilter(a0) { // fn#106541, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14246:170, offset: 0x022dff9c, size: 145 bytes, params: 2, frame: 18
const ORBS = CollectiblesMobileShopScreen.ORBS;
const value2 = a0 === ORBS;
const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getCurrentUser();
});
return env0_3.useCallback(function(a0) {
var r0;
var value = a0;
if (result) {
value = value.filter(_fun106544);
r0 = value;
} else {
r0 = value;
}
return r0;
}, [value2, (importDefault(3802) /* metro dependency 3802: PremiumUtils */).canUseShopDiscounts(currentUser)]);
}
function useFilteredAndSortedProducts({products, maxProducts, bypassAndroidUnsyncedFilter, screen}) { // fn#106545, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14246:531, offset: 0x022e0094, size: 224 bytes, params: 2, frame: 22
const value2 = (require(14050) /* metro dependency 14050: useBadBundleFilter */).useBadBundleFilter();
const env0_3 = value2;
const value3 = (require(14051) /* metro dependency 14051: useAndroidUnsyncedFilter */).useAndroidUnsyncedFilter();
const value4 = usePriceFilter(screen);
const binding = env0_3;
let value = binding.useMemo(_fun106546, [value2, value3, products, bypassAndroidUnsyncedFilter, value4]);
value = (require(14052) /* metro dependency 14052: usePurchasedProductsSort */).usePurchasedProductsSort(value);
return binding.useMemo(_fun106549, [value, maxProducts]);
}
function _fun106543(a0) { // fn#106543, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14246:305, offset: 0x022e002d, size: 37 bytes, params: 2, frame: 12
var r0;
let value = a0;
if (result) {
value = value.filter(_fun106544);
r0 = value;
} else {
r0 = value;
}
return r0;
}
function _fun106546() { // fn#106546, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14246:706, offset: 0x022e0174, size: 74 bytes, params: 1, frame: 13
const items2 = [bypassAndroidUnsyncedFilter ? function(a0) {
return a0;
} : env0_4, env0_3, env0_5];
return items2.reduce(function(a0, a1) {
return a1(a0);
}, products);
}
function _fun106549() { // fn#106549, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14246:836, offset: 0x022e01be, size: 42 bytes, params: 1, frame: 14
return maxProducts != null ? env0_6.slice(0, maxProducts) : env0_6;
}
function _fun106544(a0) { // fn#106544, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14246:320, offset: 0x022e0052, size: 66 bytes, params: 2, frame: 12
let value = environment.__proto__.__proto__;
const getProductOrbPrice = (require(5133) /* metro dependency 5133: CollectiblesProductUtils */).getProductOrbPrice;
value = Reflect.apply(getProductOrbPrice, value, [{product: a0, hasShopDiscount: env1_1}]);
return value != null;
}
@@ -0,0 +1,34 @@
/* Metro module 10147; source: modules/collectibles/native/hooks/useMobileCollectiblesPurchaseSKU.android.tsx; dependencies: [1878, 661, 566, 3802, 10148, 2] */
function _fun79096(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79096, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10333:6, offset: 0x01e44d30, size: 140 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const env0_4 = (require(661) /* metro dependency 661: Constants */).PriceSetAssignmentPurchaseTypes;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/native/hooks/useMobileCollectiblesPurchaseSKU.android.tsx');
exports.default = _default_79097;
}
function _default_79097(a0) { // fn#79097, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10333:157, offset: 0x01e44dbc, size: 253 bytes, params: 2, frame: 20
var object2;
const product = a0.product;
let value = null;
const value2 = Object.create(value);
value2.product = 0;
const value3 = copyDataProperties({}, a0, value2, undefined);
const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getCurrentUser();
});
const r7 = (importDefault(3802) /* metro dependency 3802: PremiumUtils */).canUseShopDiscounts(currentUser) ? PriceSetAssignmentPurchaseTypes.MOBILE_PREMIUM_TIER_2 : PriceSetAssignmentPurchaseTypes.MOBILE;
const googleSkuIds = product.googleSkuIds;
const r6 = value != googleSkuIds ? googleSkuIds : {};
const r4 = value == currentUser ? value : value != r6[r7] ? r6[r7] : value;
value = importDefault(10148) /* metro dependency 10148: useMobilePurchaseSKUAndroid */;
object2 = {};
copyDataProperties(object2, value3, value2);
object2['skuId'] = product.skuId;
object2['platformSkuId'] = r4;
object2['isFreeForStaffSelfPurchase'] = true;
return value(object2);
}
@@ -0,0 +1,30 @@
/* Metro module 14047; source: modules/collectibles/native/hooks/useScrollToInitialIndexOnce.tsx; dependencies: [31, 2] */
function _fun106528(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#106528, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14244:6, offset: 0x022df4ca, size: 115 bytes, params: 8, frame: 17
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = importAll(31) /* metro dependency 31 */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/native/hooks/useScrollToInitialIndexOnce.tsx');
exports.INITIAL_SCROLL_DELAY_MS = 100;
exports.useScrollToInitialIndexOnce = useScrollToInitialIndexOnce;
}
function useScrollToInitialIndexOnce({initialScrollIndex, shouldScroll, flashListRef, afterMs}) { // fn#106529, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14244:265, offset: 0x022df53d, size: 121 bytes, params: 2, frame: 18
const env0_0 = initialScrollIndex;
afterMs = afterMs === undefined ? 100 : afterMs;
const binding = env0_0;
const env0_4 = binding.useRef(false);
binding.useEffect(_fun106530, [shouldScroll, initialScrollIndex, afterMs, flashListRef]);
}
function _fun106530() { // fn#106530, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14244:402, offset: 0x022df5b6, size: 83 bytes, params: 1, frame: 13
if (initialScrollIndex != null && shouldScroll && !env0_4.current) {
env0_4.current = true;
global.setTimeout(function() {
var current = flashListRef.current;
if (current != null) {
current.scrollToIndex({animated: true, index: initialScrollIndex});
}
}, afterMs);
}
}
@@ -0,0 +1,177 @@
/* Metro module 10022; source: modules/collectibles/native/hooks/useTrackShopCardImpression.tsx; dependencies: [31, 661, 10023, 6771, 1478, 7594, 3802, 5134, 683, 8742, 480, 5133, 2] */
function _fun78280(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78280, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10208:6, offset: 0x01e23fcc, size: 165 bytes, params: 8, frame: 18
const env0_0 = require;
const trackOnConsecutiveVisibility = function(a0, a1, a2, a3) {
if (a0) {
if (a1.current && !a2.current) {
a3();
a2.current = true;
}
} else {
a2.current = false;
}
a1.current = a0;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
const env0_4 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/native/hooks/useTrackShopCardImpression.tsx');
exports.useTrackShopCardImpression = useTrackShopCardImpression;
}
function isVisibleAtThreshold(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78282, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10208:247, offset: 0x01e240b5, size: 175 bytes, params: 8, frame: 21
let Math = global.Math;
let max = Math.max;
const Math2 = global.Math;
let value = Math2.min(require + importAll, exports);
const Math3 = global.Math;
value = Reflect.apply(max, Math, [0, value - Math3.max(require, 0)]);
Math = global.Math;
max = Math.max;
const Math4 = global.Math;
const value2 = Math4.min(global + importDefault, module);
const Math5 = global.Math;
value *= Reflect.apply(max, Math, [0, value2 - Math5.max(global, 0)]);
const value3 = importDefault * importAll;
return value3 > 0 && value > 0 && value / value3 >= dependencyMap;
}
function useTrackShopCardImpression(a0, a1, a2) { // fn#78283, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10208:540, offset: 0x01e24164, size: 622 bytes, params: 4, frame: 27
const env0_0 = a0;
const env0_1 = a1;
const env0_2 = a2;
const value2 = undefined;
const value3 = (require(10023) /* metro dependency 10023: CollectiblesAnalyticsContext */).useCollectiblesAnalyticsContext();
const env0_3 = value3;
const analyticsLocations = (importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */)().analyticsLocations;
const {width, height} = (importDefault(1478) /* metro dependency 1478: useWindowDimensionsNative */)();
const value5 = (require(7594) /* metro dependency 7594: useCurrentUser */).useCurrentUser();
const canUseCollectibles2 = (importDefault(3802) /* metro dependency 3802: PremiumUtils */).canUseCollectibles(value5);
const shopDiscountSource = (require(5134) /* metro dependency 5134: CollectiblesUtils */).getShopDiscountSource(value5);
const binding = env0_3;
const value7 = binding.useRef(null);
const env0_10 = binding.useRef(null);
const env0_11 = binding.useRef({windowWidth: width, windowHeight: height});
const env0_12 = binding.useRef(false);
const env0_13 = binding.useRef(false);
const env0_14 = binding.useRef(false);
const env0_15 = binding.useRef(false);
binding.useEffect(_fun78284, [width, height]);
env0_3.useEffect(_fun78287, [a2, binding.useCallback(_fun78285, [canUseCollectibles2,
value3 == null ? value2 : value3.sessionId, value3 == null ? value2 : value3.tilePosition,
value3 == null ? value2 : value3.pageCategory, value3 == null ? value2 : value3.pageSection,
value3 == null ? value2 : value3.categoryPosition, a0]), env0_3.useCallback(_fun78286, [a0, a1,
value3 == null ? value2 : value3.cardId, value3 == null ? value2 : value3.sessionId,
value3 == null ? value2 : value3.tilePosition, analyticsLocations, shopDiscountSource])]);
return value7;
}
function _fun78284() { // fn#78284, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10208:939, offset: 0x01e243d2, size: 37 bytes, params: 1, frame: 4
env0_11.current = {windowWidth: width, windowHeight: height};
}
function _fun78285() { // fn#78285, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10208:1015, offset: 0x01e243f7, size: 390 bytes, params: 1, frame: 21
var r9;
var r5;
var value3;
var moduleValue;
var value6;
var moduleValue2;
const value2 = null;
if (value2 != env0_0) {
value3 = environment.__proto__;
moduleValue = require(5134) /* metro dependency 5134: CollectiblesUtils */;
r9 = moduleValue.getPriceForCollectiblesProduct(env0_0, env0_7, true);
} else {
r9 = value2;
}
const value5 = undefined;
if (value2 != env0_0) {
value6 = environment.__proto__;
moduleValue2 = require(5134) /* metro dependency 5134: CollectiblesUtils */;
r5 = moduleValue2.getStrikeThroughPriceAmountForCollectiblesProduct(env0_0, env0_7, true);
} else {
r5 = value5;
}
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const COLLECTIBLES_TILE_IMPRESSION = AnalyticEvents.COLLECTIBLES_TILE_IMPRESSION;
const object2 = {};
object2.collectibles_shop_session_id = value2 == env0_3 ? value5 : env0_3.sessionId;
object2.sku_id = env0_0.skuId;
object2.display_price = value2 == r9 ? value5 : r9.amount;
object2.display_price_currency = value2 == r9 ? value5 : r9.currency.toString();
object2.display_price_strikethrough = r5;
object2.position = value2 == env0_3 ? value5 : env0_3.tilePosition;
object2.page_category = value2 == env0_3 ? value5 : env0_3.pageCategory;
object2.page_section = value2 == env0_3 ? value5 : env0_3.pageSection;
object2.category_position = value2 == env0_3 ? value5 : env0_3.categoryPosition;
object2.type = 'product';
Reflect.apply(track, defaultImport, [COLLECTIBLES_TILE_IMPRESSION, object2]);
return value5;
}
function _fun78286() { // fn#78286, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10208:1784, offset: 0x01e2457d, size: 290 bytes, params: 1, frame: 21
const value = environment.__proto__;
const value2 = undefined;
const useTrackImpressionModule = require(8742) /* metro dependency 8742: useTrackImpression */;
const trackImpression = useTrackImpressionModule.trackImpression;
const object3 = {};
const ImpressionNames = (require(480) /* metro dependency 480: AnalyticsUtils */).ImpressionNames;
const SHOP_CARD = ImpressionNames.SHOP_CARD;
object3.name = SHOP_CARD;
const ImpressionTypes = (require(480) /* metro dependency 480: AnalyticsUtils */).ImpressionTypes;
const VIEW = ImpressionTypes.VIEW;
object3.type = VIEW;
const object4 = {};
object4.sku_id = require.skuId;
object4.card_id = env0_3 == null ? value2 : env0_3.cardId;
object4.shop_session_id = env0_3 == null ? value2 : env0_3.sessionId;
object4.position_in_section = env0_3 == null ? value2 : env0_3.tilePosition;
object4.product_sku_ids = (require(5133) /* metro dependency 5133: CollectiblesProductUtils */).getProductSkuIds(env0_0);
object4.location_stack = analyticsLocations;
object4.discount_source = (require(5134) /* metro dependency 5134: CollectiblesUtils */).getAnalyticsShopDiscountSource(env0_8);
object3.properties = object4;
Reflect.apply(trackImpression, useTrackImpressionModule, [object3, false, true]);
return value2;
}
function _fun78287() { // fn#78287, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10208:2284, offset: 0x01e2469f, size: 64 bytes, params: 1, frame: 15
if (importDefault) {
env0_10.current = global.setInterval(_fun78288, 1000);
return _fun78290;
}
}
function _fun78288() { // fn#78288, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10208:2324, offset: 0x01e246df, size: 51 bytes, params: 1, frame: 11
if (env1_9.current != null) {
env1_9.current.measure(_fun78289);
}
}
function _fun78290() { // fn#78290, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10208:2593, offset: 0x01e247a5, size: 94 bytes, params: 1, frame: 14
var clearInterval;
var binding;
if (env1_10.current !== null) {
clearInterval = global.clearInterval;
binding = env1_10;
clearInterval(binding.current);
binding.current = null;
}
env1_12.current = false;
env1_13.current = false;
env1_14.current = false;
env1_15.current = false;
}
function _fun78289(a0, a1, a2, a3, a4, a5) { // fn#78289, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10208:2365, offset: 0x01e24712, size: 147 bytes, params: 7, frame: 26
const {windowWidth, windowHeight} = env2_11.current;
const isVisibleAtThresholdBinding = isVisibleAtThreshold;
const isVisibleAtThreshold2 = isVisibleAtThresholdBinding(a4, a5, a2, a3, windowWidth, windowHeight, 0);
const isVisibleAtThreshold3 = isVisibleAtThresholdBinding(a4, a5, a2, a3, windowWidth, windowHeight, 0.5);
const trackOnConsecutiveVisibilityBinding = trackOnConsecutiveVisibility;
trackOnConsecutiveVisibilityBinding(isVisibleAtThreshold2, env2_12, env2_13, env2_16);
trackOnConsecutiveVisibilityBinding(isVisibleAtThreshold3, env2_14, env2_15, env2_17);
}
@@ -0,0 +1,27 @@
/* Metro module 10107; source: modules/collectibles/native/hooks/useVirtualCurrencyData.tsx; dependencies: [31, 5133, 10069, 2] */
function _fun78902(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78902, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10293:6, offset: 0x01e3b3ab, size: 114 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importAll(31) /* metro dependency 31 */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/native/hooks/useVirtualCurrencyData.tsx');
exports.useVirtualCurrencyData = useVirtualCurrencyData;
}
function useVirtualCurrencyData(a0, a1) { // fn#78903, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10293:225, offset: 0x01e3b41d, size: 145 bytes, params: 3, frame: 18
const productOrbPrice = (require(5133) /* metro dependency 5133: CollectiblesProductUtils */).getProductOrbPrice({product: a0,
hasShopDiscount: a1});
const hooksModule = require(10069) /* metro dependency 10069: hooks */;
const useFetchVirtualCurrencyBalance = hooksModule.useFetchVirtualCurrencyBalance;
const balance = Reflect.apply(useFetchVirtualCurrencyBalance, hooksModule, []).balance;
const binding = env0_2;
const useMemo = binding.useMemo;
return {price: productOrbPrice, balance: balance, canAfford: Reflect.apply(useMemo, binding, [_fun78904,
[productOrbPrice, balance]])};
}
function _fun78904() { // fn#78904, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10293:361, offset: 0x01e3b4ae, size: 51 bytes, params: 1, frame: 4
const value2 = null;
return value2 == env0_0 || value2 == balance ? value2 : env0_0.amount <= balance;
}