// CRITICAL: Import crypto polyfill FIRST before anything else console.log('🚀 [INDEX] Starting app initialization...'); console.log('đŸ“Ļ [INDEX] Loading react-native-get-random-values...'); import 'react-native-get-random-values'; console.log('✅ [INDEX] react-native-get-random-values loaded'); // React Native polyfills for @pezkuwi packages console.log('đŸ“Ļ [INDEX] Loading URL polyfill...'); import 'react-native-url-polyfill/auto'; console.log('✅ [INDEX] URL polyfill loaded'); console.log('đŸ“Ļ [INDEX] Setting up Buffer...'); import { Buffer } from 'buffer'; // Global polyfills for Polkadot.js // @ts-ignore global.Buffer = Buffer; console.log('✅ [INDEX] Buffer configured'); // TextEncoder/TextDecoder polyfill console.log('đŸ“Ļ [INDEX] Setting up TextEncoder/TextDecoder...'); if (typeof global.TextEncoder === 'undefined') { const { TextEncoder, TextDecoder } = require('text-encoding'); // @ts-ignore global.TextEncoder = TextEncoder; // @ts-ignore global.TextDecoder = TextDecoder; console.log('✅ [INDEX] TextEncoder/TextDecoder configured'); } else { console.log('â„šī¸ [INDEX] TextEncoder/TextDecoder already available'); } console.log('đŸ“Ļ [INDEX] Loading Expo...'); import { registerRootComponent } from 'expo'; console.log('✅ [INDEX] Expo loaded'); console.log('đŸ“Ļ [INDEX] Loading App component...'); import App from './App'; console.log('✅ [INDEX] App component loaded'); console.log('đŸŽ¯ [INDEX] All imports successful, registering root component...'); // registerRootComponent calls AppRegistry.registerComponent('main', () => App); // It also ensures that whether you load the app in Expo Go or in a native build, // the environment is set up appropriately registerRootComponent(App);