diff --git a/frontend/.metro-cache/cache/64/1bd1b25563f9b41b3689f1315df981d7862307afc1533b8925270797e73b9e64db0a46 b/frontend/.metro-cache/cache/64/1bd1b25563f9b41b3689f1315df981d7862307afc1533b8925270797e73b9e64db0a46 new file mode 100644 index 00000000..5638efbb --- /dev/null +++ b/frontend/.metro-cache/cache/64/1bd1b25563f9b41b3689f1315df981d7862307afc1533b8925270797e73b9e64db0a46 @@ -0,0 +1 @@ +{"dependencies":[],"output":[{"data":{"code":"__d(function (global, require, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {\n \"use strict\";\n\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n Object.defineProperty(exports, \"NETWORK_ENDPOINTS\", {\n enumerable: true,\n get: function () {\n return NETWORK_ENDPOINTS;\n }\n });\n Object.defineProperty(exports, \"CHAIN_CONFIG\", {\n enumerable: true,\n get: function () {\n return CHAIN_CONFIG;\n }\n });\n Object.defineProperty(exports, \"ASSET_IDS\", {\n enumerable: true,\n get: function () {\n return ASSET_IDS;\n }\n });\n Object.defineProperty(exports, \"EXPLORER_URLS\", {\n enumerable: true,\n get: function () {\n return EXPLORER_URLS;\n }\n });\n Object.defineProperty(exports, \"WALLET_ERRORS\", {\n enumerable: true,\n get: function () {\n return WALLET_ERRORS;\n }\n });\n Object.defineProperty(exports, \"formatAddress\", {\n enumerable: true,\n get: function () {\n return formatAddress;\n }\n });\n Object.defineProperty(exports, \"formatBalance\", {\n enumerable: true,\n get: function () {\n return formatBalance;\n }\n });\n Object.defineProperty(exports, \"parseAmount\", {\n enumerable: true,\n get: function () {\n return parseAmount;\n }\n });\n Object.defineProperty(exports, \"getAssetSymbol\", {\n enumerable: true,\n get: function () {\n return getAssetSymbol;\n }\n });\n Object.defineProperty(exports, \"getCurrentEndpoint\", {\n enumerable: true,\n get: function () {\n return getCurrentEndpoint;\n }\n });\n Object.defineProperty(exports, \"initialPolkadotWalletState\", {\n enumerable: true,\n get: function () {\n return initialPolkadotWalletState;\n }\n });\n Object.defineProperty(exports, \"FOUNDER_ADDRESS\", {\n enumerable: true,\n get: function () {\n return FOUNDER_ADDRESS;\n }\n });\n // ========================================\n // PezkuwiChain - Mobile Wallet Configuration\n // ========================================\n // React Native compatible wallet configuration\n\n // ========================================\n // NETWORK ENDPOINTS\n // ========================================\n const NETWORK_ENDPOINTS = {\n local: 'ws://127.0.0.1:9944',\n testnet: 'wss://testnet.pezkuwichain.io',\n beta: 'wss://beta.pezkuwichain.io',\n mainnet: 'wss://mainnet.pezkuwichain.io',\n staging: 'wss://staging.pezkuwichain.io'\n };\n\n // ========================================\n // CHAIN CONFIGURATION\n // ========================================\n const CHAIN_CONFIG = {\n name: 'PezkuwiChain',\n symbol: 'PEZ',\n decimals: 12,\n ss58Format: 42\n };\n\n // ========================================\n // SUBSTRATE ASSET IDs (Assets Pallet)\n // ========================================\n // ⚠️ IMPORTANT: HEZ is the native token and does NOT have an Asset ID\n // Only wrapped/asset tokens are listed here\n const ASSET_IDS = {\n WHEZ: 0,\n // Wrapped HEZ\n PEZ: 1,\n // PEZ utility token\n WUSDT: 2,\n // Wrapped USDT (multisig backed)\n USDT: 3,\n BTC: 4,\n ETH: 5,\n DOT: 6\n };\n\n // ========================================\n // EXPLORER URLS\n // ========================================\n const EXPLORER_URLS = {\n polkadotJs: 'https://polkadot.js.org/apps/?rpc=',\n custom: 'https://explorer.pezkuwichain.io'\n };\n\n // ========================================\n // WALLET ERROR MESSAGES\n // ========================================\n const WALLET_ERRORS = {\n NO_EXTENSION: 'No wallet detected. Please create or import a wallet.',\n NO_ACCOUNTS: 'No accounts found. Please create an account first.',\n CONNECTION_FAILED: 'Failed to connect wallet. Please try again.',\n TRANSACTION_FAILED: 'Transaction failed. Please check your balance and try again.',\n USER_REJECTED: 'User rejected the request.',\n INSUFFICIENT_BALANCE: 'Insufficient balance to complete transaction.',\n INVALID_ADDRESS: 'Invalid address format.',\n API_NOT_READY: 'Blockchain API not ready. Please wait...'\n };\n\n // ========================================\n // UTILITY FUNCTIONS\n // ========================================\n\n /**\n * Format Substrate address for display (SS58 format)\n * @param address - Full substrate address\n * @returns Shortened address string (e.g., \"5GrwV...xQjz\")\n */\n const formatAddress = address => {\n if (!address) return '';\n return `${address.slice(0, 6)}...${address.slice(-4)}`;\n };\n\n /**\n * Format balance from planck to human-readable format\n * @param balance - Balance in smallest unit (planck)\n * @param decimals - Token decimals (default 12 for PEZ)\n * @returns Formatted balance string\n */\n const formatBalance = (balance, decimals = 12) => {\n if (!balance) return '0';\n const value = typeof balance === 'string' ? parseFloat(balance) : balance;\n const formatted = (value / Math.pow(10, decimals)).toFixed(4);\n\n // Remove trailing zeros\n return parseFloat(formatted).toString();\n };\n\n /**\n * Parse human-readable amount to planck (smallest unit)\n * @param amount - Human-readable amount\n * @param decimals - Token decimals\n * @returns Amount in planck\n */\n const parseAmount = (amount, decimals = 12) => {\n const value = typeof amount === 'string' ? parseFloat(amount) : amount;\n return BigInt(Math.floor(value * Math.pow(10, decimals)));\n };\n\n /**\n * Get asset symbol by ID\n * @param assetId - Asset ID from Assets pallet\n * @returns Asset symbol or 'UNKNOWN'\n */\n const getAssetSymbol = assetId => {\n const entry = Object.entries(ASSET_IDS).find(([_, id]) => id === assetId);\n return entry ? entry[0] : 'UNKNOWN';\n };\n\n /**\n * Get current network endpoint\n * Defaults to beta network for testing\n * @returns WebSocket endpoint URL\n */\n const getCurrentEndpoint = () => {\n // For mobile, we default to beta network\n return NETWORK_ENDPOINTS.beta;\n };\n\n // ========================================\n // TYPE DEFINITIONS\n // ========================================\n\n const initialPolkadotWalletState = {\n isConnected: false,\n accounts: [],\n selectedAccount: null,\n balance: '0',\n error: null\n };\n\n // ========================================\n // FOUNDER ADDRESS\n // ========================================\n const FOUNDER_ADDRESS = '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY'; // Satoshi Qazi Muhammed\n});","lineCount":221,"map":[[7,2,12,0,"Object"],[7,8,12,0],[7,9,12,0,"defineProperty"],[7,23,12,0],[7,24,12,0,"exports"],[7,31,12,0],[8,4,12,0,"enumerable"],[8,14,12,0],[9,4,12,0,"get"],[9,7,12,0],[9,18,12,0,"get"],[9,19,12,0],[10,6,12,0],[10,13,12,0,"NETWORK_ENDPOINTS"],[10,30,12,0],[11,4,12,0],[12,2,12,0],[13,2,23,0,"Object"],[13,8,23,0],[13,9,23,0,"defineProperty"],[13,23,23,0],[13,24,23,0,"exports"],[13,31,23,0],[14,4,23,0,"enumerable"],[14,14,23,0],[15,4,23,0,"get"],[15,7,23,0],[15,18,23,0,"get"],[15,19,23,0],[16,6,23,0],[16,13,23,0,"CHAIN_CONFIG"],[16,25,23,0],[17,4,23,0],[18,2,23,0],[19,2,35,0,"Object"],[19,8,35,0],[19,9,35,0,"defineProperty"],[19,23,35,0],[19,24,35,0,"exports"],[19,31,35,0],[20,4,35,0,"enumerable"],[20,14,35,0],[21,4,35,0,"get"],[21,7,35,0],[21,18,35,0,"get"],[21,19,35,0],[22,6,35,0],[22,13,35,0,"ASSET_IDS"],[22,22,35,0],[23,4,35,0],[24,2,35,0],[25,2,48,0,"Object"],[25,8,48,0],[25,9,48,0,"defineProperty"],[25,23,48,0],[25,24,48,0,"exports"],[25,31,48,0],[26,4,48,0,"enumerable"],[26,14,48,0],[27,4,48,0,"get"],[27,7,48,0],[27,18,48,0,"get"],[27,19,48,0],[28,6,48,0],[28,13,48,0,"EXPLORER_URLS"],[28,26,48,0],[29,4,48,0],[30,2,48,0],[31,2,56,0,"Object"],[31,8,56,0],[31,9,56,0,"defineProperty"],[31,23,56,0],[31,24,56,0,"exports"],[31,31,56,0],[32,4,56,0,"enumerable"],[32,14,56,0],[33,4,56,0,"get"],[33,7,56,0],[33,18,56,0,"get"],[33,19,56,0],[34,6,56,0],[34,13,56,0,"WALLET_ERRORS"],[34,26,56,0],[35,4,56,0],[36,2,56,0],[37,2,76,0,"Object"],[37,8,76,0],[37,9,76,0,"defineProperty"],[37,23,76,0],[37,24,76,0,"exports"],[37,31,76,0],[38,4,76,0,"enumerable"],[38,14,76,0],[39,4,76,0,"get"],[39,7,76,0],[39,18,76,0,"get"],[39,19,76,0],[40,6,76,0],[40,13,76,0,"formatAddress"],[40,26,76,0],[41,4,76,0],[42,2,76,0],[43,2,87,0,"Object"],[43,8,87,0],[43,9,87,0,"defineProperty"],[43,23,87,0],[43,24,87,0,"exports"],[43,31,87,0],[44,4,87,0,"enumerable"],[44,14,87,0],[45,4,87,0,"get"],[45,7,87,0],[45,18,87,0,"get"],[45,19,87,0],[46,6,87,0],[46,13,87,0,"formatBalance"],[46,26,87,0],[47,4,87,0],[48,2,87,0],[49,2,102,0,"Object"],[49,8,102,0],[49,9,102,0,"defineProperty"],[49,23,102,0],[49,24,102,0,"exports"],[49,31,102,0],[50,4,102,0,"enumerable"],[50,14,102,0],[51,4,102,0,"get"],[51,7,102,0],[51,18,102,0,"get"],[51,19,102,0],[52,6,102,0],[52,13,102,0,"parseAmount"],[52,24,102,0],[53,4,102,0],[54,2,102,0],[55,2,112,0,"Object"],[55,8,112,0],[55,9,112,0,"defineProperty"],[55,23,112,0],[55,24,112,0,"exports"],[55,31,112,0],[56,4,112,0,"enumerable"],[56,14,112,0],[57,4,112,0,"get"],[57,7,112,0],[57,18,112,0,"get"],[57,19,112,0],[58,6,112,0],[58,13,112,0,"getAssetSymbol"],[58,27,112,0],[59,4,112,0],[60,2,112,0],[61,2,122,0,"Object"],[61,8,122,0],[61,9,122,0,"defineProperty"],[61,23,122,0],[61,24,122,0,"exports"],[61,31,122,0],[62,4,122,0,"enumerable"],[62,14,122,0],[63,4,122,0,"get"],[63,7,122,0],[63,18,122,0,"get"],[63,19,122,0],[64,6,122,0],[64,13,122,0,"getCurrentEndpoint"],[64,31,122,0],[65,4,122,0],[66,2,122,0],[67,2,139,0,"Object"],[67,8,139,0],[67,9,139,0,"defineProperty"],[67,23,139,0],[67,24,139,0,"exports"],[67,31,139,0],[68,4,139,0,"enumerable"],[68,14,139,0],[69,4,139,0,"get"],[69,7,139,0],[69,18,139,0,"get"],[69,19,139,0],[70,6,139,0],[70,13,139,0,"initialPolkadotWalletState"],[70,39,139,0],[71,4,139,0],[72,2,139,0],[73,2,150,0,"Object"],[73,8,150,0],[73,9,150,0,"defineProperty"],[73,23,150,0],[73,24,150,0,"exports"],[73,31,150,0],[74,4,150,0,"enumerable"],[74,14,150,0],[75,4,150,0,"get"],[75,7,150,0],[75,18,150,0,"get"],[75,19,150,0],[76,6,150,0],[76,13,150,0,"FOUNDER_ADDRESS"],[76,28,150,0],[77,4,150,0],[78,2,150,0],[79,2,1,0],[80,2,2,0],[81,2,3,0],[82,2,4,0],[84,2,9,0],[85,2,10,0],[86,2,11,0],[87,2,12,7],[87,8,12,13,"NETWORK_ENDPOINTS"],[87,25,12,30],[87,28,12,33],[88,4,13,2,"local"],[88,9,13,7],[88,11,13,9],[88,32,13,30],[89,4,14,2,"testnet"],[89,11,14,9],[89,13,14,11],[89,44,14,42],[90,4,15,2,"beta"],[90,8,15,6],[90,10,15,8],[90,38,15,36],[91,4,16,2,"mainnet"],[91,11,16,9],[91,13,16,11],[91,44,16,42],[92,4,17,2,"staging"],[92,11,17,9],[92,13,17,11],[93,2,18,0],[93,3,18,1],[95,2,20,0],[96,2,21,0],[97,2,22,0],[98,2,23,7],[98,8,23,13,"CHAIN_CONFIG"],[98,20,23,25],[98,23,23,28],[99,4,24,2,"name"],[99,8,24,6],[99,10,24,8],[99,24,24,22],[100,4,25,2,"symbol"],[100,10,25,8],[100,12,25,10],[100,17,25,15],[101,4,26,2,"decimals"],[101,12,26,10],[101,14,26,12],[101,16,26,14],[102,4,27,2,"ss58Format"],[102,14,27,12],[102,16,27,14],[103,2,28,0],[103,3,28,1],[105,2,30,0],[106,2,31,0],[107,2,32,0],[108,2,33,0],[109,2,34,0],[110,2,35,7],[110,8,35,13,"ASSET_IDS"],[110,17,35,22],[110,20,35,25],[111,4,36,2,"WHEZ"],[111,8,36,6],[111,10,36,8],[111,11,36,9],[112,4,36,13],[113,4,37,2,"PEZ"],[113,7,37,5],[113,9,37,7],[113,10,37,8],[114,4,37,13],[115,4,38,2,"WUSDT"],[115,9,38,7],[115,11,38,9],[115,12,38,10],[116,4,38,13],[117,4,39,2,"USDT"],[117,8,39,6],[117,10,39,8],[117,11,39,9],[118,4,40,2,"BTC"],[118,7,40,5],[118,9,40,7],[118,10,40,8],[119,4,41,2,"ETH"],[119,7,41,5],[119,9,41,7],[119,10,41,8],[120,4,42,2,"DOT"],[120,7,42,5],[120,9,42,7],[121,2,43,0],[121,3,43,10],[123,2,45,0],[124,2,46,0],[125,2,47,0],[126,2,48,7],[126,8,48,13,"EXPLORER_URLS"],[126,21,48,26],[126,24,48,29],[127,4,49,2,"polkadotJs"],[127,14,49,12],[127,16,49,14],[127,52,49,50],[128,4,50,2,"custom"],[128,10,50,8],[128,12,50,10],[129,2,51,0],[129,3,51,1],[131,2,53,0],[132,2,54,0],[133,2,55,0],[134,2,56,7],[134,8,56,13,"WALLET_ERRORS"],[134,21,56,26],[134,24,56,29],[135,4,57,2,"NO_EXTENSION"],[135,16,57,14],[135,18,57,16],[135,73,57,71],[136,4,58,2,"NO_ACCOUNTS"],[136,15,58,13],[136,17,58,15],[136,69,58,67],[137,4,59,2,"CONNECTION_FAILED"],[137,21,59,19],[137,23,59,21],[137,68,59,66],[138,4,60,2,"TRANSACTION_FAILED"],[138,22,60,20],[138,24,60,22],[138,86,60,84],[139,4,61,2,"USER_REJECTED"],[139,17,61,15],[139,19,61,17],[139,47,61,45],[140,4,62,2,"INSUFFICIENT_BALANCE"],[140,24,62,22],[140,26,62,24],[140,73,62,71],[141,4,63,2,"INVALID_ADDRESS"],[141,19,63,17],[141,21,63,19],[141,46,63,44],[142,4,64,2,"API_NOT_READY"],[142,17,64,15],[142,19,64,17],[143,2,65,0],[143,3,65,1],[145,2,67,0],[146,2,68,0],[147,2,69,0],[149,2,71,0],[150,0,72,0],[151,0,73,0],[152,0,74,0],[153,0,75,0],[154,2,76,7],[154,8,76,13,"formatAddress"],[154,21,76,26],[154,24,76,30,"address"],[154,31,76,45],[154,35,76,58],[155,4,77,2],[155,8,77,6],[155,9,77,7,"address"],[155,16,77,14],[155,18,77,16],[155,25,77,23],[155,27,77,25],[156,4,78,2],[156,11,78,9],[156,14,78,12,"address"],[156,21,78,19],[156,22,78,20,"slice"],[156,27,78,25],[156,28,78,26],[156,29,78,27],[156,31,78,29],[156,32,78,30],[156,33,78,31],[156,39,78,37,"address"],[156,46,78,44],[156,47,78,45,"slice"],[156,52,78,50],[156,53,78,51],[156,54,78,52],[156,55,78,53],[156,56,78,54],[156,58,78,56],[157,2,79,0],[157,3,79,1],[159,2,81,0],[160,0,82,0],[161,0,83,0],[162,0,84,0],[163,0,85,0],[164,0,86,0],[165,2,87,7],[165,8,87,13,"formatBalance"],[165,21,87,26],[165,24,87,29,"formatBalance"],[165,25,87,30,"balance"],[165,32,87,54],[165,34,87,56,"decimals"],[165,42,87,64],[165,45,87,67],[165,47,87,69],[165,52,87,82],[166,4,88,2],[166,8,88,6],[166,9,88,7,"balance"],[166,16,88,14],[166,18,88,16],[166,25,88,23],[166,28,88,26],[167,4,89,2],[167,10,89,8,"value"],[167,15,89,13],[167,18,89,16],[167,25,89,23,"balance"],[167,32,89,30],[167,37,89,35],[167,45,89,43],[167,48,89,46,"parseFloat"],[167,58,89,56],[167,59,89,57,"balance"],[167,66,89,64],[167,67,89,65],[167,70,89,68,"balance"],[167,77,89,75],[168,4,90,2],[168,10,90,8,"formatted"],[168,19,90,17],[168,22,90,20],[168,23,90,21,"value"],[168,28,90,26],[168,31,90,29,"Math"],[168,35,90,33],[168,36,90,34,"pow"],[168,39,90,37],[168,40,90,38],[168,42,90,40],[168,44,90,42,"decimals"],[168,52,90,50],[168,53,90,51],[168,55,90,53,"toFixed"],[168,62,90,60],[168,63,90,61],[168,64,90,62],[168,65,90,63],[170,4,92,2],[171,4,93,2],[171,11,93,9,"parseFloat"],[171,21,93,19],[171,22,93,20,"formatted"],[171,31,93,29],[171,32,93,30],[171,33,93,31,"toString"],[171,41,93,39],[171,42,93,40],[171,43,93,41],[172,2,94,0],[172,3,94,1],[174,2,96,0],[175,0,97,0],[176,0,98,0],[177,0,99,0],[178,0,100,0],[179,0,101,0],[180,2,102,7],[180,8,102,13,"parseAmount"],[180,19,102,24],[180,22,102,27,"parseAmount"],[180,23,102,28,"amount"],[180,29,102,51],[180,31,102,53,"decimals"],[180,39,102,61],[180,42,102,64],[180,44,102,66],[180,49,102,79],[181,4,103,2],[181,10,103,8,"value"],[181,15,103,13],[181,18,103,16],[181,25,103,23,"amount"],[181,31,103,29],[181,36,103,34],[181,44,103,42],[181,47,103,45,"parseFloat"],[181,57,103,55],[181,58,103,56,"amount"],[181,64,103,62],[181,65,103,63],[181,68,103,66,"amount"],[181,74,103,72],[182,4,104,2],[182,11,104,9,"BigInt"],[182,17,104,15],[182,18,104,16,"Math"],[182,22,104,20],[182,23,104,21,"floor"],[182,28,104,26],[182,29,104,27,"value"],[182,34,104,32],[182,37,104,35,"Math"],[182,41,104,39],[182,42,104,40,"pow"],[182,45,104,43],[182,46,104,44],[182,48,104,46],[182,50,104,48,"decimals"],[182,58,104,56],[182,59,104,57],[182,60,104,58],[182,61,104,59],[183,2,105,0],[183,3,105,1],[185,2,107,0],[186,0,108,0],[187,0,109,0],[188,0,110,0],[189,0,111,0],[190,2,112,7],[190,8,112,13,"getAssetSymbol"],[190,22,112,27],[190,25,112,31,"assetId"],[190,32,112,46],[190,36,112,59],[191,4,113,2],[191,10,113,8,"entry"],[191,15,113,13],[191,18,113,16,"Object"],[191,24,113,22],[191,25,113,23,"entries"],[191,32,113,30],[191,33,113,31,"ASSET_IDS"],[191,42,113,40],[191,43,113,41],[191,44,113,42,"find"],[191,48,113,46],[191,49,113,47],[191,50,113,48],[191,51,113,49,"_"],[191,52,113,50],[191,54,113,52,"id"],[191,56,113,54],[191,57,113,55],[191,62,113,60,"id"],[191,64,113,62],[191,69,113,67,"assetId"],[191,76,113,74],[191,77,113,75],[192,4,114,2],[192,11,114,9,"entry"],[192,16,114,14],[192,19,114,17,"entry"],[192,24,114,22],[192,25,114,23],[192,26,114,24],[192,27,114,25],[192,30,114,28],[192,39,114,37],[193,2,115,0],[193,3,115,1],[195,2,117,0],[196,0,118,0],[197,0,119,0],[198,0,120,0],[199,0,121,0],[200,2,122,7],[200,8,122,13,"getCurrentEndpoint"],[200,26,122,31],[200,29,122,34,"getCurrentEndpoint"],[200,30,122,34],[200,35,122,48],[201,4,123,2],[202,4,124,2],[202,11,124,9,"NETWORK_ENDPOINTS"],[202,28,124,26],[202,29,124,27,"beta"],[202,33,124,31],[203,2,125,0],[203,3,125,1],[205,2,127,0],[206,2,128,0],[207,2,129,0],[209,2,139,7],[209,8,139,13,"initialPolkadotWalletState"],[209,34,139,60],[209,37,139,63],[210,4,140,2,"isConnected"],[210,15,140,13],[210,17,140,15],[210,22,140,20],[211,4,141,2,"accounts"],[211,12,141,10],[211,14,141,12],[211,16,141,14],[212,4,142,2,"selectedAccount"],[212,19,142,17],[212,21,142,19],[212,25,142,23],[213,4,143,2,"balance"],[213,11,143,9],[213,13,143,11],[213,16,143,14],[214,4,144,2,"error"],[214,9,144,7],[214,11,144,9],[215,2,145,0],[215,3,145,1],[217,2,147,0],[218,2,148,0],[219,2,149,0],[220,2,150,7],[220,8,150,13,"FOUNDER_ADDRESS"],[220,23,150,28],[220,26,150,31],[220,76,150,81],[220,77,150,82],[220,78,150,83],[221,0,150,83],[221,3]],"functionMap":{"names":["","formatAddress","formatBalance","parseAmount","getAssetSymbol","Object.entries.find$argument_0","getCurrentEndpoint"],"mappings":"AAA;6BC2E;CDG;6BEQ;CFO;2BGQ;CHG;8BIO;+CCC,2BD;CJE;kCMO;CNG"},"hasCjsExports":false},"type":"js/module"}]} \ No newline at end of file