From b1f33a88d01aa94e470db90c248ea7cf4e184345 Mon Sep 17 00:00:00 2001 From: cat Date: Wed, 4 Feb 2026 17:57:44 +0800 Subject: [PATCH 1/6] feat: coa to eoa migration ui --- FRW/Foundation/Bridge/BridgeModels.swift | 2 + FRW/Modules/EVM/View/EVMTagView.swift | 25 ++++----- .../ReactNativeViewController.swift | 3 + .../Wallet/SideMenu/SideMenuView.swift | 55 +++++++++++++++++++ .../Wallet/SideMenu/SideMenuViewModel.swift | 6 +- FRW/Services/Router/RouteMap+React.swift | 5 ++ 6 files changed, 80 insertions(+), 16 deletions(-) diff --git a/FRW/Foundation/Bridge/BridgeModels.swift b/FRW/Foundation/Bridge/BridgeModels.swift index 9b5c8615..d21951ba 100644 --- a/FRW/Foundation/Bridge/BridgeModels.swift +++ b/FRW/Foundation/Bridge/BridgeModels.swift @@ -23,6 +23,8 @@ enum RNBridge { case onboarding = "onboarding" case receive = "receive" case activity = "activity" + case migration = "Migration" + } enum AccountTypeType: String, Codable { diff --git a/FRW/Modules/EVM/View/EVMTagView.swift b/FRW/Modules/EVM/View/EVMTagView.swift index 57552e52..7de12986 100644 --- a/FRW/Modules/EVM/View/EVMTagView.swift +++ b/FRW/Modules/EVM/View/EVMTagView.swift @@ -23,26 +23,21 @@ struct EVMTagView: View { struct COATagView: View { var body: some View { - - HStack(spacing: 0) { - HStack(spacing: 0) { - Text("EVM") - .font(.inter(size: 8,weight: .w500)) - .foregroundStyle(Color.white) - .offset(x:-4) - - } - .frame(width: 34,height: 10) - .background(Color.Theme.evm) - .cornerRadius(5) + HStack(spacing: 2) { + Text("EVM") + .font(.inter(size: 8, weight: .w500)) + .foregroundStyle(Color.white) + .padding(.leading, 4) + Text("FLOW") - .font(.inter(size: 8,weight: .w500)) + .font(.inter(size: 8, weight: .w500)) .foregroundStyle(Color.black) .frame(width: 32, height: 10) .background(Color.Theme.Accent.green) - .cornerRadius(8) - .offset(x: -10) + .cornerRadius(5) } + .background(Color.Theme.evm) + .cornerRadius(5) } } diff --git a/FRW/Modules/ReactNative/ReactNativeViewController.swift b/FRW/Modules/ReactNative/ReactNativeViewController.swift index 102e409e..e68e0ab5 100644 --- a/FRW/Modules/ReactNative/ReactNativeViewController.swift +++ b/FRW/Modules/ReactNative/ReactNativeViewController.swift @@ -18,6 +18,7 @@ extension ReactNativeViewController { case getStarted = "GetStarted" case keyRotationTip = "KeyRotationTip" case activity = "Activity" + case migration = "Migration" } } @@ -275,6 +276,8 @@ extension RNBridge.InitialProps { case .activity: // TODO: Revisit me return .activity + case .migration: + return .migration } } } diff --git a/FRW/Modules/Wallet/SideMenu/SideMenuView.swift b/FRW/Modules/Wallet/SideMenu/SideMenuView.swift index 66ee0b5d..00347920 100644 --- a/FRW/Modules/Wallet/SideMenu/SideMenuView.swift +++ b/FRW/Modules/Wallet/SideMenu/SideMenuView.swift @@ -155,6 +155,12 @@ struct SideMenuView: View { } } } + + if shouldShowMigrationCard { + migrationInfoCard + .padding(.top, 8) + .padding(.bottom, 8) + } if !vm.allAccounts.isEmpty { Section { @@ -184,6 +190,53 @@ struct SideMenuView: View { .mockPlaceholder(vm.currentAccount == nil) } + var migrationInfoCard: some View { + Button { + vm.onClickMigrationCard() + } label: { + VStack(alignment: .leading, spacing: 6) { + HStack(spacing: 8) { + Text("Account migration required".localized) + .font(.inter(size: 14, weight: .semibold)) + .foregroundStyle(Color.Theme.Text.black8) + .lineLimit(1) + + Spacer() + + Image("device_arrow_right") + .resizable() + .renderingMode(.template) + .foregroundStyle(Color.Theme.Text.black8) + .frame(width: 8, height: 14) + } + + Text("Your account needs to be migrated from".localized) + .font(.inter(size: 12)) + .foregroundStyle(Color.Theme.Text.black3) + .lineLimit(1) + + HStack(spacing: 6) { + COATagView() + Text("to".localized) + .font(.inter(size: 12)) + .foregroundStyle(Color.Theme.Text.black3) + EVMTagView() + } + } + .frame(maxWidth: .infinity, alignment: .leading) + .padding(.horizontal, 16) + .padding(.vertical, 10) + .background(Color.Theme.Accent.green.opacity(0.1)) + .cornerRadius(16) + .overlay( + RoundedRectangle(cornerRadius: 16) + .stroke(Color.Theme.Accent.green, lineWidth: 1) + ) + } + .frame(maxWidth: .infinity, alignment: .leading) + .buttonStyle(ScaleButtonStyle()) + } + var bottomMenu: some View { VStack { Divider() @@ -310,4 +363,6 @@ struct SideMenuView: View { private var showSwitchUserAlert = false private let cPadding = 12.0 + + private var shouldShowMigrationCard: Bool = false } diff --git a/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift b/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift index 59e036a3..c3247bd6 100644 --- a/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift +++ b/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift @@ -115,6 +115,11 @@ class SideMenuViewModel: ObservableObject { Router.route(to: RouteMap.Wallet.enableEVM) } + func onClickMigrationCard() { + NotificationCenter.default.post(name: .toggleSideMenu) + Router.route(to: RouteMap.ReactNative.migration) + } + private func onHiddenAddressesChanged() { // Refresh hidden states for all accounts guard let profile = ProfileManager.shared.currentProfile else { return } @@ -122,4 +127,3 @@ class SideMenuViewModel: ObservableObject { } } - diff --git a/FRW/Services/Router/RouteMap+React.swift b/FRW/Services/Router/RouteMap+React.swift index 6ef6549c..4416cbf8 100644 --- a/FRW/Services/Router/RouteMap+React.swift +++ b/FRW/Services/Router/RouteMap+React.swift @@ -14,6 +14,7 @@ extension RouteMap { case profileSelection case getStarted case backupTip + case migration } } @@ -37,6 +38,10 @@ extension RouteMap.ReactNative: RouterTarget { let vc = ReactNativeViewController(initialProps: props) vc.modalPresentationStyle = .fullScreen navi.present(vc) + case .migration: + let vc = ReactNativeViewController() + vc.route = .migration + navi.pushViewController(vc, animated: true) } } } From 7701d7d4a86ae38710a5f912d38769ba33e00c8d Mon Sep 17 00:00:00 2001 From: cat Date: Mon, 9 Feb 2026 15:30:13 +0800 Subject: [PATCH 2/6] feat: update rn model --- FRW.xcodeproj/project.pbxproj | 34 ++++++------------------ FRW/Foundation/Bridge/BridgeModels.swift | 3 +-- main.jsbundle | 10 +++---- 3 files changed, 14 insertions(+), 33 deletions(-) diff --git a/FRW.xcodeproj/project.pbxproj b/FRW.xcodeproj/project.pbxproj index 1c4f8f75..2d218042 100644 --- a/FRW.xcodeproj/project.pbxproj +++ b/FRW.xcodeproj/project.pbxproj @@ -8095,14 +8095,10 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-resources-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-resources-${CONFIGURATION}-output-files.xcfilelist", ); - outputPaths = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-resources.sh\"\n"; @@ -8155,14 +8151,10 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-resources-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-resources-${CONFIGURATION}-output-files.xcfilelist", ); - outputPaths = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-resources.sh\"\n"; @@ -8176,14 +8168,10 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); - outputPaths = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-frameworks.sh\"\n"; @@ -8215,14 +8203,10 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-resources-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-resources-${CONFIGURATION}-output-files.xcfilelist", ); - outputPaths = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-resources.sh\"\n"; @@ -8298,14 +8282,10 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); - outputPaths = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-frameworks.sh\"\n"; @@ -8360,14 +8340,10 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); - outputPaths = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-frameworks.sh\"\n"; @@ -10968,7 +10944,10 @@ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; - OTHER_LDFLAGS = "$(inherited) "; + OTHER_LDFLAGS = ( + "$(inherited)", + " ", + ); REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG"; @@ -11033,7 +11012,10 @@ MARKETING_VERSION = 3.1.0; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; - OTHER_LDFLAGS = "$(inherited) "; + OTHER_LDFLAGS = ( + "$(inherited)", + " ", + ); REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; SWIFT_COMPILATION_MODE = wholemodule; diff --git a/FRW/Foundation/Bridge/BridgeModels.swift b/FRW/Foundation/Bridge/BridgeModels.swift index d21951ba..3ffb8c91 100644 --- a/FRW/Foundation/Bridge/BridgeModels.swift +++ b/FRW/Foundation/Bridge/BridgeModels.swift @@ -23,8 +23,7 @@ enum RNBridge { case onboarding = "onboarding" case receive = "receive" case activity = "activity" - case migration = "Migration" - + case migration = "migration" } enum AccountTypeType: String, Codable { diff --git a/main.jsbundle b/main.jsbundle index f5f67d8b..65b9b58d 100644 --- a/main.jsbundle +++ b/main.jsbundle @@ -601,7 +601,7 @@ __d(function(g,r,i,a,m,e,d){var n=r(d[0]);Object.defineProperty(e,"__esModule",{ __d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.emitter=e.NativeSessionReplay=e.NativeEvents=void 0;var t=r(d[0]),n=e.NativeSessionReplay=r(d[1]).NativeModules.IBGSessionReplay;e.NativeEvents=(function(t){return t.SESSION_REPLAY_ON_SYNC_CALLBACK_INVOCATION="IBGSessionReplayOnSyncCallback",t})({}),e.emitter=new t.NativeEventEmitter(n)},541,[28,501]); __d(function(g,_r,_i,a,m,_e,d){var n=_r(d[0]),t=_r(d[1]),e=_r(d[2]),o=_r(d[3]),r=_r(d[4]),u=_r(d[5]);function i(n,t,r){return t=o(t),e(n,s()?Reflect.construct(t,r||[],o(n).constructor):t.apply(n,r))}function s(){try{var n=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(n){}return(s=function(){return!!n})()}var c=_r(d[6]).NativeModules,f=(function(e){"use strict";function o(){return t(this,o),i(this,o,arguments)}return r(o,e),n(o)})(u(Error)),p=(function(e){"use strict";function o(){return t(this,o),i(this,o,arguments)}return r(o,e),n(o)})(u(Error)),l=!1;function y(n){l||(console.warn('Using an insecure random number generator, this should only happen when running in a debugger without support for crypto.getRandomValues'),l=!0);for(var t,e=0;e>>((3&e)<<3)&255;return n}function R(n){if(c.RNGetRandomValues)return c.RNGetRandomValues.getRandomBase64(n);if(c.ExpoRandom)return c.ExpoRandom.getRandomBase64String(n);if(g.ExpoModules)return g.ExpoModules.ExpoRandom.getRandomBase64String(n);throw new Error('Native module not found')}function h(){return'RN$Bridgeless'in g&&RN$Bridgeless,!1}'object'!=typeof g.crypto&&(g.crypto={}),'function'!=typeof g.crypto.getRandomValues&&(g.crypto.getRandomValues=function(n){if(!(n instanceof Int8Array||n instanceof Uint8Array||n instanceof Int16Array||n instanceof Uint16Array||n instanceof Int32Array||n instanceof Uint32Array||n instanceof Uint8ClampedArray))throw new f('Expected an integer array');if(n.byteLength>65536)throw new p('Can only request a maximum of 65536 bytes');return g.expo&&g.expo.modules&&g.expo.modules.ExpoCrypto&&g.expo.modules.ExpoCrypto.getRandomValues?(g.expo.modules.ExpoCrypto.getRandomValues(n),n):h()?y(n):(_r(d[7])(R(n.byteLength),new Uint8Array(n.buffer,n.byteOffset,n.byteLength)),n)})},542,[4,3,16,18,19,21,28,543]); __d(function(g,r,_i,a,m,e,d){'use strict';var t=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,62,0,63,52,53,54,55,56,57,58,59,60,61,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,0,0,0,63,0,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];m.exports=function(o,c){for(var h,A=o.length,C='='===o[A-2]?2:'='===o[A-1]?1:0,n=0,f=A-C&4294967292,i=0;i>16&255,c[n++]=h>>8&255,c[n++]=255&h;1===C&&(h=t[o.charCodeAt(i)]<<10|t[o.charCodeAt(i+1)]<<4|t[o.charCodeAt(i+2)]>>2,c[n++]=h>>8&255,c[n++]=255&h),2===C&&(h=t[o.charCodeAt(i)]<<2|t[o.charCodeAt(i+1)]>>4,c[n++]=255&h)}},543,[]); -__d(function(g,_r,_i,a,m,_e,d){Object.defineProperty(_e,"__esModule",{value:!0}),_e.default=void 0;var e=(function(e,n){if("function"==typeof WeakMap)var t=new WeakMap,o=new WeakMap;return(function(e,n){if(!n&&e&&e.__esModule)return e;var r,i,c={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return c;if(r=n?o:t){if(r.has(e))return r.get(e);r.set(e,c)}for(var s in e)"default"!==s&&{}.hasOwnProperty.call(e,s)&&((i=(r=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,s))&&(i.get||i.set)?r(c,s,i):c[s]=e[s]);return c})(e,n)})(_r(d[0])),n=_r(d[1]),t=_r(d[2]);var o=(0,_r(d[3]).createNativeStackNavigator)();_e.default=function(r){var i=(0,_r(d[4]).useTranslation)().t,c=(0,_r(d[5]).useTheme)(),s=r.address,l=r.network,u=r.initialRoute,f=r.initialProps,h=(0,e.useRef)(null),p=(0,_r(d[6]).useSendStore)(),S=p.setSelectedToken,T=p.setCurrentStep,v=p.setTransactionType,k=p.setFromAccount,y=p.setSelectedNFTs,b=p.setToAccount;(0,e.useEffect)(function(){_r(d[7]).reactNativeNavigation.setNavigationRef(h)},[]),(0,e.useEffect)(function(){if('send-asset'===(null==f?void 0:f.screen)){var e=null==f?void 0:f.sendToConfig;if(!e)return;try{var n='string'==typeof e?JSON.parse(e):e;if(_r(d[8]).logger.debug('SendTo flow initialization started',{sendToConfig:n}),n.fromAccount){_r(d[8]).logger.debug('Processing fromAccount config',{fromAccount:n.fromAccount});var t=(0,_r(d[9]).createWalletAccountFromConfig)(n.fromAccount);k(t),_r(d[8]).logger.debug('FromAccount set successfully',{walletAccount:t})}if(n.selectedToken){_r(d[8]).logger.debug('Processing selectedToken config',{selectedToken:n.selectedToken});var o=(0,_r(d[9]).createTokenModelFromConfig)(n.selectedToken);S(o),T('send-to'),v('tokens'),y([]),_r(d[8]).logger.debug('SelectedToken set and step updated to send-to',{tokenInfo:o})}if(n.selectedNFTs&&Array.isArray(n.selectedNFTs)){_r(d[8]).logger.debug('Processing selectedNFTs config',{selectedNFTs:n.selectedNFTs,count:n.selectedNFTs.length});var r=(0,_r(d[9]).createNFTModelsFromConfig)(n.selectedNFTs);y(r),_r(d[8]).logger.debug('SelectedNFTs set successfully',{nftModels:r})}if(n.targetAddress){_r(d[8]).logger.debug('Processing targetAddress config',{targetAddress:n.targetAddress});var i=(0,_r(d[9]).createWalletAccountFromConfig)({address:n.targetAddress,name:n.targetAddress,emojiInfo:{emoji:'',name:'',color:''}});b(i),v('tokens'),T('send-tokens'),_r(d[8]).logger.debug('TargetAddress processed, transaction type set to tokens and step updated to send-tokens',{walletAccount:i})}else if(n.selectedNFTs&&n.selectedNFTs.length>=1){var c=1===n.selectedNFTs.length?'single-nft':'multiple-nfts';_r(d[8]).logger.debug('Setting NFT transaction type based on count',{nftCount:n.selectedNFTs.length,transactionType:c}),v(c),T('send-to'),_r(d[8]).logger.debug('NFT transaction flow configured and step updated to send-to')}_r(d[8]).logger.debug('SendTo flow initialization completed successfully')}catch(n){_r(d[8]).logger.error('Failed to initialize SendTo flow',{error:n,sendToConfigJson:e})}}},[null==f?void 0:f.sendToConfig,S,T,v,k,y]);var j='dark'===(0,n.useColorScheme)(),F=(0,e.useMemo)(function(){return{customLightTheme:Object.assign({},_r(d[10]).DefaultTheme,{colors:Object.assign({},_r(d[10]).DefaultTheme.colors,{background:'#FFFFFF',card:'#FFFFFF',text:'#000000',border:'#767676',primary:'#00EF8B'})}),customDarkTheme:Object.assign({},_r(d[10]).DarkTheme,{colors:Object.assign({},_r(d[10]).DarkTheme.colors,{background:c.background.val,card:c.background.val,text:c.text.val,border:'#B3B3B3',primary:c.primary.val})})}},[c]),N=j?F.customDarkTheme:F.customLightTheme;return(0,t.jsx)(_r(d[11]).SafeAreaProvider,{children:(0,t.jsx)(_r(d[10]).NavigationContainer,{ref:h,theme:N,children:(0,t.jsxs)(o.Navigator,{initialRouteName:u||'Home',screenOptions:{headerTitleAlign:'center',headerShadowVisible:!1,headerShown:!0},children:[(0,t.jsx)(o.Screen,{name:"Home",component:_r(d[12]).HomeScreen,initialParams:{address:s,network:l}}),(0,t.jsxs)(o.Group,{screenOptions:{headerShown:!0,headerBackTitle:'',headerBackTitleStyle:{fontSize:0},headerBackVisible:!1,headerLeft:function(){return(0,t.jsx)(_r(d[13]).NavigationBackButton,{})},headerRight:function(){return(0,t.jsx)(_r(d[14]).NavigationCloseButton,{})}},children:[(0,t.jsx)(o.Screen,{name:"SelectTokens",component:_r(d[15]).SelectTokensScreen,options:{headerTitle:i('navigation.selectTokens'),headerLeft:function(){return null}}}),(0,t.jsx)(o.Screen,{name:"NFTList",component:_r(d[15]).NFTListScreen,options:{headerTitle:i('navigation.send')}}),(0,t.jsx)(o.Screen,{name:"NFTDetail",component:_r(d[15]).NFTDetailScreen,options:{headerTitle:i('navigation.nftDetails')}}),(0,t.jsx)(o.Screen,{name:"SendTo",component:_r(d[15]).SendToScreen,options:{headerTitle:i('navigation.sendTo')}}),(0,t.jsx)(o.Screen,{name:"SendTokens",component:_r(d[15]).SendTokensScreen,options:{headerTitle:i('navigation.sendTokens')}}),(0,t.jsx)(o.Screen,{name:"SendSummary",component:_r(d[15]).SendSummaryScreen,options:{headerTitle:i('navigation.sending')}}),(0,t.jsx)(o.Screen,{name:"Receive",component:_r(d[15]).ReceiveScreen,options:{headerTitle:i('navigation.receive')}}),(0,t.jsx)(o.Screen,{name:"Activity",component:_r(d[15]).ActivityScreen,options:{headerShown:!1}})]}),(0,t.jsxs)(o.Group,{screenOptions:{headerShown:!0,headerBackTitle:'',headerBackTitleStyle:{fontSize:0},headerBackVisible:!1,headerLeft:function(){return(0,t.jsx)(_r(d[13]).NavigationBackButton,{})},headerRight:function(){return(0,t.jsx)(_r(d[14]).NavigationCloseButton,{})}},children:[(0,t.jsx)(o.Screen,{name:"GetStarted",component:_r(d[15]).GetStartedScreen,options:{headerShown:!1}}),(0,t.jsx)(o.Screen,{name:"ProfileTypeSelection",component:_r(d[15]).ProfileTypeSelectionScreen,options:{headerTitle:'',headerRight:function(){return null},headerTransparent:!0,headerStyle:{backgroundColor:'transparent'}}}),(0,t.jsx)(o.Screen,{name:"RecoveryPhrase",component:_r(d[15]).RecoveryPhraseScreen,options:{headerTitle:i('onboarding.recoveryPhrase.navTitle'),headerRight:function(){return null},gestureEnabled:!1,headerStyle:{backgroundColor:c.bg.val}}}),(0,t.jsx)(o.Screen,{name:"ConfirmRecoveryPhrase",component:_r(d[15]).ConfirmRecoveryPhraseScreen,options:{headerTitle:i('onboarding.confirmRecoveryPhrase.navTitle'),headerRight:function(){return null},gestureEnabled:!1,headerStyle:{backgroundColor:c.bg.val}}}),(0,t.jsx)(o.Screen,{name:"SecureEnclave",component:_r(d[15]).SecureEnclaveScreen,options:{headerTitle:'',headerRight:function(){return null},gestureEnabled:!1,headerStyle:{backgroundColor:c.bg.val}}}),(0,t.jsx)(o.Screen,{name:"NotificationPreferences",component:_r(d[15]).NotificationPreferencesScreen,options:{headerShown:!1,gestureEnabled:!1,headerStyle:{backgroundColor:c.bg.val}}})]}),(0,t.jsxs)(o.Group,{screenOptions:{headerShown:!0,headerBackTitle:'',headerBackTitleStyle:{fontSize:0},headerBackVisible:!1,headerLeft:function(){return(0,t.jsx)(_r(d[13]).NavigationBackButton,{})}},children:[(0,t.jsx)(o.Screen,{name:"ImportProfile",component:_r(d[15]).ImportProfileScreen,options:{headerTitle:''}}),(0,t.jsx)(o.Screen,{name:"ImportOtherMethods",component:_r(d[15]).ImportOtherMethodsScreen,options:{headerTitle:i('onboarding.importProfile.title')}}),(0,t.jsx)(o.Screen,{name:"ConfirmImportProfile",component:_r(d[15]).ConfirmImportProfileScreen,options:{headerTitle:i('onboarding.importProfile.title')}})]}),(0,t.jsxs)(o.Group,{screenOptions:{headerShown:!0,headerBackTitle:'',headerBackTitleStyle:{fontSize:0},headerBackVisible:!1,headerLeft:function(){return(0,t.jsx)(_r(d[13]).NavigationBackButton,{})}},children:[(0,t.jsx)(o.Screen,{name:"KeyRotationTip",options:{headerTitle:'',headerLeft:function(){return null},headerStyle:{backgroundColor:c.bg.val}},children:function(e){var n=e.navigation;return(0,t.jsx)(_r(d[15]).KeyRotationTipScreen,{onContinue:function(e){_r(d[8]).logger.info('[KeyRotationTipScreen] Continue pressed - navigating to KeyRotationMnemonic'),n.navigate('KeyRotationMnemonic',{newKeyInfo:e})},onSkip:function(){_r(d[8]).logger.info('[KeyRotationTipScreen] Skip pressed'),_r(d[16]).platform.closeRN()}})}}),(0,t.jsx)(o.Screen,{name:"KeyRotationMnemonic",options:{headerTitle:i('backup.mnemonic.navTitle',{defaultValue:'Recovery Phrase'}),headerStyle:{backgroundColor:c.bg.val}},children:function(e){var n=e.route,o=e.navigation;return(0,t.jsx)(_r(d[15]).KeyRotationMnemonicScreen,{newKeyInfo:n.params.newKeyInfo,address:null!=s?s:'',onComplete:function(){_r(d[8]).logger.info('[KeyRotationMnemonicScreen] Backup complete'),_r(d[16]).platform.closeRN()},onBack:function(){return o.goBack()}})}})]})]})})})}},544,[128,28,258,545,777,794,1389,2050,1393,8,547,662,2051,2054,2055,2062,2056]); +__d(function(g,_r,_i,a,m,_e,d){var e=_r(d[0]);Object.defineProperty(_e,"__esModule",{value:!0}),_e.default=void 0;var n=e(_r(d[1])),t=(function(e,n){if("function"==typeof WeakMap)var t=new WeakMap,o=new WeakMap;return(function(e,n){if(!n&&e&&e.__esModule)return e;var r,i,c={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return c;if(r=n?o:t){if(r.has(e))return r.get(e);r.set(e,c)}for(var s in e)"default"!==s&&{}.hasOwnProperty.call(e,s)&&((i=(r=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,s))&&(i.get||i.set)?r(c,s,i):c[s]=e[s]);return c})(e,n)})(_r(d[2])),o=_r(d[3]),r=_r(d[4]);var i=(0,_r(d[5]).createNativeStackNavigator)();_e.default=function(e){var c=(0,_r(d[6]).useTranslation)().t,s=(0,_r(d[7]).useTheme)(),l=e.address,u=e.network,f=e.initialRoute,h=e.initialProps,S=(0,t.useRef)(null),p=(0,_r(d[8]).useSendStore)(),T=p.setSelectedToken,v=p.setCurrentStep,k=p.setTransactionType,y=p.setFromAccount,b=p.setSelectedNFTs,j=p.setToAccount;(0,t.useEffect)(function(){_r(d[9]).reactNativeNavigation.setNavigationRef(S)},[]),(0,t.useEffect)(function(){if('send-asset'===(null==h?void 0:h.screen)){var e=null==h?void 0:h.sendToConfig;if(!e)return;try{var n='string'==typeof e?JSON.parse(e):e;if(_r(d[10]).logger.debug('SendTo flow initialization started',{sendToConfig:n}),n.fromAccount){_r(d[10]).logger.debug('Processing fromAccount config',{fromAccount:n.fromAccount});var t=(0,_r(d[11]).createWalletAccountFromConfig)(n.fromAccount);y(t),_r(d[10]).logger.debug('FromAccount set successfully',{walletAccount:t})}if(n.selectedToken){_r(d[10]).logger.debug('Processing selectedToken config',{selectedToken:n.selectedToken});var o=(0,_r(d[11]).createTokenModelFromConfig)(n.selectedToken);T(o),v('send-to'),k('tokens'),b([]),_r(d[10]).logger.debug('SelectedToken set and step updated to send-to',{tokenInfo:o})}if(n.selectedNFTs&&Array.isArray(n.selectedNFTs)){_r(d[10]).logger.debug('Processing selectedNFTs config',{selectedNFTs:n.selectedNFTs,count:n.selectedNFTs.length});var r=(0,_r(d[11]).createNFTModelsFromConfig)(n.selectedNFTs);b(r),_r(d[10]).logger.debug('SelectedNFTs set successfully',{nftModels:r})}if(n.targetAddress){_r(d[10]).logger.debug('Processing targetAddress config',{targetAddress:n.targetAddress});var i=(0,_r(d[11]).createWalletAccountFromConfig)({address:n.targetAddress,name:n.targetAddress,emojiInfo:{emoji:'',name:'',color:''}});j(i),k('tokens'),v('send-tokens'),_r(d[10]).logger.debug('TargetAddress processed, transaction type set to tokens and step updated to send-tokens',{walletAccount:i})}else if(n.selectedNFTs&&n.selectedNFTs.length>=1){var c=1===n.selectedNFTs.length?'single-nft':'multiple-nfts';_r(d[10]).logger.debug('Setting NFT transaction type based on count',{nftCount:n.selectedNFTs.length,transactionType:c}),k(c),v('send-to'),_r(d[10]).logger.debug('NFT transaction flow configured and step updated to send-to')}_r(d[10]).logger.debug('SendTo flow initialization completed successfully')}catch(n){_r(d[10]).logger.error('Failed to initialize SendTo flow',{error:n,sendToConfigJson:e})}}},[null==h?void 0:h.sendToConfig,T,v,k,y,b]);var x='dark'===(0,o.useColorScheme)(),N=(0,t.useMemo)(function(){return{customLightTheme:Object.assign({},_r(d[12]).DefaultTheme,{colors:Object.assign({},_r(d[12]).DefaultTheme.colors,{background:'#FFFFFF',card:'#FFFFFF',text:'#000000',border:'#767676',primary:'#00EF8B'})}),customDarkTheme:Object.assign({},_r(d[12]).DarkTheme,{colors:Object.assign({},_r(d[12]).DarkTheme.colors,{background:s.background.val,card:s.background.val,text:s.text.val,border:'#B3B3B3',primary:s.primary.val})})}},[s]),F=x?N.customDarkTheme:N.customLightTheme,B='Migration'===f?'MigrationInfo':f||'Home';return(0,r.jsx)(_r(d[13]).SafeAreaProvider,{children:(0,r.jsx)(_r(d[12]).NavigationContainer,{ref:S,theme:F,children:(0,r.jsxs)(i.Navigator,{initialRouteName:B,screenOptions:{headerTitleAlign:'center',headerShadowVisible:!1,headerShown:!0},children:[(0,r.jsx)(i.Screen,{name:"Home",component:_r(d[14]).HomeScreen,initialParams:{address:l,network:u}}),(0,r.jsxs)(i.Group,{screenOptions:{headerShown:!0,headerBackTitle:'',headerBackTitleStyle:{fontSize:0},headerBackVisible:!1,headerLeft:function(){return(0,r.jsx)(_r(d[15]).NavigationBackButton,{})},headerRight:function(){return(0,r.jsx)(_r(d[16]).NavigationCloseButton,{})},headerStyle:{backgroundColor:s.bgDrawer.val}},children:[(0,r.jsx)(i.Screen,{name:"SelectTokens",component:_r(d[17]).SelectTokensScreen,options:{headerTitle:c('navigation.selectTokens'),headerLeft:function(){return null}}}),(0,r.jsx)(i.Screen,{name:"NFTList",component:_r(d[17]).NFTListScreen,options:{headerTitle:c('navigation.send')}}),(0,r.jsx)(i.Screen,{name:"NFTDetail",component:_r(d[17]).NFTDetailScreen,options:{headerTitle:c('navigation.nftDetails')}}),(0,r.jsx)(i.Screen,{name:"SendTo",component:_r(d[17]).SendToScreen,options:{headerTitle:c('navigation.sendTo')}}),(0,r.jsx)(i.Screen,{name:"SendTokens",component:_r(d[17]).SendTokensScreen,options:{headerTitle:c('navigation.sendTokens')}}),(0,r.jsx)(i.Screen,{name:"SendSummary",component:_r(d[17]).SendSummaryScreen,options:{headerTitle:c('navigation.sending')}}),(0,r.jsx)(i.Screen,{name:"Receive",component:_r(d[17]).ReceiveScreen,options:{headerTitle:c('navigation.receive')}}),(0,r.jsx)(i.Screen,{name:"Activity",component:_r(d[17]).ActivityScreen,options:{headerShown:!1}})]}),(0,r.jsxs)(i.Group,{screenOptions:{headerShown:!0,headerBackTitle:'',headerBackTitleStyle:{fontSize:0},headerBackVisible:!1,headerLeft:function(){return(0,r.jsx)(_r(d[15]).NavigationBackButton,{})},headerRight:function(){return(0,r.jsx)(_r(d[16]).NavigationCloseButton,{})}},children:[(0,r.jsx)(i.Screen,{name:"GetStarted",component:_r(d[17]).GetStartedScreen,options:{headerShown:!1}}),(0,r.jsx)(i.Screen,{name:"ProfileTypeSelection",component:_r(d[17]).ProfileTypeSelectionScreen,options:{headerTitle:'',headerRight:function(){return null},headerTransparent:!0,headerStyle:{backgroundColor:'transparent'}}}),(0,r.jsx)(i.Screen,{name:"RecoveryPhrase",component:_r(d[17]).RecoveryPhraseScreen,options:{headerTitle:c('onboarding.recoveryPhrase.navTitle'),headerRight:function(){return null},gestureEnabled:!1,headerStyle:{backgroundColor:s.bg.val}}}),(0,r.jsx)(i.Screen,{name:"ConfirmRecoveryPhrase",component:_r(d[17]).ConfirmRecoveryPhraseScreen,options:{headerTitle:c('onboarding.confirmRecoveryPhrase.navTitle'),headerRight:function(){return null},gestureEnabled:!1,headerStyle:{backgroundColor:s.bg.val}}}),(0,r.jsx)(i.Screen,{name:"SecureEnclave",component:_r(d[17]).SecureEnclaveScreen,options:{headerTitle:'',headerRight:function(){return null},gestureEnabled:!1,headerStyle:{backgroundColor:s.bg.val}}}),(0,r.jsx)(i.Screen,{name:"NotificationPreferences",component:_r(d[17]).NotificationPreferencesScreen,options:{headerShown:!1,gestureEnabled:!1,headerStyle:{backgroundColor:s.bg.val}}})]}),(0,r.jsxs)(i.Group,{screenOptions:{headerShown:!0,headerBackTitle:'',headerBackTitleStyle:{fontSize:0},headerBackVisible:!1,headerLeft:function(){return(0,r.jsx)(_r(d[15]).NavigationBackButton,{})},headerRight:function(){return(0,r.jsx)(_r(d[16]).NavigationCloseButton,{})},headerStyle:{backgroundColor:s.bgDrawer.val}},children:[(0,r.jsx)(i.Screen,{name:"MigrationInfo",options:{headerTitle:''},children:function(e){var t=e.navigation;return(0,r.jsx)(_r(d[17]).InfoScreen,{onStartMigration:(0,n.default)(function*(){try{var e=yield _r(d[18]).platform.getSelectedAccount(),n=null==e?void 0:e.address;if(!n)return void _r(d[10]).logger.warn('[MigrationInfo] No source address available');var o=yield _r(d[18]).platform.getMigrationAssets(n);t.navigate('Migration',{initialStage:'ready',assets:o})}catch(e){_r(d[10]).logger.error('[MigrationInfo] Failed to fetch migration assets',e),t.navigate('Migration',{initialStage:'ready'})}})})}}),(0,r.jsx)(i.Screen,{name:"Migration",options:{headerTitle:''},children:function(e){var n,t=e.route;return(0,r.jsx)(_r(d[17]).MigrationScreen,Object.assign({},null!=(n=t.params)?n:{}))}})]}),(0,r.jsxs)(i.Group,{screenOptions:{headerShown:!0,headerBackTitle:'',headerBackTitleStyle:{fontSize:0},headerBackVisible:!1,headerLeft:function(){return(0,r.jsx)(_r(d[15]).NavigationBackButton,{})}},children:[(0,r.jsx)(i.Screen,{name:"ImportProfile",component:_r(d[17]).ImportProfileScreen,options:{headerTitle:''}}),(0,r.jsx)(i.Screen,{name:"ImportOtherMethods",component:_r(d[17]).ImportOtherMethodsScreen,options:{headerTitle:c('onboarding.importProfile.title')}}),(0,r.jsx)(i.Screen,{name:"ConfirmImportProfile",component:_r(d[17]).ConfirmImportProfileScreen,options:{headerTitle:c('onboarding.importProfile.title')}})]}),(0,r.jsxs)(i.Group,{screenOptions:{headerShown:!0,headerBackTitle:'',headerBackTitleStyle:{fontSize:0},headerBackVisible:!1,headerLeft:function(){return(0,r.jsx)(_r(d[15]).NavigationBackButton,{})}},children:[(0,r.jsx)(i.Screen,{name:"KeyRotationTip",options:{headerTitle:'',headerLeft:function(){return null},headerStyle:{backgroundColor:s.bg.val}},children:function(e){var n=e.navigation;return(0,r.jsx)(_r(d[17]).KeyRotationTipScreen,{onContinue:function(e){_r(d[10]).logger.info('[KeyRotationTipScreen] Continue pressed - navigating to KeyRotationMnemonic'),n.navigate('KeyRotationMnemonic',{newKeyInfo:e})},onSkip:function(){_r(d[10]).logger.info('[KeyRotationTipScreen] Skip pressed'),_r(d[18]).platform.closeRN()}})}}),(0,r.jsx)(i.Screen,{name:"KeyRotationMnemonic",options:{headerTitle:c('backup.mnemonic.navTitle',{defaultValue:'Recovery Phrase'}),headerStyle:{backgroundColor:s.bg.val}},children:function(e){var n=e.route,t=e.navigation;return(0,r.jsx)(_r(d[17]).KeyRotationMnemonicScreen,{newKeyInfo:n.params.newKeyInfo,address:null!=l?l:'',onComplete:function(){_r(d[10]).logger.info('[KeyRotationMnemonicScreen] Backup complete'),_r(d[18]).platform.closeRN()},onBack:function(){return t.goBack()}})}})]})]})})})}},544,[1,367,128,28,258,545,777,794,1389,2050,1393,8,547,662,2051,2054,2055,2062,2056]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"NativeStackView",{enumerable:!0,get:function(){return r(d[0]).NativeStackView}}),Object.defineProperty(e,"createNativeStackNavigator",{enumerable:!0,get:function(){return r(d[1]).createNativeStackNavigator}}),Object.defineProperty(e,"useAnimatedHeaderHeight",{enumerable:!0,get:function(){return r(d[2]).useAnimatedHeaderHeight}})},545,[546,776,772]); __d(function(g,_r,_i,a,m,_e,d){"use strict";var e=_r(d[0]);Object.defineProperty(_e,"__esModule",{value:!0}),_e.NativeStackView=function(e){var t=e.state,n=e.navigation,i=e.descriptors,o=e.describe,u=(0,_r(d[12]).useDismissedRouteError)(t).setNextDismissedKey;(0,_r(d[13]).useInvalidPreventRemoveError)(i);var c=(0,_r(d[14]).getModalRouteKeys)(t.routes,i),v=t.preloadedRoutes.reduce(function(e,t){return e[t.key]=e[t.key]||o(t,!0),e},{});return(0,r.jsx)(_r(d[7]).SafeAreaProviderCompat,{children:(0,r.jsx)(_r(d[10]).ScreenStack,{style:l.container,children:t.routes.concat(t.preloadedRoutes).map(function(e,o){var l,h,p,f=null!=(l=i[e.key])?l:v[e.key],k=t.index===o,y=t.index-1===o,S=null==(h=t.routes[o-1])?void 0:h.key,b=null==(p=t.routes[o+1])?void 0:p.key,x=S?i[S]:void 0,B=b?i[b]:void 0,C=c.includes(e.key),D=void 0!==v[e.key]&&void 0===i[e.key],H='nativeFabricUIManager'in g?!D&&!k&&!y:!D&&!k;return(0,r.jsx)(s,{index:o,focused:k,shouldFreeze:H,descriptor:f,previousDescriptor:x,nextDescriptor:B,isPresentationModal:C,isPreloaded:D,onWillDisappear:function(){n.emit({type:'transitionStart',data:{closing:!0},target:e.key})},onWillAppear:function(){n.emit({type:'transitionStart',data:{closing:!1},target:e.key})},onAppear:function(){n.emit({type:'transitionEnd',data:{closing:!1},target:e.key})},onDisappear:function(){n.emit({type:'transitionEnd',data:{closing:!0},target:e.key})},onDismissed:function(i){n.dispatch(Object.assign({},_r(d[5]).StackActions.pop(i.nativeEvent.dismissCount),{source:e.key,target:t.key})),u(e.key)},onHeaderBackButtonClicked:function(){n.dispatch(Object.assign({},_r(d[5]).StackActions.pop(),{source:e.key,target:t.key}))},onNativeDismissCancelled:function(i){n.dispatch(Object.assign({},_r(d[5]).StackActions.pop(i.nativeEvent.dismissCount),{source:e.key,target:t.key}))},onGestureCancel:function(){n.emit({type:'gestureCancel',target:e.key})},onSheetDetentChanged:function(t){n.emit({type:'sheetDetentChange',target:e.key,data:{index:t.nativeEvent.index,stable:t.nativeEvent.isStable}})}},e.key)})})})};var t=e(_r(d[1])),n=(function(e,t){if("function"==typeof WeakMap)var n=new WeakMap,i=new WeakMap;return(function(e,t){if(!t&&e&&e.__esModule)return e;var r,o,s={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return s;if(r=t?i:n){if(r.has(e))return r.get(e);r.set(e,s)}for(var l in e)"default"!==l&&{}.hasOwnProperty.call(e,l)&&((o=(r=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,l))&&(o.get||o.set)?r(s,l,o):s[l]=e[l]);return s})(e,t)})(_r(d[2])),i=_r(d[3]),r=_r(d[4]);var o='web'!==i.Platform.OS,s=function(e){var s,u=e.index,c=e.focused,v=e.shouldFreeze,h=e.descriptor,p=e.previousDescriptor,f=e.nextDescriptor,k=e.isPresentationModal,y=e.isPreloaded,S=e.onWillDisappear,b=e.onWillAppear,x=e.onAppear,B=e.onDisappear,C=e.onDismissed,D=e.onHeaderBackButtonClicked,H=e.onNativeDismissCancelled,E=e.onGestureCancel,P=e.onSheetDetentChanged,w=h.route,O=h.navigation,A=h.options,j=h.render,T=A.animation,I=A.animationMatchesGesture,M=A.presentation,R=void 0===M?k?'modal':'card':M,_=A.fullScreenGestureEnabled,W=A.animationDuration,z=A.animationTypeForReplace,F=void 0===z?'push':z,N=A.fullScreenGestureShadowEnabled,G=void 0===N||N,V=A.gestureEnabled,L=A.gestureDirection,K=void 0===L?'card'===R?'horizontal':'vertical':L,U=A.gestureResponseDistance,q=A.header,J=A.headerBackButtonMenuEnabled,Q=A.headerShown,X=A.headerBackground,Y=A.headerTransparent,Z=A.autoHideHomeIndicator,$=A.keyboardHandlingEnabled,ee=A.navigationBarColor,te=A.navigationBarTranslucent,ne=A.navigationBarHidden,ae=A.orientation,ie=A.sheetAllowedDetents,re=void 0===ie?[1]:ie,oe=A.sheetLargestUndimmedDetentIndex,se=void 0===oe?-1:oe,de=A.sheetGrabberVisible,le=void 0!==de&&de,ue=A.sheetCornerRadius,ce=void 0===ue?-1:ue,ve=A.sheetElevation,he=void 0===ve?24:ve,pe=A.sheetExpandsWhenScrolledToEdge,fe=void 0===pe||pe,ge=A.sheetInitialDetentIndex,me=void 0===ge?0:ge,ke=A.statusBarAnimation,ye=A.statusBarHidden,Se=A.statusBarStyle,be=A.statusBarTranslucent,xe=A.statusBarBackgroundColor,Be=A.unstable_sheetFooter,Ce=A.freezeOnBlur,De=A.contentStyle;'vertical'===K&&'ios'===i.Platform.OS&&(void 0===_&&(_=!0),void 0===I&&(I=!0),void 0===T&&(T='slide_from_bottom'));var He=null==f?void 0:f.options.gestureDirection,Ee=null!=He?He:K;0===u&&(R='card');var Pe=(0,_r(d[5]).useTheme)().colors,we=(0,_r(d[6]).useSafeAreaInsets)(),Oe='modal'===R||'formSheet'===R,Ae='ios'===i.Platform.OS&&!(i.Platform.isPad||i.Platform.isTV),je=n.useContext(_r(d[7]).HeaderShownContext),Te=n.useContext(_r(d[7]).HeaderHeightContext),Ie=n.useContext(_r(d[7]).HeaderBackContext),Me=(0,_r(d[7]).useFrameSize)(function(e){return e.width>e.height}),Re=je||'ios'===i.Platform.OS&&Oe||Ae&&Me?0:we.top,We=(0,_r(d[7]).useFrameSize)(function(e){return i.Platform.select({android:56+Re,default:(0,_r(d[7]).getDefaultHeaderHeight)(e,Oe,Re)})}),ze=(0,_r(d[5]).usePreventRemoveContext)().preventedRoutes,Fe=n.useState(We),Ne=(0,t.default)(Fe,2),Ge=Ne[0],Ve=Ne[1],Le=n.useCallback((0,_r(d[8]).debounce)(Ve,100),[]),Ke=null!=q,Ue=0;if('android'===i.Platform.OS&&!Ke){var qe,Je=null!=(qe=i.StatusBar.currentHeight)?qe:0;Ue=-Je+Re}var Qe=(0,i.useAnimatedValue)(We),Xe=n.useMemo(function(){return i.Animated.add(Qe,Ue)},[Ue,Qe]),Ye='boolean'==typeof be?be:0!==Re,Ze=null!=p||null!=Ie,$e=p?(0,_r(d[7]).getHeaderTitle)(p.options,p.route.name):null==Ie?void 0:Ie.title,et=n.useMemo(function(){if(Ze)return{href:void 0,title:$e}},[Ze,$e]),tt=null==(s=ze[w.key])?void 0:s.preventRemove,nt=(0,_r(d[9]).useHeaderConfigProps)(Object.assign({},A,{route:w,headerBackButtonMenuEnabled:void 0!==tt?!tt:J,headerBackTitle:void 0!==A.headerBackTitle?A.headerBackTitle:void 0,headerHeight:Ge,headerShown:void 0===q&&Q,headerTopInsetEnabled:Ye,headerBack:et}));return(0,r.jsx)(_r(d[5]).NavigationContext.Provider,{value:O,children:(0,r.jsx)(_r(d[5]).NavigationRouteContext.Provider,{value:w,children:(0,r.jsx)(_r(d[10]).ScreenStackItem,{screenId:w.key,activityState:y?0:2,style:i.StyleSheet.absoluteFill,"aria-hidden":!c,customAnimationOnSwipe:I,fullScreenSwipeEnabled:_,fullScreenSwipeShadowEnabled:G,freezeOnBlur:Ce,gestureEnabled:'android'!==i.Platform.OS&&V,homeIndicatorHidden:Z,hideKeyboardOnSwipe:$,navigationBarColor:ee,navigationBarTranslucent:te,navigationBarHidden:ne,replaceAnimation:F,stackPresentation:'card'===R?'push':R,stackAnimation:T,screenOrientation:ae,sheetAllowedDetents:re,sheetLargestUndimmedDetentIndex:se,sheetGrabberVisible:le,sheetInitialDetentIndex:me,sheetCornerRadius:ce,sheetElevation:he,sheetExpandsWhenScrolledToEdge:fe,statusBarAnimation:ke,statusBarHidden:ye,statusBarStyle:Se,statusBarColor:xe,statusBarTranslucent:be,swipeDirection:Ee,transitionDuration:W,onWillAppear:b,onWillDisappear:S,onAppear:x,onDisappear:B,onDismissed:C,onGestureCancel:E,onSheetDetentChanged:P,gestureResponseDistance:U,nativeBackButtonDismissalEnabled:!1,onHeaderBackButtonClicked:D,preventNativeDismiss:tt,onNativeDismissCancelled:H,onHeaderHeightChange:i.Animated.event([{nativeEvent:{headerHeight:Qe}}],{useNativeDriver:o,listener:function(e){if(!Ke)if('android'!==i.Platform.OS||null==A.headerBackground&&!A.headerTransparent){if(e.nativeEvent&&'object'==typeof e.nativeEvent&&'headerHeight'in e.nativeEvent&&'number'==typeof e.nativeEvent.headerHeight){var t=e.nativeEvent.headerHeight+Ue;'ios'===i.Platform.OS&&(A.headerLargeTitle||A.headerSearchBarOptions)?Le(t):Ve(t)}}else Ve(56+Re)}}),contentStyle:['transparentModal'!==R&&'containedTransparentModal'!==R&&{backgroundColor:Pe.background},De],headerConfig:nt,unstable_sheetFooter:Be,shouldFreeze:v,children:(0,r.jsx)(_r(d[11]).AnimatedHeaderHeightContext.Provider,{value:Xe,children:(0,r.jsxs)(_r(d[7]).HeaderHeightContext.Provider,{value:!1!==Q?Ge:null!=Te?Te:0,children:[null!=X?(0,r.jsx)(i.View,{style:[l.background,Y?l.translucent:null,{height:Ge}],children:X()}):null,null!=q&&!1!==Q?(0,r.jsx)(i.View,{onLayout:function(e){var t=e.nativeEvent.layout.height;Ve(t),Qe.setValue(t)},style:[l.header,Y?l.absolute:null],children:q({back:et,options:A,route:w,navigation:O})}):null,(0,r.jsx)(_r(d[7]).HeaderShownContext.Provider,{value:je||!1!==Q,children:(0,r.jsx)(_r(d[7]).HeaderBackContext.Provider,{value:et,children:j()})})]})})},w.key)})})};var l=i.StyleSheet.create({container:{flex:1},header:{zIndex:1},absolute:{position:'absolute',top:0,start:0,end:0},translucent:{position:'absolute',top:0,start:0,end:0,zIndex:1,elevation:1},background:{overflow:'hidden'}})},546,[1,10,128,28,258,547,662,671,715,716,718,772,773,774,775]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n={createStaticNavigation:!0,Link:!0,LinkingContext:!0,LocaleDirContext:!0,NavigationContainer:!0,ServerContainer:!0,DarkTheme:!0,DefaultTheme:!0,UNSTABLE_UnhandledLinkingContext:!0,useLinkBuilder:!0,useLinkProps:!0,useLinkTo:!0,useLocale:!0,useRoutePath:!0,useScrollToTop:!0};Object.defineProperty(e,"DarkTheme",{enumerable:!0,get:function(){return r(d[0]).DarkTheme}}),Object.defineProperty(e,"DefaultTheme",{enumerable:!0,get:function(){return r(d[1]).DefaultTheme}}),Object.defineProperty(e,"Link",{enumerable:!0,get:function(){return r(d[2]).Link}}),Object.defineProperty(e,"LinkingContext",{enumerable:!0,get:function(){return r(d[3]).LinkingContext}}),Object.defineProperty(e,"LocaleDirContext",{enumerable:!0,get:function(){return r(d[4]).LocaleDirContext}}),Object.defineProperty(e,"NavigationContainer",{enumerable:!0,get:function(){return r(d[5]).NavigationContainer}}),Object.defineProperty(e,"ServerContainer",{enumerable:!0,get:function(){return r(d[6]).ServerContainer}}),Object.defineProperty(e,"UNSTABLE_UnhandledLinkingContext",{enumerable:!0,get:function(){return r(d[7]).UnhandledLinkingContext}}),Object.defineProperty(e,"createStaticNavigation",{enumerable:!0,get:function(){return r(d[8]).createStaticNavigation}}),Object.defineProperty(e,"useLinkBuilder",{enumerable:!0,get:function(){return r(d[9]).useLinkBuilder}}),Object.defineProperty(e,"useLinkProps",{enumerable:!0,get:function(){return r(d[10]).useLinkProps}}),Object.defineProperty(e,"useLinkTo",{enumerable:!0,get:function(){return r(d[11]).useLinkTo}}),Object.defineProperty(e,"useLocale",{enumerable:!0,get:function(){return r(d[12]).useLocale}}),Object.defineProperty(e,"useRoutePath",{enumerable:!0,get:function(){return r(d[13]).useRoutePath}}),Object.defineProperty(e,"useScrollToTop",{enumerable:!0,get:function(){return r(d[14]).useScrollToTop}}),Object.keys(r(d[15])).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(n,t)||t in e&&e[t]===r(d[15])[t]||Object.defineProperty(e,t,{enumerable:!0,get:function(){return r(d[15])[t]}}))}),Object.keys(r(d[16])).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(n,t)||t in e&&e[t]===r(d[16])[t]||Object.defineProperty(e,t,{enumerable:!0,get:function(){return r(d[16])[t]}}))})},547,[548,550,551,643,644,645,653,652,655,656,642,657,658,659,660,661,552]); @@ -1497,7 +1497,7 @@ __d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{ __d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var s=(0,r(d[0]).createTamagui)(Object.assign({},r(d[1]).defaultConfig,{themes:r(d[2]).themes,tokens:Object.assign({},r(d[1]).defaultConfig.tokens,r(d[2]).colorTokens,{size:r(d[2]).size,space:r(d[2]).space,zIndex:r(d[2]).zIndex,radius:r(d[2]).radius})}));e.default=s},1386,[807,1261,1296]); __d(function(g,r,i,a,m,e,d){var n=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.UIBackgroundWrapper=e.BackgroundWrapper=function(n){var l=n.children,t=n.backgroundColor,b=void 0===t?'$background':t,p=(0,o.default)(n,u);return(0,c.jsx)(r(d[3]).YStack,Object.assign({flex:1,px:"$4",pb:"$4",bg:b,minH:"100vh"},p,{children:l}))};var o=n(r(d[1])),c=r(d[2]),u=["children","backgroundColor"]},1387,[1,207,258,807]); __d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0})},1388,[]); -__d(function(g,_r,_i,_a,m,_e,d){var e=_r(d[0]);Object.defineProperty(_e,"__esModule",{value:!0}),_e.fetchPayerStatusWithCache=_e.addressBookQueryKeys=_e.addressBookQueries=_e.activityQueryKeys=_e.activityQueries=_e.activityHelpers=_e.accessibleAssetQueryKeys=_e.accessibleAssetQueries=_e.accessibleAssetHelpers=void 0,_e.groupActivityByDate=w,_e.walletSelectors=_e.walletHelpers=_e.useWalletStore=_e.useTokenStore=_e.useTokenQueryStore=_e.useSendStore=_e.useProfileStore=_e.usePayerStatusStore=_e.useAllProfiles=_e.useAddressBookStore=_e.tokenSelectors=_e.tokenQueryKeys=_e.tokenQueries=_e.tokenHelpers=_e.storageUtils=_e.storageQueryKeys=_e.storageQueries=_e.sendSelectors=_e.sendHelpers=_e.payerStatusQueryKeys=_e.payerStatusQueries=void 0;var t=e(_r(d[1])),n=e(_r(d[2])),r=e(_r(d[3])),a=e(_r(d[4])),o=e(_r(d[5]));function i(e){var t=c(e,"string");return"symbol"==typeof t?t:t+""}function c(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var l,s,u,f=0,y=function(e){return`${e}-${arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet"}`},v=_e.useTokenStore=(0,_r(d[6]).create)(function(e,t){return{addressCache:{},isLoading:!1,error:null,isStale:function(e,t){return 0===t||Date.now()-e>t},fetchFreshBalance:(p=(0,o.default)(function*(n,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";if(!n)return{balance:"0 FLOW",displayBalance:"0 FLOW",nftCount:0,nftCountDisplay:"0 NFTs",lastUpdated:Date.now()};try{var i;if("evm"===r){var c=yield _r(d[7]).cadence.getFlowBalanceForAnyAccounts([n]),l=parseFloat(c[n]||"0"),s=(0,_r(d[8]).formatCurrencyStringForDisplay)({value:l});i={balance:`${s} FLOW`,displayBalance:`${s} FLOW`,nftCount:0,nftCountDisplay:"0 NFTs"}}else{var u,v,h,p=y(n,o),A=t().addressCache[p];if(A&&!t().isStale(A.lastFetch,f)||(yield t().fetchTokens(n,o,!0),A=t().addressCache[p]),null!=(u=A)&&u.isLoading)for(var F=0;null!=(C=A)&&C.isLoading&&F<50;){var C;yield new Promise(function(e){return setTimeout(e,100)}),A=t().addressCache[p],F++}if(!A)throw new Error("Failed to fetch token data");var T=null==(v=A.tokens)?void 0:v.find(function(e){var t;return"FLOW"===e.symbol||(null==(t=e.contractName)?void 0:t.toLowerCase().includes("flow"))}),b="0 FLOW",S="0 FLOW";if(null!=T&&T.displayBalance)b=S=T.displayBalance.includes("FLOW")?T.displayBalance:`${T.displayBalance} FLOW`;else if(null!=T&&T.balance){var k=parseFloat(T.balance);S=b=`${(0,_r(d[8]).formatCurrencyStringForDisplay)({value:k})} FLOW`}var w=(null==(h=A.nftCollections)?void 0:h.reduce(function(e,t){return e+(t.count||0)},0))||0;i={balance:b,displayBalance:S,nftCount:w,nftCountDisplay:`${w} NFT${1!==w?"s":""}`}}var N=y(n,o),B=Date.now();return e(function(e){var t,n,r;return Object.assign({},e,{addressCache:Object.assign({},e.addressCache,(0,a.default)({},N,Object.assign({},e.addressCache[N],{balance:i.balance,displayBalance:i.displayBalance,nftCount:i.nftCount,nftCountDisplay:i.nftCountDisplay,lastUpdated:B,tokens:(null==(t=e.addressCache[N])?void 0:t.tokens)||[],nftCollections:(null==(n=e.addressCache[N])?void 0:n.nftCollections)||[],lastFetch:(null==(r=e.addressCache[N])?void 0:r.lastFetch)||0,isLoading:!1,error:null})))})}),Object.assign({},i,{lastUpdated:B})}catch(e){var Q=y(n,o),D=t().addressCache[Q];return D?{balance:D.balance,displayBalance:D.displayBalance,nftCount:D.nftCount,nftCountDisplay:D.nftCountDisplay,lastUpdated:D.lastUpdated}:{balance:"0 FLOW",displayBalance:"0 FLOW",nftCount:0,nftCountDisplay:"0 NFTs",lastUpdated:Date.now()}}}),function(e,t){return p.apply(this,arguments)}),refreshBalanceInBackground:(h=(0,o.default)(function*(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";try{yield t().fetchFreshBalance(e,n,r)}catch(e){}}),function(e,t){return h.apply(this,arguments)}),fetchBatchFlowBalances:(v=(0,o.default)(function*(e){if(!e||0===e.length)return[];try{var t=yield _r(d[7]).cadence.getFlowBalanceForAnyAccounts(e),n=[];for(var r of e){var a=t[r]||"0",o=parseFloat(a),i=`${(0,_r(d[8]).formatCurrencyStringForDisplay)({value:o})} FLOW`;n.push([r,i])}return n}catch(t){return _r(d[9]).logger.error("[TokenStore] Failed to fetch batch Flow balances:",t),e.map(function(e){return[e,"0 FLOW"]})}}),function(e){return v.apply(this,arguments)}),getBalance:(u=(0,o.default)(function*(e,n){var r="mainnet";if((arguments.length>2&&void 0!==arguments[2]?arguments[2]:{fresh:!1}).fresh)return yield t().fetchFreshBalance(e,n,r);var a=y(e,r),o=t().addressCache[a];return o&&!t().isStale(o.lastUpdated,f)?(setTimeout(function(){return t().refreshBalanceInBackground(e,n,r)},0),{balance:o.balance,displayBalance:o.displayBalance,nftCount:o.nftCount,nftCountDisplay:o.nftCountDisplay,lastUpdated:o.lastUpdated}):yield t().fetchFreshBalance(e,n,r)}),function(e,t){return u.apply(this,arguments)}),getAccountBalance:(s=(0,o.default)(function*(e,n){return yield t().getBalance(e,n,{fresh:!1})}),function(e,t){return s.apply(this,arguments)}),getTokensForAddress:function(e){if(!e)return null;var n=y(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet"),r=t().addressCache[n];return(null==r?void 0:r.tokens)||null},getNFTCollectionsForAddress:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";if(!e)return null;var r=y(e,n),a=t().addressCache[r],o=(null==a?void 0:a.nftCollections)||null;return _r(d[9]).logger.debug("[TokenStore] Retrieving NFT collections from cache",{address:e,network:n,cacheKey:r,hasCached:!!a,hasCollections:!!o,collectionsCount:(null==o?void 0:o.length)||0,collections:(null==o?void 0:o.map(function(e){return{id:e.id,name:e.name,contractName:e.contractName,count:e.count,type:e.type,flowIdentifier:e.flowIdentifier,evmAddress:e.evmAddress}}))||[]}),o},getCachedBalanceForAddress:function(e){if(!e)return null;var n=y(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet"),r=t().addressCache[n];return r?{balance:r.balance,displayBalance:r.displayBalance,nftCount:r.nftCount,nftCountDisplay:r.nftCountDisplay,lastUpdated:r.lastUpdated}:null},isCacheValidForAddress:function(e){if(!e)return!1;var n=y(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet"),r=t().addressCache[n];return r&&!t().isStale(r.lastFetch,f)},clearCacheForAddress:function(t){if(t){var n=y(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet");e(function(e){var t=e.addressCache,a=(t[n],(0,r.default)(t,[n].map(i)));return Object.assign({},e,{addressCache:a})}),_r(d[9]).logger.debug(`[TokenStore] Cleared unified cache for address: ${t}`)}},fetchTokens:(l=(0,o.default)(function*(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(r){var c=y(r,o),l=Date.now(),s=t().addressCache[c],u=t().isStale((null==s?void 0:s.lastFetch)||0,f);if(i||!s||s.isLoading||u){e(function(e){return Object.assign({},e,{addressCache:Object.assign({},e.addressCache,(0,a.default)({},c,Object.assign({},s,{isLoading:!0,error:null,tokens:(null==s?void 0:s.tokens)||[],nftCollections:(null==s?void 0:s.nftCollections)||[],balance:(null==s?void 0:s.balance)||"0 FLOW",displayBalance:(null==s?void 0:s.displayBalance)||"0 FLOW",nftCount:(null==s?void 0:s.nftCount)||0,nftCountDisplay:(null==s?void 0:s.nftCountDisplay)||"0 NFTs",lastFetch:(null==s?void 0:s.lastFetch)||0,lastUpdated:(null==s?void 0:s.lastUpdated)||0})))})});try{var v=(0,_r(d[8]).addressType)(r),h=(0,_r(d[10]).tokenService)(v),p=(0,_r(d[10]).nftService)(v),A=_r(d[7]).context.bridge.getCurrency(),F=yield Promise.all([h.getTokenInfo(r,o,A.name),p.getNFTCollections(r)]),C=(0,n.default)(F,2),T=C[0],b=C[1];_r(d[9]).logger.debug("[TokenStore] Storing NFT collections in cache",{address:r,network:o,cacheKey:c,nftCollectionsCount:b.length,nftCollections:b.map(function(e){return{id:e.id,name:e.name,contractName:e.contractName,count:e.count,type:e.type,flowIdentifier:e.flowIdentifier,evmAddress:e.evmAddress}})}),e(function(e){var t,n,r;return Object.assign({},e,{addressCache:Object.assign({},e.addressCache,(0,a.default)({},c,Object.assign({},e.addressCache[c],{tokens:T,nftCollections:b,lastFetch:l,isLoading:!1,error:null,balance:(null==(t=e.addressCache[c])?void 0:t.balance)||"0 FLOW",displayBalance:(null==(n=e.addressCache[c])?void 0:n.displayBalance)||"0 FLOW",nftCount:b.reduce(function(e,t){return e+(t.count||0)},0),nftCountDisplay:`${b.reduce(function(e,t){return e+(t.count||0)},0)} NFT${1!==b.reduce(function(e,t){return e+(t.count||0)},0)?"s":""}`,lastUpdated:(null==(r=e.addressCache[c])?void 0:r.lastUpdated)||l})))})})}catch(t){_r(d[9]).logger.error("[TokenStore] Error fetching tokens:",t),e(function(e){return Object.assign({},e,{addressCache:Object.assign({},e.addressCache,(0,a.default)({},c,Object.assign({},s,{isLoading:!1,error:(null==t?void 0:t.message)||"Failed to fetch tokens",tokens:(null==s?void 0:s.tokens)||[],nftCollections:(null==s?void 0:s.nftCollections)||[],lastFetch:(null==s?void 0:s.lastFetch)||0})))})})}}}}),function(e){return l.apply(this,arguments)}),clearCache:function(n){n?t().clearCacheForAddress(n):e(function(e){return Object.assign({},e,{addressCache:{}})})},forceRefresh:(c=(0,o.default)(function*(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";yield t().fetchTokens(e,n,!0),yield t().fetchFreshBalance(e,void 0,n)}),function(e){return c.apply(this,arguments)})};var c,l,s,u,v,h,p});_e.tokenSelectors={getTokens:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return function(n){var r;if(!e)return[];var a=y(e,t);return(null==(r=n.addressCache[a])?void 0:r.tokens)||[]}},getNFTCollections:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return function(n){var r;if(!e)return[];var a=y(e,t);return(null==(r=n.addressCache[a])?void 0:r.nftCollections)||[]}},getToken:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";return function(r){var a;if(!e)return null;var o=y(e,n);return((null==(a=r.addressCache[o])?void 0:a.tokens)||[]).find(function(e){return e.symbol===t})||null}},getFlowBalance:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return function(n){if(!e)return{balance:"0 FLOW",displayBalance:"0 FLOW",isLoading:!1,error:null};var r=y(e,t),a=n.addressCache[r];return{balance:(null==a?void 0:a.balance)||"0 FLOW",displayBalance:(null==a?void 0:a.displayBalance)||"0 FLOW",isLoading:(null==a?void 0:a.isLoading)||!1,error:(null==a?void 0:a.error)||null}}},getAccountData:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return function(n){if(!e)return{balance:"0 FLOW",nftCount:0,nftCountDisplay:"0 NFTs",isLoading:!1,error:null};var r=y(e,t),a=n.addressCache[r];return{balance:(null==a?void 0:a.balance)||"0 FLOW",nftCount:(null==a?void 0:a.nftCount)||0,nftCountDisplay:(null==a?void 0:a.nftCountDisplay)||"0 NFTs",isLoading:(null==a?void 0:a.isLoading)||!1,error:(null==a?void 0:a.error)||null}}},getLoadingState:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return function(n){if(!e)return{isLoading:!1,error:null};var r=y(e,t),a=n.addressCache[r];return{isLoading:(null==a?void 0:a.isLoading)||!1,error:(null==a?void 0:a.error)||null}}}},_e.tokenHelpers={initializeAccount:(u=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet",r=v.getState(),a=yield r.getBalance(e,t,{fresh:!1});return yield Promise.all([r.fetchTokens(e,n),r.refreshBalanceInBackground(e,t,n)]),a}),function(e,t){return u.apply(this,arguments)}),refreshAccount:(s=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet",r=v.getState();return yield r.forceRefresh(e,n)}),function(e,t){return s.apply(this,arguments)}),getBalanceWithOptions:(l=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=v.getState();return yield r.getBalance(e,t,{fresh:n})}),function(e,t){return l.apply(this,arguments)})};function h(e){if(null==e||""===e)return"0";var t="string"==typeof e?parseFloat(e):e;return isNaN(t)?"0":t.toString()}var p,A,F={tokenAmount:"0",fiatAmount:"0.00",transactionFee:"0.001",isTokenMode:!0},C=_e.useSendStore=(0,_r(d[6]).create)(function(e,n){return{selectedToken:null,fromAccount:null,toAccount:null,transactionType:"tokens",formData:F,selectedNFTs:[],currentNFT:null,selectedNFTQuantities:{},selectedCollection:null,currentStep:"select-tokens",isLoading:!1,error:null,balances:{coa:{},evm:{}},accessibleAssetStores:{},setSelectedToken:function(t){return e({selectedToken:t,error:null})},setFromAccount:function(t){return e({fromAccount:t,error:null})},setToAccount:function(t){return e({toAccount:t,error:null})},setCurrentNFT:function(t){return e({currentNFT:t,error:null})},setTransactionType:function(t){return e(function(e){var n={transactionType:t,error:null};return"tokens"===e.transactionType&&["single-nft","multiple-nfts"].includes(t)&&(n.selectedToken=null,n.formData=Object.assign({},F)),["single-nft","multiple-nfts"].includes(e.transactionType)&&"tokens"===t&&(n.selectedNFTs=[]),Object.assign({},e,n)})},updateFormData:function(t){return e(function(e){return{formData:Object.assign({},e.formData,t),error:null}})},setSelectedNFTs:function(t){return e(function(e){var n=Object.assign({},e.selectedNFTQuantities);return t.forEach(function(e){"ERC1155"===e.contractType&&e.id&&!n[e.id]&&(n[e.id]=1,_r(d[9]).logger.debug("[sendStore] Initializing ERC1155 quantity:",{nftId:e.id,contractType:e.contractType,nftAmount:e.amount}))}),{selectedNFTs:t,selectedNFTQuantities:n,error:null}})},setSelectedCollection:function(t){return e({selectedCollection:t,error:null})},addSelectedNFT:function(n){return e(function(e){if(e.selectedNFTs.find(function(e){return e.id===n.id}))return e;var r=Object.assign({},e.selectedNFTQuantities);return"ERC1155"===n.contractType&&n.id&&!r[n.id]&&(r[n.id]=1,_r(d[9]).logger.debug("[sendStore] Initializing ERC1155 quantity on add:",{nftId:n.id,contractType:n.contractType,nftAmount:n.amount})),{selectedNFTs:[].concat((0,t.default)(e.selectedNFTs),[n]),selectedNFTQuantities:r,error:null}})},removeSelectedNFT:function(t){return e(function(e){var n=Object.assign({},e.selectedNFTQuantities);return delete n[t],{selectedNFTs:e.selectedNFTs.filter(function(e){return e.id!==t}),selectedNFTQuantities:n,error:null}})},setNFTQuantity:function(t,n){return e(function(e){return{selectedNFTQuantities:Object.assign({},e.selectedNFTQuantities,(0,a.default)({},t,n))}})},getNFTQuantity:function(e){return n().selectedNFTQuantities[e]||1},setCurrentStep:function(t){return e({currentStep:t,error:null})},setLoading:function(t){return e({isLoading:t})},setError:function(t){return e({error:t,isLoading:!1})},fetchCoaBalance:(s=(0,o.default)(function*(t){var r=n().balances;e({balances:Object.assign({},r,{coa:Object.assign({},r.coa,(0,a.default)({},t,Object.assign({},r.coa[t],{loading:!0,error:null})))})});try{var o=(0,_r(d[10]).flowService)(),i=yield o.getCoaBalance(t),c=n().balances;e({balances:Object.assign({},c,{coa:Object.assign({},c.coa,(0,a.default)({},t,{balance:i,loading:!1,error:null,lastFetched:Date.now()}))})})}catch(r){var l=r instanceof Error?r.message:"Failed to fetch COA balance",s=n().balances;e({balances:Object.assign({},s,{coa:Object.assign({},s.coa,(0,a.default)({},t,{balance:null,loading:!1,error:l,lastFetched:null}))})})}}),function(e){return s.apply(this,arguments)}),fetchEvmBalance:(l=(0,o.default)(function*(t){var r=n().balances;e({balances:Object.assign({},r,{evm:Object.assign({},r.evm,(0,a.default)({},t,Object.assign({},r.evm[t],{loading:!0,error:null})))})});try{var o=(0,_r(d[10]).flowService)(),i=yield o.getEvmBalance(t),c=n().balances;e({balances:Object.assign({},c,{evm:Object.assign({},c.evm,(0,a.default)({},t,{balance:i,loading:!1,error:null,lastFetched:Date.now()}))})})}catch(r){var l=r instanceof Error?r.message:"Failed to fetch EVM balance",s=n().balances;e({balances:Object.assign({},s,{evm:Object.assign({},s.evm,(0,a.default)({},t,{balance:null,loading:!1,error:l,lastFetched:null}))})})}}),function(e){return l.apply(this,arguments)}),getCoaBalance:function(e){return n().balances.coa[e]||null},getEvmBalance:function(e){return n().balances.evm[e]||null},getAccessibleAssetStore:function(e){return n().accessibleAssetStores[e]||null},setAccessibleAssetStore:function(t,n){e(function(e){return{accessibleAssetStores:Object.assign({},e.accessibleAssetStores,(0,a.default)({},t,n))}})},clearAccessibleAssetStore:function(t){e(function(e){var n=Object.assign({},e.accessibleAssetStores);return delete n[t],{accessibleAssetStores:n}})},clearAllAccessibleAssetStores:function(){e({accessibleAssetStores:{}})},clearBalances:function(){e(function(){return{balances:{coa:{},evm:{}}}})},clearBalanceForAddress:function(t,n){e(function(e){var r=Object.assign({},e.balances);return delete r[t][n],{balances:r}})},resetSendFlow:function(){return e({selectedToken:null,fromAccount:null,toAccount:null,transactionType:"tokens",formData:F,selectedNFTs:[],selectedNFTQuantities:{},currentStep:"select-tokens",isLoading:!1,error:null,balances:{coa:{},evm:{}},accessibleAssetStores:{}})},clearTransactionData:function(){return e({selectedToken:null,selectedNFTs:[],selectedNFTQuantities:{},formData:F,transactionType:"tokens",currentStep:"select-tokens",error:null})},createTransactionSession:(c=(0,o.default)(function*(){try{if(!_r(d[7]).analytics.isEnabled())return _r(d[9]).logger.debug("[SendStore] Analytics not enabled, skipping transaction tracking"),null;var e=_r(d[7]).analytics.getTransactionTracker();if(!e)return _r(d[9]).logger.debug("[SendStore] No transaction tracker available"),null;var t=n().transactionType,r=(yield _r(d[7]).bridge.getWalletAccounts()).accounts,a=yield _r(d[7]).bridge.getSelectedAccount(),o="main"===a.type?a:r.find(function(e){return"main"===e.type&&e.address===a.parentAddress});if(!o)return _r(d[9]).logger.warn("[SendStore] No main account found for analytics session"),null;var i=e.createTransactionSession(o.address,t);return _r(d[9]).logger.debug("[SendStore] Transaction session created for analytics"),i}catch(e){return _r(d[9]).logger.warn("[SendStore] Analytics session creation failed, continuing without tracking:",e),null}}),function(){return c.apply(this,arguments)}),createSendPayload:(i=(0,o.default)(function*(e){var t=n();_r(d[9]).logger.info("[SendStore] createSendPayload -- state:",t);var r=t.fromAccount,a=t.toAccount,o=t.selectedToken,i=t.selectedNFTs,c=t.formData,l=t.transactionType;if(!r||!a)return _r(d[9]).logger.error("[SendStore] Missing fromAccount or toAccount"),null;var s="tokens"===l,u=["single-nft","multiple-nfts"].includes(l);if(s&&!o)return _r(d[9]).logger.error("[SendStore] Missing selectedToken for token transaction"),null;if(u&&0===i.length)return _r(d[9]).logger.error("[SendStore] Missing selectedNFTs for NFT transaction"),null;try{var f,y,p=(yield _r(d[7]).bridge.getWalletAccounts()).accounts,A=yield _r(d[7]).bridge.getSelectedAccount();_r(d[9]).logger.info("[SendStore] createSendPayload -- Selected account:",A),_r(d[9]).logger.info("[SendStore] createSendPayload -- Accounts:",p);var F="main"===A.type?A:p.find(function(e){return"main"===e.type&&e.address===A.parentAddress}),C=(null==(f=p.filter(function(e){return"evm"===e.type&&e.parentAddress===(null==F?void 0:F.address)})[0])?void 0:f.address)||"";if(!C&&null!=F&&F.address)try{var T=yield _r(d[7]).cadence.getAddr(F.address);T&&(C=T.startsWith("0x")?T:`0x${T}`)}catch(e){_r(d[9]).logger.warn("[SendStore] Failed to fetch COA address from cadence",e)}var b=p.filter(function(e){return"child"===e.type&&e.parentAddress===(null==F?void 0:F.address)}).map(function(e){return e.address});if(!F)return _r(d[9]).logger.error("[SendStore] No main account found"),null;var S=s?(null==o?void 0:o.evmAddress)||"":(null==(y=i[0])?void 0:y.evmAddress)||"";if(s&&""===S&&o){var k=(null==_r(d[7]).bridge.getNetwork?void 0:_r(d[7]).bridge.getNetwork())||"mainnet",w=(v.getState().getTokensForAddress(r.address,k)||[]).find(function(e){return!(!o.identifier||e.identifier!==o.identifier)||!(!o.contractAddress||e.contractAddress!==o.contractAddress)||!(!o.symbol||e.symbol!==o.symbol)});w&&(S=w.evmAddress||w.contractAddress||"",_r(d[9]).logger.debug("[SendStore] Resolved missing token contract address from tokenStore",{matchedIdentifier:w.identifier,matchedSymbol:w.symbol,matchedContract:w.contractAddress,resolvedAddress:w.contractAddress}))}var N=(0,_r(d[8]).addressType)(r.address),B=N!==(0,_r(d[8]).addressType)(a.address),Q="";if(u&&i.length>0){var D=i[0];if(_r(d[9]).logger.debug("[sendStore] Processing NFT for payload:",{nftId:D.id,contractType:D.contractType,nftAmount:D.amount,selectedNFTQuantities:t.selectedNFTQuantities}),"ERC1155"===D.contractType){var L=D.id||"",O=t.selectedNFTQuantities[L]||1;Q=O.toString(),_r(d[9]).logger.debug("[sendStore] ERC1155 amount set:",{nftId:L,quantity:O,nftAmount:Q})}}var E=u?(0,_r(d[9]).getNFTResourceIdentifier)(i[0]):null,q=s?(0,_r(d[9]).getTokenResourceIdentifier)(o):null,I=q||E||"";_r(d[9]).logger.debug("[sendStore] Flow identifier calculation:",{isNFTTransaction:u,isTokenTransaction:s,nftIdentifier:E,tokenIdentifier:q,flowIdentifier:I,selectedNFT:i[0]?{id:i[0].id,address:i[0].address,contractName:i[0].contractName,flowIdentifier:i[0].flowIdentifier,evmAddress:i[0].evmAddress}:null});var W={type:s?"token":"nft",assetType:N,proposer:F.address,receiver:a.address,flowIdentifier:I,sender:r.address,childAddrs:b,ids:u?i.map(function(e){return null!==e.id&&void 0!==e.id?parseInt(e.id):void 0}).filter(function(e){return"number"==typeof e&&!isNaN(e)}):[],amount:s?h(c.tokenAmount):Q,decimal:(null==o?void 0:o.decimal)||8,coaAddr:C,isCrossVM:B,tokenContractAddr:S};return null==e||e.prepared(W,{isCrossVM:B}),_r(d[9]).logger.debug("[SendStore] Created send payload:",W),W}catch(e){return _r(d[9]).logger.error("[SendStore] Error creating send payload:",e),null}}),function(e){return i.apply(this,arguments)}),executeTransaction:(r=(0,o.default)(function*(){var t=n();e({isLoading:!0,error:null});var r=yield t.createTransactionSession();try{var a=yield t.createSendPayload(r);if(!a)throw new Error("Failed to create transaction payload");if(!(0,_r(d[11]).isValidSendTransactionPayload)(a))throw new Error("Invalid transaction payload");_r(d[9]).logger.debug("[SendStore] Executing transaction with payload:",a);var i={ethSign:_r(d[7]).bridge.ethSign?function(e){return _r(d[7]).bridge.ethSign(e)}:void 0,network:_r(d[7]).bridge.getNetwork?_r(d[7]).bridge.getNetwork():void 0,session:r||void 0};_r(d[7]).cadence.useRequestInterceptor((function(){var e=(0,o.default)(function*(e){return console.log("tracker req interceptor",e),e});return function(t){return e.apply(this,arguments)}})()),_r(d[7]).cadence.useResponseInterceptor((function(){var e=(0,o.default)(function*(e,t){return console.log("tracker res interceptor",e,t),null==r||r.submitted(t),{config:e,response:t}});return function(t,n){return e.apply(this,arguments)}})());var c=yield(0,_r(d[11]).SendTransaction)(a,_r(d[7]).cadence,i);return _r(d[9]).logger.debug("[SendStore] Transaction result:",c),e({isLoading:!1}),t.resetSendFlow(),null==r||r.completed(!0,c),c}catch(t){var l=t instanceof Error?t.message:"Transaction failed";throw _r(d[9]).logger.error("[SendStore] Transaction error:",t),null==r||r.failed(l,"","preparation"),e({isLoading:!1,error:l}),null==r||r.completed(!1,""),new(_r(d[8]).FRWError)(_r(d[8]).ErrorCode.TRANSACTION_ERROR,l)}}),function(){return r.apply(this,arguments)}),getTransactionDetailsForDisplay:function(){var e=n(),t=e.transactionType,r=e.selectedToken,a=e.selectedNFTs,o=e.formData,i="tokens"===t,c=["single-nft","multiple-nfts"].includes(t);return{isTokenTransaction:i,isNFTTransaction:c,tokenAmount:i?o.tokenAmount:void 0,tokenSymbol:null==r?void 0:r.symbol,tokenName:null==r?void 0:r.name,nftCount:c?a.length:void 0,networkFee:"~0.001 FLOW"}}};var r,i,c,l,s}),T=(_e.sendSelectors={selectedToken:function(e){return e.selectedToken},fromAccount:function(e){return e.fromAccount},toAccount:function(e){return e.toAccount},formData:function(e){return e.formData},selectedNFTs:function(e){return e.selectedNFTs},currentStep:function(e){return e.currentStep},isLoading:function(e){return e.isLoading},error:function(e){return e.error},isTokensFlow:function(e){return"tokens"===e.transactionType},isNFTFlow:function(e){return["single-nft","multiple-nfts"].includes(e.transactionType)},isMultipleNFTsFlow:function(e){return"multiple-nfts"===e.transactionType},hasSelectedToken:function(e){return!!e.selectedToken},hasFromAccount:function(e){return!!e.fromAccount},hasToAccount:function(e){return!!e.toAccount},hasSelectedNFTs:function(e){return e.selectedNFTs.length>0},selectedNFTsCount:function(e){return e.selectedNFTs.length},getCoaBalance:function(e){return function(t){return e.balances.coa[t]||null}},getEvmBalance:function(e){return function(t){return e.balances.evm[t]||null}},getAllCoaBalances:function(e){return e.balances.coa},getAllEvmBalances:function(e){return e.balances.evm},getAccessibleAssetStore:function(e){return function(t){return e.accessibleAssetStores[t]||null}},getAllAccessibleAssetStores:function(e){return e.accessibleAssetStores},canProceedFromSelectTokens:function(e){return!!e.selectedToken||e.selectedNFTs.length>0},canProceedFromSendTo:function(e){return!!e.toAccount},canProceedFromSendTokens:function(e){return!!e.selectedToken&&!!e.toAccount&&parseFloat(e.formData.tokenAmount)>0},canConfirmTransaction:function(e){var t=!!e.fromAccount&&!!e.toAccount;return"tokens"===e.transactionType?t&&!!e.selectedToken&&parseFloat(e.formData.tokenAmount)>0:t&&e.selectedNFTs.length>0}},_e.sendHelpers={getTransactionSummary:function(){var e=C.getState();return{type:e.transactionType,from:e.fromAccount,to:e.toAccount,token:e.selectedToken,amount:e.formData.tokenAmount,fiatValue:e.formData.fiatAmount,fee:e.formData.transactionFee,nfts:e.selectedNFTs}},goToStep:function(e){(0,C.getState().setCurrentStep)(e)},clearError:function(){(0,C.getState().setError)(null)},refreshCoaBalance:function(e){return(0,C.getState().fetchCoaBalance)(e)},refreshEvmBalance:function(e){return(0,C.getState().fetchEvmBalance)(e)},isBalanceStale:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3e4;return null==e||!e.lastFetched||Date.now()-e.lastFetched>t}},_e.useWalletStore=(0,_r(d[6]).create)(function(e,t){return{accounts:[],activeAccount:null,isLoading:!1,error:null,loadAccountsFromBridge:(n=(0,o.default)(function*(){e({isLoading:!0,error:null});try{var t=(0,_r(d[10]).flowService)(),n=yield t.getWalletAccounts();if(!Array.isArray(n.accounts))throw new Error("Invalid accounts data from bridge");var r=n.accounts,a=r.find(function(e){return e.isActive})||r[0]||null;e({accounts:r,activeAccount:a,isLoading:!1,error:null})}catch(t){e({accounts:[],activeAccount:null,isLoading:!1,error:t instanceof Error?t.message:"Failed to load accounts"})}}),function(){return n.apply(this,arguments)}),setActiveAccount:function(t){e(function(e){return{accounts:e.accounts.map(function(e){return Object.assign({},e,{isActive:e.address===t.address})}),activeAccount:Object.assign({},t,{isActive:!0})}})},getAccountByAddress:function(e){return t().accounts.find(function(t){return t.address===e})||null},clearCache:function(){e({accounts:[],activeAccount:null,isLoading:!1,error:null})}};var n})),b=(_e.walletSelectors={getAllAccounts:function(e){return e.accounts},getActiveAccount:function(e){return e.activeAccount},getAccountByAddress:function(e){return function(t){return t.accounts.find(function(t){return t.address===e})||null}},getAccountsByType:function(e){return function(t){return t.accounts.filter(function(t){return t.type===e})}},getLoadingState:function(e){return{isLoading:e.isLoading,error:e.error}}},_e.walletHelpers={initializeWallet:(p=(0,o.default)(function*(){var e=T.getState();return yield e.loadAccountsFromBridge(),e.accounts}),function(){return p.apply(this,arguments)}),getAccountByAddress:function(e){return T.getState().getAccountByAddress(e)},getAllAccounts:function(){return T.getState().accounts},getActiveAccount:function(){return T.getState().activeAccount},setActiveAccount:function(e){T.getState().setActiveAccount(e)}},_e.useProfileStore=(0,_r(d[6]).create)(function(e,t){return{profiles:[],isLoading:!1,error:null,loadProfilesFromBridge:(n=(0,o.default)(function*(){if(!t().isLoading){e({isLoading:!0,error:null});try{var n=(0,_r(d[10]).flowService)();try{var r=yield n.getWalletProfiles();if(!Array.isArray(r.profiles))throw new Error("Invalid profiles data from bridge");var a=r.profiles;e({profiles:a,isLoading:!1,error:null})}catch(t){var o=yield n.getWalletAccounts();if(!o.accounts||!Array.isArray(o.accounts))throw new Error("Invalid accounts data from bridge");var i=[{uid:"default-profile",name:"Main Profile",avatar:"\ud83d\udc64",accounts:o.accounts}];e({profiles:i,isLoading:!1,error:null})}}catch(t){e({profiles:[],isLoading:!1,error:t instanceof Error?t.message:"Failed to load profiles"})}}}),function(){return n.apply(this,arguments)}),getProfileByUid:function(e){return t().profiles.find(function(t){return t.uid===e})||null},clearCache:function(){e({profiles:[],isLoading:!1,error:null})}};var n})),S=(_e.useAllProfiles=function(){return b(function(e){return e.profiles})},_e.activityQueryKeys={all:[_r(d[8]).FlatQueryDomain.TRANSACTIONS],address:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return[].concat((0,t.default)(S.all),[e,n])},list:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:15;return[].concat((0,t.default)(S.address(e,n)),["list",r,a])}}),k=_e.activityQueries={fetchActivity:(A=(0,o.default)(function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:15;if(!e)return{items:[],total:0,hasMore:!1};try{var a=(0,_r(d[8]).addressType)(e),o=(0,_r(d[10]).activityService)(a),i=yield o.getActivity(e,t,n,r);return _r(d[9]).logger.debug("[ActivityQuery] Fetched activity:",{address:e,network:t,offset:n,limit:r,count:i.items.length,total:i.total}),i}catch(e){throw _r(d[9]).logger.error("[ActivityQuery] Error fetching activity:",e),e}}),function(e){return A.apply(this,arguments)})};function w(e){if(!e||0===e.length)return[];var t=new Date,r=new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),a=r-864e5,o=new Map;for(var i of e){var c=new Date(i.time),l=new Date(c.getFullYear(),c.getMonth(),c.getDate()).getTime(),s=void 0;s=l===r?"Today":l===a?"Yesterday":c.toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"});var u=o.get(s);u?u.items.push(i):o.set(s,{timestamp:l,items:[i]})}return Array.from(o.entries()).map(function(e){var t=(0,n.default)(e,2),r=t[0],a=t[1];return{date:r,timestamp:a.timestamp,items:a.items.sort(function(e,t){return t.time-e.time})}}).sort(function(e,t){return t.timestamp-e.timestamp})}_e.activityHelpers={fetchActivity:(N=(0,o.default)(function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:15;return _r(d[7]).queryClient.fetchQuery({queryKey:S.list(e,t,n,r),queryFn:function(){return k.fetchActivity(e,t,n,r)},staleTime:0})}),function(e){return N.apply(this,arguments)}),getActivity:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:15;return _r(d[7]).queryClient.getQueryData(S.list(e,t,n,r))},invalidateActivity:function(e,t){t?_r(d[7]).queryClient.invalidateQueries({queryKey:S.address(e,t)}):_r(d[7]).queryClient.invalidateQueries({predicate:function(t){var n=t.queryKey;return Array.isArray(n)&&n[1]===e}})},invalidateAllActivity:function(){_r(d[7]).queryClient.invalidateQueries({queryKey:S.all})},isLoading:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:15,a=_r(d[7]).queryClient.getQueryCache().find({queryKey:S.list(e,t,n,r)});return"fetching"===(null==a?void 0:a.state.fetchStatus)},groupByDate:w};var N,B,Q,D,L,O,E,q,I,W,j,R,P,U,K,M,$,_,H,x,V,z=_e.tokenQueryKeys={all:[_r(d[8]).FlatQueryDomain.TOKENS],addresses:function(){return[].concat((0,t.default)(z.all),["addresses"])},address:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return[].concat((0,t.default)(z.addresses()),[e,n])},tokens:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return[].concat((0,t.default)(z.address(e,n)),["tokens"])},balance:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return[].concat((0,t.default)(z.address(e,n)),[_r(d[8]).FlatQueryDomain.BALANCE])},nfts:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return[].concat((0,t.default)(z.address(e,n)),[_r(d[8]).FlatQueryDomain.NFTS])},nftCollection:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";return[].concat((0,t.default)(z.nfts(e,r)),[n.id||n.contractName||n.name])},nftCollectionAll:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";return[].concat((0,t.default)(z.nfts(e,r)),["all",n.id||n.contractName||n.name])}},Y=_e.tokenQueries={fetchTokens:(q=(0,o.default)(function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";if(!e)return[];try{var n=(0,_r(d[8]).addressType)(e),r=(0,_r(d[10]).tokenService)(n),a=_r(d[7]).context.bridge.getCurrency(),o=yield r.getTokenInfo(e,t,a.name);return _r(d[9]).logger.debug("[TokenQuery] Fetched tokens:",{address:e,network:t,count:o.length}),o}catch(e){throw _r(d[9]).logger.error("[TokenQuery] Error fetching tokens:",e),e}}),function(e){return q.apply(this,arguments)}),fetchNFTCollections:(E=(0,o.default)(function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";if(!e)return[];try{var n=(0,_r(d[8]).addressType)(e),r=(0,_r(d[10]).nftService)(n),a=yield r.getNFTCollections(e);return _r(d[9]).logger.debug("[TokenQuery] Fetched NFT collections:",{address:e,network:t,count:a.length}),a}catch(e){throw _r(d[9]).logger.error("[TokenQuery] Error fetching NFT collections:",e),e}}),function(e){return E.apply(this,arguments)}),fetchNFTCollection:(O=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:50;if(!e||!t)return[];try{var o=(0,_r(d[8]).addressType)(e),i=(0,_r(d[10]).nftService)(o),c=yield i.getNFTs(e,t,r.toString(),a);return _r(d[9]).logger.debug("[TokenQuery] Fetched NFTs from collection:",{address:e,collection:t.name,network:n,count:c.nfts.length,offset:r,limit:a,nextOffset:c.offset}),c.nfts}catch(e){throw _r(d[9]).logger.error("[TokenQuery] Error fetching NFTs from collection:",e),e}}),function(e,t){return O.apply(this,arguments)}),fetchAllNFTsFromCollection:(L=(0,o.default)(function*(e,n){var r=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,i=arguments.length>5?arguments[5]:void 0;if(!e||!n)return[];try{var c=50,l=(0,_r(d[8]).addressType)(e),s=(0,_r(d[10]).nftService)(l),u="flow"===l,f=[],y=new Set,v=!0,h=1,p=r?Math.ceil(r/c)*c:void 0;if(u)for(var A=0,F=function*(){if(r&&p&&A>=p)return 1;if(null!=i&&i.aborted){var l=new Error("Request aborted by user");throw l.name="AbortError",l}for(var u=[],F=[],C=0;C<5&&v;C++)F.push(A),u.push(s.getNFTs(e,n,A.toString(),c)),A+=c;var T=!1,b=u.map((function(){var e=(0,o.default)(function*(e,n){var o=F[n];try{var i=yield e,c=i.nfts.filter(function(e){var t=e.id||`${e.name}-${e.contractAddress}`;return!y.has(t)&&(y.add(t),!0)});if(f.push.apply(f,(0,t.default)(c)),T=!0,a&&r){var l=Math.min(f.length/r*100,100);a(Math.round(l),f.length)}return{nfts:i,offset:o,success:!0}}catch(e){return v=!1,{nfts:[],offset:o,success:!1,error:e}}});return function(t,n){return e.apply(this,arguments)}})());yield Promise.allSettled(b),T||(v=!1),h++};v&&!(yield*F()););else for(var C="";v&&h<=100&&f.length<1e4;){if(null!=i&&i.aborted){var T=new Error("Request aborted by user");throw T.name="AbortError",T}try{var b=yield s.getNFTs(e,n,C,c),S=b.nfts,k=b.offset;if(0===S.length){v=!1;break}var w=S.filter(function(e){var t=e.id||`${e.name}-${e.contractAddress}`;return!y.has(t)&&(y.add(t),!0)});if(0===w.length){v=!1;break}if(f.push.apply(f,(0,t.default)(w)),a&&r){var N=Math.min(f.length/r*100,100);a(Math.round(N),f.length)}if(k?C=k:v=!1,S.lengthS.length/2){v=!1;break}}catch(e){v=!1;break}h++}return f}catch(e){throw _r(d[9]).logger.error("[TokenQuery] Error fetching all NFTs from collection:",e),e}}),function(e,t){return L.apply(this,arguments)}),fetchBalance:(D=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";if(!e)return{balance:"0 FLOW",displayBalance:"0 FLOW",nftCount:0,nftCountDisplay:"0 NFTs",lastUpdated:Date.now()};try{var r;if("evm"===t){var a=yield _r(d[7]).cadence.getFlowBalanceForAnyAccounts([e]),o=parseFloat(a[e]||"0"),i=(0,_r(d[8]).formatCurrencyStringForDisplay)({value:o});r={balance:`${i} FLOW`,displayBalance:`${i} FLOW`,nftCount:0,nftCountDisplay:"0 NFTs"}}else{var c=(yield _r(d[7]).queryClient.fetchQuery({queryKey:z.tokens(e,n),queryFn:function(){return Y.fetchTokens(e,n)},staleTime:0})).find(function(e){var t;return e.identifier===(0,_r(d[11]).getFlowTokenVault)(n)||"flow"===(null==(t=e.symbol)?void 0:t.toLowerCase())}),l="0 FLOW",s="0 FLOW";if(null!=c&&c.displayBalance)l=s=c.displayBalance.includes("FLOW")?c.displayBalance:`${c.displayBalance} FLOW`;else if(null!=c&&c.balance){var u=parseFloat(c.balance);s=l=`${(0,_r(d[8]).formatCurrencyStringForDisplay)({value:u})} FLOW`}var f=(yield _r(d[7]).queryClient.fetchQuery({queryKey:z.nfts(e,n),queryFn:function(){return Y.fetchNFTCollections(e,n)},staleTime:3e5})).reduce(function(e,t){return e+(t.count||0)},0);r={balance:l,displayBalance:s,nftCount:f,nftCountDisplay:`${f} NFT${1!==f?"s":""}`}}return Object.assign({},r,{lastUpdated:Date.now()})}catch(e){throw _r(d[9]).logger.error("[TokenQuery] Error fetching balance:",e),e}}),function(e,t){return D.apply(this,arguments)}),fetchBatchFlowBalances:(Q=(0,o.default)(function*(e){if(!e||0===e.length)return[];try{var t=yield _r(d[7]).cadence.getFlowBalanceForAnyAccounts(e),n=[];for(var r of e){var a=t[r]||"0",o=parseFloat(a),i=`${(0,_r(d[8]).formatCurrencyStringForDisplay)({value:o})} FLOW`;n.push([r,i])}return n}catch(t){return _r(d[9]).logger.error("[TokenQuery] Failed to fetch batch Flow balances:",t),e.map(function(e){return[e,"0 FLOW"]})}}),function(e){return Q.apply(this,arguments)}),fetchBatchNFTCounts:(B=(0,o.default)(function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";if(!e||0===e.length)return[];try{var n=yield Promise.allSettled(e.map((function(){var e=(0,o.default)(function*(e){return[e,(yield Y.fetchNFTCollections(e,t)).reduce(function(e,t){return e+(t.count||0)},0)]});return function(t){return e.apply(this,arguments)}})()));return n.map(function(t,n){return"fulfilled"===t.status?t.value:(_r(d[9]).logger.warn("[TokenQuery] Failed to fetch NFT count for address:",e[n]),[e[n],0])})}catch(t){return _r(d[9]).logger.error("[TokenQuery] Failed to fetch batch NFT counts:",t),e.map(function(e){return[e,0]})}}),function(e){return B.apply(this,arguments)})},G=(_e.useTokenQueryStore=(0,_r(d[6]).create)(function(e,t){return{fetchTokens:(l=(0,o.default)(function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return yield _r(d[7]).queryClient.fetchQuery(Object.assign({queryKey:z.tokens(e,t),queryFn:function(){return Y.fetchTokens(e,t)}},n&&{staleTime:0}))}),function(e){return l.apply(this,arguments)}),fetchBalance:(c=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";return yield _r(d[7]).queryClient.fetchQuery({queryKey:z.balance(e,n),queryFn:function(){return Y.fetchBalance(e,t,n)}})}),function(e,t){return c.apply(this,arguments)}),fetchNFTCollections:(i=(0,o.default)(function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return yield _r(d[7]).queryClient.fetchQuery({queryKey:z.nfts(e,t),queryFn:function(){return Y.fetchNFTCollections(e,t)}})}),function(e){return i.apply(this,arguments)}),fetchNFTCollection:(a=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:50;return yield _r(d[7]).queryClient.fetchQuery({queryKey:z.nftCollection(e,t,n),queryFn:function(){return Y.fetchNFTCollection(e,t,n,r,a)},staleTime:3e5})}),function(e,t){return a.apply(this,arguments)}),fetchAllNFTsFromCollection:(r=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet",r=arguments.length>3?arguments[3]:void 0;return yield _r(d[7]).queryClient.fetchQuery({queryKey:z.nftCollectionAll(e,t,n),queryFn:function(a){var o=a.signal;return Y.fetchAllNFTsFromCollection(e,t,n,t.count,void 0,r||o)},staleTime:6e5,gcTime:9e5})}),function(e,t){return r.apply(this,arguments)}),fetchBatchFlowBalances:(n=(0,o.default)(function*(e){return yield Y.fetchBatchFlowBalances(e)}),function(e){return n.apply(this,arguments)}),invalidateTokens:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";_r(d[7]).queryClient.invalidateQueries({queryKey:z.tokens(e,t)})},invalidateBalance:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";_r(d[7]).queryClient.invalidateQueries({queryKey:z.balance(e,t)})},invalidateNFTCollection:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";_r(d[7]).queryClient.invalidateQueries({queryKey:z.nftCollection(e,t,n)})},invalidateAll:function(e){e?_r(d[7]).queryClient.invalidateQueries({queryKey:z.address(e)}):_r(d[7]).queryClient.invalidateQueries({queryKey:z.all})},getTokensForAddress:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return _r(d[7]).queryClient.getQueryData(z.tokens(e,t))},getNFTCollectionsForAddress:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return _r(d[7]).queryClient.getQueryData(z.nfts(e,t))},getNFTCollectionForAddress:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";return _r(d[7]).queryClient.getQueryData(z.nftCollection(e,t,n))},getBalanceForAddress:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return _r(d[7]).queryClient.getQueryData(z.balance(e,t))},isTokensLoading:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",n=_r(d[7]).queryClient.getQueryCache().find({queryKey:z.tokens(e,t)});return"fetching"===(null==n?void 0:n.state.fetchStatus)},isBalanceLoading:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",n=_r(d[7]).queryClient.getQueryCache().find({queryKey:z.balance(e,t)});return"fetching"===(null==n?void 0:n.state.fetchStatus)},isNFTsLoading:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",n=_r(d[7]).queryClient.getQueryCache().find({queryKey:z.nfts(e,t)});return"fetching"===(null==n?void 0:n.state.fetchStatus)},isNFTCollectionLoading:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet",r=_r(d[7]).queryClient.getQueryCache().find({queryKey:z.nftCollection(e,t,n)});return"fetching"===(null==r?void 0:r.state.fetchStatus)}};var n,r,a,i,c,l}),[_r(d[8]).FlatQueryDomain.ADDRESSBOOK]),J=function(e){return[].concat(G,[{scope:"firebase-uid",value:null!=e?e:"anonymous"}])},X=(function(){var e=(0,o.default)(function*(){try{var e;return"function"==typeof _r(d[7]).bridge.getCurrentUserUid?null!=(e=yield _r(d[7]).bridge.getCurrentUserUid())?e:null:(_r(d[9]).logger.warn("[AddressBook] bridge.getCurrentUserUid not implemented; falling back to anonymous scope"),null)}catch(e){return _r(d[9]).logger.warn("[AddressBook] Failed to resolve current user uid",{error:e}),null}});return function(){return e.apply(this,arguments)}})(),Z=_e.addressBookQueryKeys={all:G,allByUid:J,currentUserUid:function(){return[].concat(G,["current-user-uid"])},contacts:function(e){return[].concat((0,t.default)(J(e)),[_r(d[8]).FlatQueryDomain.CONTACTS])},contact:function(e,n){return[].concat((0,t.default)(Z.contacts(n)),[e])},favorites:function(e){return[].concat((0,t.default)(J(e)),["favorites"])},recent:function(e){return[].concat((0,t.default)(J(e)),[_r(d[8]).FlatQueryDomain.RECENT])}},ee=_e.addressBookQueries={fetchCurrentUserUid:(P=(0,o.default)(function*(){return yield X()}),function(){return P.apply(this,arguments)}),fetchContacts:(R=(0,o.default)(function*(){try{var e=_r(d[10]).AddressBookService.getInstance(),t=(yield e.getAddressBook()).contacts.map(function(e){return{id:e.id,name:e.name,address:e.address,avatar:e.avatar||"",isFavorite:!1,createdAt:Date.now(),updatedAt:Date.now()}});return _r(d[9]).logger.debug("[AddressBookQuery] Fetched contacts",{count:t.length,contacts:t}),t}catch(e){return _r(d[9]).logger.error("[AddressBookQuery] Error fetching contacts:",e),[]}}),function(){return R.apply(this,arguments)}),fetchContact:(j=(0,o.default)(function*(e){try{var t=_r(d[10]).AddressBookService.getInstance(),n=(yield t.getAddressBook()).contacts.find(function(t){return t.id===e});if(n){var r={id:n.id,name:n.name,address:n.address,avatar:n.avatar,isFavorite:!1,createdAt:Date.now(),updatedAt:Date.now()};return _r(d[9]).logger.debug("[AddressBookQuery] Fetched contact from address book:",{id:e,contact:r}),r}var a=_r(d[10]).RecentRecipientsService.getInstance(),o=(yield a.getAllRecentRecipients()).find(function(t){return t.id===e});if(o){var i={id:o.id,name:o.name,address:o.address,avatar:o.avatar,isFavorite:!1,createdAt:Date.now(),updatedAt:Date.now()};return _r(d[9]).logger.debug("[AddressBookQuery] Fetched contact from recent:",{id:e,contact:i}),i}throw new Error(`Contact ${e} not found`)}catch(e){throw _r(d[9]).logger.error("[AddressBookQuery] Error fetching contact:",e),e}}),function(e){return j.apply(this,arguments)}),fetchFavorites:(W=(0,o.default)(function*(){try{var e=[];return _r(d[9]).logger.debug("[AddressBookQuery] Fetched favorites:",{count:e.length}),e}catch(e){throw _r(d[9]).logger.error("[AddressBookQuery] Error fetching favorites:",e),e}}),function(){return W.apply(this,arguments)}),fetchRecent:(I=(0,o.default)(function*(){try{var e=_r(d[7]).context.storage,t=yield e.get("recentRecipients");if(t){var n=[];if(Array.isArray(t))n=t;else if(t&&"object"==typeof t){var r=t;n=Object.values(r).filter(function(e){return e&&"object"==typeof e&&"address"in e&&!["version","createdAt","updatedAt"].includes(String(e))})}var a=n.map(function(e){return{id:e.id||e.address,name:e.name||"Recent Contact",address:e.address,avatar:e.avatar||"",isFavorite:!1,createdAt:e.createdAt||Date.now(),updatedAt:e.updatedAt||Date.now()}});return _r(d[9]).logger.debug("[AddressBookQuery] Fetched recent contacts from storage:",a),a}return _r(d[9]).logger.debug("[AddressBookQuery] No recent contacts found in storage"),[]}catch(e){return _r(d[9]).logger.error("[AddressBookQuery] Error fetching recent contacts:",e),[]}}),function(){return I.apply(this,arguments)})},te={createContact:($=(0,o.default)(function*(e){try{throw new Error("Creating contacts is not yet supported by the backend API")}catch(e){throw _r(d[9]).logger.error("[AddressBookMutation] Error creating contact:",e),e}}),function(e){return $.apply(this,arguments)}),updateContact:(M=(0,o.default)(function*(e,t){try{throw new Error("Updating contacts is not yet supported by the backend API")}catch(e){throw _r(d[9]).logger.error("[AddressBookMutation] Error updating contact:",e),e}}),function(e,t){return M.apply(this,arguments)}),deleteContact:(K=(0,o.default)(function*(e){try{throw new Error("Deleting contacts is not yet supported by the backend API")}catch(e){throw _r(d[9]).logger.error("[AddressBookMutation] Error deleting contact:",e),e}}),function(e){return K.apply(this,arguments)}),setRecentContact:(U=(0,o.default)(function*(e){try{var t=_r(d[7]).context.storage,n=yield t.get("recentRecipients"),r=[];n&&(Array.isArray(n)?r=n:n&&"object"==typeof n&&(r=Object.values(n).filter(function(e){return e&&"object"==typeof e&&"address"in e})));var a={id:e.id,name:e.name,address:e.address,avatar:e.avatar||"",emoji:"",createdAt:e.createdAt,updatedAt:e.updatedAt};(r=r.filter(function(t){return t.address!==e.address})).unshift(a),r=r.slice(0,10),yield t.set("recentRecipients",r);var o=yield X();_r(d[7]).queryClient.invalidateQueries({queryKey:Z.recent(null!=o?o:void 0)}),_r(d[9]).logger.debug("[AddressBookMutation] Set recent contact:",{contact:e,totalRecent:r.length})}catch(e){throw _r(d[9]).logger.error("[AddressBookMutation] Error setting recent contact:",e),e}}),function(e){return U.apply(this,arguments)})},ne=(_e.useAddressBookStore=(0,_r(d[6]).create)(function(e,t){return{fetchCurrentUserUid:(f=(0,o.default)(function*(){return yield ee.fetchCurrentUserUid()}),function(){return f.apply(this,arguments)}),fetchContacts:(u=(0,o.default)(function*(){return yield ee.fetchContacts()}),function(){return u.apply(this,arguments)}),fetchContact:(s=(0,o.default)(function*(e){return yield ee.fetchContact(e)}),function(e){return s.apply(this,arguments)}),fetchFavorites:(l=(0,o.default)(function*(){return yield ee.fetchFavorites()}),function(){return l.apply(this,arguments)}),fetchRecent:(c=(0,o.default)(function*(){return yield ee.fetchRecent()}),function(){return c.apply(this,arguments)}),createContact:(i=(0,o.default)(function*(e){return yield te.createContact(e)}),function(e){return i.apply(this,arguments)}),updateContact:(a=(0,o.default)(function*(e,t){return yield te.updateContact(e,t)}),function(e,t){return a.apply(this,arguments)}),deleteContact:(r=(0,o.default)(function*(e){yield te.deleteContact(e)}),function(e){return r.apply(this,arguments)}),setRecentContact:(n=(0,o.default)(function*(e){yield te.setRecentContact(e)}),function(e){return n.apply(this,arguments)}),invalidateContacts:function(){},invalidateContact:function(e){},getContacts:function(){},getContact:function(e){}};var n,r,a,i,c,l,s,u,f}),_e.accessibleAssetQueryKeys={all:[_r(d[8]).FlatQueryDomain.ACCESSIBLE_ASSETS],accounts:function(){return[].concat((0,t.default)(ne.all),["accounts"])},account:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";return[].concat((0,t.default)(ne.accounts()),[e,n,r])},allowTypes:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";return[].concat((0,t.default)(ne.account(e,n,r)),["allowTypes"])}}),re=(_e.accessibleAssetQueries={fetchChildAccountAllowTypes:(_=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";if(!e||!t)return[];try{var r=yield _r(d[7]).cadence.getChildAccountAllowTypes(e,t);return _r(d[9]).logger.debug("[AccessibleAssetQuery] Fetched accessible IDs:",{parentAddress:e,childAddress:t,network:n,count:(null==r?void 0:r.length)||0}),r||[]}catch(e){throw _r(d[9]).logger.error("[AccessibleAssetQuery] Error fetching accessible IDs:",e),new(_r(d[8]).FRWError)(_r(d[8]).ErrorCode.ACCESSIBLE_ASSET_FETCH_FAILED,"Failed to fetch accessible IDs",{})}}),function(e,t){return _.apply(this,arguments)})},_e.accessibleAssetHelpers={isTokenAllowed:function(e,t){if(null==t)return!0;if(!e.contractAddress)return!1;var n=(0,_r(d[9]).getTokenResourceIdentifier)(e);return!!n&&t.some(function(e){return e.toLowerCase().includes(n.toLowerCase())})},isNFTAllowed:function(e,t){if(null==t)return!0;if(!e.address)return!1;var n=(0,_r(d[9]).getNFTResourceIdentifier)(e);return!!n&&t.some(function(e){return e.toLowerCase().includes(n.toLowerCase())})},isCollectionAllowed:function(e,t){if(!t||0===t.length)return!0;if(!e.address||!e.contractName)return!1;var n=(0,_r(d[9]).getCollectionResourceIdentifier)(e);return!!n&&t.some(function(e){return e.toLowerCase().includes(n.toLowerCase())})},isChildAccount:function(e){return"child"===(null==e?void 0:e.type)&&!!e.parentAddress},getAccountAddresses:function(e){return re.isChildAccount(e)?{parentAddress:e.parentAddress,childAddress:e.address}:{parentAddress:null,childAddress:null}},filterAccessibleTokens:function(e,t){return t&&0!==t.length?e.filter(function(e){return re.isTokenAllowed(e,t)}):e},filterAccessibleCollections:function(e,t){return t&&0!==t.length?e.filter(function(e){return re.isCollectionAllowed(e,t)}):e}}),ae=_e.storageQueryKeys={all:[_r(d[8]).FlatQueryDomain.STORAGE],info:function(){return[].concat((0,t.default)(ae.all),["info"])},accountInfo:function(e){return[].concat((0,t.default)(ae.info()),[(null==e?void 0:e.parentAddress)||(null==e?void 0:e.address)||"unknown"])},resourceCheck:function(e,n){return[].concat((0,t.default)(ae.all),["resource-check",e,n])}},oe=(_e.storageQueries={fetchAccountInfo:(x=(0,o.default)(function*(e){if(null==e||!e.address)throw new Error("No selected account provided");try{var t=e.parentAddress||e.address;_r(d[9]).logger.info("Fetching complete account info",{accountAddress:e.address,queryAddress:t,hasParent:!!e.parentAddress});var n=yield _r(d[7]).cadence.getAccountInfo(t),r=parseFloat(n.balance),a=parseFloat(n.availableBalance),o=parseFloat(n.storageFlow),i=n.storageCapacity-n.storageUsed,c={address:n.address,balance:r,availableBalance:a,storageUsed:n.storageUsed,storageCapacity:n.storageCapacity,storageFlow:o,available:i};return _r(d[9]).logger.info("Account info retrieved",{address:t,balance:r,capacity:n.storageCapacity,used:n.storageUsed,available:i,usagePercentage:(n.storageUsed/n.storageCapacity*100).toFixed(2)}),c}catch(t){throw _r(d[9]).logger.error("Failed to fetch account info",{error:t instanceof Error?t.message:String(t),selectedAccount:null==e?void 0:e.address}),new(_r(d[8]).FRWError)(_r(d[8]).ErrorCode.ACCOUNT_INFO_FETCH_FAILED,"Failed to fetch account info",{error:t})}}),function(e){return x.apply(this,arguments)}),checkResourceCompatibility:(H=(0,o.default)(function*(e,t){if(!e||!t)return _r(d[9]).logger.warn("Missing address or flowIdentifier for resource check",{address:e,flowIdentifier:t}),!1;if(!(0,_r(d[9]).isValidFlowAddress)(e))return _r(d[9]).logger.info("Address is not a valid Flow address, returning true for compatibility",{address:e,flowIdentifier:t}),!0;try{_r(d[9]).logger.info("Checking resource compatibility",{address:e,flowIdentifier:t});var n=yield _r(d[7]).cadence.checkResource(e,t);return _r(d[9]).logger.info("Resource compatibility check result",{address:e,flowIdentifier:t,isCompatible:n}),n}catch(n){return _r(d[9]).logger.error("Failed to check resource compatibility",{error:n instanceof Error?n.message:String(n),address:e,flowIdentifier:t}),!1}}),function(e,t){return H.apply(this,arguments)})},_e.storageUtils={isBalanceInsufficient:function(e){return e<.001},isStorageInsufficient:function(e){return e.available<1e4},validateFlowTokenTransaction:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(oe.isStorageInsufficient(e))return{canProceed:!1,showWarning:!0,warningType:"storage"};if(oe.isBalanceInsufficient(e.balance))return{canProceed:!1,showWarning:!0,warningType:"balance"};var r=n?0:5e-4;return e.balance-t1&&void 0!==arguments[1]&&arguments[1];return oe.validateFlowTokenTransaction(e,0,t)},getStorageWarningMessageKey:function(e){switch(e){case"balance":return"storage.warning.balance";case"storage":return"storage.warning.storage";case"storage_after_action":return"storage.warning.storageAfterAction";default:return""}},shouldShowStorageWarning:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.available<1e4+t}}),ie=(_e.usePayerStatusStore=(0,_r(d[6]).create)(function(e,t){return{getCachedPayerStatus:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"mainnet";return _r(d[7]).queryClient.getQueryData(ie.payerStatus(e))||null},clearCache:function(e){e?(_r(d[7]).queryClient.removeQueries({queryKey:ie.payerStatus(e)}),_r(d[9]).logger.info("Cleared payer status cache",{network:e})):(_r(d[7]).queryClient.removeQueries({queryKey:ie.all}),_r(d[9]).logger.info("Cleared all payer status cache"))}}}),_e.payerStatusQueryKeys={all:["payer-status"],payerStatus:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"mainnet";return[].concat((0,t.default)(ie.all),[e])}}),ce=_e.payerStatusQueries={fetchPayerStatus:(V=(0,o.default)(function*(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"mainnet";try{_r(d[9]).logger.info("Fetching payer status",{network:e});var t=(yield _r(d[12]).PayerService.status({network:e})).data;if(_r(d[9]).logger.info("Raw API response",{response:t,type:typeof t}),!t)throw _r(d[9]).logger.error("Invalid payer status response format",{response:t}),new Error("Invalid payer status response format");return t}catch(t){throw _r(d[9]).logger.error("Failed to fetch payer status",{error:t instanceof Error?t.message:String(t),network:e}),t}}),function(){return V.apply(this,arguments)})};_e.fetchPayerStatusWithCache=(function(){var e=(0,o.default)(function*(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"mainnet",n=_r(d[7]).queryClient.getQueryData(ie.payerStatus(t));if(n)return n;var r=yield ce.fetchPayerStatus(t),a=(null==(e=r.surge)?void 0:e.ttlSeconds)||30;return 30!==a&&_r(d[7]).queryClient.setQueryDefaults(ie.payerStatus(t),{gcTime:1e3*a}),_r(d[7]).queryClient.setQueryData(ie.payerStatus(t),r),r});return function(){return e.apply(this,arguments)}})()},1389,[1,32,10,207,9,367,1390,1393,8,2,1913,1914,1394]); +__d(function(g,_r,_i,_a,m,_e,d){var e=_r(d[0]);Object.defineProperty(_e,"__esModule",{value:!0}),_e.fetchPayerStatusWithCache=_e.addressBookQueryKeys=_e.addressBookQueries=_e.activityQueryKeys=_e.activityQueries=_e.activityHelpers=_e.accessibleAssetQueryKeys=_e.accessibleAssetQueries=_e.accessibleAssetHelpers=void 0,_e.groupActivityByDate=w,_e.walletSelectors=_e.walletHelpers=_e.useWalletStore=_e.useTokenStore=_e.useTokenQueryStore=_e.useSendStore=_e.useProfileStore=_e.usePayerStatusStore=_e.useAllProfiles=_e.useAddressBookStore=_e.tokenSelectors=_e.tokenQueryKeys=_e.tokenQueries=_e.tokenHelpers=_e.storageUtils=_e.storageQueryKeys=_e.storageQueries=_e.sendSelectors=_e.sendHelpers=_e.payerStatusQueryKeys=_e.payerStatusQueries=void 0;var t=e(_r(d[1])),n=e(_r(d[2])),r=e(_r(d[3])),a=e(_r(d[4])),o=e(_r(d[5]));function i(e){var t=c(e,"string");return"symbol"==typeof t?t:t+""}function c(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var l,s,u,f=0,y=function(e){return`${e}-${arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet"}`},v=_e.useTokenStore=(0,_r(d[6]).create)(function(e,t){return{addressCache:{},isLoading:!1,error:null,isStale:function(e,t){return 0===t||Date.now()-e>t},fetchFreshBalance:(p=(0,o.default)(function*(n,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";if(!n)return{balance:"0 FLOW",displayBalance:"0 FLOW",nftCount:0,nftCountDisplay:"0 NFTs",lastUpdated:Date.now()};try{var i;if("evm"===r){var c=yield _r(d[7]).cadence.getFlowBalanceForAnyAccounts([n]),l=parseFloat(c[n]||"0"),s=(0,_r(d[8]).formatCurrencyStringForDisplay)({value:l});i={balance:`${s} FLOW`,displayBalance:`${s} FLOW`,nftCount:0,nftCountDisplay:"0 NFTs"}}else{var u,v,h,p=y(n,o),A=t().addressCache[p];if(A&&!t().isStale(A.lastFetch,f)||(yield t().fetchTokens(n,o,!0),A=t().addressCache[p]),null!=(u=A)&&u.isLoading)for(var F=0;null!=(C=A)&&C.isLoading&&F<50;){var C;yield new Promise(function(e){return setTimeout(e,100)}),A=t().addressCache[p],F++}if(!A)throw new Error("Failed to fetch token data");var T=null==(v=A.tokens)?void 0:v.find(function(e){var t;return"FLOW"===e.symbol||(null==(t=e.contractName)?void 0:t.toLowerCase().includes("flow"))}),b="0 FLOW",S="0 FLOW";if(null!=T&&T.displayBalance)b=S=T.displayBalance.includes("FLOW")?T.displayBalance:`${T.displayBalance} FLOW`;else if(null!=T&&T.balance){var k=parseFloat(T.balance);S=b=`${(0,_r(d[8]).formatCurrencyStringForDisplay)({value:k})} FLOW`}var w=(null==(h=A.nftCollections)?void 0:h.reduce(function(e,t){return e+(t.count||0)},0))||0;i={balance:b,displayBalance:S,nftCount:w,nftCountDisplay:`${w} NFT${1!==w?"s":""}`}}var N=y(n,o),B=Date.now();return e(function(e){var t,n,r;return Object.assign({},e,{addressCache:Object.assign({},e.addressCache,(0,a.default)({},N,Object.assign({},e.addressCache[N],{balance:i.balance,displayBalance:i.displayBalance,nftCount:i.nftCount,nftCountDisplay:i.nftCountDisplay,lastUpdated:B,tokens:(null==(t=e.addressCache[N])?void 0:t.tokens)||[],nftCollections:(null==(n=e.addressCache[N])?void 0:n.nftCollections)||[],lastFetch:(null==(r=e.addressCache[N])?void 0:r.lastFetch)||0,isLoading:!1,error:null})))})}),Object.assign({},i,{lastUpdated:B})}catch(e){var Q=y(n,o),D=t().addressCache[Q];return D?{balance:D.balance,displayBalance:D.displayBalance,nftCount:D.nftCount,nftCountDisplay:D.nftCountDisplay,lastUpdated:D.lastUpdated}:{balance:"0 FLOW",displayBalance:"0 FLOW",nftCount:0,nftCountDisplay:"0 NFTs",lastUpdated:Date.now()}}}),function(e,t){return p.apply(this,arguments)}),refreshBalanceInBackground:(h=(0,o.default)(function*(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";try{yield t().fetchFreshBalance(e,n,r)}catch(e){}}),function(e,t){return h.apply(this,arguments)}),fetchBatchFlowBalances:(v=(0,o.default)(function*(e){if(!e||0===e.length)return[];try{var t=yield _r(d[7]).cadence.getFlowBalanceForAnyAccounts(e),n=[];for(var r of e){var a=t[r]||"0",o=parseFloat(a),i=`${(0,_r(d[8]).formatCurrencyStringForDisplay)({value:o})} FLOW`;n.push([r,i])}return n}catch(t){return _r(d[9]).logger.error("[TokenStore] Failed to fetch batch Flow balances:",t),e.map(function(e){return[e,"0 FLOW"]})}}),function(e){return v.apply(this,arguments)}),getBalance:(u=(0,o.default)(function*(e,n){var r="mainnet";if((arguments.length>2&&void 0!==arguments[2]?arguments[2]:{fresh:!1}).fresh)return yield t().fetchFreshBalance(e,n,r);var a=y(e,r),o=t().addressCache[a];return o&&!t().isStale(o.lastUpdated,f)?(setTimeout(function(){return t().refreshBalanceInBackground(e,n,r)},0),{balance:o.balance,displayBalance:o.displayBalance,nftCount:o.nftCount,nftCountDisplay:o.nftCountDisplay,lastUpdated:o.lastUpdated}):yield t().fetchFreshBalance(e,n,r)}),function(e,t){return u.apply(this,arguments)}),getAccountBalance:(s=(0,o.default)(function*(e,n){return yield t().getBalance(e,n,{fresh:!1})}),function(e,t){return s.apply(this,arguments)}),getTokensForAddress:function(e){if(!e)return null;var n=y(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet"),r=t().addressCache[n];return(null==r?void 0:r.tokens)||null},getNFTCollectionsForAddress:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";if(!e)return null;var r=y(e,n),a=t().addressCache[r],o=(null==a?void 0:a.nftCollections)||null;return _r(d[9]).logger.debug("[TokenStore] Retrieving NFT collections from cache",{address:e,network:n,cacheKey:r,hasCached:!!a,hasCollections:!!o,collectionsCount:(null==o?void 0:o.length)||0,collections:(null==o?void 0:o.map(function(e){return{id:e.id,name:e.name,contractName:e.contractName,count:e.count,type:e.type,flowIdentifier:e.flowIdentifier,evmAddress:e.evmAddress}}))||[]}),o},getCachedBalanceForAddress:function(e){if(!e)return null;var n=y(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet"),r=t().addressCache[n];return r?{balance:r.balance,displayBalance:r.displayBalance,nftCount:r.nftCount,nftCountDisplay:r.nftCountDisplay,lastUpdated:r.lastUpdated}:null},isCacheValidForAddress:function(e){if(!e)return!1;var n=y(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet"),r=t().addressCache[n];return r&&!t().isStale(r.lastFetch,f)},clearCacheForAddress:function(t){if(t){var n=y(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet");e(function(e){var t=e.addressCache,a=(t[n],(0,r.default)(t,[n].map(i)));return Object.assign({},e,{addressCache:a})}),_r(d[9]).logger.debug(`[TokenStore] Cleared unified cache for address: ${t}`)}},fetchTokens:(l=(0,o.default)(function*(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(r){var c=y(r,o),l=Date.now(),s=t().addressCache[c],u=t().isStale((null==s?void 0:s.lastFetch)||0,f);if(i||!s||s.isLoading||u){e(function(e){return Object.assign({},e,{addressCache:Object.assign({},e.addressCache,(0,a.default)({},c,Object.assign({},s,{isLoading:!0,error:null,tokens:(null==s?void 0:s.tokens)||[],nftCollections:(null==s?void 0:s.nftCollections)||[],balance:(null==s?void 0:s.balance)||"0 FLOW",displayBalance:(null==s?void 0:s.displayBalance)||"0 FLOW",nftCount:(null==s?void 0:s.nftCount)||0,nftCountDisplay:(null==s?void 0:s.nftCountDisplay)||"0 NFTs",lastFetch:(null==s?void 0:s.lastFetch)||0,lastUpdated:(null==s?void 0:s.lastUpdated)||0})))})});try{var v=(0,_r(d[8]).addressType)(r),h=(0,_r(d[10]).tokenService)(v),p=(0,_r(d[10]).nftService)(v),A=_r(d[7]).context.bridge.getCurrency(),F=yield Promise.all([h.getTokenInfo(r,o,A.name),p.getNFTCollections(r)]),C=(0,n.default)(F,2),T=C[0],b=C[1];_r(d[9]).logger.debug("[TokenStore] Storing NFT collections in cache",{address:r,network:o,cacheKey:c,nftCollectionsCount:b.length,nftCollections:b.map(function(e){return{id:e.id,name:e.name,contractName:e.contractName,count:e.count,type:e.type,flowIdentifier:e.flowIdentifier,evmAddress:e.evmAddress}})}),e(function(e){var t,n,r;return Object.assign({},e,{addressCache:Object.assign({},e.addressCache,(0,a.default)({},c,Object.assign({},e.addressCache[c],{tokens:T,nftCollections:b,lastFetch:l,isLoading:!1,error:null,balance:(null==(t=e.addressCache[c])?void 0:t.balance)||"0 FLOW",displayBalance:(null==(n=e.addressCache[c])?void 0:n.displayBalance)||"0 FLOW",nftCount:b.reduce(function(e,t){return e+(t.count||0)},0),nftCountDisplay:`${b.reduce(function(e,t){return e+(t.count||0)},0)} NFT${1!==b.reduce(function(e,t){return e+(t.count||0)},0)?"s":""}`,lastUpdated:(null==(r=e.addressCache[c])?void 0:r.lastUpdated)||l})))})})}catch(t){_r(d[9]).logger.error("[TokenStore] Error fetching tokens:",t),e(function(e){return Object.assign({},e,{addressCache:Object.assign({},e.addressCache,(0,a.default)({},c,Object.assign({},s,{isLoading:!1,error:(null==t?void 0:t.message)||"Failed to fetch tokens",tokens:(null==s?void 0:s.tokens)||[],nftCollections:(null==s?void 0:s.nftCollections)||[],lastFetch:(null==s?void 0:s.lastFetch)||0})))})})}}}}),function(e){return l.apply(this,arguments)}),clearCache:function(n){n?t().clearCacheForAddress(n):e(function(e){return Object.assign({},e,{addressCache:{}})})},forceRefresh:(c=(0,o.default)(function*(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";yield t().fetchTokens(e,n,!0),yield t().fetchFreshBalance(e,void 0,n)}),function(e){return c.apply(this,arguments)})};var c,l,s,u,v,h,p});_e.tokenSelectors={getTokens:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return function(n){var r;if(!e)return[];var a=y(e,t);return(null==(r=n.addressCache[a])?void 0:r.tokens)||[]}},getNFTCollections:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return function(n){var r;if(!e)return[];var a=y(e,t);return(null==(r=n.addressCache[a])?void 0:r.nftCollections)||[]}},getToken:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";return function(r){var a;if(!e)return null;var o=y(e,n);return((null==(a=r.addressCache[o])?void 0:a.tokens)||[]).find(function(e){return e.symbol===t})||null}},getFlowBalance:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return function(n){if(!e)return{balance:"0 FLOW",displayBalance:"0 FLOW",isLoading:!1,error:null};var r=y(e,t),a=n.addressCache[r];return{balance:(null==a?void 0:a.balance)||"0 FLOW",displayBalance:(null==a?void 0:a.displayBalance)||"0 FLOW",isLoading:(null==a?void 0:a.isLoading)||!1,error:(null==a?void 0:a.error)||null}}},getAccountData:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return function(n){if(!e)return{balance:"0 FLOW",nftCount:0,nftCountDisplay:"0 NFTs",isLoading:!1,error:null};var r=y(e,t),a=n.addressCache[r];return{balance:(null==a?void 0:a.balance)||"0 FLOW",nftCount:(null==a?void 0:a.nftCount)||0,nftCountDisplay:(null==a?void 0:a.nftCountDisplay)||"0 NFTs",isLoading:(null==a?void 0:a.isLoading)||!1,error:(null==a?void 0:a.error)||null}}},getLoadingState:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return function(n){if(!e)return{isLoading:!1,error:null};var r=y(e,t),a=n.addressCache[r];return{isLoading:(null==a?void 0:a.isLoading)||!1,error:(null==a?void 0:a.error)||null}}}},_e.tokenHelpers={initializeAccount:(u=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet",r=v.getState(),a=yield r.getBalance(e,t,{fresh:!1});return yield Promise.all([r.fetchTokens(e,n),r.refreshBalanceInBackground(e,t,n)]),a}),function(e,t){return u.apply(this,arguments)}),refreshAccount:(s=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet",r=v.getState();return yield r.forceRefresh(e,n)}),function(e,t){return s.apply(this,arguments)}),getBalanceWithOptions:(l=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=v.getState();return yield r.getBalance(e,t,{fresh:n})}),function(e,t){return l.apply(this,arguments)})};function h(e){if(null==e||""===e)return"0";var t="string"==typeof e?parseFloat(e):e;return isNaN(t)?"0":t.toString()}var p,A,F={tokenAmount:"0",fiatAmount:"0.00",transactionFee:"0.001",isTokenMode:!0},C=_e.useSendStore=(0,_r(d[6]).create)(function(e,n){return{selectedToken:null,fromAccount:null,toAccount:null,transactionType:"tokens",formData:F,selectedNFTs:[],currentNFT:null,selectedNFTQuantities:{},selectedCollection:null,currentStep:"select-tokens",isLoading:!1,error:null,balances:{coa:{},evm:{}},accessibleAssetStores:{},setSelectedToken:function(t){return e({selectedToken:t,error:null})},setFromAccount:function(t){return e({fromAccount:t,error:null})},setToAccount:function(t){return e({toAccount:t,error:null})},setCurrentNFT:function(t){return e({currentNFT:t,error:null})},setTransactionType:function(t){return e(function(e){var n={transactionType:t,error:null};return"tokens"===e.transactionType&&["single-nft","multiple-nfts"].includes(t)&&(n.selectedToken=null,n.formData=Object.assign({},F)),["single-nft","multiple-nfts"].includes(e.transactionType)&&"tokens"===t&&(n.selectedNFTs=[]),Object.assign({},e,n)})},updateFormData:function(t){return e(function(e){return{formData:Object.assign({},e.formData,t),error:null}})},setSelectedNFTs:function(t){return e(function(e){var n=Object.assign({},e.selectedNFTQuantities);return t.forEach(function(e){"ERC1155"===e.contractType&&e.id&&!n[e.id]&&(n[e.id]=1,_r(d[9]).logger.debug("[sendStore] Initializing ERC1155 quantity:",{nftId:e.id,contractType:e.contractType,nftAmount:e.amount}))}),{selectedNFTs:t,selectedNFTQuantities:n,error:null}})},setSelectedCollection:function(t){return e({selectedCollection:t,error:null})},addSelectedNFT:function(n){return e(function(e){if(e.selectedNFTs.find(function(e){return e.id===n.id}))return e;var r=Object.assign({},e.selectedNFTQuantities);return"ERC1155"===n.contractType&&n.id&&!r[n.id]&&(r[n.id]=1,_r(d[9]).logger.debug("[sendStore] Initializing ERC1155 quantity on add:",{nftId:n.id,contractType:n.contractType,nftAmount:n.amount})),{selectedNFTs:[].concat((0,t.default)(e.selectedNFTs),[n]),selectedNFTQuantities:r,error:null}})},removeSelectedNFT:function(t){return e(function(e){var n=Object.assign({},e.selectedNFTQuantities);return delete n[t],{selectedNFTs:e.selectedNFTs.filter(function(e){return e.id!==t}),selectedNFTQuantities:n,error:null}})},setNFTQuantity:function(t,n){return e(function(e){return{selectedNFTQuantities:Object.assign({},e.selectedNFTQuantities,(0,a.default)({},t,n))}})},getNFTQuantity:function(e){return n().selectedNFTQuantities[e]||1},setCurrentStep:function(t){return e({currentStep:t,error:null})},setLoading:function(t){return e({isLoading:t})},setError:function(t){return e({error:t,isLoading:!1})},fetchCoaBalance:(s=(0,o.default)(function*(t){var r=n().balances;e({balances:Object.assign({},r,{coa:Object.assign({},r.coa,(0,a.default)({},t,Object.assign({},r.coa[t],{loading:!0,error:null})))})});try{var o=(0,_r(d[10]).flowService)(),i=yield o.getCoaBalance(t),c=n().balances;e({balances:Object.assign({},c,{coa:Object.assign({},c.coa,(0,a.default)({},t,{balance:i,loading:!1,error:null,lastFetched:Date.now()}))})})}catch(r){var l=r instanceof Error?r.message:"Failed to fetch COA balance",s=n().balances;e({balances:Object.assign({},s,{coa:Object.assign({},s.coa,(0,a.default)({},t,{balance:null,loading:!1,error:l,lastFetched:null}))})})}}),function(e){return s.apply(this,arguments)}),fetchEvmBalance:(l=(0,o.default)(function*(t){var r=n().balances;e({balances:Object.assign({},r,{evm:Object.assign({},r.evm,(0,a.default)({},t,Object.assign({},r.evm[t],{loading:!0,error:null})))})});try{var o=(0,_r(d[10]).flowService)(),i=yield o.getEvmBalance(t),c=n().balances;e({balances:Object.assign({},c,{evm:Object.assign({},c.evm,(0,a.default)({},t,{balance:i,loading:!1,error:null,lastFetched:Date.now()}))})})}catch(r){var l=r instanceof Error?r.message:"Failed to fetch EVM balance",s=n().balances;e({balances:Object.assign({},s,{evm:Object.assign({},s.evm,(0,a.default)({},t,{balance:null,loading:!1,error:l,lastFetched:null}))})})}}),function(e){return l.apply(this,arguments)}),getCoaBalance:function(e){return n().balances.coa[e]||null},getEvmBalance:function(e){return n().balances.evm[e]||null},getAccessibleAssetStore:function(e){return n().accessibleAssetStores[e]||null},setAccessibleAssetStore:function(t,n){e(function(e){return{accessibleAssetStores:Object.assign({},e.accessibleAssetStores,(0,a.default)({},t,n))}})},clearAccessibleAssetStore:function(t){e(function(e){var n=Object.assign({},e.accessibleAssetStores);return delete n[t],{accessibleAssetStores:n}})},clearAllAccessibleAssetStores:function(){e({accessibleAssetStores:{}})},clearBalances:function(){e(function(){return{balances:{coa:{},evm:{}}}})},clearBalanceForAddress:function(t,n){e(function(e){var r=Object.assign({},e.balances);return delete r[t][n],{balances:r}})},resetSendFlow:function(){return e({selectedToken:null,fromAccount:null,toAccount:null,transactionType:"tokens",formData:F,selectedNFTs:[],selectedNFTQuantities:{},currentStep:"select-tokens",isLoading:!1,error:null,balances:{coa:{},evm:{}},accessibleAssetStores:{}})},clearTransactionData:function(){return e({selectedToken:null,selectedNFTs:[],selectedNFTQuantities:{},formData:F,transactionType:"tokens",currentStep:"select-tokens",error:null})},createTransactionSession:(c=(0,o.default)(function*(){try{if(!_r(d[7]).analytics.isEnabled())return _r(d[9]).logger.debug("[SendStore] Analytics not enabled, skipping transaction tracking"),null;var e=_r(d[7]).analytics.getTransactionTracker();if(!e)return _r(d[9]).logger.debug("[SendStore] No transaction tracker available"),null;var t=n().transactionType,r=(yield _r(d[7]).bridge.getWalletAccounts()).accounts,a=yield _r(d[7]).bridge.getSelectedAccount(),o="main"===a.type?a:r.find(function(e){return"main"===e.type&&e.address===a.parentAddress});if(!o)return _r(d[9]).logger.warn("[SendStore] No main account found for analytics session"),null;var i=e.createTransactionSession(o.address,t);return _r(d[9]).logger.debug("[SendStore] Transaction session created for analytics"),i}catch(e){return _r(d[9]).logger.warn("[SendStore] Analytics session creation failed, continuing without tracking:",e),null}}),function(){return c.apply(this,arguments)}),createSendPayload:(i=(0,o.default)(function*(e){var t=n();_r(d[9]).logger.info("[SendStore] createSendPayload -- state:",t);var r=t.fromAccount,a=t.toAccount,o=t.selectedToken,i=t.selectedNFTs,c=t.formData,l=t.transactionType;if(!r||!a)return _r(d[9]).logger.error("[SendStore] Missing fromAccount or toAccount"),null;var s="tokens"===l,u=["single-nft","multiple-nfts"].includes(l);if(s&&!o)return _r(d[9]).logger.error("[SendStore] Missing selectedToken for token transaction"),null;if(u&&0===i.length)return _r(d[9]).logger.error("[SendStore] Missing selectedNFTs for NFT transaction"),null;try{var f,y,p=(yield _r(d[7]).bridge.getWalletAccounts()).accounts,A=yield _r(d[7]).bridge.getSelectedAccount();_r(d[9]).logger.info("[SendStore] createSendPayload -- Selected account:",A),_r(d[9]).logger.info("[SendStore] createSendPayload -- Accounts:",p);var F="main"===A.type?A:p.find(function(e){return"main"===e.type&&e.address===A.parentAddress}),C=(null==(f=p.filter(function(e){return"evm"===e.type&&e.parentAddress===(null==F?void 0:F.address)})[0])?void 0:f.address)||"";if(!C&&null!=F&&F.address)try{var T=yield _r(d[7]).cadence.getAddr(F.address);T&&(C=T.startsWith("0x")?T:`0x${T}`)}catch(e){_r(d[9]).logger.warn("[SendStore] Failed to fetch COA address from cadence",e)}var b=p.filter(function(e){return"child"===e.type&&e.parentAddress===(null==F?void 0:F.address)}).map(function(e){return e.address});if(!F)return _r(d[9]).logger.error("[SendStore] No main account found"),null;var S=s?(null==o?void 0:o.evmAddress)||"":(null==(y=i[0])?void 0:y.evmAddress)||"";if(s&&""===S&&o){var k=(null==_r(d[7]).bridge.getNetwork?void 0:_r(d[7]).bridge.getNetwork())||"mainnet",w=(v.getState().getTokensForAddress(r.address,k)||[]).find(function(e){return!(!o.identifier||e.identifier!==o.identifier)||!(!o.contractAddress||e.contractAddress!==o.contractAddress)||!(!o.symbol||e.symbol!==o.symbol)});w&&(S=w.evmAddress||w.contractAddress||"",_r(d[9]).logger.debug("[SendStore] Resolved missing token contract address from tokenStore",{matchedIdentifier:w.identifier,matchedSymbol:w.symbol,matchedContract:w.contractAddress,resolvedAddress:w.contractAddress}))}var N=(0,_r(d[8]).addressType)(r.address),B=N!==(0,_r(d[8]).addressType)(a.address),Q="";if(u&&i.length>0){var D=i[0];if(_r(d[9]).logger.debug("[sendStore] Processing NFT for payload:",{nftId:D.id,contractType:D.contractType,nftAmount:D.amount,selectedNFTQuantities:t.selectedNFTQuantities}),"ERC1155"===D.contractType){var O=D.id||"",L=t.selectedNFTQuantities[O]||1;Q=L.toString(),_r(d[9]).logger.debug("[sendStore] ERC1155 amount set:",{nftId:O,quantity:L,nftAmount:Q})}}var E=u?(0,_r(d[9]).getNFTResourceIdentifier)(i[0]):null,q=s?(0,_r(d[9]).getTokenResourceIdentifier)(o):null,I=q||E||"";_r(d[9]).logger.debug("[sendStore] Flow identifier calculation:",{isNFTTransaction:u,isTokenTransaction:s,nftIdentifier:E,tokenIdentifier:q,flowIdentifier:I,selectedNFT:i[0]?{id:i[0].id,address:i[0].address,contractName:i[0].contractName,flowIdentifier:i[0].flowIdentifier,evmAddress:i[0].evmAddress}:null});var W={type:s?"token":"nft",assetType:N,proposer:F.address,receiver:a.address,flowIdentifier:I,sender:r.address,childAddrs:b,ids:u?i.map(function(e){return null!==e.id&&void 0!==e.id?parseInt(e.id):void 0}).filter(function(e){return"number"==typeof e&&!isNaN(e)}):[],amount:s?h(c.tokenAmount):Q,decimal:(null==o?void 0:o.decimal)||8,coaAddr:C,isCrossVM:B,tokenContractAddr:S};return null==e||e.prepared(W,{isCrossVM:B}),_r(d[9]).logger.debug("[SendStore] Created send payload:",W),W}catch(e){return _r(d[9]).logger.error("[SendStore] Error creating send payload:",e),null}}),function(e){return i.apply(this,arguments)}),executeTransaction:(r=(0,o.default)(function*(){var t=n();e({isLoading:!0,error:null});var r=yield t.createTransactionSession();try{var a,i,c=yield t.createSendPayload(r);if(!c)throw new Error("Failed to create transaction payload");if(!(0,_r(d[11]).isValidSendTransactionPayload)(c))throw new Error("Invalid transaction payload");_r(d[9]).logger.debug("[SendStore] Executing transaction with payload:",c);var l=!(null==(a=yield null==_r(d[7]).bridge.getWrapEOATxWithCadence?void 0:_r(d[7]).bridge.getWrapEOATxWithCadence())||a),s=null!=(i=null==_r(d[7]).bridge.getNetwork?void 0:_r(d[7]).bridge.getNetwork())?i:"mainnet",u=Object.assign({ethSign:_r(d[7]).bridge.ethSign?function(e){return _r(d[7]).bridge.ethSign(e)}:void 0,network:_r(d[7]).bridge.getNetwork?_r(d[7]).bridge.getNetwork():void 0,session:r||void 0},l&&{sendRawEvmTransaction:function(e){return(0,_r(d[11]).sendRawTransactionToEvmRpc)(e,s)}});_r(d[7]).cadence.useRequestInterceptor((function(){var e=(0,o.default)(function*(e){return console.log("tracker req interceptor",e),e});return function(t){return e.apply(this,arguments)}})()),_r(d[7]).cadence.useResponseInterceptor((function(){var e=(0,o.default)(function*(e,t){return console.log("tracker res interceptor",e,t),null==r||r.submitted(t),{config:e,response:t}});return function(t,n){return e.apply(this,arguments)}})());var f=yield(0,_r(d[11]).SendTransaction)(c,_r(d[7]).cadence,u);return _r(d[9]).logger.debug("[SendStore] Transaction result:",f),e({isLoading:!1}),t.resetSendFlow(),null==r||r.completed(!0,f),l?{result:f,directEvm:!0}:f}catch(t){var y=t instanceof Error?t.message:"Transaction failed";throw _r(d[9]).logger.error("[SendStore] Transaction error:",t),null==r||r.failed(y,"","preparation"),e({isLoading:!1,error:y}),null==r||r.completed(!1,""),new(_r(d[8]).FRWError)(_r(d[8]).ErrorCode.TRANSACTION_ERROR,y)}}),function(){return r.apply(this,arguments)}),getTransactionDetailsForDisplay:function(){var e=n(),t=e.transactionType,r=e.selectedToken,a=e.selectedNFTs,o=e.formData,i="tokens"===t,c=["single-nft","multiple-nfts"].includes(t);return{isTokenTransaction:i,isNFTTransaction:c,tokenAmount:i?o.tokenAmount:void 0,tokenSymbol:null==r?void 0:r.symbol,tokenName:null==r?void 0:r.name,nftCount:c?a.length:void 0,networkFee:"~0.001 FLOW"}}};var r,i,c,l,s}),T=(_e.sendSelectors={selectedToken:function(e){return e.selectedToken},fromAccount:function(e){return e.fromAccount},toAccount:function(e){return e.toAccount},formData:function(e){return e.formData},selectedNFTs:function(e){return e.selectedNFTs},currentStep:function(e){return e.currentStep},isLoading:function(e){return e.isLoading},error:function(e){return e.error},isTokensFlow:function(e){return"tokens"===e.transactionType},isNFTFlow:function(e){return["single-nft","multiple-nfts"].includes(e.transactionType)},isMultipleNFTsFlow:function(e){return"multiple-nfts"===e.transactionType},hasSelectedToken:function(e){return!!e.selectedToken},hasFromAccount:function(e){return!!e.fromAccount},hasToAccount:function(e){return!!e.toAccount},hasSelectedNFTs:function(e){return e.selectedNFTs.length>0},selectedNFTsCount:function(e){return e.selectedNFTs.length},getCoaBalance:function(e){return function(t){return e.balances.coa[t]||null}},getEvmBalance:function(e){return function(t){return e.balances.evm[t]||null}},getAllCoaBalances:function(e){return e.balances.coa},getAllEvmBalances:function(e){return e.balances.evm},getAccessibleAssetStore:function(e){return function(t){return e.accessibleAssetStores[t]||null}},getAllAccessibleAssetStores:function(e){return e.accessibleAssetStores},canProceedFromSelectTokens:function(e){return!!e.selectedToken||e.selectedNFTs.length>0},canProceedFromSendTo:function(e){return!!e.toAccount},canProceedFromSendTokens:function(e){return!!e.selectedToken&&!!e.toAccount&&parseFloat(e.formData.tokenAmount)>0},canConfirmTransaction:function(e){var t=!!e.fromAccount&&!!e.toAccount;return"tokens"===e.transactionType?t&&!!e.selectedToken&&parseFloat(e.formData.tokenAmount)>0:t&&e.selectedNFTs.length>0}},_e.sendHelpers={getTransactionSummary:function(){var e=C.getState();return{type:e.transactionType,from:e.fromAccount,to:e.toAccount,token:e.selectedToken,amount:e.formData.tokenAmount,fiatValue:e.formData.fiatAmount,fee:e.formData.transactionFee,nfts:e.selectedNFTs}},goToStep:function(e){(0,C.getState().setCurrentStep)(e)},clearError:function(){(0,C.getState().setError)(null)},refreshCoaBalance:function(e){return(0,C.getState().fetchCoaBalance)(e)},refreshEvmBalance:function(e){return(0,C.getState().fetchEvmBalance)(e)},isBalanceStale:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3e4;return null==e||!e.lastFetched||Date.now()-e.lastFetched>t}},_e.useWalletStore=(0,_r(d[6]).create)(function(e,t){return{accounts:[],activeAccount:null,isLoading:!1,error:null,loadAccountsFromBridge:(n=(0,o.default)(function*(){e({isLoading:!0,error:null});try{var t=(0,_r(d[10]).flowService)(),n=yield t.getWalletAccounts();if(!Array.isArray(n.accounts))throw new Error("Invalid accounts data from bridge");var r=n.accounts,a=r.find(function(e){return e.isActive})||r[0]||null;e({accounts:r,activeAccount:a,isLoading:!1,error:null})}catch(t){e({accounts:[],activeAccount:null,isLoading:!1,error:t instanceof Error?t.message:"Failed to load accounts"})}}),function(){return n.apply(this,arguments)}),setActiveAccount:function(t){e(function(e){return{accounts:e.accounts.map(function(e){return Object.assign({},e,{isActive:e.address===t.address})}),activeAccount:Object.assign({},t,{isActive:!0})}})},getAccountByAddress:function(e){return t().accounts.find(function(t){return t.address===e})||null},clearCache:function(){e({accounts:[],activeAccount:null,isLoading:!1,error:null})}};var n})),b=(_e.walletSelectors={getAllAccounts:function(e){return e.accounts},getActiveAccount:function(e){return e.activeAccount},getAccountByAddress:function(e){return function(t){return t.accounts.find(function(t){return t.address===e})||null}},getAccountsByType:function(e){return function(t){return t.accounts.filter(function(t){return t.type===e})}},getLoadingState:function(e){return{isLoading:e.isLoading,error:e.error}}},_e.walletHelpers={initializeWallet:(p=(0,o.default)(function*(){var e=T.getState();return yield e.loadAccountsFromBridge(),e.accounts}),function(){return p.apply(this,arguments)}),getAccountByAddress:function(e){return T.getState().getAccountByAddress(e)},getAllAccounts:function(){return T.getState().accounts},getActiveAccount:function(){return T.getState().activeAccount},setActiveAccount:function(e){T.getState().setActiveAccount(e)}},_e.useProfileStore=(0,_r(d[6]).create)(function(e,t){return{profiles:[],isLoading:!1,error:null,loadProfilesFromBridge:(n=(0,o.default)(function*(){if(!t().isLoading){e({isLoading:!0,error:null});try{var n=(0,_r(d[10]).flowService)();try{var r=yield n.getWalletProfiles();if(!Array.isArray(r.profiles))throw new Error("Invalid profiles data from bridge");var a=r.profiles;e({profiles:a,isLoading:!1,error:null})}catch(t){var o=yield n.getWalletAccounts();if(!o.accounts||!Array.isArray(o.accounts))throw new Error("Invalid accounts data from bridge");var i=[{uid:"default-profile",name:"Main Profile",avatar:"\ud83d\udc64",accounts:o.accounts}];e({profiles:i,isLoading:!1,error:null})}}catch(t){e({profiles:[],isLoading:!1,error:t instanceof Error?t.message:"Failed to load profiles"})}}}),function(){return n.apply(this,arguments)}),getProfileByUid:function(e){return t().profiles.find(function(t){return t.uid===e})||null},clearCache:function(){e({profiles:[],isLoading:!1,error:null})}};var n})),S=(_e.useAllProfiles=function(){return b(function(e){return e.profiles})},_e.activityQueryKeys={all:[_r(d[8]).FlatQueryDomain.TRANSACTIONS],address:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return[].concat((0,t.default)(S.all),[e,n])},list:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:15;return[].concat((0,t.default)(S.address(e,n)),["list",r,a])}}),k=_e.activityQueries={fetchActivity:(A=(0,o.default)(function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:15;if(!e)return{items:[],total:0,hasMore:!1};try{var a=(0,_r(d[8]).addressType)(e),o=(0,_r(d[10]).activityService)(a),i=yield o.getActivity(e,t,n,r);return _r(d[9]).logger.debug("[ActivityQuery] Fetched activity:",{address:e,network:t,offset:n,limit:r,count:i.items.length,total:i.total}),i}catch(e){throw _r(d[9]).logger.error("[ActivityQuery] Error fetching activity:",e),e}}),function(e){return A.apply(this,arguments)})};function w(e){if(!e||0===e.length)return[];var t=new Date,r=new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),a=r-864e5,o=new Map;for(var i of e){var c=new Date(i.time),l=new Date(c.getFullYear(),c.getMonth(),c.getDate()).getTime(),s=void 0;s=l===r?"Today":l===a?"Yesterday":c.toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"});var u=o.get(s);u?u.items.push(i):o.set(s,{timestamp:l,items:[i]})}return Array.from(o.entries()).map(function(e){var t=(0,n.default)(e,2),r=t[0],a=t[1];return{date:r,timestamp:a.timestamp,items:a.items.sort(function(e,t){return t.time-e.time})}}).sort(function(e,t){return t.timestamp-e.timestamp})}_e.activityHelpers={fetchActivity:(N=(0,o.default)(function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:15;return _r(d[7]).queryClient.fetchQuery({queryKey:S.list(e,t,n,r),queryFn:function(){return k.fetchActivity(e,t,n,r)},staleTime:0})}),function(e){return N.apply(this,arguments)}),getActivity:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:15;return _r(d[7]).queryClient.getQueryData(S.list(e,t,n,r))},invalidateActivity:function(e,t){t?_r(d[7]).queryClient.invalidateQueries({queryKey:S.address(e,t)}):_r(d[7]).queryClient.invalidateQueries({predicate:function(t){var n=t.queryKey;return Array.isArray(n)&&n[1]===e}})},invalidateAllActivity:function(){_r(d[7]).queryClient.invalidateQueries({queryKey:S.all})},isLoading:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:15,a=_r(d[7]).queryClient.getQueryCache().find({queryKey:S.list(e,t,n,r)});return"fetching"===(null==a?void 0:a.state.fetchStatus)},groupByDate:w};var N,B,Q,D,O,L,E,q,I,W,j,R,P,U,K,M,$,_,x,H,V,z=_e.tokenQueryKeys={all:[_r(d[8]).FlatQueryDomain.TOKENS],addresses:function(){return[].concat((0,t.default)(z.all),["addresses"])},address:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return[].concat((0,t.default)(z.addresses()),[e,n])},tokens:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return[].concat((0,t.default)(z.address(e,n)),["tokens"])},balance:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return[].concat((0,t.default)(z.address(e,n)),[_r(d[8]).FlatQueryDomain.BALANCE])},nfts:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return[].concat((0,t.default)(z.address(e,n)),[_r(d[8]).FlatQueryDomain.NFTS])},nftCollection:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";return[].concat((0,t.default)(z.nfts(e,r)),[n.id||n.contractName||n.name])},nftCollectionAll:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";return[].concat((0,t.default)(z.nfts(e,r)),["all",n.id||n.contractName||n.name])}},Y=_e.tokenQueries={fetchTokens:(q=(0,o.default)(function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";if(!e)return[];try{var n=(0,_r(d[8]).addressType)(e),r=(0,_r(d[10]).tokenService)(n),a=_r(d[7]).context.bridge.getCurrency(),o=yield r.getTokenInfo(e,t,a.name);return _r(d[9]).logger.debug("[TokenQuery] Fetched tokens:",{address:e,network:t,count:o.length}),o}catch(e){throw _r(d[9]).logger.error("[TokenQuery] Error fetching tokens:",e),e}}),function(e){return q.apply(this,arguments)}),fetchNFTCollections:(E=(0,o.default)(function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";if(!e)return[];try{var n=(0,_r(d[8]).addressType)(e),r=(0,_r(d[10]).nftService)(n),a=yield r.getNFTCollections(e);return _r(d[9]).logger.debug("[TokenQuery] Fetched NFT collections:",{address:e,network:t,count:a.length}),a}catch(e){throw _r(d[9]).logger.error("[TokenQuery] Error fetching NFT collections:",e),e}}),function(e){return E.apply(this,arguments)}),fetchNFTCollection:(L=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:50;if(!e||!t)return[];try{var o=(0,_r(d[8]).addressType)(e),i=(0,_r(d[10]).nftService)(o),c=yield i.getNFTs(e,t,r.toString(),a);return _r(d[9]).logger.debug("[TokenQuery] Fetched NFTs from collection:",{address:e,collection:t.name,network:n,count:c.nfts.length,offset:r,limit:a,nextOffset:c.offset}),c.nfts}catch(e){throw _r(d[9]).logger.error("[TokenQuery] Error fetching NFTs from collection:",e),e}}),function(e,t){return L.apply(this,arguments)}),fetchAllNFTsFromCollection:(O=(0,o.default)(function*(e,n){var r=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,i=arguments.length>5?arguments[5]:void 0;if(!e||!n)return[];try{var c=50,l=(0,_r(d[8]).addressType)(e),s=(0,_r(d[10]).nftService)(l),u="flow"===l,f=[],y=new Set,v=!0,h=1,p=r?Math.ceil(r/c)*c:void 0;if(u)for(var A=0,F=function*(){if(r&&p&&A>=p)return 1;if(null!=i&&i.aborted){var l=new Error("Request aborted by user");throw l.name="AbortError",l}for(var u=[],F=[],C=0;C<5&&v;C++)F.push(A),u.push(s.getNFTs(e,n,A.toString(),c)),A+=c;var T=!1,b=u.map((function(){var e=(0,o.default)(function*(e,n){var o=F[n];try{var i=yield e,c=i.nfts.filter(function(e){var t=e.id||`${e.name}-${e.contractAddress}`;return!y.has(t)&&(y.add(t),!0)});if(f.push.apply(f,(0,t.default)(c)),T=!0,a&&r){var l=Math.min(f.length/r*100,100);a(Math.round(l),f.length)}return{nfts:i,offset:o,success:!0}}catch(e){return v=!1,{nfts:[],offset:o,success:!1,error:e}}});return function(t,n){return e.apply(this,arguments)}})());yield Promise.allSettled(b),T||(v=!1),h++};v&&!(yield*F()););else for(var C="";v&&h<=100&&f.length<1e4;){if(null!=i&&i.aborted){var T=new Error("Request aborted by user");throw T.name="AbortError",T}try{var b=yield s.getNFTs(e,n,C,c),S=b.nfts,k=b.offset;if(0===S.length){v=!1;break}var w=S.filter(function(e){var t=e.id||`${e.name}-${e.contractAddress}`;return!y.has(t)&&(y.add(t),!0)});if(0===w.length){v=!1;break}if(f.push.apply(f,(0,t.default)(w)),a&&r){var N=Math.min(f.length/r*100,100);a(Math.round(N),f.length)}if(k?C=k:v=!1,S.lengthS.length/2){v=!1;break}}catch(e){v=!1;break}h++}return f}catch(e){throw _r(d[9]).logger.error("[TokenQuery] Error fetching all NFTs from collection:",e),e}}),function(e,t){return O.apply(this,arguments)}),fetchBalance:(D=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";if(!e)return{balance:"0 FLOW",displayBalance:"0 FLOW",nftCount:0,nftCountDisplay:"0 NFTs",lastUpdated:Date.now()};try{var r;if("evm"===t){var a=yield _r(d[7]).cadence.getFlowBalanceForAnyAccounts([e]),o=parseFloat(a[e]||"0"),i=(0,_r(d[8]).formatCurrencyStringForDisplay)({value:o});r={balance:`${i} FLOW`,displayBalance:`${i} FLOW`,nftCount:0,nftCountDisplay:"0 NFTs"}}else{var c=(yield _r(d[7]).queryClient.fetchQuery({queryKey:z.tokens(e,n),queryFn:function(){return Y.fetchTokens(e,n)},staleTime:0})).find(function(e){var t;return e.identifier===(0,_r(d[11]).getFlowTokenVault)(n)||"flow"===(null==(t=e.symbol)?void 0:t.toLowerCase())}),l="0 FLOW",s="0 FLOW";if(null!=c&&c.displayBalance)l=s=c.displayBalance.includes("FLOW")?c.displayBalance:`${c.displayBalance} FLOW`;else if(null!=c&&c.balance){var u=parseFloat(c.balance);s=l=`${(0,_r(d[8]).formatCurrencyStringForDisplay)({value:u})} FLOW`}var f=(yield _r(d[7]).queryClient.fetchQuery({queryKey:z.nfts(e,n),queryFn:function(){return Y.fetchNFTCollections(e,n)},staleTime:3e5})).reduce(function(e,t){return e+(t.count||0)},0);r={balance:l,displayBalance:s,nftCount:f,nftCountDisplay:`${f} NFT${1!==f?"s":""}`}}return Object.assign({},r,{lastUpdated:Date.now()})}catch(e){throw _r(d[9]).logger.error("[TokenQuery] Error fetching balance:",e),e}}),function(e,t){return D.apply(this,arguments)}),fetchBatchFlowBalances:(Q=(0,o.default)(function*(e){if(!e||0===e.length)return[];try{var t=yield _r(d[7]).cadence.getFlowBalanceForAnyAccounts(e),n=[];for(var r of e){var a=t[r]||"0",o=parseFloat(a),i=`${(0,_r(d[8]).formatCurrencyStringForDisplay)({value:o})} FLOW`;n.push([r,i])}return n}catch(t){return _r(d[9]).logger.error("[TokenQuery] Failed to fetch batch Flow balances:",t),e.map(function(e){return[e,"0 FLOW"]})}}),function(e){return Q.apply(this,arguments)}),fetchBatchNFTCounts:(B=(0,o.default)(function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";if(!e||0===e.length)return[];try{var n=yield Promise.allSettled(e.map((function(){var e=(0,o.default)(function*(e){return[e,(yield Y.fetchNFTCollections(e,t)).reduce(function(e,t){return e+(t.count||0)},0)]});return function(t){return e.apply(this,arguments)}})()));return n.map(function(t,n){return"fulfilled"===t.status?t.value:(_r(d[9]).logger.warn("[TokenQuery] Failed to fetch NFT count for address:",e[n]),[e[n],0])})}catch(t){return _r(d[9]).logger.error("[TokenQuery] Failed to fetch batch NFT counts:",t),e.map(function(e){return[e,0]})}}),function(e){return B.apply(this,arguments)})},G=(_e.useTokenQueryStore=(0,_r(d[6]).create)(function(e,t){return{fetchTokens:(l=(0,o.default)(function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return yield _r(d[7]).queryClient.fetchQuery(Object.assign({queryKey:z.tokens(e,t),queryFn:function(){return Y.fetchTokens(e,t)}},n&&{staleTime:0}))}),function(e){return l.apply(this,arguments)}),fetchBalance:(c=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";return yield _r(d[7]).queryClient.fetchQuery({queryKey:z.balance(e,n),queryFn:function(){return Y.fetchBalance(e,t,n)}})}),function(e,t){return c.apply(this,arguments)}),fetchNFTCollections:(i=(0,o.default)(function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return yield _r(d[7]).queryClient.fetchQuery({queryKey:z.nfts(e,t),queryFn:function(){return Y.fetchNFTCollections(e,t)}})}),function(e){return i.apply(this,arguments)}),fetchNFTCollection:(a=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:50;return yield _r(d[7]).queryClient.fetchQuery({queryKey:z.nftCollection(e,t,n),queryFn:function(){return Y.fetchNFTCollection(e,t,n,r,a)},staleTime:3e5})}),function(e,t){return a.apply(this,arguments)}),fetchAllNFTsFromCollection:(r=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet",r=arguments.length>3?arguments[3]:void 0;return yield _r(d[7]).queryClient.fetchQuery({queryKey:z.nftCollectionAll(e,t,n),queryFn:function(a){var o=a.signal;return Y.fetchAllNFTsFromCollection(e,t,n,t.count,void 0,r||o)},staleTime:6e5,gcTime:9e5})}),function(e,t){return r.apply(this,arguments)}),fetchBatchFlowBalances:(n=(0,o.default)(function*(e){return yield Y.fetchBatchFlowBalances(e)}),function(e){return n.apply(this,arguments)}),invalidateTokens:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";_r(d[7]).queryClient.invalidateQueries({queryKey:z.tokens(e,t)})},invalidateBalance:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";_r(d[7]).queryClient.invalidateQueries({queryKey:z.balance(e,t)})},invalidateNFTCollection:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";_r(d[7]).queryClient.invalidateQueries({queryKey:z.nftCollection(e,t,n)})},invalidateAll:function(e){e?_r(d[7]).queryClient.invalidateQueries({queryKey:z.address(e)}):_r(d[7]).queryClient.invalidateQueries({queryKey:z.all})},getTokensForAddress:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return _r(d[7]).queryClient.getQueryData(z.tokens(e,t))},getNFTCollectionsForAddress:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return _r(d[7]).queryClient.getQueryData(z.nfts(e,t))},getNFTCollectionForAddress:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";return _r(d[7]).queryClient.getQueryData(z.nftCollection(e,t,n))},getBalanceForAddress:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet";return _r(d[7]).queryClient.getQueryData(z.balance(e,t))},isTokensLoading:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",n=_r(d[7]).queryClient.getQueryCache().find({queryKey:z.tokens(e,t)});return"fetching"===(null==n?void 0:n.state.fetchStatus)},isBalanceLoading:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",n=_r(d[7]).queryClient.getQueryCache().find({queryKey:z.balance(e,t)});return"fetching"===(null==n?void 0:n.state.fetchStatus)},isNFTsLoading:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",n=_r(d[7]).queryClient.getQueryCache().find({queryKey:z.nfts(e,t)});return"fetching"===(null==n?void 0:n.state.fetchStatus)},isNFTCollectionLoading:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet",r=_r(d[7]).queryClient.getQueryCache().find({queryKey:z.nftCollection(e,t,n)});return"fetching"===(null==r?void 0:r.state.fetchStatus)}};var n,r,a,i,c,l}),[_r(d[8]).FlatQueryDomain.ADDRESSBOOK]),J=function(e){return[].concat(G,[{scope:"firebase-uid",value:null!=e?e:"anonymous"}])},X=(function(){var e=(0,o.default)(function*(){try{var e;return"function"==typeof _r(d[7]).bridge.getCurrentUserUid?null!=(e=yield _r(d[7]).bridge.getCurrentUserUid())?e:null:(_r(d[9]).logger.warn("[AddressBook] bridge.getCurrentUserUid not implemented; falling back to anonymous scope"),null)}catch(e){return _r(d[9]).logger.warn("[AddressBook] Failed to resolve current user uid",{error:e}),null}});return function(){return e.apply(this,arguments)}})(),Z=_e.addressBookQueryKeys={all:G,allByUid:J,currentUserUid:function(){return[].concat(G,["current-user-uid"])},contacts:function(e){return[].concat((0,t.default)(J(e)),[_r(d[8]).FlatQueryDomain.CONTACTS])},contact:function(e,n){return[].concat((0,t.default)(Z.contacts(n)),[e])},favorites:function(e){return[].concat((0,t.default)(J(e)),["favorites"])},recent:function(e){return[].concat((0,t.default)(J(e)),[_r(d[8]).FlatQueryDomain.RECENT])}},ee=_e.addressBookQueries={fetchCurrentUserUid:(P=(0,o.default)(function*(){return yield X()}),function(){return P.apply(this,arguments)}),fetchContacts:(R=(0,o.default)(function*(){try{var e=_r(d[10]).AddressBookService.getInstance(),t=(yield e.getAddressBook()).contacts.map(function(e){return{id:e.id,name:e.name,address:e.address,avatar:e.avatar||"",isFavorite:!1,createdAt:Date.now(),updatedAt:Date.now()}});return _r(d[9]).logger.debug("[AddressBookQuery] Fetched contacts",{count:t.length,contacts:t}),t}catch(e){return _r(d[9]).logger.error("[AddressBookQuery] Error fetching contacts:",e),[]}}),function(){return R.apply(this,arguments)}),fetchContact:(j=(0,o.default)(function*(e){try{var t=_r(d[10]).AddressBookService.getInstance(),n=(yield t.getAddressBook()).contacts.find(function(t){return t.id===e});if(n){var r={id:n.id,name:n.name,address:n.address,avatar:n.avatar,isFavorite:!1,createdAt:Date.now(),updatedAt:Date.now()};return _r(d[9]).logger.debug("[AddressBookQuery] Fetched contact from address book:",{id:e,contact:r}),r}var a=_r(d[10]).RecentRecipientsService.getInstance(),o=(yield a.getAllRecentRecipients()).find(function(t){return t.id===e});if(o){var i={id:o.id,name:o.name,address:o.address,avatar:o.avatar,isFavorite:!1,createdAt:Date.now(),updatedAt:Date.now()};return _r(d[9]).logger.debug("[AddressBookQuery] Fetched contact from recent:",{id:e,contact:i}),i}throw new Error(`Contact ${e} not found`)}catch(e){throw _r(d[9]).logger.error("[AddressBookQuery] Error fetching contact:",e),e}}),function(e){return j.apply(this,arguments)}),fetchFavorites:(W=(0,o.default)(function*(){try{var e=[];return _r(d[9]).logger.debug("[AddressBookQuery] Fetched favorites:",{count:e.length}),e}catch(e){throw _r(d[9]).logger.error("[AddressBookQuery] Error fetching favorites:",e),e}}),function(){return W.apply(this,arguments)}),fetchRecent:(I=(0,o.default)(function*(){try{var e=_r(d[7]).context.storage,t=yield e.get("recentRecipients");if(t){var n=[];if(Array.isArray(t))n=t;else if(t&&"object"==typeof t){var r=t;n=Object.values(r).filter(function(e){return e&&"object"==typeof e&&"address"in e&&!["version","createdAt","updatedAt"].includes(String(e))})}var a=n.map(function(e){return{id:e.id||e.address,name:e.name||"Recent Contact",address:e.address,avatar:e.avatar||"",isFavorite:!1,createdAt:e.createdAt||Date.now(),updatedAt:e.updatedAt||Date.now()}});return _r(d[9]).logger.debug("[AddressBookQuery] Fetched recent contacts from storage:",a),a}return _r(d[9]).logger.debug("[AddressBookQuery] No recent contacts found in storage"),[]}catch(e){return _r(d[9]).logger.error("[AddressBookQuery] Error fetching recent contacts:",e),[]}}),function(){return I.apply(this,arguments)})},te={createContact:($=(0,o.default)(function*(e){try{throw new Error("Creating contacts is not yet supported by the backend API")}catch(e){throw _r(d[9]).logger.error("[AddressBookMutation] Error creating contact:",e),e}}),function(e){return $.apply(this,arguments)}),updateContact:(M=(0,o.default)(function*(e,t){try{throw new Error("Updating contacts is not yet supported by the backend API")}catch(e){throw _r(d[9]).logger.error("[AddressBookMutation] Error updating contact:",e),e}}),function(e,t){return M.apply(this,arguments)}),deleteContact:(K=(0,o.default)(function*(e){try{throw new Error("Deleting contacts is not yet supported by the backend API")}catch(e){throw _r(d[9]).logger.error("[AddressBookMutation] Error deleting contact:",e),e}}),function(e){return K.apply(this,arguments)}),setRecentContact:(U=(0,o.default)(function*(e){try{var t=_r(d[7]).context.storage,n=yield t.get("recentRecipients"),r=[];n&&(Array.isArray(n)?r=n:n&&"object"==typeof n&&(r=Object.values(n).filter(function(e){return e&&"object"==typeof e&&"address"in e})));var a={id:e.id,name:e.name,address:e.address,avatar:e.avatar||"",emoji:"",createdAt:e.createdAt,updatedAt:e.updatedAt};(r=r.filter(function(t){return t.address!==e.address})).unshift(a),r=r.slice(0,10),yield t.set("recentRecipients",r);var o=yield X();_r(d[7]).queryClient.invalidateQueries({queryKey:Z.recent(null!=o?o:void 0)}),_r(d[9]).logger.debug("[AddressBookMutation] Set recent contact:",{contact:e,totalRecent:r.length})}catch(e){throw _r(d[9]).logger.error("[AddressBookMutation] Error setting recent contact:",e),e}}),function(e){return U.apply(this,arguments)})},ne=(_e.useAddressBookStore=(0,_r(d[6]).create)(function(e,t){return{fetchCurrentUserUid:(f=(0,o.default)(function*(){return yield ee.fetchCurrentUserUid()}),function(){return f.apply(this,arguments)}),fetchContacts:(u=(0,o.default)(function*(){return yield ee.fetchContacts()}),function(){return u.apply(this,arguments)}),fetchContact:(s=(0,o.default)(function*(e){return yield ee.fetchContact(e)}),function(e){return s.apply(this,arguments)}),fetchFavorites:(l=(0,o.default)(function*(){return yield ee.fetchFavorites()}),function(){return l.apply(this,arguments)}),fetchRecent:(c=(0,o.default)(function*(){return yield ee.fetchRecent()}),function(){return c.apply(this,arguments)}),createContact:(i=(0,o.default)(function*(e){return yield te.createContact(e)}),function(e){return i.apply(this,arguments)}),updateContact:(a=(0,o.default)(function*(e,t){return yield te.updateContact(e,t)}),function(e,t){return a.apply(this,arguments)}),deleteContact:(r=(0,o.default)(function*(e){yield te.deleteContact(e)}),function(e){return r.apply(this,arguments)}),setRecentContact:(n=(0,o.default)(function*(e){yield te.setRecentContact(e)}),function(e){return n.apply(this,arguments)}),invalidateContacts:function(){},invalidateContact:function(e){},getContacts:function(){},getContact:function(e){}};var n,r,a,i,c,l,s,u,f}),_e.accessibleAssetQueryKeys={all:[_r(d[8]).FlatQueryDomain.ACCESSIBLE_ASSETS],accounts:function(){return[].concat((0,t.default)(ne.all),["accounts"])},account:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";return[].concat((0,t.default)(ne.accounts()),[e,n,r])},allowTypes:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";return[].concat((0,t.default)(ne.account(e,n,r)),["allowTypes"])}}),re=(_e.accessibleAssetQueries={fetchChildAccountAllowTypes:(_=(0,o.default)(function*(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mainnet";if(!e||!t)return[];try{var r=yield _r(d[7]).cadence.getChildAccountAllowTypes(e,t);return _r(d[9]).logger.debug("[AccessibleAssetQuery] Fetched accessible IDs:",{parentAddress:e,childAddress:t,network:n,count:(null==r?void 0:r.length)||0}),r||[]}catch(e){throw _r(d[9]).logger.error("[AccessibleAssetQuery] Error fetching accessible IDs:",e),new(_r(d[8]).FRWError)(_r(d[8]).ErrorCode.ACCESSIBLE_ASSET_FETCH_FAILED,"Failed to fetch accessible IDs",{})}}),function(e,t){return _.apply(this,arguments)})},_e.accessibleAssetHelpers={isTokenAllowed:function(e,t){if(null==t)return!0;if(!e.contractAddress)return!1;var n=(0,_r(d[9]).getTokenResourceIdentifier)(e);return!!n&&t.some(function(e){return e.toLowerCase().includes(n.toLowerCase())})},isNFTAllowed:function(e,t){if(null==t)return!0;if(!e.address)return!1;var n=(0,_r(d[9]).getNFTResourceIdentifier)(e);return!!n&&t.some(function(e){return e.toLowerCase().includes(n.toLowerCase())})},isCollectionAllowed:function(e,t){if(!t||0===t.length)return!0;if(!e.address||!e.contractName)return!1;var n=(0,_r(d[9]).getCollectionResourceIdentifier)(e);return!!n&&t.some(function(e){return e.toLowerCase().includes(n.toLowerCase())})},isChildAccount:function(e){return"child"===(null==e?void 0:e.type)&&!!e.parentAddress},getAccountAddresses:function(e){return re.isChildAccount(e)?{parentAddress:e.parentAddress,childAddress:e.address}:{parentAddress:null,childAddress:null}},filterAccessibleTokens:function(e,t){return t&&0!==t.length?e.filter(function(e){return re.isTokenAllowed(e,t)}):e},filterAccessibleCollections:function(e,t){return t&&0!==t.length?e.filter(function(e){return re.isCollectionAllowed(e,t)}):e}}),ae=_e.storageQueryKeys={all:[_r(d[8]).FlatQueryDomain.STORAGE],info:function(){return[].concat((0,t.default)(ae.all),["info"])},accountInfo:function(e){return[].concat((0,t.default)(ae.info()),[(null==e?void 0:e.parentAddress)||(null==e?void 0:e.address)||"unknown"])},resourceCheck:function(e,n){return[].concat((0,t.default)(ae.all),["resource-check",e,n])}},oe=(_e.storageQueries={fetchAccountInfo:(H=(0,o.default)(function*(e){if(null==e||!e.address)throw new Error("No selected account provided");try{var t=e.parentAddress||e.address;_r(d[9]).logger.info("Fetching complete account info",{accountAddress:e.address,queryAddress:t,hasParent:!!e.parentAddress});var n=yield _r(d[7]).cadence.getAccountInfo(t),r=parseFloat(n.balance),a=parseFloat(n.availableBalance),o=parseFloat(n.storageFlow),i=n.storageCapacity-n.storageUsed,c={address:n.address,balance:r,availableBalance:a,storageUsed:n.storageUsed,storageCapacity:n.storageCapacity,storageFlow:o,available:i};return _r(d[9]).logger.info("Account info retrieved",{address:t,balance:r,capacity:n.storageCapacity,used:n.storageUsed,available:i,usagePercentage:(n.storageUsed/n.storageCapacity*100).toFixed(2)}),c}catch(t){throw _r(d[9]).logger.error("Failed to fetch account info",{error:t instanceof Error?t.message:String(t),selectedAccount:null==e?void 0:e.address}),new(_r(d[8]).FRWError)(_r(d[8]).ErrorCode.ACCOUNT_INFO_FETCH_FAILED,"Failed to fetch account info",{error:t})}}),function(e){return H.apply(this,arguments)}),checkResourceCompatibility:(x=(0,o.default)(function*(e,t){if(!e||!t)return _r(d[9]).logger.warn("Missing address or flowIdentifier for resource check",{address:e,flowIdentifier:t}),!1;if(!(0,_r(d[9]).isValidFlowAddress)(e))return _r(d[9]).logger.info("Address is not a valid Flow address, returning true for compatibility",{address:e,flowIdentifier:t}),!0;try{_r(d[9]).logger.info("Checking resource compatibility",{address:e,flowIdentifier:t});var n=yield _r(d[7]).cadence.checkResource(e,t);return _r(d[9]).logger.info("Resource compatibility check result",{address:e,flowIdentifier:t,isCompatible:n}),n}catch(n){return _r(d[9]).logger.error("Failed to check resource compatibility",{error:n instanceof Error?n.message:String(n),address:e,flowIdentifier:t}),!1}}),function(e,t){return x.apply(this,arguments)})},_e.storageUtils={isBalanceInsufficient:function(e){return e<.001},isStorageInsufficient:function(e){return e.available<1e4},validateFlowTokenTransaction:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(oe.isStorageInsufficient(e))return{canProceed:!1,showWarning:!0,warningType:"storage"};if(oe.isBalanceInsufficient(e.balance))return{canProceed:!1,showWarning:!0,warningType:"balance"};var r=n?0:5e-4;return e.balance-t1&&void 0!==arguments[1]&&arguments[1];return oe.validateFlowTokenTransaction(e,0,t)},getStorageWarningMessageKey:function(e){switch(e){case"balance":return"storage.warning.balance";case"storage":return"storage.warning.storage";case"storage_after_action":return"storage.warning.storageAfterAction";default:return""}},shouldShowStorageWarning:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.available<1e4+t}}),ie=(_e.usePayerStatusStore=(0,_r(d[6]).create)(function(e,t){return{getCachedPayerStatus:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"mainnet";return _r(d[7]).queryClient.getQueryData(ie.payerStatus(e))||null},clearCache:function(e){e?(_r(d[7]).queryClient.removeQueries({queryKey:ie.payerStatus(e)}),_r(d[9]).logger.info("Cleared payer status cache",{network:e})):(_r(d[7]).queryClient.removeQueries({queryKey:ie.all}),_r(d[9]).logger.info("Cleared all payer status cache"))}}}),_e.payerStatusQueryKeys={all:["payer-status"],payerStatus:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"mainnet";return[].concat((0,t.default)(ie.all),[e])}}),ce=_e.payerStatusQueries={fetchPayerStatus:(V=(0,o.default)(function*(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"mainnet";try{_r(d[9]).logger.info("Fetching payer status",{network:e});var t=(yield _r(d[12]).PayerService.status({network:e})).data;if(_r(d[9]).logger.info("Raw API response",{response:t,type:typeof t}),!t)throw _r(d[9]).logger.error("Invalid payer status response format",{response:t}),new Error("Invalid payer status response format");return t}catch(t){throw _r(d[9]).logger.error("Failed to fetch payer status",{error:t instanceof Error?t.message:String(t),network:e}),t}}),function(){return V.apply(this,arguments)})};_e.fetchPayerStatusWithCache=(function(){var e=(0,o.default)(function*(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"mainnet",n=_r(d[7]).queryClient.getQueryData(ie.payerStatus(t));if(n)return n;var r=yield ce.fetchPayerStatus(t),a=(null==(e=r.surge)?void 0:e.ttlSeconds)||30;return 30!==a&&_r(d[7]).queryClient.setQueryDefaults(ie.payerStatus(t),{gcTime:1e3*a}),_r(d[7]).queryClient.setQueryData(ie.payerStatus(t),r),r});return function(){return e.apply(this,arguments)}})()},1389,[1,32,10,207,9,367,1390,1393,8,2,1913,1914,1394]); __d(function(g,r,i,a,m,e,d){'use strict';Object.keys(r(d[0])).forEach(function(t){'default'===t||Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return r(d[0])[t]}})}),Object.keys(r(d[1])).forEach(function(t){'default'===t||Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return r(d[1])[t]}})})},1390,[1391,1392]); __d(function(g,r,i,a,m,e,d){'use strict';var t=function(t){var n,u=new Set,c=function(t,c){var o="function"==typeof t?t(n):t;if(!Object.is(o,n)){var f=n;n=(null!=c?c:"object"!=typeof o||null===o)?o:Object.assign({},n,o),u.forEach(function(t){return t(n,f)})}},o=function(){return n},f={setState:c,getState:o,getInitialState:function(){return s},subscribe:function(t){return u.add(t),function(){return u.delete(t)}}},s=n=t(c,o,f);return f};e.createStore=function(n){return n?t(n):t}},1391,[]); __d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),n=function(t){return t};function u(u){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n,o=t.useSyncExternalStore(u.subscribe,t.useCallback(function(){return c(u.getState())},[u,c]),t.useCallback(function(){return c(u.getInitialState())},[u,c]));return t.useDebugValue(o),o}var c=function(t){var n=r(d[1]).createStore(t),c=function(t){return u(n,t)};return Object.assign(c,n),c};e.create=function(t){return t?c(t):c},e.useStore=u},1392,[128,1391]); @@ -2175,7 +2175,7 @@ __d(function(g,r,i,a,m,e,d){"use strict";var t,n=r(d[0]),u=["state"],o=["fetchSt __d(function(g,_r,i,a,m,_e,d){"use strict";var e=_r(d[0]);function t(e){var t,n,o,u=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,o=Symbol.iterator);u--;){if(n&&null!=(t=e[n]))return t.call(e);if(o&&null!=(t=e[o]))return new r(t.call(e));n="@@asyncIterator",o="@@iterator"}throw new TypeError("Object is not async iterable")}function r(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then(function(e){return{value:e,done:t}})}return r=function(e){this.s=e,this.n=e.next},r.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var r=this.s.return;return void 0===r?Promise.resolve({value:e,done:!0}):t(r.apply(this.s,arguments))},throw:function(e){var r=this.s.return;return void 0===r?Promise.reject(e):t(r.apply(this.s,arguments))}},new r(e)}var n,o=Object.defineProperty,u=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,c=Object.prototype.hasOwnProperty,s=function(e,t,r,n){if(t&&"object"==typeof t||"function"==typeof t){var s=function(l){c.call(e,l)||l===r||o(e,l,{get:function(){return t[l]},enumerable:!(n=u(t,l))||n.enumerable})};for(var f of l(t))s(f)}return e},f={};function y(r){var n=r.streamFn,o=r.refetchMode,u=void 0===o?"reset":o,l=r.reducer,c=void 0===l?function(e,t){return(0,_r(d[1]).addToEnd)(e,t)}:l,s=r.initialValue,f=void 0===s?[]:s;return(function(){var r=e(function*(e){var r=e.client.getQueryCache().find({queryKey:e.queryKey,exact:!0}),o=!!r&&void 0!==r.state.data;o&&"reset"===u&&r.setState({status:"pending",data:void 0,error:null,fetchStatus:"fetching"});var l,s=f,y=yield n(e),v=!1,p=!1;try{for(var h,b=function*(){var t=h.value;if(e.signal.aborted)return 1;o&&"replace"===u||e.client.setQueryData(e.queryKey,function(e){return c(void 0===e?f:e,t)}),s=c(s,t)},j=t(y);(v=!(h=yield j.next()).done)&&!(yield*b());v=!1);}catch(e){p=!0,l=e}finally{try{v&&null!=j.return&&(yield j.return())}finally{if(p)throw l}}return o&&"replace"===u&&!e.signal.aborted&&e.client.setQueryData(e.queryKey,s),e.client.getQueryData(e.queryKey)});return function(e){return r.apply(this,arguments)}})()}!(function(e,t){for(var r in t)o(e,r,{get:t[r],enumerable:!0})})(f,{streamedQuery:function(){return y}}),m.exports=(n=f,s(o({},"__esModule",{value:!0}),n))},1911,[367,1892]); __d(function(g,r,i,a,m,e,d){"use strict";var t,n=Object.defineProperty,o=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,c=Object.prototype.hasOwnProperty,f=function(t,f,b,l){if(f&&"object"==typeof f||"function"==typeof f){var y=function(u){c.call(t,u)||u===b||n(t,u,{get:function(){return f[u]},enumerable:!(l=o(f,u))||l.enumerable})};for(var p of u(f))y(p)}return t},b={};!(function(t,o){for(var u in o)n(t,u,{get:o[u],enumerable:!0})})(b,{dataTagErrorSymbol:function(){return y},dataTagSymbol:function(){return l},unsetMarker:function(){return p}}),m.exports=(t=b,f(n({},"__esModule",{value:!0}),t));var l=Symbol("dataTagSymbol"),y=Symbol("dataTagErrorSymbol"),p=Symbol("unsetMarker")},1912,[]); __d(function(g,_r,i,_a,m,_e,d){var e=_r(d[0]);Object.defineProperty(_e,"__esModule",{value:!0}),_e.tokenService=_e.recentRecipientsService=_e.profileService=_e.nftService=_e.flowService=_e.addressBookService=_e.activityService=_e.TokenService=_e.RecentRecipientsService=_e.ProfileService=_e.NFTService=_e.KeyRotationService=_e.FlowService=_e.AddressBookService=_e.ActivityService=void 0;var t,r,n,o=e(_r(d[1])),a=e(_r(d[2])),s=e(_r(d[3])),l=e(_r(d[4])),c=e(_r(d[5]));function u(e){switch(e){case 1:return"ft";case 2:return"nft";default:return"interaction"}}function f(e){switch(e){case 1:default:return"sent";case 2:return"received"}}var v=(function(){return(0,c.default)(function e(){(0,l.default)(this,e)},[{key:"getData",value:(e=(0,s.default)(function*(e,t,r,n){try{var o,a,s,l,c=yield _r(d[6]).AccountService.transfers({address:e,limit:n,after:r}),v=null!=(o=null==c?void 0:c.data)?o:c,h=(null!=(a=null==v?void 0:v.transactions)?a:[]).map(function(e){var t,r,n,o,a,s,l,c,v,h;return{id:null!=(t=e.txid)?t:"",hash:null!=(r=e.txid)?r:"",cadenceTxId:e.txid,evmTxIds:void 0,title:null!=(n=e.title)?n:"",token:null!=(o=e.token)?o:"",image:null!=(a=e.image)?a:"",amount:null!=(s=e.amount)?s:"",additionalMessage:e.additional_message,sender:null!=(l=e.sender)?l:"",receiver:null!=(c=e.receiver)?c:"",senderProfile:void 0,receiverProfile:void 0,status:(0,_r(d[7]).mapActivityStatus)(null!=(v=e.status)?v:"PENDING"),error:null!=(h=e.error)&&h,indexed:!0,time:e.time?new Date(e.time).getTime():Date.now(),type:u(e.type),transferType:f(e.transfer_type),walletType:_r(d[7]).WalletType.Flow}});return{items:h,total:null!=(s=null==v?void 0:v.total)?s:h.length,hasMore:null!=(l=null==v?void 0:v.next)&&l}}catch(e){return _r(d[8]).logger.error("[FlowActivityProvider] failed to fetch activity",e),{items:[],total:0,hasMore:!1}}}),function(t,r,n,o){return e.apply(this,arguments)})}]);var e})(),h=(function(){return(0,c.default)(function e(){(0,l.default)(this,e)},[{key:"getData",value:(e=(0,s.default)(function*(e,t,r,n){try{var o,a,s,l=yield _r(d[6]).EvmService.getTransactions(e,r,n),c=(null!=(o=null==l?void 0:l.trxs)?o:[]).map(function(e){var t,r,n,o,a,s,l,c,v,h;return{id:null!=(t=e.txid)?t:"",hash:null!=(r=e.txid)?r:"",cadenceTxId:void 0,evmTxIds:e.txid?[e.txid]:void 0,title:null!=(n=e.title)?n:"",token:null!=(o=e.token)?o:"",image:null!=(a=e.image)?a:"",amount:null!=(s=e.amount)?s:"",additionalMessage:e.additional_message,sender:null!=(l=e.sender)?l:"",receiver:null!=(c=e.receiver)?c:"",senderProfile:void 0,receiverProfile:void 0,status:(0,_r(d[7]).mapActivityStatus)(null!=(v=e.status)?v:"PENDING"),error:null!=(h=e.error)&&h,indexed:!0,time:e.time?new Date(e.time).getTime():Date.now(),type:u(e.type),transferType:f(e.transfer_type),walletType:_r(d[7]).WalletType.EVM}}),v=!(null==l||!l.next_page_params);return{items:c,total:null!=(a=null==l||null==(s=l.next_page_params)?void 0:s.items_count)?a:c.length,hasMore:v}}catch(e){return _r(d[8]).logger.error("[EvmActivityProvider] failed to fetch activity",e),{items:[],total:0,hasMore:!1}}}),function(t,r,n,o){return e.apply(this,arguments)})}]);var e})(),y=_e.ActivityService=(t=(function(){function e(t,r){if((0,l.default)(this,e),this.walletType=t,this.activityProvider=t===_r(d[7]).WalletType.Flow?new v:new h,r)this.bridge=r;else try{this.bridge=(0,_r(d[9]).getServiceContext)().bridge}catch(e){_r(d[8]).logger.warn("[ActivityService] ServiceContext not initialized, bridge will be null"),this.bridge=void 0}}return(0,c.default)(e,[{key:"getActivity",value:(t=(0,s.default)(function*(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mainnet",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:15;return this.activityProvider.getData(e,t,r,n)}),function(e){return t.apply(this,arguments)})},{key:"getWalletType",value:function(){return this.walletType}}],[{key:"getInstance",value:function(t,r){var n=`${t}-${r?"with-bridge":"no-bridge"}`;return e.instances.has(n)||e.instances.set(n,new e(t,r)),e.instances.get(n)}}]);var t})(),t.instances=new Map,t),p=_e.AddressBookService=(function(){function e(t){(0,l.default)(this,e),this.bridge=t}return(0,c.default)(e,[{key:"getAddressBook",value:(t=(0,s.default)(function*(){try{var e,t=yield _r(d[6]).AddressbookService.contact();return Array.isArray(t)?{contacts:t.map(function(e){return{id:String(e.id||e.address||""),name:e.username||e.contact_name||"Unknown Contact",address:e.address||"",avatar:e.avatar,username:e.username,contactName:e.contact_name}})}:null!=(e=t.data)&&e.contacts?{contacts:t.data.contacts.map(function(e){return{id:String(e.id||e.address||""),name:e.username||e.contact_name||"Unknown Contact",address:e.address||"",avatar:e.avatar,username:e.username,contactName:e.contact_name}})}:t.contacts?{contacts:t.contacts.map(function(e){return{id:String(e.id||e.address||""),name:e.username||e.contact_name||"Unknown Contact",address:e.address||"",avatar:e.avatar,username:e.username,contactName:e.contact_name}})}:{contacts:[]}}catch(e){throw _r(d[8]).logger.error("[AddressBookService] Failed to fetch address book:",e),new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.ADDRESSBOOK_FETCH_FAILED,"Failed to fetch address book contacts",{error:e})}}),function(){return t.apply(this,arguments)})}],[{key:"getInstance",value:function(t){if(!e.instance){var r=t;if(!r)try{r=_r(d[9]).context.bridge}catch(e){throw new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.BRIDGE_NOT_FOUND,"AddressBookService requires bridge parameter or initialized ServiceContext",{bridge:t,error:e})}e.instance=new e(r)}return e.instance}}]);var t})(),w=(function(){function e(t){(0,l.default)(this,e),this.initialized=!1,this.bridge=t}return(0,c.default)(e,[{key:"ensureInitialized",value:(u=(0,s.default)(function*(){if(!this.initialized)try{_r(d[9]).cadence&&(this.initialized=!0)}catch(e){throw _r(d[8]).logger.error("FlowService: ServiceContext not initialized properly"),new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.FLOW_SERVICE_NOT_INITIALIZED,"FlowService requires initialized ServiceContext",{error:e})}}),function(){return u.apply(this,arguments)})},{key:"getCoaBalance",value:(a=(0,s.default)(function*(e){try{yield this.ensureInitialized();var t=(yield _r(d[9]).cadence.getFlowBalanceForAnyAccounts([e]))[e];if(null!=t)return parseFloat(t.toString());throw new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.FLOW_BALANCE_NOT_FOUND,"No balance found for address",{address:e})}catch(t){throw _r(d[8]).logger.error("Error fetching balance via CadenceService",t),new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.FLOW_BALANCE_FETCH_FAILED,`Failed to fetch balance: ${t instanceof Error?t.message:"Unknown error"}`,{address:e,error:t})}}),function(e){return a.apply(this,arguments)})},{key:"getEvmBalance",value:(o=(0,s.default)(function*(e){return this.getCoaBalance(e)}),function(e){return o.apply(this,arguments)})},{key:"getWalletAccounts",value:(n=(0,s.default)(function*(){return this.bridge.getWalletAccounts()}),function(){return n.apply(this,arguments)})},{key:"getWalletProfiles",value:(r=(0,s.default)(function*(){if("getWalletProfiles"in this.bridge&&"function"==typeof this.bridge.getWalletProfiles)return this.bridge.getWalletProfiles();throw new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.FLOW_METHOD_NOT_IMPLEMENTED,"getWalletProfiles not implemented on this platform",{bridge:typeof this.bridge.getWalletProfiles})}),function(){return r.apply(this,arguments)})},{key:"getEvmAddress",value:(t=(0,s.default)(function*(e){return _r(d[8]).logger.warn("FlowService: getEvmAddress not yet implemented via CadenceService"),null}),function(e){return t.apply(this,arguments)})}],[{key:"getInstance",value:function(t){if(!e.instance){var r=t;if(!r)try{r=_r(d[9]).context.bridge}catch(e){throw new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.BRIDGE_NOT_FOUND,"FlowService requires bridge parameter or initialized ServiceContext",{bridge:t,error:e})}e.instance=new e(r)}return e.instance}}]);var t,r,n,o,a,u})(),E=_e.FlowService=w,S=(_e.KeyRotationService=(function(){function e(t,r,n){(0,l.default)(this,e),this.bridge=t,this.config=Object.assign({timeout:3e4,maxRetries:3},r),this.workflow=new(_r(d[10]).KeyRotation),this.cache=n}return(0,c.default)(e,[{key:"isBloctoAccount",value:(a=(0,s.default)(function*(e){var t=yield this.getCachedBloctoDetection(e);if(void 0!==t)return t;var r=yield this.workflow.detectBloctoKey(e);return yield this.setCachedBloctoDetection(e,r.isBloctoKey),r.isBloctoKey}),function(e){return a.apply(this,arguments)})},{key:"rotateKey",value:(o=(0,s.default)(function*(e,t){var r,n;_r(d[8]).logger.info("KeyRotationService: Starting Blocto key rotation",{address:e});var o=yield this.workflow.detectBloctoKey(e);if(!o.isBloctoKey)throw new Error("Account does not match Blocto key pattern.");if(!o.needRevoke)throw new Error("No revokable Blocto keys found on account.");if(null==t||null==(r=t.flowKey)||!r.publicKey)throw new Error("New key information is required for rotation.");var a,s,l=null!=(n=o.bloctoKeyIndexes)?n:[],c=(0,_r(d[8]).resolveSignAlgo)(t.flowKey),u=(0,_r(d[8]).resolveHashAlgo)(t.flowKey);if(_r(d[8]).logger.debug("KeyRotationService: Algorithm validation",{signAlgo:c,hashAlgo:u,flowKey:{signAlgo:t.flowKey.signAlgo,hashAlgo:t.flowKey.hashAlgo,signAlgoString:t.flowKey.signAlgoString,hashAlgoString:t.flowKey.hashAlgoString}}),2!==c||1!==u)throw new Error(`Provided key does not match the required algorithms. Expected signAlgo=2, hashAlgo=1, but got signAlgo=${c}, hashAlgo=${u}`);try{_r(d[8]).logger.debug("KeyRotationService: Submitting to v3/signed API"),a=yield this.submitToSignedAPI(e,t.flowKey,c,u),_r(d[8]).logger.info("KeyRotationService: API submission successful",{result:a})}catch(e){throw _r(d[8]).logger.error("KeyRotationService: API submission failed",{error:e instanceof Error?e.message:"Unknown error",stack:e instanceof Error?e.stack:void 0}),e}try{_r(d[8]).logger.debug("KeyRotationService: Starting on-chain key rotation"),s=yield this.workflow.rotateKeysOnChain((0,_r(d[8]).normalizePublicKey)(t.flowKey.publicKey),l),_r(d[8]).logger.info("KeyRotationService: On-chain key rotation successful",{txId:s})}catch(e){throw _r(d[8]).logger.error("KeyRotationService: On-chain key rotation failed",{error:e instanceof Error?e.message:"Unknown error",stack:e instanceof Error?e.stack:void 0}),e}try{_r(d[8]).logger.debug("KeyRotationService: Saving new key"),yield this.bridge.saveNewKey(t),_r(d[8]).logger.debug("KeyRotationService: New key saved")}catch(e){_r(d[8]).logger.warn("KeyRotationService: Failed to save new key (non-critical)",{error:e instanceof Error?e.message:"Unknown error"})}try{yield this.setCachedBloctoDetection(e,!1)}catch(e){_r(d[8]).logger.warn("KeyRotationService: Failed to update cache (non-critical)",{error:e instanceof Error?e.message:"Unknown error"})}if(l.length>0){var f,v=(null!=(f=o.fullAccountKeys)?f:[]).filter(function(e){return-1!==l.indexOf(e.index)}).map(function(e){return e.publicKey}).filter(function(e){return Boolean(e)});for(var h of v)yield this.bridge.removeOldKey(e,h)}return{txId:s,addedKey:t.flowKey,revokedKeyIndexes:l}}),function(e,t){return o.apply(this,arguments)})},{key:"submitToSignedAPI",value:(n=(0,s.default)(function*(e,t,r,n){var o,a,s,l,c,u,f={public_key:(0,_r(d[8]).normalizePublicKey)(t.publicKey),hash_algo:n,sign_algo:r,weight:null!=(o=t.weight)?o:1e3},v=yield this.bridge.getJWT(),h=yield this.bridge.signRotationRequest(e,v),y=[{public_key:null!=(a=h.public_key)?a:f.public_key,hash_algo:null!=(s=h.hash_algo)?s:n,sign_algo:null!=(l=h.sign_algo)?l:r,sign_message:null!=(c=h.sign_message)?c:v,signature:h.signature,weight:null!=(u=h.weight)?u:f.weight}],p={name:"Blocto Key rotation",type:4};return _r(d[8]).logger.debug("KeyRotationService: Submitting to v3/signed API via Userv3GoService"),yield _r(d[6]).Userv3GoService.signed({accountKey:f,signatures:y,backupInfo:p})}),function(e,t,r,o){return n.apply(this,arguments)})},{key:"cacheAddressKey",value:function(e){return`keyRotation:blocto:${e.trim().toLowerCase()}`}},{key:"getCachedBloctoDetection",value:(r=(0,s.default)(function*(e){if(this.cache){var t=yield this.cache.get(this.cacheAddressKey(e));return"boolean"==typeof t?t:void 0}}),function(e){return r.apply(this,arguments)})},{key:"setCachedBloctoDetection",value:(t=(0,s.default)(function*(e,t){this.cache&&(yield this.cache.set(this.cacheAddressKey(e),t))}),function(e,r){return t.apply(this,arguments)})},{key:"updateConfig",value:function(e){this.config=Object.assign({},this.config,e),_r(d[8]).logger.debug("KeyRotationService: Configuration updated",{config:this.config})}},{key:"getConfig",value:function(){return Object.assign({},this.config)}}],[{key:"getInstance",value:function(t,r,n){if(!e.instance){var o=n;if(!o)try{o=(0,_r(d[9]).getServiceContext)().cache}catch(e){o=void 0}e.instance=new e(t,r,o)}return e.instance}},{key:"createWithDependencies",value:function(t,r,n){return new e(t,r,n)}}]);var t,r,n,o,a})(),(function(){return(0,c.default)(function e(){(0,l.default)(this,e)},[{key:"getCollections",value:(t=(0,s.default)(function*(e){try{var t,r=yield _r(d[6]).NftService.id({address:e});return r&&r.data?null!=(t=r.data.map(function(e){return Object.assign({},e.collection,{type:_r(d[7]).WalletType.Flow,count:e.count})}))?t:[]:(_r(d[8]).logger.warn("[NFTService] Empty response for Flow NFT collections"),[])}catch(t){throw _r(d[8]).logger.error("Error fetching Flow NFT collections",t),new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.NFT_COLLECTIONS_FETCH_FAILED,"Failed to fetch Flow NFT collections",{address:e,error:t})}}),function(e){return t.apply(this,arguments)})},{key:"getNFTs",value:(e=(0,s.default)(function*(e,t){var r,n,o,a,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"0",l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:50,c=null==(r=t.path)?void 0:r.storage_path.split("/").pop();if(!c)throw new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.NFT_COLLECTION_PATH_NOT_FOUND,"Collection path not found",{address:e,collection:t.path});var u=yield _r(d[6]).NftService.collectionList({address:e,collectionIdentifier:c,offset:parseInt(s,10)||0,limit:l});return _r(d[8]).logger.debug("NFT list response:",u.data),{nfts:null!=(n=null==(o=u.data)||null==(o=o.nfts)?void 0:o.map(function(e){return Object.assign({},e,{type:_r(d[7]).WalletType.Flow})}))?n:[],offset:null==(a=u.data)?void 0:a.offset}}),function(t,r){return e.apply(this,arguments)})}]);var e,t})()),F=(function(){return(0,c.default)(function e(){(0,l.default)(this,e)},[{key:"getCollections",value:(t=(0,s.default)(function*(e){var t=Date.now();_r(d[8]).logger.debug("[NFTService] Starting EVM NFT collections fetch",{address:e,timestamp:(new Date).toISOString(),provider:"EvmNFTProvider"});try{var r,n;_r(d[8]).logger.debug("[NFTService] Calling FlowEvmNftService.id API",{address:e,method:"FlowEvmNftService.id",endpoint:"/api/v3/evm/nft/id"});var o=yield _r(d[6]).FlowEvmNftService.id({address:e}),a=Date.now()-t;if(_r(d[8]).logger.debug("[NFTService] FlowEvmNftService.id API response received",{address:e,duration:`${a}ms`,hasResponse:!!o,hasData:!(null==o||!o.data),dataLength:(null==o||null==(r=o.data)?void 0:r.length)||0,status:(null==o?void 0:o.status)||"unknown"}),!o||!o.data)return _r(d[8]).logger.warn("[NFTService] Empty response for EVM NFT collections",{address:e,duration:`${a}ms`,response:o,hasResponse:!!o,hasData:!(null==o||!o.data)}),[];var s=null!=(n=o.data.map(function(e){return Object.assign({},e.collection,{type:_r(d[7]).WalletType.EVM,count:e.count})}))?n:[];return _r(d[8]).logger.debug("[NFTService] Successfully processed EVM NFT collections",{address:e,duration:`${a}ms`,collectionsCount:s.length,collections:s.map(function(e){return{id:e.id,name:e.name,contractName:e.contractName,flowIdentifier:e.flowIdentifier,evmAddress:e.evmAddress,count:e.count}})}),s}catch(r){var l=Date.now()-t;throw _r(d[8]).logger.error("[NFTService] Failed to fetch EVM NFT collections",{address:e,duration:`${l}ms`,error:r instanceof Error?{name:r.name,message:r.message,stack:r.stack}:r,timestamp:(new Date).toISOString(),provider:"EvmNFTProvider",method:"getCollections"}),new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.NFT_COLLECTIONS_FETCH_FAILED,"Failed to fetch EVM NFT collections",{address:e,error:r})}}),function(e){return t.apply(this,arguments)})},{key:"getNFTs",value:(e=(0,s.default)(function*(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:50,o=Date.now();_r(d[8]).logger.debug("[NFTService] Starting EVM NFTs fetch",{address:e,collectionId:t.id,collectionName:t.name,flowIdentifier:t.flowIdentifier,offset:r,limit:n,timestamp:(new Date).toISOString(),provider:"EvmNFTProvider"});try{var a,s,l,c,u,f;_r(d[8]).logger.debug("[NFTService] Calling FlowEvmNftService.collectionList API",{address:e,collectionIdentifier:t.id||"undefined",offset:r,limit:n,method:"FlowEvmNftService.collectionList",endpoint:"/api/v3/evm/nft/collectionList"});var v=yield _r(d[6]).FlowEvmNftService.collectionList({address:e,collectionIdentifier:t.id||"",offset:r,limit:n}),h=Date.now()-o;_r(d[8]).logger.debug("[NFTService] FlowEvmNftService.collectionList API response received",{address:e,collectionId:t.id,duration:`${h}ms`,hasResponse:!!v,hasData:!(null==v||!v.data),nftCount:(null==v||null==(a=v.data)||null==(a=a.nfts)?void 0:a.length)||0,totalNftCount:(null==v||null==(s=v.data)?void 0:s.nftCount)||0,responseOffset:null==v||null==(l=v.data)?void 0:l.offset,status:(null==v?void 0:v.status)||"unknown"});var y=null!=(c=null==(u=v.data)||null==(u=u.nfts)?void 0:u.map(function(e){return Object.assign({},e,{type:_r(d[7]).WalletType.EVM})}))?c:[],p=null==(f=v.data)?void 0:f.offset;return _r(d[8]).logger.debug("[NFTService] Successfully processed EVM NFTs",{address:e,collectionId:t.id,duration:`${h}ms`,nftsCount:y.length,requestOffset:r,responseOffset:p,limit:n,hasMore:!!p,nfts:y.slice(0,3).map(function(e){return{id:e.id,name:e.name,collectionName:e.collectionName,contractAddress:e.contractAddress,evmAddress:e.evmAddress}})}),{nfts:y,offset:p}}catch(a){var w=Date.now()-o;throw _r(d[8]).logger.error("[NFTService] Failed to fetch EVM NFTs",{address:e,collectionId:t.id,collectionName:t.name,flowIdentifier:t.flowIdentifier,offset:r,limit:n,duration:`${w}ms`,error:a instanceof Error?{name:a.name,message:a.message,stack:a.stack}:a,timestamp:(new Date).toISOString(),provider:"EvmNFTProvider",method:"getNFTs"}),new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.NFT_FETCH_FAILED,"Failed to fetch EVM NFTs",{address:e,collectionId:t.id,offset:r,limit:n,error:a})}}),function(t,r){return e.apply(this,arguments)})}]);var e,t})(),T=_e.NFTService=(r=(function(){function e(t,r){if((0,l.default)(this,e),this.nftProvider=t===_r(d[7]).WalletType.Flow?new S:new F,r)this.bridge=r;else try{this.bridge=(0,_r(d[9]).getServiceContext)().bridge}catch(e){_r(d[8]).logger.warn("[NFTService] ServiceContext not initialized, bridge will be null"),this.bridge=void 0}}return(0,c.default)(e,[{key:"getNFTCollections",value:(r=(0,s.default)(function*(e){var t=Date.now(),r=this.nftProvider instanceof F?"EVM":"Flow";_r(d[8]).logger.debug("[NFTService] Starting NFT collections fetch",{address:e,providerType:r,timestamp:(new Date).toISOString(),method:"getNFTCollections"});try{if(!e)throw _r(d[8]).logger.warn("[NFTService] No address provided for NFT collections",{providerType:r,timestamp:(new Date).toISOString()}),new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.NFT_INVALID_PARAMETERS,"No address provided for NFT collections",{address:e});var n=yield this.nftProvider.getCollections(e),o=Date.now()-t;return _r(d[8]).logger.debug("[NFTService] NFT collections fetch completed",{address:e,providerType:r,duration:`${o}ms`,collectionsCount:n.length,timestamp:(new Date).toISOString()}),n}catch(n){var a=Date.now()-t;if(n instanceof _r(d[7]).FRWError)throw n;throw _r(d[8]).logger.error("[NFTService] Error in getNFTCollections",{address:e,providerType:r,duration:`${a}ms`,error:n instanceof Error?{name:n.name,message:n.message,stack:n.stack}:n,timestamp:(new Date).toISOString(),method:"getNFTCollections"}),new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.NFT_COLLECTIONS_FETCH_FAILED,"Error in getNFTCollections",{address:e,error:n})}}),function(e){return r.apply(this,arguments)})},{key:"getNFTs",value:(t=(0,s.default)(function*(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:50,o=Date.now(),a=this.nftProvider instanceof F?"EVM":"Flow";_r(d[8]).logger.debug("[NFTService] Starting NFTs fetch",{address:e,providerType:a,collectionId:null==t?void 0:t.id,collectionName:null==t?void 0:t.name,offset:r,limit:n,timestamp:(new Date).toISOString(),method:"getNFTs"});try{if(!e||!t)throw _r(d[8]).logger.warn("[NFTService] Invalid parameters for getNFTs",{hasAddress:!!e,hasCollection:!!t,providerType:a,timestamp:(new Date).toISOString()}),new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.NFT_INVALID_PARAMETERS,"Invalid parameters for getNFTs",{address:e,collection:null==t?void 0:t.id});var s=yield this.nftProvider.getNFTs(e,t,r,n),l=Date.now()-o;return _r(d[8]).logger.debug("[NFTService] NFTs fetch completed",{address:e,providerType:a,collectionId:t.id,duration:`${l}ms`,nftsCount:s.nfts.length,offset:r,responseOffset:s.offset,limit:n,hasMore:!!s.offset,timestamp:(new Date).toISOString()}),s}catch(s){var c=Date.now()-o;if(s instanceof _r(d[7]).FRWError)throw s;throw _r(d[8]).logger.error("[NFTService] Error in getNFTs",{address:e,providerType:a,collectionId:null==t?void 0:t.id,collectionName:null==t?void 0:t.name,offset:r,limit:n,duration:`${c}ms`,error:s instanceof Error?{name:s.name,message:s.message,stack:s.stack}:s,timestamp:(new Date).toISOString(),method:"getNFTs"}),new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.NFT_FETCH_FAILED,"Error in getNFTs",{address:e,collectionId:null==t?void 0:t.id,offset:r,limit:n,error:s})}}),function(e,r){return t.apply(this,arguments)})}],[{key:"getInstance",value:function(t,r){var n=`${t}-${r?"with-bridge":"no-bridge"}`;return e.instances.has(n)||e.instances.set(n,new e(t,r)),e.instances.get(n)}}]);var t,r})(),r.instances=new Map,r),k=_e.ProfileService=(function(){function e(){(0,l.default)(this,e)}return(0,c.default)(e,[{key:"registerV4",value:(u=(0,s.default)(function*(e){try{if(!e.accountKey.public_key)throw new Error("public_key is required in accountKey");if(void 0===e.accountKey.sign_algo)throw new Error("sign_algo is required in accountKey");if(void 0===e.accountKey.hash_algo)throw new Error("hash_algo is required in accountKey");var t=e.deviceInfo||_r(d[9]).bridge.getDeviceInfo()||{device_id:"",ip:"",name:"FRW",type:"2",user_agent:"Unknown"},r={account_key:{public_key:e.accountKey.public_key,sign_algo:e.accountKey.sign_algo,hash_algo:e.accountKey.hash_algo,weight:e.accountKey.weight||1e3},signature:e.flowSignature},n={eoa_address:e.eoaAddress,signature:e.evmSignature},o=yield _r(d[6]).Userv4GoService.register({flowAccountInfo:r,evmAccountInfo:n,username:e.username,deviceInfo:t}),a=(null==o?void 0:o.data)||o,s=null==a?void 0:a.id,l=null==a?void 0:a.custom_token;if(!s||!l)throw _r(d[8]).logger.error("[ProfileService] Registration v4 failed: missing required fields"),new Error("Registration response missing required fields (id or custom_token)");return{custom_token:l,id:s}}catch(t){if(null!=t&&t.response){var c=t.response.status,u=t.response.statusText,f=t.response.data;_r(d[8]).logger.error("[ProfileService] Registration v4 failed with HTTP error:",{status:c,statusText:u,responseData:f||"No response data",username:e.username});var v=(null==f?void 0:f.message)||(null==f?void 0:f.error)||`Registration failed with status ${c}: ${u}`,h=new Error(v);throw h.status=c,h.responseData=f,h}throw null!=t&&t.request?(_r(d[8]).logger.error("[ProfileService] Registration v4 failed - network error:",{message:t.message,code:t.code}),new Error(`Network error during registration: ${t.message}`)):(_r(d[8]).logger.error("[ProfileService] Registration v4 failed:",t),t)}}),function(e){return u.apply(this,arguments)})},{key:"importV4",value:(a=(0,s.default)(function*(e){try{if(!e.accountKey.public_key)throw new Error("public_key is required in accountKey");if(void 0===e.accountKey.sign_algo)throw new Error("sign_algo is required in accountKey");if(void 0===e.accountKey.hash_algo)throw new Error("hash_algo is required in accountKey");if(!e.address)throw new Error("address is required");var t=e.deviceInfo||_r(d[9]).bridge.getDeviceInfo()||{device_id:"",ip:"",name:"FRW",type:"2",user_agent:"Unknown"},r={account_key:{public_key:e.accountKey.public_key,sign_algo:e.accountKey.sign_algo,hash_algo:e.accountKey.hash_algo,weight:e.accountKey.weight||1e3},signature:e.flowSignature},n={eoa_address:e.eoaAddress,signature:e.evmSignature},o=yield _r(d[6]).Userv4GoService.import({flowAccountInfo:r,evmAccountInfo:n,username:e.username,address:e.address,backupInfo:e.backupInfo,deviceInfo:t}),a=(null==o?void 0:o.data)||o,s=null==a?void 0:a.id,l=null==a?void 0:a.custom_token;if(!s||!l)throw _r(d[8]).logger.error("[ProfileService] Import v4 failed: missing required fields"),new Error("Import response missing required fields (id or custom_token)");return{custom_token:l,id:s}}catch(t){if(null!=t&&t.response){var c=t.response.status,u=t.response.statusText,f=t.response.data;_r(d[8]).logger.error("[ProfileService] Import v4 failed with HTTP error:",{status:c,statusText:u,responseData:f||"No response data",username:e.username});var v=(null==f?void 0:f.message)||(null==f?void 0:f.error)||`Import failed with status ${c}: ${u}`,h=new Error(v);throw h.status=c,h.responseData=f,h}throw null!=t&&t.request?(_r(d[8]).logger.error("[ProfileService] Import v4 failed - network error:",{message:t.message,code:t.code}),new Error(`Network error during import: ${t.message}`)):(_r(d[8]).logger.error("[ProfileService] Import v4 failed:",t),t)}}),function(e){return a.apply(this,arguments)})},{key:"loginV4",value:(o=(0,s.default)(function*(e){try{if(!e.accountKey.public_key)throw new Error("public_key is required in accountKey");if(void 0===e.accountKey.sign_algo)throw new Error("sign_algo is required in accountKey");if(void 0===e.accountKey.hash_algo)throw new Error("hash_algo is required in accountKey");var t=e.deviceInfo||_r(d[9]).bridge.getDeviceInfo()||{device_id:"",ip:"",name:"FRW",type:"2",user_agent:"Unknown"},r={account_key:{public_key:e.accountKey.public_key,sign_algo:e.accountKey.sign_algo,hash_algo:e.accountKey.hash_algo,weight:e.accountKey.weight||1e3},signature:e.flowSignature},n={eoa_address:e.eoaAddress,signature:e.evmSignature},o=yield _r(d[6]).Userv4GoService.login({flowAccountInfo:r,evmAccountInfo:n,deviceInfo:t}),a=(null==o?void 0:o.data)||o,s=null==a?void 0:a.id,l=null==a?void 0:a.custom_token;if(!s||!l)throw _r(d[8]).logger.error("[ProfileService] Login v4 failed: missing required fields"),new Error("Login response missing required fields (id or custom_token)");return{custom_token:l,id:s}}catch(e){if(null!=e&&e.response){var c=e.response.status,u=e.response.statusText,f=e.response.data;_r(d[8]).logger.error("[ProfileService] Login v4 failed with HTTP error:",{status:c,statusText:u,responseData:f||"No response data"});var v=(null==f?void 0:f.message)||(null==f?void 0:f.error)||`Login failed with status ${c}: ${u}`,h=new Error(v);throw h.status=c,h.responseData=f,h}throw null!=e&&e.request?(_r(d[8]).logger.error("[ProfileService] Login v4 failed - network error:",{message:e.message,code:e.code}),new Error(`Network error during login: ${e.message}`)):(_r(d[8]).logger.error("[ProfileService] Login v4 failed:",e),e)}}),function(e){return o.apply(this,arguments)})},{key:"createFlowAddress",value:(n=(0,s.default)(function*(){try{var e;_r(d[8]).logger.info("[ProfileService] Creating Flow address...");var t=yield _r(d[6]).UserGoService.address2(),r=null==(e=t.data)?void 0:e.txid;if(!r)throw _r(d[8]).logger.error("[ProfileService] No transaction ID found in response:",{response:t,hasData:!(null==t||!t.data)}),new Error("Failed to create Flow address: No transaction ID received");return _r(d[8]).logger.info("[ProfileService] Flow address creation initiated:",{txId:r}),r}catch(e){var n,o,a,s,l,c;throw _r(d[8]).logger.error("[ProfileService] Failed to create Flow address:",{message:null==e?void 0:e.message,status:null==e||null==(n=e.response)?void 0:n.status,statusText:null==e||null==(o=e.response)?void 0:o.statusText,url:(null==e||null==(a=e.config)?void 0:a.url)||(null==e||null==(s=e.request)?void 0:s.responseURL),method:null==e||null==(l=e.config)?void 0:l.method,responseData:null==e||null==(c=e.response)?void 0:c.data}),e}}),function(){return n.apply(this,arguments)})},{key:"createFlowAddressAndWait",value:(r=(0,s.default)(function*(e){try{(0,_r(d[11]).configureFCL)("mainnet");var t=yield(0,_r(d[11]).getFCLNetwork)();_r(d[8]).logger.info("[ProfileService] FCL configured for network:",{fclNetwork:t}),e&&e(20);var r=yield this.createFlowAddress();e&&e(50),_r(d[8]).logger.info("[ProfileService] Waiting for transaction to seal:",{txId:r,network:t});var n=yield(0,_r(d[11]).waitForTransaction)(r);e&&e(90);var o=n.events.find(function(e){return"flow.AccountCreated"===e.type});if(!o)throw _r(d[8]).logger.error("[ProfileService] AccountCreated event not found:",{txId:r,events:n.events.map(function(e){return e.type})}),new Error("Account creation event not found in transaction");var a=o.data.address;if(!a)throw _r(d[8]).logger.error("[ProfileService] No address in AccountCreated event:",{txId:r,eventData:o.data}),new Error("Address not found in account creation event");return _r(d[8]).logger.info("[ProfileService] Flow address created successfully:",{txId:r,address:a}),e&&e(100),{address:a,txId:r}}catch(e){var s,l,c=e;throw _r(d[8]).logger.error("[ProfileService] Failed to create and wait for Flow address:",{message:null==c?void 0:c.message,status:null==c||null==(s=c.response)?void 0:s.status,responseData:null==c||null==(l=c.response)?void 0:l.data}),e}}),function(e){return r.apply(this,arguments)})},{key:"waitForAccountCreationTx",value:(t=(0,s.default)(function*(e,t){try{(0,_r(d[11]).configureFCL)("mainnet"),t&&t(20),_r(d[8]).logger.info("[ProfileService] Waiting for account creation transaction:",{txId:e}),t&&t(40);var r=yield(0,_r(d[11]).waitForTransaction)(e);t&&t(80);var n=r.events.find(function(e){return"flow.AccountCreated"===e.type});if(!n)throw _r(d[8]).logger.error("[ProfileService] AccountCreated event not found:",{txId:e,events:r.events.map(function(e){return e.type})}),new Error("Account creation event not found in transaction");var o=n.data.address;if(!o)throw new Error("Address not found in account creation event");return _r(d[8]).logger.info("[ProfileService] Account creation transaction sealed:",{txId:e,address:o}),t&&t(100),o}catch(t){var a=t;throw _r(d[8]).logger.error("[ProfileService] Failed to wait for account creation tx:",{txId:e,message:null==a?void 0:a.message}),t}}),function(e,r){return t.apply(this,arguments)})}],[{key:"getInstance",value:function(){return e.instance||(e.instance=new e),e.instance}}]);var t,r,n,o,a,u})(),_=_e.RecentRecipientsService=(function(){function e(t,r){(0,l.default)(this,e),this.bridge=t,this.storage=r}return(0,c.default)(e,[{key:"getAllRecentRecipients",value:(y=(0,s.default)(function*(){try{return yield this.getLocalRecentRecipients(),yield this.getServerRecentRecipients(),(yield this.mergeAndDeduplicateRecents(this.getLocalRecentRecipients(),this.getServerRecentRecipients())).map(function(e){return{id:e.id,name:e.name,emoji:e.emoji||"\ud83d\udc64",avatar:e.avatar,address:e.address,isActive:!1}})}catch(e){throw _r(d[8]).logger.error("Error fetching all recent recipients",e),new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.RECENT_RECIPIENTS_FETCH_FAILED,"Failed to fetch all recent recipients",{})}}),function(){return y.apply(this,arguments)})},{key:"getLocalRecentRecipients",value:(h=(0,s.default)(function*(){try{var e=yield this.storage.get("recentRecipients");return e?(Array.isArray(e)?e:[]).sort(function(e,t){return t.lastUsed-e.lastUsed}):[]}catch(e){throw _r(d[8]).logger.error("Error fetching local recent recipients",e),new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.RECENT_RECIPIENTS_LOCAL_FETCH_FAILED,"Failed to fetch local recent recipients",{})}}),function(){return h.apply(this,arguments)})},{key:"getServerRecentRecipients",value:(v=(0,s.default)(function*(){try{return(yield this.bridge.getRecentContacts()).contacts.map(function(e){return{id:e.id||e.address,name:e.name||e.contactName||"Unknown",address:e.address||"",emoji:e.emoji,avatar:e.avatar,lastUsed:Date.now(),source:"server"}})}catch(e){throw _r(d[8]).logger.error("Error fetching server recent recipients",e),new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.RECENT_RECIPIENTS_SERVER_FETCH_FAILED,"Failed to fetch server recent recipients",{})}}),function(){return v.apply(this,arguments)})},{key:"addRecentRecipient",value:(f=(0,s.default)(function*(e){try{var t=yield this.getLocalRecentRecipients(),r={id:e.id||e.address,name:e.name,address:e.address,emoji:e.emoji,avatar:e.avatar,lastUsed:Date.now(),source:"local"},n=t.filter(function(t){return t.address!==e.address}),o=[r].concat((0,a.default)(n)).slice(0,10);yield this.storage.set("recentRecipients",o),_r(d[8]).logger.debug("Added recent recipient",{name:e.name,address:e.address})}catch(t){throw _r(d[8]).logger.error("Error adding recent recipient",t),new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.RECENT_RECIPIENTS_ADD_FAILED,"Failed to add recent recipient",{recipient:e})}}),function(e){return f.apply(this,arguments)})},{key:"clearLocalRecentRecipients",value:(u=(0,s.default)(function*(){try{yield this.storage.delete("recentRecipients"),_r(d[8]).logger.debug("Cleared local recent recipients")}catch(e){throw _r(d[8]).logger.error("Error clearing local recent recipients",e),new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.RECENT_RECIPIENTS_CLEAR_FAILED,"Failed to clear local recent recipients",{})}}),function(){return u.apply(this,arguments)})},{key:"mergeAndDeduplicateRecents",value:(n=(0,s.default)(function*(e,t){var r=yield Promise.all([e,t]),n=(0,o.default)(r,2),a=n[0],s=n[1],l=new Map;for(var c of s)c.address&&l.set(c.address,c);for(var u of a)u.address&&l.set(u.address,u);return Array.from(l.values()).sort(function(e,t){return t.lastUsed-e.lastUsed}).slice(0,10)}),function(e,t){return n.apply(this,arguments)})},{key:"isAddressInRecents",value:(r=(0,s.default)(function*(e){return(yield this.getLocalRecentRecipients()).some(function(t){return t.address===e})}),function(e){return r.apply(this,arguments)})},{key:"getRecentRecipientByAddress",value:(t=(0,s.default)(function*(e){return(yield this.getLocalRecentRecipients()).find(function(t){return t.address===e})||null}),function(e){return t.apply(this,arguments)})}],[{key:"getInstance",value:function(t,r){if(!e.instance){var n=t,o=r;if(!n)try{n=(0,_r(d[9]).getServiceContext)().bridge}catch(e){throw new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.BRIDGE_NOT_FOUND,"RecentRecipientsService requires bridge parameter or initialized ServiceContext",{bridge:t})}if(!o)try{o=(0,_r(d[9]).getServiceContext)().storage}catch(e){throw new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.RECENT_RECIPIENTS_STORAGE_NOT_FOUND,"RecentRecipientsService requires storage parameter or initialized ServiceContext",{storage:r})}e.instance=new e(n,o)}return e.instance}}]);var t,r,n,u,f,v,h,y})(),N=(function(){return(0,c.default)(function e(){(0,l.default)(this,e)},[{key:"getData",value:(e=(0,s.default)(function*(e,t,r){try{var n=yield _r(d[6]).UserFtTokensService.ft({address:e,network:t,currency:r});return null==n?void 0:n.data}catch(n){throw _r(d[8]).logger.error("[FlowTokenProvider] Failed to fetch token data:",n),new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.TOKEN_FLOW_FETCH_FAILED,"Failed to fetch Flow token data",{address:e,network:t,currency:r,error:n})}}),function(t,r,n){return e.apply(this,arguments)})},{key:"processData",value:function(e){var t,r=e;if(!r)return _r(d[8]).logger.warn("[FlowTokenProvider] No data to process"),[];var n=null==r||null==(t=r.result)?void 0:t.map(function(e){return(0,_r(d[7]).mapCadenceTokenDataWithCurrencyToTokenModel)(e)});return null!=n?n:[]}}]);var e})(),I=(function(){return(0,c.default)(function e(){(0,l.default)(this,e)},[{key:"getData",value:(e=(0,s.default)(function*(e,t,r){try{var n,o=yield _r(d[6]).UserFtTokensService.ft1({address:e,network:t,currency:r});return null!=(n=null==o?void 0:o.data)?n:[]}catch(n){throw _r(d[8]).logger.error("[ERC20TokenProvider] Failed to fetch token data:",n),new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.TOKEN_ERC20_FETCH_FAILED,"Failed to fetch ERC20 token data",{address:e,network:t,currency:r,error:n})}}),function(t,r,n){return e.apply(this,arguments)})},{key:"processData",value:function(e){var t=e;return Array.isArray(t)?t.map(function(e){return(0,_r(d[7]).mapERC20TokenToTokenModel)(e)}):(_r(d[8]).logger.warn("[ERC20TokenProvider] Invalid data format, expected array"),[])}}]);var e})(),C=_e.TokenService=(n=(function(){function e(t,r){if((0,l.default)(this,e),this.tokenProvider=t===_r(d[7]).WalletType.Flow?new N:new I,r)this.bridge=r;else try{this.bridge=(0,_r(d[9]).getServiceContext)().bridge}catch(e){_r(d[8]).logger.warn("[TokenService] ServiceContext not initialized, bridge will be null"),this.bridge=void 0}}return(0,c.default)(e,[{key:"getTokenInfo",value:(t=(0,s.default)(function*(e,t,r){try{var n=r||"USD",o=yield this.tokenProvider.getData(e,t,n);return this.tokenProvider.processData(o)}catch(n){if(_r(d[8]).logger.error("[TokenService] Failed to get token info:",n),n instanceof _r(d[7]).FRWError)throw n;throw new(_r(d[7]).FRWError)(_r(d[7]).ErrorCode.TOKEN_INFO_FETCH_FAILED,"Failed to get token info",{address:e,network:t,currency:r,error:n})}}),function(e,r,n){return t.apply(this,arguments)})}],[{key:"getInstance",value:function(t,r){var n=`${t}-${r?"with-bridge":"no-bridge"}`;return e.instances.has(n)||e.instances.set(n,new e(t,r)),e.instances.get(n)}}]);var t})(),n.instances=new Map,n);_e.activityService=function(e){var t=(0,_r(d[9]).getServiceContext)().bridge;return y.getInstance(e,t)},_e.addressBookService=function(){var e=(0,_r(d[9]).getServiceContext)().bridge;return p.getInstance(e)},_e.flowService=function(){var e=(0,_r(d[9]).getServiceContext)().bridge;return E.getInstance(e)},_e.recentRecipientsService=function(){var e=(0,_r(d[9]).getServiceContext)().bridge;return _.getInstance(e)},_e.tokenService=function(e){var t=(0,_r(d[9]).getServiceContext)().bridge;return C.getInstance(e,t)},_e.nftService=function(e){var t=(0,_r(d[9]).getServiceContext)().bridge;return T.getInstance(e,t)},_e.profileService=function(){return k.getInstance()}},1913,[1,10,32,367,3,4,1394,8,2,1393,1914,1400]); -__d(function(g,_r,_i,a,m,_e,_d){var e=_r(_d[0]);Object.defineProperty(_e,"__esModule",{value:!0}),_e.ParentToChildTokenStrategy=_e.ParentToChildNftStrategy=_e.KeyRotation=_e.GAS_LIMITS=_e.FlowTokenBridgeToEvmStrategy=_e.FlowToFlowTokenStrategy=_e.FlowToFlowNftStrategy=_e.FlowToEvmTokenStrategy=_e.FlowToEvmNftBridgeStrategy=_e.EvmToFlowTokenWithEoaBridgeStrategy=_e.EvmToFlowTokenBridgeStrategy=_e.EvmToFlowNftWithEoaBridgeStrategy=_e.EvmToFlowNftBridgeStrategy=_e.EvmToFlowCoaWithdrawalStrategy=_e.EvmToEvmTokenStrategy=_e.EvmToEvmNftStrategy=_e.EoaToFlowCoaWithdrawalStrategy=_e.EoaToEVMStrategy=_e.EoaToChildNftStrategy=_e.ChildToOthersTokenStrategy=_e.ChildToOthersNftStrategy=_e.ChildToChildTokenStrategy=_e.ChildToChildNftStrategy=_e.BloctoDetectorService=void 0,Object.defineProperty(_e,"RotationError",{enumerable:!0,get:function(){return _r(_d[1]).RotationError}}),Object.defineProperty(_e,"RotationErrorType",{enumerable:!0,get:function(){return _r(_d[1]).RotationErrorType}}),_e.encodeEvmContractCallData=_e.createTransferContext=_e.convertToUFix64=_e.convertHexToByteArray=_e.TransferContext=_e.TopShotNftStrategy=_e.SendTransaction=void 0,_e.executeKeyRotation=function(e){return ne.apply(this,arguments)},_e.signLegacyEvmTransaction=_e.safeConvertToUFix64=_e.migrationTransaction=_e.isVaultIdentifier=_e.isValidSendTransactionPayload=_e.isNFTIdentifier=_e.isFlowToken=_e.isFlowIdentifier=_e.isCollectionIdentifier=_e.getFlowTokenVault=void 0,Object.defineProperty(_e,"validateEvmAddress",{enumerable:!0,get:function(){return _r(_d[2]).validateEvmAddress}}),Object.defineProperty(_e,"validateFlowAddress",{enumerable:!0,get:function(){return _r(_d[2]).validateFlowAddress}}),_e.validateKeyRotationParams=function(e){var t=e.newPublicKey,r=e.keyWeight;if(!t||"string"!=typeof t||t.length<64)throw new Error("Invalid public key format");if(void 0!==r&&(r<0||r>1e3))throw new Error("Key weight must be between 0 and 1000");return!0},_e.validateTokenPayload=_e.validateNftPayload=void 0;var t=e(_r(_d[3])),r=e(_r(_d[4])),n=e(_r(_d[5])),i=e(_r(_d[6])),o=(function(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(function(e,t){if(!t&&e&&e.__esModule)return e;var i,o,s={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return s;if(i=t?n:r){if(i.has(e))return i.get(e);i.set(e,s)}for(var d in e)"default"!==d&&{}.hasOwnProperty.call(e,d)&&((o=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,d))&&(o.get||o.set)?i(s,d,o):s[d]=e[d]);return s})(e,t)})(_r(_d[7]));var s=_e.GAS_LIMITS={EVM_DEFAULT:16777216,CADENCE_DEFAULT:9999},d={mainnet:"A.1654653399040a61.FlowToken.Vault",testnet:"A.7e60df042a9c0868.FlowToken.Vault"},l=_e.isFlowToken=function(e){return Object.values(d).includes(e)},c=_e.isVaultIdentifier=function(e){return/^A\.[0-9a-fA-F]{16}\.[a-zA-Z0-9_]+\.(Vault)$/.test(e)},u=_e.isNFTIdentifier=function(e){return/^A\.[0-9a-fA-F]{16}\.[a-zA-Z0-9_]+\.(NFT)$/.test(e)},f=_e.isCollectionIdentifier=function(e){return/^A\.[0-9a-fA-F]{16}\.[a-zA-Z0-9_]+\.(Collection)$/.test(e)},v=(_e.isFlowIdentifier=function(e){return c(e)||u(e)||f(e)},_e.getFlowTokenVault=function(e){return d[e]},_e.convertToUFix64=function(e){var t="string"==typeof e?parseFloat(e):e;if(isNaN(t))throw new Error("Invalid number for UFix64 conversion");return t.toFixed(8)}),y=_e.safeConvertToUFix64=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00000000";try{return v(e)}catch(e){return _r(_d[2]).logger.warn("Failed to convert amount to UFix64",e),t}},T=_e.encodeEvmContractCallData=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.type,n=e.amount,i=void 0===n?"":n,o=e.receiver,s=e.decimal,d=e.ids,l=e.sender;e.coaAddr;if(42!==o.length)throw new Error("Invalid Ethereum address");var c="0x";if("token"===r){var u=Number(i),f=(0,_r(_d[8]).parseUnits)(u.toString(),s);c=new(_r(_d[9]).Interface)(["function transfer(address to, uint256 value)"]).encodeFunctionData("transfer",[o,f])}else if(1===d.length)if(""===i||0===Number(i)){var v=d[0];c=new(_r(_d[9]).Interface)(["function safeTransferFrom(address from, address to, uint256 tokenId)"]).encodeFunctionData("safeTransferFrom",[l,o,v])}else{var y=d[0],T=Number(i);c=new(_r(_d[9]).Interface)(["function safeTransferFrom(address from, address to, uint256 tokenId, uint256 amount, bytes data)"]).encodeFunctionData("safeTransferFrom",[l,o,y,T,"0x"])}else{var h=[];for(var p of d){c=new(_r(_d[9]).Interface)(["function safeTransferFrom(address from, address to, uint256 tokenId)"]).encodeFunctionData("safeTransferFrom",[l,o,p]),h.push(c)}if(t)return h}if(t)return c;for(var w=c.slice(2),A=new Uint8Array(w.length/2),S=0;S0?v+r:v,gasPrice:null!=(o=null!=(d=e.gasPrice)?d:null==t?void 0:t.gasPrice)?o:0,gasLimit:T,to:e.to,value:null!=(l=e.value)?l:0,data:null!=(c=e.data)?c:"0x"},p=(0,_r(_d[11]).serialize)(h),w=(0,_r(_d[12]).arrayify)((0,_r(_d[13]).keccak256)(p)),A=yield t.ethSign(w),E=(0,_r(_d[12]).hexlify)(A);return(0,_r(_d[11]).serialize)(h,E)});return function(t,r,n){return e.apply(this,arguments)}})(),C=_e.validateTokenPayload=function(e){if(e.flowIdentifier&&!c(e.flowIdentifier))throw new Error("invalid send token identifier");if(Number(e.amount)<=0)throw new Error("invalid send token transaction payload");if(!e.decimal)throw new Error("invalid send token transaction payload");if("evm"===e.assetType&&!l(e.flowIdentifier||"")){var t=e.tokenContractAddr;if(!t||!(0,_r(_d[2]).validateEvmAddress)(t))throw new Error("invalid send evm transaction payload - invalid contract address")}},N=_e.validateNftPayload=function(e){if("flow"===e.assetType&&e.flowIdentifier&&!u(e.flowIdentifier))throw new Error("invalid send nft identifier");if("evm"===e.assetType&&e.flowIdentifier&&""!==e.flowIdentifier&&!(0,_r(_d[2]).validateFlowAddress)(e.receiver)&&u(e.flowIdentifier),0===e.ids.length)throw new Error("invalid send nft transaction payload")},$=(_e.isValidSendTransactionPayload=function(e){var t=e.type,r=e.assetType,n=e.proposer,i=e.receiver,o=e.flowIdentifier,s=void 0===o?"":o,d=e.sender,l=e.coaAddr,c=e.isCrossVM;if(!(0,_r(_d[2]).validateFlowAddress)(n))throw new Error("invalid proposer address");if(!(n&&i&&d&&t&&r))throw new Error("invalid send transaction payload");if("evm"===r&&(0,_r(_d[2]).validateFlowAddress)(i)&&!s)throw new Error("flowIdentifier of transaction payload is missing when bridge");if("flow"===r&&!s)throw new Error("flowIdentifier of transaction payload is missing");if(c&&(!l||!(0,_r(_d[2]).validateEvmAddress)(l)))throw new Error("invalid COA address of payload");return"token"===t&&C(e),"nft"===t&&N(e),!0},_e.ChildToChildNftStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.childAddrs,r=e.receiver,n=e.sender;return"nft"===e.type&&t.length>0&&t.includes(r)&&t.includes(n)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.sender,o=e.receiver,s=e.ids,d=e.type,l=e.assetType,c=e.childAddrs,u=e.proposer,f=e.amount;return null==t||null==(r=t.session)||r.strategySelected({strategyName:"ChildToChildNftStrategy",assetType:d,networkType:l,sender:i,receiver:o,flowIdentifier:n,amount:f,nftIds:s.map(function(e){return String(e)}),childAddrs:c,parentAddress:u}),yield this.cadenceService.batchSendChildNftToChild(n,i,o,s)}),function(t,r){return e.apply(this,arguments)})}]);var e})()),x=_e.ChildToOthersNftStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.childAddrs,r=e.sender,n=e.assetType;return"nft"===e.type&&t.length>0&&t.includes(r)&&"flow"===n}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.proposer,i=e.receiver,o=e.coaAddr,s=e.flowIdentifier,d=e.sender,l=e.ids,c=e.type,u=e.assetType,f=e.childAddrs,v=e.amount;return null==t||null==(r=t.session)||r.strategySelected({strategyName:"ChildToOthersNftStrategy",assetType:c,networkType:u,sender:d,receiver:i,flowIdentifier:s,amount:v,nftIds:l.map(function(e){return String(e)}),childAddrs:f,parentAddress:n}),i===n?yield this.cadenceService.batchTransferChildNft(s,d,l):i===o?yield this.cadenceService.batchBridgeChildNftToEvmWithPayer(s,d,l):(0,_r(_d[2]).validateEvmAddress)(i)?yield this.cadenceService.batchBridgeChildNftToEvmAddressWithPayer(s,d,l,i):yield this.cadenceService.batchSendChildNft(s,d,i,l)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),O=_e.ParentToChildNftStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.childAddrs,r=e.receiver,n=e.assetType,i=e.sender,o=e.coaAddr;return"nft"===e.type&&t.length>0&&t.includes(r)&&"evm"===n&&i===o}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.receiver,o=e.ids,s=e.sender,d=e.type,l=e.assetType,c=e.childAddrs,u=e.proposer,f=e.amount;return null==t||null==(r=t.session)||r.strategySelected({strategyName:"ParentToChildNftStrategy",assetType:d,networkType:l,sender:s,receiver:i,flowIdentifier:n,amount:f,nftIds:o.map(function(e){return String(e)}),childAddrs:c,parentAddress:u}),yield this.cadenceService.batchBridgeChildNftFromEvmWithPayer(n,i,o.map(function(e){return`${e}`}))}),function(t,r){return e.apply(this,arguments)})}]);var e})(),D=_e.EoaToChildNftStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.childAddrs,r=e.receiver,n=e.assetType,i=e.sender,o=e.coaAddr;return"nft"===e.type&&t.length>0&&t.includes(r)&&"evm"===n&&i!==o}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.ids,o=e.receiver,d=e.tokenContractAddr,l=e.sender,c=e.coaAddr,u=e.type,f=e.assetType,v=e.childAddrs,y=e.proposer,p=e.amount;null==t||null==(r=t.session)||r.strategySelected({strategyName:"EoaToChildNftStrategy",assetType:u,networkType:f,sender:l,receiver:o,flowIdentifier:n,amount:p,nftIds:i.map(function(e){return String(e)}),childAddrs:v,parentAddress:y});var w=T(Object.assign({},e,{receiver:c}),!0),A=[];if(1===i.length){var S=yield I({from:l,to:d,data:w,gasLimit:s.EVM_DEFAULT},t),E=h(S);A.push(E)}else for(var b=0;b-1&&(0,_r(_d[2]).validateFlowAddress)(i)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.receiver,o=e.ids,s=e.sender,d=e.type,l=e.assetType;return null==t||null==(r=t.session)||r.strategySelected({strategyName:"TopShotNftStrategy",assetType:d,networkType:l,sender:s,receiver:i,flowIdentifier:n,ids:o.toString()}),yield this.cadenceService.batchSendNbaNftV3(n,i,o)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),L=_e.FlowToFlowNftStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver,n=e.ids;return"nft"===e.type&&"flow"===t&&(0,_r(_d[2]).validateFlowAddress)(r)&&n.length>0}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.receiver,o=e.ids,s=e.sender,d=e.type,l=e.assetType;return null==t||null==(r=t.session)||r.strategySelected({strategyName:"FlowToFlowNftStrategy",assetType:d,networkType:l,sender:s,receiver:i,flowIdentifier:n,ids:o.toString()}),yield this.cadenceService.batchSendNftV3(n,i,o)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),M=_e.FlowToEvmNftBridgeStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver;return"nft"===e.type&&"flow"===t&&(0,_r(_d[2]).validateEvmAddress)(r)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.ids,o=e.receiver,s=e.sender,d=e.type,l=e.assetType;return null==t||null==(r=t.session)||r.strategySelected({strategyName:"FlowToEvmNftBridgeStrategy",assetType:d,networkType:l,sender:s,receiver:o,flowIdentifier:n,ids:i.toString()}),yield this.cadenceService.batchBridgeNftToEvmAddressWithPayer(n,i,o)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),V=_e.EvmToFlowNftBridgeStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver,n=e.type,i=e.sender,o=e.coaAddr;return"nft"===n&&"evm"===t&&(0,_r(_d[2]).validateFlowAddress)(r)&&i===o}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.ids,o=e.receiver,s=e.sender,d=e.type,l=e.assetType;return null==t||null==(r=t.session)||r.strategySelected({strategyName:"EvmToFlowNftBridgeStrategy",assetType:d,networkType:l,sender:s,receiver:o,flowIdentifier:n,ids:i.toString()}),yield this.cadenceService.batchBridgeNftFromEvmToFlowWithPayer(n,i.map(function(e){return`${e}`}),o)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),P=_e.EvmToFlowNftWithEoaBridgeStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver,n=e.type,i=e.sender,o=e.coaAddr;return"nft"===n&&"evm"===t&&(0,_r(_d[2]).validateFlowAddress)(r)&&i!==o}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.ids,o=e.receiver,d=e.tokenContractAddr,l=e.sender,c=e.coaAddr,u=e.type,f=e.assetType;null==t||null==(r=t.session)||r.strategySelected({strategyName:"EvmToFlowNftWithEoaBridgeStrategy",assetType:u,networkType:f,sender:l,receiver:o,flowIdentifier:n,ids:i.toString()});var v=T(Object.assign({},e,{receiver:c}),!0),y=[];if(1===i.length){var p=yield I({from:l,to:d,data:v,gasLimit:s.EVM_DEFAULT},t),w=h(p);y.push(w)}else for(var A=0;A1){var v=i.map(function(){return n}),y=i.map(function(t){return T(Object.assign({},e,{ids:[t]}))}),h=i.map(function(){return"0.0"});return yield this.cadenceService.batchCallContract(v,h,y,s.EVM_DEFAULT)}var p=T(e);return yield this.cadenceService.callContract(n,"0.0",p,s.EVM_DEFAULT)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),U=_e.EoaToEVMStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.receiver,r=e.assetType,n=e.sender,i=e.coaAddr;return"nft"===e.type&&"evm"===r&&n!==i&&(0,_r(_d[2]).validateEvmAddress)(t)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.receiver,i=e.tokenContractAddr,o=e.sender,d=e.ids,l=e.type,c=e.assetType,u=e.flowIdentifier,f=e.amount;null==t||null==(r=t.session)||r.strategySelected({strategyName:"EoaToEVMStrategy",assetType:l,networkType:c,sender:o,receiver:n,flowIdentifier:u,ids:d.toString(),amount:f});var v=T(Object.assign({},e,{receiver:n}),!0);if(1===d.length){var y=yield I({from:o,to:i,data:v,gasLimit:s.EVM_DEFAULT},t),p=h(y);return yield this.cadenceService.eoaCallContract(p,o)}for(var w=[],A=0;A0&&t.includes(r)&&t.includes(n)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.sender,o=e.receiver,s=e.amount,d=e.type,l=e.assetType,c=e.childAddrs,u=e.proposer,f=y(s);return null==t||null==(r=t.session)||r.strategySelected({strategyName:"ChildToChildTokenStrategy",assetType:d,networkType:l,sender:i,receiver:o,flowIdentifier:n,amount:f,childAddrs:c,parentAddress:u}),yield this.cadenceService.sendChildFtToChild(n,i,o,f)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),W=_e.ChildToOthersTokenStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.childAddrs,r=e.sender,n=e.assetType;return"token"===e.type&&t.length>0&&t.includes(r)&&"flow"===n}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.proposer,i=e.receiver,o=e.coaAddr,s=e.flowIdentifier,d=e.sender,l=e.amount,c=e.type,u=e.assetType,f=e.childAddrs,v=y(l);return null==t||null==(r=t.session)||r.strategySelected({strategyName:"ChildToOthersTokenStrategy",assetType:c,networkType:u,sender:d,receiver:i,flowIdentifier:s,amount:v,childAddrs:f,parentAddress:n}),i===n?yield this.cadenceService.transferChildFt(s,d,v):i===o?yield this.cadenceService.bridgeChildFtToEvm(s,d,v):(0,_r(_d[2]).validateEvmAddress)(i)?yield this.cadenceService.bridgeChildFtToEvmAddress(s,d,v,i):yield this.cadenceService.sendChildFt(s,d,i,v)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),K=_e.ParentToChildTokenStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.childAddrs,r=e.receiver,n=e.assetType,i=e.sender,o=e.coaAddr;return"token"===e.type&&t.length>0&&t.includes(r)&&"evm"===n&&i===o}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.receiver,o=e.amount,s=e.decimal,d=e.sender,l=e.type,c=e.assetType,u=e.childAddrs,f=e.proposer,v=y(o);null==t||null==(r=t.session)||r.strategySelected({strategyName:"ParentToChildTokenStrategy",assetType:l,networkType:c,sender:d,receiver:i,flowIdentifier:n,amount:v,childAddrs:u,parentAddress:f});var T=(0,_r(_d[8]).parseUnits)(v,s);return yield this.cadenceService.bridgeChildFtFromEvm(n,i,T.toString())}),function(t,r){return e.apply(this,arguments)})}]);var e})(),H=_e.FlowToFlowTokenStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver;return"token"===e.type&&"flow"===t&&(0,_r(_d[2]).validateFlowAddress)(r)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.receiver,o=e.amount,s=e.sender,d=e.type,l=e.assetType,c=y(o);return null==t||null==(r=t.session)||r.strategySelected({strategyName:"FlowToFlowTokenStrategy",assetType:d,networkType:l,sender:s,receiver:i,flowIdentifier:n,amount:c}),yield this.cadenceService.transferTokensV3(n,i,c)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),j=_e.FlowToEvmTokenStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.flowIdentifier,n=e.receiver;return"token"===e.type&&"flow"===t&&l(r)&&(0,_r(_d[2]).validateEvmAddress)(n)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.receiver,i=e.amount,o=e.sender,d=e.type,l=e.assetType,c=e.flowIdentifier,u=y(i);return null==t||null==(r=t.session)||r.strategySelected({strategyName:"FlowToEvmTokenStrategy",assetType:d,networkType:l,sender:o,receiver:n,flowIdentifier:c,amount:u}),yield this.cadenceService.transferFlowToEvmAddress(n,u,s.EVM_DEFAULT)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),G=_e.FlowTokenBridgeToEvmStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver;return"token"===e.type&&"flow"===t&&(0,_r(_d[2]).validateEvmAddress)(r)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.amount,o=e.receiver,s=e.sender,d=e.type,l=e.assetType,c=y(i);return null==t||null==(r=t.session)||r.strategySelected({strategyName:"FlowTokenBridgeToEvmStrategy",assetType:d,networkType:l,sender:s,receiver:o,flowIdentifier:n,amount:c}),yield this.cadenceService.bridgeTokensToEvmAddressV2(n,c,o)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),z=_e.EvmToFlowCoaWithdrawalStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.flowIdentifier,n=e.receiver,i=e.type,o=e.sender,s=e.coaAddr;return"token"===i&&"evm"===t&&l(r)&&(0,_r(_d[2]).validateFlowAddress)(n)&&o===s}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.amount,i=e.receiver,o=e.sender,s=e.type,d=e.assetType,l=e.flowIdentifier,c=y(n);return null==t||null==(r=t.session)||r.strategySelected({strategyName:"EvmToFlowCoaWithdrawalStrategy",assetType:s,networkType:d,sender:o,receiver:i,flowIdentifier:l,amount:c}),yield this.cadenceService.withdrawCoa(c,i)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),J=_e.EoaToFlowCoaWithdrawalStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.flowIdentifier,n=e.receiver,i=e.type,o=e.sender,s=e.coaAddr;return"token"===i&&"evm"===t&&l(r)&&(0,_r(_d[2]).validateFlowAddress)(n)&&o!==s}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.amount,i=e.receiver,o=e.sender,d=e.coaAddr,l=e.decimal,c=e.type,u=e.assetType,f=e.flowIdentifier,v=y(n);null==t||null==(r=t.session)||r.strategySelected({strategyName:"EoaToFlowCoaWithdrawalStrategy",assetType:c,networkType:u,sender:o,receiver:i,flowIdentifier:f,amount:v});var T=(0,_r(_d[8]).parseUnits)(v,l),p=yield I({from:o,to:d,data:"0x",gasLimit:s.EVM_DEFAULT,value:T},t),w=h(p);return yield this.cadenceService.eoaToCoaToFlow(w,o,v,i)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),Y=_e.EvmToFlowTokenBridgeStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver,n=e.type,i=e.flowIdentifier,o=e.sender,s=e.coaAddr;return"token"===n&&"evm"===t&&(0,_r(_d[2]).validateFlowAddress)(r)&&c(i)&&!l(i)&&o===s}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.amount,o=e.receiver,s=e.decimal,d=e.sender,l=e.type,c=e.assetType,u=y(i);null==t||null==(r=t.session)||r.strategySelected({strategyName:"EvmToFlowTokenBridgeStrategy",assetType:l,networkType:c,sender:d,receiver:o,flowIdentifier:n,amount:u});var f=(0,_r(_d[8]).parseUnits)(u,s);return yield this.cadenceService.bridgeTokensFromEvmToFlowV3(n,f.toString(),o)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),q=_e.EvmToFlowTokenWithEoaBridgeStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver,n=e.type,i=e.flowIdentifier,o=e.sender,s=e.coaAddr;return"token"===n&&"evm"===t&&(0,_r(_d[2]).validateFlowAddress)(r)&&c(i)&&!l(i)&&o!==s}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.amount,o=e.receiver,d=e.decimal,l=e.sender,c=e.coaAddr,u=e.tokenContractAddr,f=e.type,v=e.assetType,p=y(i);null==t||null==(r=t.session)||r.strategySelected({strategyName:"EvmToFlowTokenWithEoaBridgeStrategy",assetType:f,networkType:v,sender:l,receiver:o,flowIdentifier:n,amount:p});var w=(0,_r(_d[8]).parseUnits)(p,d),A=T(Object.assign({},e,{receiver:c}),!0),S=yield I({from:l,to:u,data:A,gasLimit:s.EVM_DEFAULT},t),E=h(S);return yield this.cadenceService.bridgeTokensFromEoaToFlowV3(E,l,n,w.toString(),o)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),Z=_e.EvmToEvmTokenStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver;return"token"===e.type&&"evm"===t&&(0,_r(_d[2]).validateEvmAddress)(r)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.tokenContractAddr,i=e.amount,o=e.flowIdentifier,d=e.receiver,c=e.coaAddr,u=e.sender,f=e.type,v=e.assetType,p=y(i);if(null==t||null==(r=t.session)||r.strategySelected({strategyName:"EvmToEvmTokenStrategy",assetType:f,networkType:v,sender:u,receiver:d,flowIdentifier:o,amount:p}),l(o)){if(u!==c){var w=(0,_r(_d[8]).parseUnits)(p,18),A=yield I({from:u,to:d,data:"0x",gasLimit:s.EVM_DEFAULT,value:w},t),S=h(A);return yield this.cadenceService.eoaCallContract(S,u)}return yield this.cadenceService.callContract(d,p,[],s.EVM_DEFAULT)}if(!n||!(0,_r(_d[2]).validateEvmAddress)(n))throw new Error("invalid send evm transaction payload - invalid contract address");if((0,_r(_d[2]).validateEvmAddress)(d)&&u!==c){var E=T(Object.assign({},e,{receiver:d}),!0),b=yield I({from:u,to:n,data:E,gasLimit:s.EVM_DEFAULT},t),k=h(b);return yield this.cadenceService.eoaCallContract(k,u)}var F=T(e);return yield this.cadenceService.callContract(n,"0.0",F,s.EVM_DEFAULT)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),X=_e.TransferContext=(function(){return(0,r.default)(function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,t.default)(this,e),this.strategies=[],this.helpers=r},[{key:"addStrategy",value:function(e){this.strategies.push(e)}},{key:"execute",value:(e=(0,i.default)(function*(e){for(var t of this.strategies)if(t.canHandle(e))return yield t.execute(e,this.helpers);return null}),function(t){return e.apply(this,arguments)})}]);var e})(),Q=_e.createTransferContext=function(e){var t=new X(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{});return t.addStrategy(new _(e)),t.addStrategy(new W(e)),t.addStrategy(new K(e)),t.addStrategy(new H(e)),t.addStrategy(new j(e)),t.addStrategy(new G(e)),t.addStrategy(new z(e)),t.addStrategy(new Y(e)),t.addStrategy(new q(e)),t.addStrategy(new Z(e)),t.addStrategy(new J(e)),t.addStrategy(new D(e)),t.addStrategy(new $(e)),t.addStrategy(new x(e)),t.addStrategy(new O(e)),t.addStrategy(new R(e)),t.addStrategy(new L(e)),t.addStrategy(new M(e)),t.addStrategy(new V(e)),t.addStrategy(new P(e)),t.addStrategy(new B(e)),t.addStrategy(new U(e)),t},ee=(_e.SendTransaction=(function(){var e=(0,i.default)(function*(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};_r(_d[2]).logger.info("SendTransaction cadenceService",e);var n=Q(t,r);return yield n.execute(e)});return function(t,r){return e.apply(this,arguments)}})(),function(e){var t,r,n,i;return{index:null!=(t=null!=(r=e.index)?r:e.keyId)?t:0,publicKey:e.publicKey,weight:Number(null!=(n=e.weight)?n:0),signAlgoString:e.signAlgoString,hashAlgoString:e.hashAlgoString,revoked:null!=(i=e.revoked)&&i}}),te=function(e){var t,r,n=(null!=(t=e.signAlgoString)?t:"").toLowerCase(),i=(null!=(r=e.hashAlgoString)?r:"").toLowerCase();return n.includes("ecdsa_secp256k1")&&i.includes("sha3_256")},re=_e.BloctoDetectorService=(function(){return(0,r.default)(function e(){(0,t.default)(this,e)},[{key:"detectBloctoKey",value:(e=(0,i.default)(function*(e){try{var t=yield o.account(e),r=(Array.isArray(null==t?void 0:t.keys)?t.keys:[]).map(ee);return this.evaluateKeys(r)}catch(e){return _r(_d[2]).logger.warn("[BloctoDetectorService] Failed to fetch account keys",e),this.evaluateKeys(void 0)}}),function(t){return e.apply(this,arguments)})},{key:"listRevokeIndexes",value:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter(function(e){return!e.revoked}).filter(te).map(function(e){return e.index})}},{key:"evaluateKeys",value:function(e){if(!e||0===e.length)return{isBloctoKey:!1,needRevoke:!1,fullAccountKeys:[],bloctoKeyIndexes:[]};var t=e.filter(te),r=t.some(function(e){return 999===e.weight}),n=t.some(function(e){return 1===e.weight}),i=r&&n,o=i?this.listRevokeIndexes(e):[];return{isBloctoKey:i,needRevoke:o.length>0,fullAccountKeys:e,bloctoKeyIndexes:o}}}]);var e})();_e.KeyRotation=(function(){return(0,r.default)(function e(){(0,t.default)(this,e),this.bloctoDetectorService=new re},[{key:"detectBloctoKey",value:(n=(0,i.default)(function*(e){return this.bloctoDetectorService.detectBloctoKey(e)}),function(e){return n.apply(this,arguments)})},{key:"rotateKeysOnChain",value:(e=(0,i.default)(function*(e,t){if(!e)throw new(_r(_d[1]).RotationError)({type:_r(_d[1]).RotationErrorType.VALIDATION_FAILED,message:"Public key is required"});if(!t||0===t.length)throw new(_r(_d[1]).RotationError)({type:_r(_d[1]).RotationErrorType.VALIDATION_FAILED,message:"No revokable Blocto keys found on account."});try{var r,n,i=yield _r(_d[14]).cadence.addAndRevokeKeys([e],t);_r(_d[2]).logger.info("[KeyRotation] Transaction submitted",{txId:i});var o=yield(0,_r(_d[15]).waitForExecuted)(i,{timeout:6e4,pollInterval:2e3,onStatusChange:function(e){_r(_d[2]).logger.info("[KeyRotation] Status update",{txId:i,status:e.status,statusCode:e.statusCode,statusString:e.statusString})}});if(_r(_d[2]).logger.info("[KeyRotation] Transaction executed",{txId:i,status:o.status,statusCode:o.statusCode,events:null!=(r=null==(n=o.events)?void 0:n.length)?r:0}),null!=o&&o.errorMessage)throw new(_r(_d[1]).RotationError)({type:_r(_d[1]).RotationErrorType.CADENCE_TRANSACTION_FAILED,message:o.errorMessage});return i}catch(e){if(e instanceof _r(_d[1]).RotationError)throw e;throw _r(_d[2]).logger.error("[KeyRotation] Failed to rotate keys on-chain",{error:e instanceof Error?e.message:String(e),stack:e instanceof Error?e.stack:void 0}),new(_r(_d[1]).RotationError)({type:_r(_d[1]).RotationErrorType.CADENCE_TRANSACTION_FAILED,message:e instanceof Error?e.message:"Failed to rotate keys"})}}),function(t,r){return e.apply(this,arguments)})}]);var e,n})();function ne(){return(ne=(0,i.default)(function*(e){var t=e.newPublicKey,r=e.keyWeight,n=void 0===r?1e3:r,i=e.revokeOldKeys,o=void 0!==i&&i;try{var s=`0x${Date.now().toString(16)}`;return console.log("Key rotation workflow executed:",{newPublicKey:t,keyWeight:n,revokeOldKeys:o,transactionId:s}),{transactionId:s,success:!0}}catch(e){return{transactionId:"",success:!1,error:e instanceof Error?e.message:"Unknown error occurred"}}})).apply(this,arguments)}var ae=function(e){for(var t=e.slice(2),r=new Uint8Array(t.length/2),n=0;n0){_r(_d[2]).logger.debug(`[migrationTransaction] Total ERC20/FT tokens: ${t.erc20.length}`),_r(_d[2]).logger.debug("[migrationTransaction] Full ERC20/FT token list:"),t.erc20.forEach(function(e,t){var r="0x0000000000000000000000000000000000000000"===e.address,n=r?"FLOW":e.address;_r(_d[2]).logger.debug(` [${t+1}] Token Details:`),_r(_d[2]).logger.debug(` Symbol/Address: ${n}`),_r(_d[2]).logger.debug(` Contract Address: ${e.address}`),_r(_d[2]).logger.debug(` Amount: ${e.amount}`),_r(_d[2]).logger.debug(" Amount Type: "+typeof e.amount),_r(_d[2]).logger.debug(` Is FLOW Token: ${r}`),_r(_d[2]).logger.debug(" Raw Token Data:",JSON.stringify(e,null,2))}),_r(_d[2]).logger.debug("[migrationTransaction] ERC20/FT Summary:"),_r(_d[2]).logger.debug(` - FLOW tokens: ${t.erc20.filter(function(e){return"0x0000000000000000000000000000000000000000"===e.address}).length}`),_r(_d[2]).logger.debug(` - Other ERC20 tokens: ${t.erc20.filter(function(e){return"0x0000000000000000000000000000000000000000"!==e.address}).length}`);var E=t.erc20.filter(function(e){return"0x0000000000000000000000000000000000000000"===e.address});if(E.length>0){var b=E.reduce(function(e,t){return e+parseFloat(t.amount||"0")},0);_r(_d[2]).logger.debug(` - Total FLOW amount: ${b}`)}}else _r(_d[2]).logger.debug("[migrationTransaction] ERC20/FT Tokens: None");_r(_d[2]).logger.debug("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550"),_r(_d[2]).logger.debug("[migrationTransaction] ===== END FT DETAILS ====="),_r(_d[2]).logger.debug("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550"),_r(_d[2]).logger.debug(""),t.erc721&&t.erc721.length>0?(_r(_d[2]).logger.debug("[migrationTransaction] ERC721 NFTs:"),t.erc721.forEach(function(e,t){_r(_d[2]).logger.debug(` [${t+1}] Contract: ${e.address}, Token ID: ${e.id}`)})):_r(_d[2]).logger.debug("[migrationTransaction] ERC721 NFTs: None"),t.erc1155&&t.erc1155.length>0?(_r(_d[2]).logger.debug("[migrationTransaction] ERC1155 Tokens:"),t.erc1155.forEach(function(e,t){_r(_d[2]).logger.debug(` [${t+1}] Contract: ${e.address}, Token ID: ${e.id}, Amount: ${e.amount}`)})):_r(_d[2]).logger.debug("[migrationTransaction] ERC1155 Tokens: None");var k=(null!=(s=null==(d=t.erc20)?void 0:d.length)?s:0)+(null!=(l=null==(c=t.erc721)?void 0:c.length)?l:0)+(null!=(u=null==(f=t.erc1155)?void 0:f.length)?u:0);_r(_d[2]).logger.debug(`[migrationTransaction] Total assets to migrate: ${k}`),_r(_d[2]).logger.debug("[migrationTransaction] ===== EXECUTING TRANSACTION =====");var F=oe(t,r,n);_r(_d[2]).logger.debug("[migrationTransaction] ===== FINAL TRANSACTION DATA ====="),_r(_d[2]).logger.debug("[migrationTransaction] Transaction count:",F.addresses.length),_r(_d[2]).logger.debug("[migrationTransaction] Addresses:",JSON.stringify(F.addresses,null,2)),_r(_d[2]).logger.debug("[migrationTransaction] Values (FLOW amounts):",JSON.stringify(F.values,null,2)),_r(_d[2]).logger.debug("[migrationTransaction] Calldata lengths:",F.datas.map(function(e){return e.length})),_r(_d[2]).logger.debug("[migrationTransaction] ===== TRANSACTION MAPPING =====");var I=0;if(t.erc20&&t.erc20.length>0&&(_r(_d[2]).logger.debug("[migrationTransaction] ERC20 Transactions:"),t.erc20.forEach(function(e,t){var r="0x0000000000000000000000000000000000000000"===e.address?"FLOW":e.address;_r(_d[2]).logger.debug(` [${I+1}] ${r}:`),_r(_d[2]).logger.debug(` Address: ${F.addresses[I]}`),_r(_d[2]).logger.debug(` Value: ${F.values[I]}`),_r(_d[2]).logger.debug(` Calldata length: ${F.datas[I].length} bytes`),_r(_d[2]).logger.debug(` Original amount: ${e.amount}`),I++})),t.erc721&&t.erc721.length>0&&(_r(_d[2]).logger.debug("[migrationTransaction] ERC721 Transactions:"),t.erc721.forEach(function(e,t){_r(_d[2]).logger.debug(` [${I+1}] NFT:`),_r(_d[2]).logger.debug(` Contract: ${e.address}`),_r(_d[2]).logger.debug(` Token ID: ${e.id}`),_r(_d[2]).logger.debug(` Address: ${F.addresses[I]}`),_r(_d[2]).logger.debug(` Value: ${F.values[I]}`),_r(_d[2]).logger.debug(` Calldata length: ${F.datas[I].length} bytes`),I++})),t.erc1155&&t.erc1155.length>0&&(_r(_d[2]).logger.debug("[migrationTransaction] ERC1155 Transactions:"),t.erc1155.forEach(function(e,t){_r(_d[2]).logger.debug(` [${I+1}] ERC1155:`),_r(_d[2]).logger.debug(` Contract: ${e.address}`),_r(_d[2]).logger.debug(` Token ID: ${e.id}`),_r(_d[2]).logger.debug(` Amount: ${e.amount}`),_r(_d[2]).logger.debug(` Address: ${F.addresses[I]}`),_r(_d[2]).logger.debug(` Value: ${F.values[I]}`),_r(_d[2]).logger.debug(` Calldata length: ${F.datas[I].length} bytes`),I++})),_r(_d[2]).logger.debug("[migrationTransaction] ===== FINAL FT MIGRATION SUMMARY ====="),_r(_d[2]).logger.debug(`[migrationTransaction] FTs received in assets: ${null!=(v=null==(y=t.erc20)?void 0:y.length)?v:0}`),_r(_d[2]).logger.debug(`[migrationTransaction] FTs in transaction: ${F.addresses.length}`),_r(_d[2]).logger.debug(`[migrationTransaction] ERC721 NFTs: ${null!=(T=null==(h=t.erc721)?void 0:h.length)?T:0}`),_r(_d[2]).logger.debug(`[migrationTransaction] ERC1155 Tokens: ${null!=(p=null==(w=t.erc1155)?void 0:w.length)?p:0}`),t.erc20&&t.erc20.length>0){var C=t.erc20.filter(function(e){return"0x0000000000000000000000000000000000000000"===e.address}).length,N=t.erc20.length-C;_r(_d[2]).logger.debug("[migrationTransaction] Breakdown:"),_r(_d[2]).logger.debug(` - FLOW tokens: ${C}`),_r(_d[2]).logger.debug(` - ERC20 tokens: ${N}`),_r(_d[2]).logger.debug("[migrationTransaction] All FT addresses being migrated:"),t.erc20.forEach(function(e,t){var r="0x0000000000000000000000000000000000000000"===e.address;_r(_d[2]).logger.debug(` ${t+1}. ${r?"FLOW":e.address}: ${e.amount}`)})}_r(_d[2]).logger.debug("[migrationTransaction] ===== END FINAL SUMMARY ====="),_r(_d[2]).logger.debug("[migrationTransaction] ===== TESTING MODE: PROCESSING 1 ASSET PER TRANSACTION ====="),_r(_d[2]).logger.debug("[migrationTransaction] Gas limit: 16777216"),_r(_d[2]).logger.debug("[migrationTransaction] ===== PRE-CALL VERIFICATION ====="),_r(_d[2]).logger.debug(`[migrationTransaction] Total assets to process: ${F.addresses.length}`),_r(_d[2]).logger.debug(`[migrationTransaction] Addresses count: ${F.addresses.length}`),_r(_d[2]).logger.debug(`[migrationTransaction] Values count: ${F.values.length}`),_r(_d[2]).logger.debug(`[migrationTransaction] Datas count: ${F.datas.length}`),F.datas.forEach(function(e,r){var n;_r(_d[2]).logger.debug(`[migrationTransaction] Data ${r+1}:`),_r(_d[2]).logger.debug(` Length: ${e.length} bytes`),_r(_d[2]).logger.debug(` First 20 bytes: [${e.slice(0,20).join(", ")}]`);var i="0x"+e.map(function(e){return e.toString(16).padStart(2,"0")}).join("");if(_r(_d[2]).logger.debug(` Reconstructed hex (first 100 chars): ${i.substring(0,100)}...`),r<(null==(n=t.erc20)?void 0:n.length)&&"0x0000000000000000000000000000000000000000"!==t.erc20[r].address)try{var o=new(_r(_d[9]).Interface)(["function transfer(address to, uint256 value)"]).decodeFunctionData("transfer",i);_r(_d[2]).logger.debug(` \u2705 Decoded amount: ${o.value.toString()}`),_r(_d[2]).logger.debug(` \u2705 Decoded receiver: ${o.to}`),_r(_d[2]).logger.debug(` \u2705 Original amount: ${t.erc20[r].amount}`),o.value.toString()!==t.erc20[r].amount&&_r(_d[2]).logger.error(" \u274c\u274c\u274c AMOUNT MISMATCH IN FINAL DATA! \u274c\u274c\u274c")}catch(e){_r(_d[2]).logger.error(" \u274c Failed to decode:",e)}}),_r(_d[2]).logger.debug("[migrationTransaction] ===== END PRE-CALL VERIFICATION ====="),_r(_d[2]).logger.debug("[migrationTransaction] ===== DATA TYPE VERIFICATION ====="),_r(_d[2]).logger.debug("[migrationTransaction] addresses type: "+(Array.isArray(F.addresses)?"Array":typeof F.addresses)),_r(_d[2]).logger.debug("[migrationTransaction] values type: "+(Array.isArray(F.values)?"Array":typeof F.values)),_r(_d[2]).logger.debug("[migrationTransaction] datas type: "+(Array.isArray(F.datas)?"Array":typeof F.datas)),_r(_d[2]).logger.debug("[migrationTransaction] datas[0] type: "+(Array.isArray(F.datas[0])?"Array":typeof F.datas[0])),_r(_d[2]).logger.debug("[migrationTransaction] datas[0][0] type: "+typeof(null==(A=F.datas[0])?void 0:A[0])),_r(_d[2]).logger.debug(`[migrationTransaction] datas[0] sample: [${null==(S=F.datas[0])?void 0:S.slice(0,10).join(", ")}...]`);var $=!1;F.datas.forEach(function(e,t){if(Array.isArray(e)){var r=e.filter(function(e){return"number"!=typeof e||isNaN(e)||e<0||e>255});r.length>0&&(_r(_d[2]).logger.error(`[migrationTransaction] \u274c Data ${t} has invalid items:`,r.slice(0,5)),$=!0)}else _r(_d[2]).logger.error(`[migrationTransaction] \u274c Data ${t} is not an array:`,typeof e,e),$=!0}),$?_r(_d[2]).logger.error("[migrationTransaction] \u274c\u274c\u274c INVALID DATA DETECTED - THIS WILL CAUSE TRANSACTION TO FAIL \u274c\u274c\u274c"):_r(_d[2]).logger.debug("[migrationTransaction] \u2705 All data arrays are valid"),_r(_d[2]).logger.debug("[migrationTransaction] ===== END DATA TYPE VERIFICATION ====="),_r(_d[2]).logger.debug("[migrationTransaction] ===== COA ADDRESS VERIFICATION ====="),_r(_d[2]).logger.debug(`[migrationTransaction] Sender address (from params): ${r}`);var x=null,O=null;try{var D;try{var R=yield _r(_d[17])(_d[16],_d.paths),L=yield R.currentUser.snapshot();O=(null==L?void 0:L.addr)||null,_r(_d[2]).logger.debug(`[migrationTransaction] Attempted to get Flow account from FCL: ${O||"null"}`)}catch(e){_r(_d[2]).logger.warn(`[migrationTransaction] Could not get Flow account from FCL: ${(null==e?void 0:e.message)||e}`)}if(!O&&r.startsWith("0x")){var M=r.slice(2);if(M.startsWith("000000000000000000000000")){var V=M.slice(-16);_r(_d[2]).logger.debug(`[migrationTransaction] Extracted possible Flow address from sender: 0x${V}`);try{var P=yield e.getAddr(`0x${V}`);P&&(x=P.startsWith("0x")?P:`0x${P}`,O=`0x${V}`,_r(_d[2]).logger.debug(`[migrationTransaction] \u2705 Got COA from extracted Flow address: ${x}`))}catch(e){_r(_d[2]).logger.warn(`[migrationTransaction] Could not get COA from extracted Flow address: ${e}`)}}}if(!x&&O){_r(_d[2]).logger.debug(`[migrationTransaction] Flow account signing transaction: ${O}`);var B=yield e.getAddr(O);B?(x=B.startsWith("0x")?B:`0x${B}`,_r(_d[2]).logger.debug(`[migrationTransaction] \u2705 Actual COA EVM address (from signer's Flow account): ${x}`)):_r(_d[2]).logger.warn(`[migrationTransaction] \u26a0\ufe0f No COA found for Flow account ${O}`)}var U=(r.startsWith("0x"),r.toLowerCase()),_=(null==(D=x)?void 0:D.toLowerCase())||"";x&&U!==_?(_r(_d[2]).logger.error("[migrationTransaction] \u274c\u274c\u274c COA ADDRESS MISMATCH \u274c\u274c\u274c"),_r(_d[2]).logger.error(`[migrationTransaction] Sender param: ${r}`),_r(_d[2]).logger.error(`[migrationTransaction] Actual COA (from signer): ${x}`),_r(_d[2]).logger.error(`[migrationTransaction] \u26a0\ufe0f Tokens must be in the COA at: ${x}`),_r(_d[2]).logger.error(`[migrationTransaction] \u26a0\ufe0f NOT in the COA at: ${r}`)):x?_r(_d[2]).logger.debug(`[migrationTransaction] \u2705 COA addresses match: ${x}`):(_r(_d[2]).logger.warn("[migrationTransaction] \u26a0\ufe0f Could not determine actual COA address. The COA executing transfers is from the Flow account that signs the transaction."),_r(_d[2]).logger.warn("[migrationTransaction] \u26a0\ufe0f Make sure tokens are in the COA associated with the Flow account signing this transaction.")),_r(_d[2]).logger.debug(`[migrationTransaction] Receiver address: ${n}`),_r(_d[2]).logger.debug("[migrationTransaction] ===== END COA ADDRESS VERIFICATION =====")}catch(e){_r(_d[2]).logger.error("[migrationTransaction] Failed to verify COA address:",e),_r(_d[2]).logger.error("[migrationTransaction] Error details:",null==e?void 0:e.message,null==e?void 0:e.stack)}var W=100;_r(_d[2]).logger.debug("[migrationTransaction] ===== STARTING BATCHED TRANSACTION PROCESSING ====="),_r(_d[2]).logger.debug("[migrationTransaction] Batch size: 100 assets per transaction");var K=[],H=F.addresses.length,j=Math.ceil(H/W);i&&i(0,0,j);for(var G=0;G0?K[K.length-1]:"";return _r(_d[2]).logger.info("Migration transaction results:",{total:K.length,results:K}),ie});return function(t,r,n,i,o,s){return e.apply(this,arguments)}})()},1914,[1,8,2,3,4,10,367,1401,1915,1927,1972,2003,1924,1936,1393,1400,1401,1851,1400]); +__d(function(g,_r,_i,a,m,_e,_d){var e=_r(_d[0]);Object.defineProperty(_e,"__esModule",{value:!0}),_e.ParentToChildTokenStrategy=_e.ParentToChildNftStrategy=_e.KeyRotation=_e.GAS_LIMITS=_e.FlowTokenBridgeToEvmStrategy=_e.FlowToFlowTokenStrategy=_e.FlowToFlowNftStrategy=_e.FlowToEvmTokenStrategy=_e.FlowToEvmNftBridgeStrategy=_e.EvmToFlowTokenWithEoaBridgeStrategy=_e.EvmToFlowTokenBridgeStrategy=_e.EvmToFlowNftWithEoaBridgeStrategy=_e.EvmToFlowNftBridgeStrategy=_e.EvmToFlowCoaWithdrawalStrategy=_e.EvmToEvmTokenStrategy=_e.EvmToEvmNftStrategy=_e.EoaToFlowCoaWithdrawalStrategy=_e.EoaToEVMStrategy=_e.EoaToChildNftStrategy=_e.ChildToOthersTokenStrategy=_e.ChildToOthersNftStrategy=_e.ChildToChildTokenStrategy=_e.ChildToChildNftStrategy=_e.BloctoDetectorService=void 0,Object.defineProperty(_e,"RotationError",{enumerable:!0,get:function(){return _r(_d[1]).RotationError}}),Object.defineProperty(_e,"RotationErrorType",{enumerable:!0,get:function(){return _r(_d[1]).RotationErrorType}}),_e.encodeEvmContractCallData=_e.createTransferContext=_e.convertToUFix64=_e.convertHexToByteArray=_e.TransferContext=_e.TopShotNftStrategy=_e.SendTransaction=void 0,_e.executeKeyRotation=function(e){return ae.apply(this,arguments)},_e.safeConvertToUFix64=_e.migrationTransaction=_e.isVaultIdentifier=_e.isValidSendTransactionPayload=_e.isNFTIdentifier=_e.isFlowToken=_e.isFlowIdentifier=_e.isCollectionIdentifier=_e.getFlowTokenVault=void 0,_e.sendRawTransactionToEvmRpc=function(e,t){return d.apply(this,arguments)},_e.signLegacyEvmTransaction=void 0,Object.defineProperty(_e,"validateEvmAddress",{enumerable:!0,get:function(){return _r(_d[2]).validateEvmAddress}}),Object.defineProperty(_e,"validateFlowAddress",{enumerable:!0,get:function(){return _r(_d[2]).validateFlowAddress}}),_e.validateKeyRotationParams=function(e){var t=e.newPublicKey,r=e.keyWeight;if(!t||"string"!=typeof t||t.length<64)throw new Error("Invalid public key format");if(void 0!==r&&(r<0||r>1e3))throw new Error("Key weight must be between 0 and 1000");return!0},_e.validateTokenPayload=_e.validateNftPayload=void 0;var t=e(_r(_d[3])),r=e(_r(_d[4])),n=e(_r(_d[5])),i=e(_r(_d[6])),o=(function(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(function(e,t){if(!t&&e&&e.__esModule)return e;var i,o,s={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return s;if(i=t?n:r){if(i.has(e))return i.get(e);i.set(e,s)}for(var d in e)"default"!==d&&{}.hasOwnProperty.call(e,d)&&((o=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,d))&&(o.get||o.set)?i(s,d,o):s[d]=e[d]);return s})(e,t)})(_r(_d[7]));var s=_e.GAS_LIMITS={EVM_DEFAULT:16777216,EVM_MIN_GAS_PRICE:16038e6,CADENCE_DEFAULT:9999};function d(){return(d=(0,i.default)(function*(e,t){var r=S[A(t)],n=yield fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"eth_sendRawTransaction",params:[e]})});if(!n.ok)throw new Error(`EVM RPC request failed: ${n.status} ${n.statusText}`);var i,o=yield n.json();if(o.error)throw new Error(null!=(i=o.error.message)?i:"EVM RPC error");if("string"!=typeof o.result)throw new Error("EVM RPC: missing or invalid result");return o.result})).apply(this,arguments)}var l={mainnet:"A.1654653399040a61.FlowToken.Vault",testnet:"A.7e60df042a9c0868.FlowToken.Vault"},c=_e.isFlowToken=function(e){return Object.values(l).includes(e)},u=_e.isVaultIdentifier=function(e){return/^A\.[0-9a-fA-F]{16}\.[a-zA-Z0-9_]+\.(Vault)$/.test(e)},f=_e.isNFTIdentifier=function(e){return/^A\.[0-9a-fA-F]{16}\.[a-zA-Z0-9_]+\.(NFT)$/.test(e)},v=_e.isCollectionIdentifier=function(e){return/^A\.[0-9a-fA-F]{16}\.[a-zA-Z0-9_]+\.(Collection)$/.test(e)},y=(_e.isFlowIdentifier=function(e){return u(e)||f(e)||v(e)},_e.getFlowTokenVault=function(e){return l[e]},_e.convertToUFix64=function(e){var t="string"==typeof e?parseFloat(e):e;if(isNaN(t))throw new Error("Invalid number for UFix64 conversion");return t.toFixed(8)}),T=_e.safeConvertToUFix64=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.00000000";try{return y(e)}catch(e){return _r(_d[2]).logger.warn("Failed to convert amount to UFix64",e),t}},h=_e.encodeEvmContractCallData=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.type,n=e.amount,i=void 0===n?"":n,o=e.receiver,s=e.decimal,d=e.ids,l=e.sender;e.coaAddr;if(42!==o.length)throw new Error("Invalid Ethereum address");var c="0x";if("token"===r){var u=Number(i),f=(0,_r(_d[8]).parseUnits)(u.toString(),s);c=new(_r(_d[9]).Interface)(["function transfer(address to, uint256 value)"]).encodeFunctionData("transfer",[o,f])}else if(1===d.length)if(""===i||0===Number(i)){var v=d[0];c=new(_r(_d[9]).Interface)(["function safeTransferFrom(address from, address to, uint256 tokenId)"]).encodeFunctionData("safeTransferFrom",[l,o,v])}else{var y=d[0],T=Number(i);c=new(_r(_d[9]).Interface)(["function safeTransferFrom(address from, address to, uint256 tokenId, uint256 amount, bytes data)"]).encodeFunctionData("safeTransferFrom",[l,o,y,T,"0x"])}else{var h=[];for(var p of d){c=new(_r(_d[9]).Interface)(["function safeTransferFrom(address from, address to, uint256 tokenId)"]).encodeFunctionData("safeTransferFrom",[l,o,p]),h.push(c)}if(t)return h}if(t)return c;for(var w=c.slice(2),S=new Uint8Array(w.length/2),A=0;A0?v+r:v,gasPrice:null!=(o=null!=(d=e.gasPrice)?d:null==t?void 0:t.gasPrice)?o:s.EVM_MIN_GAS_PRICE,gasLimit:T,to:e.to,value:null!=(l=e.value)?l:0,data:null!=(c=e.data)?c:"0x"},p=(0,_r(_d[11]).serialize)(h),w=(0,_r(_d[12]).arrayify)((0,_r(_d[13]).keccak256)(p)),S=yield t.ethSign(w),A=(0,_r(_d[12]).hexlify)(S);return(0,_r(_d[11]).serialize)(h,A)});return function(t,r,n){return e.apply(this,arguments)}})(),N=_e.validateTokenPayload=function(e){if(e.flowIdentifier&&!u(e.flowIdentifier))throw new Error("invalid send token identifier");if(Number(e.amount)<=0)throw new Error("invalid send token transaction payload");if(!e.decimal)throw new Error("invalid send token transaction payload");if("evm"===e.assetType&&!c(e.flowIdentifier||"")){var t=e.tokenContractAddr;if(!t||!(0,_r(_d[2]).validateEvmAddress)(t))throw new Error("invalid send evm transaction payload - invalid contract address")}},$=_e.validateNftPayload=function(e){if("flow"===e.assetType&&e.flowIdentifier&&!f(e.flowIdentifier))throw new Error("invalid send nft identifier");if("evm"===e.assetType&&e.flowIdentifier&&""!==e.flowIdentifier&&!(0,_r(_d[2]).validateFlowAddress)(e.receiver)&&f(e.flowIdentifier),0===e.ids.length)throw new Error("invalid send nft transaction payload")},x=(_e.isValidSendTransactionPayload=function(e){var t=e.type,r=e.assetType,n=e.proposer,i=e.receiver,o=e.flowIdentifier,s=void 0===o?"":o,d=e.sender,l=e.coaAddr,c=e.isCrossVM;if(!(0,_r(_d[2]).validateFlowAddress)(n))throw new Error("invalid proposer address");if(!(n&&i&&d&&t&&r))throw new Error("invalid send transaction payload");if("evm"===r&&(0,_r(_d[2]).validateFlowAddress)(i)&&!s)throw new Error("flowIdentifier of transaction payload is missing when bridge");if("flow"===r&&!s)throw new Error("flowIdentifier of transaction payload is missing");if(c&&(!l||!(0,_r(_d[2]).validateEvmAddress)(l)))throw new Error("invalid COA address of payload");return"token"===t&&N(e),"nft"===t&&$(e),!0},_e.ChildToChildNftStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.childAddrs,r=e.receiver,n=e.sender;return"nft"===e.type&&t.length>0&&t.includes(r)&&t.includes(n)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.sender,o=e.receiver,s=e.ids,d=e.type,l=e.assetType,c=e.childAddrs,u=e.proposer,f=e.amount;return null==t||null==(r=t.session)||r.strategySelected({strategyName:"ChildToChildNftStrategy",assetType:d,networkType:l,sender:i,receiver:o,flowIdentifier:n,amount:f,nftIds:s.map(function(e){return String(e)}),childAddrs:c,parentAddress:u}),yield this.cadenceService.batchSendChildNftToChild(n,i,o,s)}),function(t,r){return e.apply(this,arguments)})}]);var e})()),R=_e.ChildToOthersNftStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.childAddrs,r=e.sender,n=e.assetType;return"nft"===e.type&&t.length>0&&t.includes(r)&&"flow"===n}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.proposer,i=e.receiver,o=e.coaAddr,s=e.flowIdentifier,d=e.sender,l=e.ids,c=e.type,u=e.assetType,f=e.childAddrs,v=e.amount;return null==t||null==(r=t.session)||r.strategySelected({strategyName:"ChildToOthersNftStrategy",assetType:c,networkType:u,sender:d,receiver:i,flowIdentifier:s,amount:v,nftIds:l.map(function(e){return String(e)}),childAddrs:f,parentAddress:n}),i===n?yield this.cadenceService.batchTransferChildNft(s,d,l):i===o?yield this.cadenceService.batchBridgeChildNftToEvmWithPayer(s,d,l):(0,_r(_d[2]).validateEvmAddress)(i)?yield this.cadenceService.batchBridgeChildNftToEvmAddressWithPayer(s,d,l,i):yield this.cadenceService.batchSendChildNft(s,d,i,l)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),O=_e.ParentToChildNftStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.childAddrs,r=e.receiver,n=e.assetType,i=e.sender,o=e.coaAddr;return"nft"===e.type&&t.length>0&&t.includes(r)&&"evm"===n&&i===o}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.receiver,o=e.ids,s=e.sender,d=e.type,l=e.assetType,c=e.childAddrs,u=e.proposer,f=e.amount;return null==t||null==(r=t.session)||r.strategySelected({strategyName:"ParentToChildNftStrategy",assetType:d,networkType:l,sender:s,receiver:i,flowIdentifier:n,amount:f,nftIds:o.map(function(e){return String(e)}),childAddrs:c,parentAddress:u}),yield this.cadenceService.batchBridgeChildNftFromEvmWithPayer(n,i,o.map(function(e){return`${e}`}))}),function(t,r){return e.apply(this,arguments)})}]);var e})(),D=_e.EoaToChildNftStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.childAddrs,r=e.receiver,n=e.assetType,i=e.sender,o=e.coaAddr;return"nft"===e.type&&t.length>0&&t.includes(r)&&"evm"===n&&i!==o}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.ids,o=e.receiver,d=e.tokenContractAddr,l=e.sender,c=e.coaAddr,u=e.type,f=e.assetType,v=e.childAddrs,y=e.proposer,T=e.amount;null==t||null==(r=t.session)||r.strategySelected({strategyName:"EoaToChildNftStrategy",assetType:u,networkType:f,sender:l,receiver:o,flowIdentifier:n,amount:T,nftIds:i.map(function(e){return String(e)}),childAddrs:v,parentAddress:y});var w=h(Object.assign({},e,{receiver:c}),!0),S=[];if(1===i.length){var A=yield C({from:l,to:d,data:w,gasLimit:s.EVM_DEFAULT},t),E=p(A);S.push(E)}else for(var b=0;b-1&&(0,_r(_d[2]).validateFlowAddress)(i)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.receiver,o=e.ids,s=e.sender,d=e.type,l=e.assetType;return null==t||null==(r=t.session)||r.strategySelected({strategyName:"TopShotNftStrategy",assetType:d,networkType:l,sender:s,receiver:i,flowIdentifier:n,ids:o.toString()}),yield this.cadenceService.batchSendNbaNftV3(n,i,o)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),M=_e.FlowToFlowNftStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver,n=e.ids;return"nft"===e.type&&"flow"===t&&(0,_r(_d[2]).validateFlowAddress)(r)&&n.length>0}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.receiver,o=e.ids,s=e.sender,d=e.type,l=e.assetType;return null==t||null==(r=t.session)||r.strategySelected({strategyName:"FlowToFlowNftStrategy",assetType:d,networkType:l,sender:s,receiver:i,flowIdentifier:n,ids:o.toString()}),yield this.cadenceService.batchSendNftV3(n,i,o)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),V=_e.FlowToEvmNftBridgeStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver;return"nft"===e.type&&"flow"===t&&(0,_r(_d[2]).validateEvmAddress)(r)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.ids,o=e.receiver,s=e.sender,d=e.type,l=e.assetType;return null==t||null==(r=t.session)||r.strategySelected({strategyName:"FlowToEvmNftBridgeStrategy",assetType:d,networkType:l,sender:s,receiver:o,flowIdentifier:n,ids:i.toString()}),yield this.cadenceService.batchBridgeNftToEvmAddressWithPayer(n,i,o)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),P=_e.EvmToFlowNftBridgeStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver,n=e.type,i=e.sender,o=e.coaAddr;return"nft"===n&&"evm"===t&&(0,_r(_d[2]).validateFlowAddress)(r)&&i===o}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.ids,o=e.receiver,s=e.sender,d=e.type,l=e.assetType;return null==t||null==(r=t.session)||r.strategySelected({strategyName:"EvmToFlowNftBridgeStrategy",assetType:d,networkType:l,sender:s,receiver:o,flowIdentifier:n,ids:i.toString()}),yield this.cadenceService.batchBridgeNftFromEvmToFlowWithPayer(n,i.map(function(e){return`${e}`}),o)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),_=_e.EvmToFlowNftWithEoaBridgeStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver,n=e.type,i=e.sender,o=e.coaAddr;return"nft"===n&&"evm"===t&&(0,_r(_d[2]).validateFlowAddress)(r)&&i!==o}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.ids,o=e.receiver,d=e.tokenContractAddr,l=e.sender,c=e.coaAddr,u=e.type,f=e.assetType;null==t||null==(r=t.session)||r.strategySelected({strategyName:"EvmToFlowNftWithEoaBridgeStrategy",assetType:u,networkType:f,sender:l,receiver:o,flowIdentifier:n,ids:i.toString()});var v=h(Object.assign({},e,{receiver:c}),!0),y=[];if(1===i.length){var T=yield C({from:l,to:d,data:v,gasLimit:s.EVM_DEFAULT},t),w=p(T);y.push(w)}else for(var S=0;S1){var v=i.map(function(){return n}),y=i.map(function(t){return h(Object.assign({},e,{ids:[t]}))}),T=i.map(function(){return"0.0"});return yield this.cadenceService.batchCallContract(v,T,y,s.EVM_DEFAULT)}var p=h(e);return yield this.cadenceService.callContract(n,"0.0",p,s.EVM_DEFAULT)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),U=_e.EoaToEVMStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.receiver,r=e.assetType,n=e.sender,i=e.coaAddr;return"nft"===e.type&&"evm"===r&&n!==i&&(0,_r(_d[2]).validateEvmAddress)(t)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.receiver,i=e.tokenContractAddr,o=e.sender,d=e.ids,l=e.type,c=e.assetType,u=e.flowIdentifier,f=e.amount;null==t||null==(r=t.session)||r.strategySelected({strategyName:"EoaToEVMStrategy",assetType:l,networkType:c,sender:o,receiver:n,flowIdentifier:u,ids:d.toString(),amount:f});var v=h(Object.assign({},e,{receiver:n}),!0);if(1===d.length){var y=yield C({from:o,to:i,data:v,gasLimit:s.EVM_DEFAULT},t);if(null!=t&&t.sendRawEvmTransaction)return yield t.sendRawEvmTransaction(y);var T=p(y);return yield this.cadenceService.eoaCallContract(T,o)}for(var w=[],S=0;S0&&t.includes(r)&&t.includes(n)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.sender,o=e.receiver,s=e.amount,d=e.type,l=e.assetType,c=e.childAddrs,u=e.proposer,f=T(s);return null==t||null==(r=t.session)||r.strategySelected({strategyName:"ChildToChildTokenStrategy",assetType:d,networkType:l,sender:i,receiver:o,flowIdentifier:n,amount:f,childAddrs:c,parentAddress:u}),yield this.cadenceService.sendChildFtToChild(n,i,o,f)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),K=_e.ChildToOthersTokenStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.childAddrs,r=e.sender,n=e.assetType;return"token"===e.type&&t.length>0&&t.includes(r)&&"flow"===n}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.proposer,i=e.receiver,o=e.coaAddr,s=e.flowIdentifier,d=e.sender,l=e.amount,c=e.type,u=e.assetType,f=e.childAddrs,v=T(l);return null==t||null==(r=t.session)||r.strategySelected({strategyName:"ChildToOthersTokenStrategy",assetType:c,networkType:u,sender:d,receiver:i,flowIdentifier:s,amount:v,childAddrs:f,parentAddress:n}),i===n?yield this.cadenceService.transferChildFt(s,d,v):i===o?yield this.cadenceService.bridgeChildFtToEvm(s,d,v):(0,_r(_d[2]).validateEvmAddress)(i)?yield this.cadenceService.bridgeChildFtToEvmAddress(s,d,v,i):yield this.cadenceService.sendChildFt(s,d,i,v)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),H=_e.ParentToChildTokenStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.childAddrs,r=e.receiver,n=e.assetType,i=e.sender,o=e.coaAddr;return"token"===e.type&&t.length>0&&t.includes(r)&&"evm"===n&&i===o}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.receiver,o=e.amount,s=e.decimal,d=e.sender,l=e.type,c=e.assetType,u=e.childAddrs,f=e.proposer,v=T(o);null==t||null==(r=t.session)||r.strategySelected({strategyName:"ParentToChildTokenStrategy",assetType:l,networkType:c,sender:d,receiver:i,flowIdentifier:n,amount:v,childAddrs:u,parentAddress:f});var y=(0,_r(_d[8]).parseUnits)(v,s);return yield this.cadenceService.bridgeChildFtFromEvm(n,i,y.toString())}),function(t,r){return e.apply(this,arguments)})}]);var e})(),j=_e.FlowToFlowTokenStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver;return"token"===e.type&&"flow"===t&&(0,_r(_d[2]).validateFlowAddress)(r)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.receiver,o=e.amount,s=e.sender,d=e.type,l=e.assetType,c=T(o);return null==t||null==(r=t.session)||r.strategySelected({strategyName:"FlowToFlowTokenStrategy",assetType:d,networkType:l,sender:s,receiver:i,flowIdentifier:n,amount:c}),yield this.cadenceService.transferTokensV3(n,i,c)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),G=_e.FlowToEvmTokenStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.flowIdentifier,n=e.receiver;return"token"===e.type&&"flow"===t&&c(r)&&(0,_r(_d[2]).validateEvmAddress)(n)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.receiver,i=e.amount,o=e.sender,d=e.type,l=e.assetType,c=e.flowIdentifier,u=T(i);return null==t||null==(r=t.session)||r.strategySelected({strategyName:"FlowToEvmTokenStrategy",assetType:d,networkType:l,sender:o,receiver:n,flowIdentifier:c,amount:u}),yield this.cadenceService.transferFlowToEvmAddress(n,u,s.EVM_DEFAULT)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),z=_e.FlowTokenBridgeToEvmStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver;return"token"===e.type&&"flow"===t&&(0,_r(_d[2]).validateEvmAddress)(r)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.amount,o=e.receiver,s=e.sender,d=e.type,l=e.assetType,c=T(i);return null==t||null==(r=t.session)||r.strategySelected({strategyName:"FlowTokenBridgeToEvmStrategy",assetType:d,networkType:l,sender:s,receiver:o,flowIdentifier:n,amount:c}),yield this.cadenceService.bridgeTokensToEvmAddressV2(n,c,o)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),J=_e.EvmToFlowCoaWithdrawalStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.flowIdentifier,n=e.receiver,i=e.type,o=e.sender,s=e.coaAddr;return"token"===i&&"evm"===t&&c(r)&&(0,_r(_d[2]).validateFlowAddress)(n)&&o===s}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.amount,i=e.receiver,o=e.sender,s=e.type,d=e.assetType,l=e.flowIdentifier,c=T(n);return null==t||null==(r=t.session)||r.strategySelected({strategyName:"EvmToFlowCoaWithdrawalStrategy",assetType:s,networkType:d,sender:o,receiver:i,flowIdentifier:l,amount:c}),yield this.cadenceService.withdrawCoa(c,i)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),q=_e.EoaToFlowCoaWithdrawalStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.flowIdentifier,n=e.receiver,i=e.type,o=e.sender,s=e.coaAddr;return"token"===i&&"evm"===t&&c(r)&&(0,_r(_d[2]).validateFlowAddress)(n)&&o!==s}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.amount,i=e.receiver,o=e.sender,d=e.coaAddr,l=e.decimal,c=e.type,u=e.assetType,f=e.flowIdentifier,v=T(n);null==t||null==(r=t.session)||r.strategySelected({strategyName:"EoaToFlowCoaWithdrawalStrategy",assetType:c,networkType:u,sender:o,receiver:i,flowIdentifier:f,amount:v});var y=(0,_r(_d[8]).parseUnits)(v,l),h=yield C({from:o,to:d,data:"0x",gasLimit:s.EVM_DEFAULT,value:y},t),w=p(h);return yield this.cadenceService.eoaToCoaToFlow(w,o,v,i)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),Y=_e.EvmToFlowTokenBridgeStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver,n=e.type,i=e.flowIdentifier,o=e.sender,s=e.coaAddr;return"token"===n&&"evm"===t&&(0,_r(_d[2]).validateFlowAddress)(r)&&u(i)&&!c(i)&&o===s}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.amount,o=e.receiver,s=e.decimal,d=e.sender,l=e.type,c=e.assetType,u=T(i);null==t||null==(r=t.session)||r.strategySelected({strategyName:"EvmToFlowTokenBridgeStrategy",assetType:l,networkType:c,sender:d,receiver:o,flowIdentifier:n,amount:u});var f=(0,_r(_d[8]).parseUnits)(u,s);return yield this.cadenceService.bridgeTokensFromEvmToFlowV3(n,f.toString(),o)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),Z=_e.EvmToFlowTokenWithEoaBridgeStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver,n=e.type,i=e.flowIdentifier,o=e.sender,s=e.coaAddr;return"token"===n&&"evm"===t&&(0,_r(_d[2]).validateFlowAddress)(r)&&u(i)&&!c(i)&&o!==s}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.flowIdentifier,i=e.amount,o=e.receiver,d=e.decimal,l=e.sender,c=e.coaAddr,u=e.tokenContractAddr,f=e.type,v=e.assetType,y=T(i);null==t||null==(r=t.session)||r.strategySelected({strategyName:"EvmToFlowTokenWithEoaBridgeStrategy",assetType:f,networkType:v,sender:l,receiver:o,flowIdentifier:n,amount:y});var w=(0,_r(_d[8]).parseUnits)(y,d),S=h(Object.assign({},e,{receiver:c}),!0),A=yield C({from:l,to:u,data:S,gasLimit:s.EVM_DEFAULT},t),E=p(A);return yield this.cadenceService.bridgeTokensFromEoaToFlowV3(E,l,n,w.toString(),o)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),X=_e.EvmToEvmTokenStrategy=(function(){return(0,r.default)(function e(r){(0,t.default)(this,e),this.cadenceService=r},[{key:"canHandle",value:function(e){var t=e.assetType,r=e.receiver;return"token"===e.type&&"evm"===t&&(0,_r(_d[2]).validateEvmAddress)(r)}},{key:"execute",value:(e=(0,i.default)(function*(e,t){var r,n=e.tokenContractAddr,i=e.amount,o=e.flowIdentifier,d=e.receiver,l=e.coaAddr,u=e.sender,f=e.type,v=e.assetType,y=T(i);if(null==t||null==(r=t.session)||r.strategySelected({strategyName:"EvmToEvmTokenStrategy",assetType:f,networkType:v,sender:u,receiver:d,flowIdentifier:o,amount:y}),c(o)){if(u!==l){var w=(0,_r(_d[8]).parseUnits)(y,18),S=yield C({from:u,to:d,data:"0x",gasLimit:s.EVM_DEFAULT,value:w},t);if(null!=t&&t.sendRawEvmTransaction)return yield t.sendRawEvmTransaction(S);var A=p(S);return yield this.cadenceService.eoaCallContract(A,u)}return yield this.cadenceService.callContract(d,y,[],s.EVM_DEFAULT)}if(!n||!(0,_r(_d[2]).validateEvmAddress)(n))throw new Error("invalid send evm transaction payload - invalid contract address");if((0,_r(_d[2]).validateEvmAddress)(d)&&u!==l){var E=h(Object.assign({},e,{receiver:d}),!0),b=yield C({from:u,to:n,data:E,gasLimit:s.EVM_DEFAULT},t);if(null!=t&&t.sendRawEvmTransaction)return yield t.sendRawEvmTransaction(b);var k=p(b);return yield this.cadenceService.eoaCallContract(k,u)}var F=h(e);return yield this.cadenceService.callContract(n,"0.0",F,s.EVM_DEFAULT)}),function(t,r){return e.apply(this,arguments)})}]);var e})(),Q=_e.TransferContext=(function(){return(0,r.default)(function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,t.default)(this,e),this.strategies=[],this.helpers=r},[{key:"addStrategy",value:function(e){this.strategies.push(e)}},{key:"execute",value:(e=(0,i.default)(function*(e){for(var t of this.strategies)if(t.canHandle(e))return yield t.execute(e,this.helpers);return null}),function(t){return e.apply(this,arguments)})}]);var e})(),ee=_e.createTransferContext=function(e){var t=new Q(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{});return t.addStrategy(new W(e)),t.addStrategy(new K(e)),t.addStrategy(new H(e)),t.addStrategy(new j(e)),t.addStrategy(new G(e)),t.addStrategy(new z(e)),t.addStrategy(new J(e)),t.addStrategy(new Y(e)),t.addStrategy(new Z(e)),t.addStrategy(new X(e)),t.addStrategy(new q(e)),t.addStrategy(new D(e)),t.addStrategy(new x(e)),t.addStrategy(new R(e)),t.addStrategy(new O(e)),t.addStrategy(new L(e)),t.addStrategy(new M(e)),t.addStrategy(new V(e)),t.addStrategy(new P(e)),t.addStrategy(new _(e)),t.addStrategy(new B(e)),t.addStrategy(new U(e)),t},te=(_e.SendTransaction=(function(){var e=(0,i.default)(function*(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};_r(_d[2]).logger.info("SendTransaction cadenceService",e);var n=ee(t,r);return yield n.execute(e)});return function(t,r){return e.apply(this,arguments)}})(),function(e){var t,r,n,i;return{index:null!=(t=null!=(r=e.index)?r:e.keyId)?t:0,publicKey:e.publicKey,weight:Number(null!=(n=e.weight)?n:0),signAlgoString:e.signAlgoString,hashAlgoString:e.hashAlgoString,revoked:null!=(i=e.revoked)&&i}}),re=function(e){var t,r,n=(null!=(t=e.signAlgoString)?t:"").toLowerCase(),i=(null!=(r=e.hashAlgoString)?r:"").toLowerCase();return n.includes("ecdsa_secp256k1")&&i.includes("sha3_256")},ne=_e.BloctoDetectorService=(function(){return(0,r.default)(function e(){(0,t.default)(this,e)},[{key:"detectBloctoKey",value:(e=(0,i.default)(function*(e){try{var t=yield o.account(e),r=(Array.isArray(null==t?void 0:t.keys)?t.keys:[]).map(te);return this.evaluateKeys(r)}catch(e){return _r(_d[2]).logger.warn("[BloctoDetectorService] Failed to fetch account keys",e),this.evaluateKeys(void 0)}}),function(t){return e.apply(this,arguments)})},{key:"listRevokeIndexes",value:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter(function(e){return!e.revoked}).filter(re).map(function(e){return e.index})}},{key:"evaluateKeys",value:function(e){if(!e||0===e.length)return{isBloctoKey:!1,needRevoke:!1,fullAccountKeys:[],bloctoKeyIndexes:[]};var t=e.filter(re),r=t.some(function(e){return 999===e.weight}),n=t.some(function(e){return 1===e.weight}),i=r&&n,o=i?this.listRevokeIndexes(e):[];return{isBloctoKey:i,needRevoke:o.length>0,fullAccountKeys:e,bloctoKeyIndexes:o}}}]);var e})();_e.KeyRotation=(function(){return(0,r.default)(function e(){(0,t.default)(this,e),this.bloctoDetectorService=new ne},[{key:"detectBloctoKey",value:(n=(0,i.default)(function*(e){return this.bloctoDetectorService.detectBloctoKey(e)}),function(e){return n.apply(this,arguments)})},{key:"rotateKeysOnChain",value:(e=(0,i.default)(function*(e,t){if(!e)throw new(_r(_d[1]).RotationError)({type:_r(_d[1]).RotationErrorType.VALIDATION_FAILED,message:"Public key is required"});if(!t||0===t.length)throw new(_r(_d[1]).RotationError)({type:_r(_d[1]).RotationErrorType.VALIDATION_FAILED,message:"No revokable Blocto keys found on account."});try{var r,n,i=yield _r(_d[14]).cadence.addAndRevokeKeys([e],t);_r(_d[2]).logger.info("[KeyRotation] Transaction submitted",{txId:i});var o=yield(0,_r(_d[15]).waitForExecuted)(i,{timeout:6e4,pollInterval:2e3,onStatusChange:function(e){_r(_d[2]).logger.info("[KeyRotation] Status update",{txId:i,status:e.status,statusCode:e.statusCode,statusString:e.statusString})}});if(_r(_d[2]).logger.info("[KeyRotation] Transaction executed",{txId:i,status:o.status,statusCode:o.statusCode,events:null!=(r=null==(n=o.events)?void 0:n.length)?r:0}),null!=o&&o.errorMessage)throw new(_r(_d[1]).RotationError)({type:_r(_d[1]).RotationErrorType.CADENCE_TRANSACTION_FAILED,message:o.errorMessage});return i}catch(e){if(e instanceof _r(_d[1]).RotationError)throw e;throw _r(_d[2]).logger.error("[KeyRotation] Failed to rotate keys on-chain",{error:e instanceof Error?e.message:String(e),stack:e instanceof Error?e.stack:void 0}),new(_r(_d[1]).RotationError)({type:_r(_d[1]).RotationErrorType.CADENCE_TRANSACTION_FAILED,message:e instanceof Error?e.message:"Failed to rotate keys"})}}),function(t,r){return e.apply(this,arguments)})}]);var e,n})();function ae(){return(ae=(0,i.default)(function*(e){var t=e.newPublicKey,r=e.keyWeight,n=void 0===r?1e3:r,i=e.revokeOldKeys,o=void 0!==i&&i;try{var s=`0x${Date.now().toString(16)}`;return console.log("Key rotation workflow executed:",{newPublicKey:t,keyWeight:n,revokeOldKeys:o,transactionId:s}),{transactionId:s,success:!0}}catch(e){return{transactionId:"",success:!1,error:e instanceof Error?e.message:"Unknown error occurred"}}})).apply(this,arguments)}var ie=function(e){for(var t=e.slice(2),r=new Uint8Array(t.length/2),n=0;n0){_r(_d[2]).logger.debug(`[migrationTransaction] Total ERC20/FT tokens: ${t.erc20.length}`),_r(_d[2]).logger.debug("[migrationTransaction] Full ERC20/FT token list:"),t.erc20.forEach(function(e,t){var r="0x0000000000000000000000000000000000000000"===e.address,n=r?"FLOW":e.address;_r(_d[2]).logger.debug(` [${t+1}] Token Details:`),_r(_d[2]).logger.debug(` Symbol/Address: ${n}`),_r(_d[2]).logger.debug(` Contract Address: ${e.address}`),_r(_d[2]).logger.debug(` Amount: ${e.amount}`),_r(_d[2]).logger.debug(" Amount Type: "+typeof e.amount),_r(_d[2]).logger.debug(` Is FLOW Token: ${r}`),_r(_d[2]).logger.debug(" Raw Token Data:",JSON.stringify(e,null,2))}),_r(_d[2]).logger.debug("[migrationTransaction] ERC20/FT Summary:"),_r(_d[2]).logger.debug(` - FLOW tokens: ${t.erc20.filter(function(e){return"0x0000000000000000000000000000000000000000"===e.address}).length}`),_r(_d[2]).logger.debug(` - Other ERC20 tokens: ${t.erc20.filter(function(e){return"0x0000000000000000000000000000000000000000"!==e.address}).length}`);var E=t.erc20.filter(function(e){return"0x0000000000000000000000000000000000000000"===e.address});if(E.length>0){var b=E.reduce(function(e,t){return e+parseFloat(t.amount||"0")},0);_r(_d[2]).logger.debug(` - Total FLOW amount: ${b}`)}}else _r(_d[2]).logger.debug("[migrationTransaction] ERC20/FT Tokens: None");_r(_d[2]).logger.debug("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550"),_r(_d[2]).logger.debug("[migrationTransaction] ===== END FT DETAILS ====="),_r(_d[2]).logger.debug("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550"),_r(_d[2]).logger.debug(""),t.erc721&&t.erc721.length>0?(_r(_d[2]).logger.debug("[migrationTransaction] ERC721 NFTs:"),t.erc721.forEach(function(e,t){_r(_d[2]).logger.debug(` [${t+1}] Contract: ${e.address}, Token ID: ${e.id}`)})):_r(_d[2]).logger.debug("[migrationTransaction] ERC721 NFTs: None"),t.erc1155&&t.erc1155.length>0?(_r(_d[2]).logger.debug("[migrationTransaction] ERC1155 Tokens:"),t.erc1155.forEach(function(e,t){_r(_d[2]).logger.debug(` [${t+1}] Contract: ${e.address}, Token ID: ${e.id}, Amount: ${e.amount}`)})):_r(_d[2]).logger.debug("[migrationTransaction] ERC1155 Tokens: None");var k=(null!=(s=null==(d=t.erc20)?void 0:d.length)?s:0)+(null!=(l=null==(c=t.erc721)?void 0:c.length)?l:0)+(null!=(u=null==(f=t.erc1155)?void 0:f.length)?u:0);_r(_d[2]).logger.debug(`[migrationTransaction] Total assets to migrate: ${k}`),_r(_d[2]).logger.debug("[migrationTransaction] ===== EXECUTING TRANSACTION =====");var F=se(t,r,n);_r(_d[2]).logger.debug("[migrationTransaction] ===== FINAL TRANSACTION DATA ====="),_r(_d[2]).logger.debug("[migrationTransaction] Transaction count:",F.addresses.length),_r(_d[2]).logger.debug("[migrationTransaction] Addresses:",JSON.stringify(F.addresses,null,2)),_r(_d[2]).logger.debug("[migrationTransaction] Values (FLOW amounts):",JSON.stringify(F.values,null,2)),_r(_d[2]).logger.debug("[migrationTransaction] Calldata lengths:",F.datas.map(function(e){return e.length})),_r(_d[2]).logger.debug("[migrationTransaction] ===== TRANSACTION MAPPING =====");var I=0;if(t.erc20&&t.erc20.length>0&&(_r(_d[2]).logger.debug("[migrationTransaction] ERC20 Transactions:"),t.erc20.forEach(function(e,t){var r="0x0000000000000000000000000000000000000000"===e.address?"FLOW":e.address;_r(_d[2]).logger.debug(` [${I+1}] ${r}:`),_r(_d[2]).logger.debug(` Address: ${F.addresses[I]}`),_r(_d[2]).logger.debug(` Value: ${F.values[I]}`),_r(_d[2]).logger.debug(` Calldata length: ${F.datas[I].length} bytes`),_r(_d[2]).logger.debug(` Original amount: ${e.amount}`),I++})),t.erc721&&t.erc721.length>0&&(_r(_d[2]).logger.debug("[migrationTransaction] ERC721 Transactions:"),t.erc721.forEach(function(e,t){_r(_d[2]).logger.debug(` [${I+1}] NFT:`),_r(_d[2]).logger.debug(` Contract: ${e.address}`),_r(_d[2]).logger.debug(` Token ID: ${e.id}`),_r(_d[2]).logger.debug(` Address: ${F.addresses[I]}`),_r(_d[2]).logger.debug(` Value: ${F.values[I]}`),_r(_d[2]).logger.debug(` Calldata length: ${F.datas[I].length} bytes`),I++})),t.erc1155&&t.erc1155.length>0&&(_r(_d[2]).logger.debug("[migrationTransaction] ERC1155 Transactions:"),t.erc1155.forEach(function(e,t){_r(_d[2]).logger.debug(` [${I+1}] ERC1155:`),_r(_d[2]).logger.debug(` Contract: ${e.address}`),_r(_d[2]).logger.debug(` Token ID: ${e.id}`),_r(_d[2]).logger.debug(` Amount: ${e.amount}`),_r(_d[2]).logger.debug(` Address: ${F.addresses[I]}`),_r(_d[2]).logger.debug(` Value: ${F.values[I]}`),_r(_d[2]).logger.debug(` Calldata length: ${F.datas[I].length} bytes`),I++})),_r(_d[2]).logger.debug("[migrationTransaction] ===== FINAL FT MIGRATION SUMMARY ====="),_r(_d[2]).logger.debug(`[migrationTransaction] FTs received in assets: ${null!=(v=null==(y=t.erc20)?void 0:y.length)?v:0}`),_r(_d[2]).logger.debug(`[migrationTransaction] FTs in transaction: ${F.addresses.length}`),_r(_d[2]).logger.debug(`[migrationTransaction] ERC721 NFTs: ${null!=(T=null==(h=t.erc721)?void 0:h.length)?T:0}`),_r(_d[2]).logger.debug(`[migrationTransaction] ERC1155 Tokens: ${null!=(p=null==(w=t.erc1155)?void 0:w.length)?p:0}`),t.erc20&&t.erc20.length>0){var C=t.erc20.filter(function(e){return"0x0000000000000000000000000000000000000000"===e.address}).length,N=t.erc20.length-C;_r(_d[2]).logger.debug("[migrationTransaction] Breakdown:"),_r(_d[2]).logger.debug(` - FLOW tokens: ${C}`),_r(_d[2]).logger.debug(` - ERC20 tokens: ${N}`),_r(_d[2]).logger.debug("[migrationTransaction] All FT addresses being migrated:"),t.erc20.forEach(function(e,t){var r="0x0000000000000000000000000000000000000000"===e.address;_r(_d[2]).logger.debug(` ${t+1}. ${r?"FLOW":e.address}: ${e.amount}`)})}_r(_d[2]).logger.debug("[migrationTransaction] ===== END FINAL SUMMARY ====="),_r(_d[2]).logger.debug("[migrationTransaction] ===== TESTING MODE: PROCESSING 1 ASSET PER TRANSACTION ====="),_r(_d[2]).logger.debug("[migrationTransaction] Gas limit: 16777216"),_r(_d[2]).logger.debug("[migrationTransaction] ===== PRE-CALL VERIFICATION ====="),_r(_d[2]).logger.debug(`[migrationTransaction] Total assets to process: ${F.addresses.length}`),_r(_d[2]).logger.debug(`[migrationTransaction] Addresses count: ${F.addresses.length}`),_r(_d[2]).logger.debug(`[migrationTransaction] Values count: ${F.values.length}`),_r(_d[2]).logger.debug(`[migrationTransaction] Datas count: ${F.datas.length}`),F.datas.forEach(function(e,r){var n;_r(_d[2]).logger.debug(`[migrationTransaction] Data ${r+1}:`),_r(_d[2]).logger.debug(` Length: ${e.length} bytes`),_r(_d[2]).logger.debug(` First 20 bytes: [${e.slice(0,20).join(", ")}]`);var i="0x"+e.map(function(e){return e.toString(16).padStart(2,"0")}).join("");if(_r(_d[2]).logger.debug(` Reconstructed hex (first 100 chars): ${i.substring(0,100)}...`),r<(null==(n=t.erc20)?void 0:n.length)&&"0x0000000000000000000000000000000000000000"!==t.erc20[r].address)try{var o=new(_r(_d[9]).Interface)(["function transfer(address to, uint256 value)"]).decodeFunctionData("transfer",i);_r(_d[2]).logger.debug(` \u2705 Decoded amount: ${o.value.toString()}`),_r(_d[2]).logger.debug(` \u2705 Decoded receiver: ${o.to}`),_r(_d[2]).logger.debug(` \u2705 Original amount: ${t.erc20[r].amount}`),o.value.toString()!==t.erc20[r].amount&&_r(_d[2]).logger.error(" \u274c\u274c\u274c AMOUNT MISMATCH IN FINAL DATA! \u274c\u274c\u274c")}catch(e){_r(_d[2]).logger.error(" \u274c Failed to decode:",e)}}),_r(_d[2]).logger.debug("[migrationTransaction] ===== END PRE-CALL VERIFICATION ====="),_r(_d[2]).logger.debug("[migrationTransaction] ===== DATA TYPE VERIFICATION ====="),_r(_d[2]).logger.debug("[migrationTransaction] addresses type: "+(Array.isArray(F.addresses)?"Array":typeof F.addresses)),_r(_d[2]).logger.debug("[migrationTransaction] values type: "+(Array.isArray(F.values)?"Array":typeof F.values)),_r(_d[2]).logger.debug("[migrationTransaction] datas type: "+(Array.isArray(F.datas)?"Array":typeof F.datas)),_r(_d[2]).logger.debug("[migrationTransaction] datas[0] type: "+(Array.isArray(F.datas[0])?"Array":typeof F.datas[0])),_r(_d[2]).logger.debug("[migrationTransaction] datas[0][0] type: "+typeof(null==(S=F.datas[0])?void 0:S[0])),_r(_d[2]).logger.debug(`[migrationTransaction] datas[0] sample: [${null==(A=F.datas[0])?void 0:A.slice(0,10).join(", ")}...]`);var $=!1;F.datas.forEach(function(e,t){if(Array.isArray(e)){var r=e.filter(function(e){return"number"!=typeof e||isNaN(e)||e<0||e>255});r.length>0&&(_r(_d[2]).logger.error(`[migrationTransaction] \u274c Data ${t} has invalid items:`,r.slice(0,5)),$=!0)}else _r(_d[2]).logger.error(`[migrationTransaction] \u274c Data ${t} is not an array:`,typeof e,e),$=!0}),$?_r(_d[2]).logger.error("[migrationTransaction] \u274c\u274c\u274c INVALID DATA DETECTED - THIS WILL CAUSE TRANSACTION TO FAIL \u274c\u274c\u274c"):_r(_d[2]).logger.debug("[migrationTransaction] \u2705 All data arrays are valid"),_r(_d[2]).logger.debug("[migrationTransaction] ===== END DATA TYPE VERIFICATION ====="),_r(_d[2]).logger.debug("[migrationTransaction] ===== COA ADDRESS VERIFICATION ====="),_r(_d[2]).logger.debug(`[migrationTransaction] Sender address (from params): ${r}`);var x=null,R=null;try{var O;try{var D=yield _r(_d[17])(_d[16],_d.paths),L=yield D.currentUser.snapshot();R=(null==L?void 0:L.addr)||null,_r(_d[2]).logger.debug(`[migrationTransaction] Attempted to get Flow account from FCL: ${R||"null"}`)}catch(e){_r(_d[2]).logger.warn(`[migrationTransaction] Could not get Flow account from FCL: ${(null==e?void 0:e.message)||e}`)}if(!R&&r.startsWith("0x")){var M=r.slice(2);if(M.startsWith("000000000000000000000000")){var V=M.slice(-16);_r(_d[2]).logger.debug(`[migrationTransaction] Extracted possible Flow address from sender: 0x${V}`);try{var P=yield e.getAddr(`0x${V}`);P&&(x=P.startsWith("0x")?P:`0x${P}`,R=`0x${V}`,_r(_d[2]).logger.debug(`[migrationTransaction] \u2705 Got COA from extracted Flow address: ${x}`))}catch(e){_r(_d[2]).logger.warn(`[migrationTransaction] Could not get COA from extracted Flow address: ${e}`)}}}if(!x&&R){_r(_d[2]).logger.debug(`[migrationTransaction] Flow account signing transaction: ${R}`);var _=yield e.getAddr(R);_?(x=_.startsWith("0x")?_:`0x${_}`,_r(_d[2]).logger.debug(`[migrationTransaction] \u2705 Actual COA EVM address (from signer's Flow account): ${x}`)):_r(_d[2]).logger.warn(`[migrationTransaction] \u26a0\ufe0f No COA found for Flow account ${R}`)}var B=(r.startsWith("0x"),r.toLowerCase()),U=(null==(O=x)?void 0:O.toLowerCase())||"";x&&B!==U?(_r(_d[2]).logger.error("[migrationTransaction] \u274c\u274c\u274c COA ADDRESS MISMATCH \u274c\u274c\u274c"),_r(_d[2]).logger.error(`[migrationTransaction] Sender param: ${r}`),_r(_d[2]).logger.error(`[migrationTransaction] Actual COA (from signer): ${x}`),_r(_d[2]).logger.error(`[migrationTransaction] \u26a0\ufe0f Tokens must be in the COA at: ${x}`),_r(_d[2]).logger.error(`[migrationTransaction] \u26a0\ufe0f NOT in the COA at: ${r}`)):x?_r(_d[2]).logger.debug(`[migrationTransaction] \u2705 COA addresses match: ${x}`):(_r(_d[2]).logger.warn("[migrationTransaction] \u26a0\ufe0f Could not determine actual COA address. The COA executing transfers is from the Flow account that signs the transaction."),_r(_d[2]).logger.warn("[migrationTransaction] \u26a0\ufe0f Make sure tokens are in the COA associated with the Flow account signing this transaction.")),_r(_d[2]).logger.debug(`[migrationTransaction] Receiver address: ${n}`),_r(_d[2]).logger.debug("[migrationTransaction] ===== END COA ADDRESS VERIFICATION =====")}catch(e){_r(_d[2]).logger.error("[migrationTransaction] Failed to verify COA address:",e),_r(_d[2]).logger.error("[migrationTransaction] Error details:",null==e?void 0:e.message,null==e?void 0:e.stack)}var W=100;_r(_d[2]).logger.debug("[migrationTransaction] ===== STARTING BATCHED TRANSACTION PROCESSING ====="),_r(_d[2]).logger.debug("[migrationTransaction] Batch size: 100 assets per transaction");var K=[],H=F.addresses.length,j=Math.ceil(H/W);i&&i(0,0,j);for(var G=0;G0?K[K.length-1]:"";return _r(_d[2]).logger.info("Migration transaction results:",{total:K.length,results:K}),ie});return function(t,r,n,i,o,s){return e.apply(this,arguments)}})()},1914,[1,8,2,3,4,10,367,1401,1915,1927,1972,2003,1924,1936,1393,1400,1401,1851,1400]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.parseEther=e.formatEther=e.parseUnits=e.formatUnits=e.commify=void 0;var t=new(r(d[0]).Logger)(r(d[1]).version),n=["wei","kwei","mwei","gwei","szabo","finney","ether"];function s(t,s){if("string"==typeof s){var u=n.indexOf(s);-1!==u&&(s=3*u)}return(0,r(d[2]).formatFixed)(t,null!=s?s:18)}function u(s,u){if("string"!=typeof s&&t.throwArgumentError("value must be a string","value",s),"string"==typeof u){var o=n.indexOf(u);-1!==o&&(u=3*o)}return(0,r(d[2]).parseFixed)(s,null!=u?u:18)}e.commify=function(n){var s=String(n).split(".");(s.length>2||!s[0].match(/^-?[0-9]*$/)||s[1]&&!s[1].match(/^[0-9]*$/)||"."===n||"-."===n)&&t.throwArgumentError("invalid value","value",n);var u=s[0],o="";for("-"===u.substring(0,1)&&(o="-",u=u.substring(1));"0"===u.substring(0,1);)u=u.substring(1);""===u&&(u="0");var f="";for(2===s.length&&(f="."+(s[1]||"0"));f.length>2&&"0"===f[f.length-1];)f=f.substring(0,f.length-1);for(var l=[];u.length;){if(u.length<=3){l.unshift(u);break}var h=u.length-3;l.unshift(u.substring(h)),u=u.substring(0,h)}return o+l.join(",")+f},e.formatUnits=s,e.parseUnits=u,e.formatEther=function(t){return s(t,18)},e.parseEther=function(t){return u(t,18)}},1915,[1916,1918,1919]); __d(function(g,r,_i2,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Logger=e.ErrorCode=e.LogLevel=void 0;var o=!1,t=!1,n={debug:1,default:2,info:2,warning:3,error:4,off:5},E=n.default,i=null;var s,N,l=(function(){try{var o=[];if(["NFD","NFC","NFKD","NFKC"].forEach(function(t){try{if("test"!=="test".normalize(t))throw new Error("bad normalize")}catch(n){o.push(t)}}),o.length)throw new Error("missing "+o.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(o){return o.message}return null})();!(function(o){o.DEBUG="DEBUG",o.INFO="INFO",o.WARNING="WARNING",o.ERROR="ERROR",o.OFF="OFF"})(s=e.LogLevel||(e.LogLevel={})),(function(o){o.UNKNOWN_ERROR="UNKNOWN_ERROR",o.NOT_IMPLEMENTED="NOT_IMPLEMENTED",o.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",o.NETWORK_ERROR="NETWORK_ERROR",o.SERVER_ERROR="SERVER_ERROR",o.TIMEOUT="TIMEOUT",o.BUFFER_OVERRUN="BUFFER_OVERRUN",o.NUMERIC_FAULT="NUMERIC_FAULT",o.MISSING_NEW="MISSING_NEW",o.INVALID_ARGUMENT="INVALID_ARGUMENT",o.MISSING_ARGUMENT="MISSING_ARGUMENT",o.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",o.CALL_EXCEPTION="CALL_EXCEPTION",o.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",o.NONCE_EXPIRED="NONCE_EXPIRED",o.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",o.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",o.TRANSACTION_REPLACED="TRANSACTION_REPLACED",o.ACTION_REJECTED="ACTION_REJECTED"})(N=e.ErrorCode||(e.ErrorCode={}));var c="0123456789abcdef",R=(function(){function R(o){Object.defineProperty(this,"version",{enumerable:!0,value:o,writable:!1})}return R.prototype._log=function(o,t){var i=o.toLowerCase();null==n[i]&&this.throwArgumentError("invalid log level name","logLevel",o),E>n[i]||console.log.apply(console,t)},R.prototype.debug=function(){for(var o=[],t=0;t>4],n+=c[15&t[s]];i.push(o+"=Uint8Array(0x"+n+")")}else i.push(o+"="+JSON.stringify(t))}catch(t){i.push(o+"="+JSON.stringify(E[o].toString()))}}),i.push("code="+n),i.push("version="+this.version);var s=o,l="";switch(n){case N.NUMERIC_FAULT:l="NUMERIC_FAULT";var u=o;switch(u){case"overflow":case"underflow":case"division-by-zero":l+="-"+u;break;case"negative-power":case"negative-width":l+="-unsupported";break;case"unbound-bitwise-result":l+="-unbound-result"}break;case N.CALL_EXCEPTION:case N.INSUFFICIENT_FUNDS:case N.MISSING_NEW:case N.NONCE_EXPIRED:case N.REPLACEMENT_UNDERPRICED:case N.TRANSACTION_REPLACED:case N.UNPREDICTABLE_GAS_LIMIT:l=n}l&&(o+=" [ See: https://links.ethers.org/v5-errors-"+l+" ]"),i.length&&(o+=" ("+i.join(", ")+")");var h=new Error(o);return h.reason=s,h.code=n,Object.keys(E).forEach(function(o){h[o]=E[o]}),h},R.prototype.throwError=function(o,t,n){throw this.makeError(o,t,n)},R.prototype.throwArgumentError=function(o,t,n){return this.throwError(o,R.errors.INVALID_ARGUMENT,{argument:t,value:n})},R.prototype.assert=function(o,t,n,E){o||this.throwError(t,n,E)},R.prototype.assertArgument=function(o,t,n,E){o||this.throwArgumentError(t,n,E)},R.prototype.checkNormalize=function(o){null==o&&(o="platform missing String.prototype.normalize"),l&&this.throwError("platform missing String.prototype.normalize",R.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:l})},R.prototype.checkSafeUint53=function(o,t){"number"==typeof o&&(null==t&&(t="value not safe"),(o<0||o>=9007199254740991)&&this.throwError(t,R.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:o}),o%1&&this.throwError(t,R.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:o}))},R.prototype.checkArgumentCount=function(o,t,n){n=n?": "+n:"",ot&&this.throwError("too many arguments"+n,R.errors.UNEXPECTED_ARGUMENT,{count:o,expectedCount:t})},R.prototype.checkNew=function(o,t){o!==Object&&null!=o||this.throwError("missing new",R.errors.MISSING_NEW,{name:t.name})},R.prototype.checkAbstract=function(o,t){o===t?this.throwError("cannot instantiate abstract class "+JSON.stringify(t.name)+" directly; use a sub-class",R.errors.UNSUPPORTED_OPERATION,{name:o.name,operation:"new"}):o!==Object&&null!=o||this.throwError("missing new",R.errors.MISSING_NEW,{name:t.name})},R.globalLogger=function(){return i||(i=new R(r(d[0]).version)),i},R.setCensorship=function(n,E){if(!n&&E&&this.globalLogger().throwError("cannot permanently disable censorship",R.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),o){if(!n)return;this.globalLogger().throwError("error censorship permanent",R.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}t=!!n,o=!!E},R.setLogLevel=function(o){var t=n[o.toLowerCase()];null!=t?E=t:R.globalLogger().warn("invalid log level - "+o)},R.from=function(o){return new R(o)},R.errors=N,R.levels=s,R})();e.Logger=R},1916,[1917]); __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.version=void 0,e.version="logger/5.8.0"},1917,[]); @@ -2326,13 +2326,13 @@ __d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{ __d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=r(d[0]),t=r(d[1]);e.default=function(){var o=(0,r(d[2]).useNavigation)(),s=(0,r(d[2]).useRoute)().params||{},c=s.address,u=s.network;return(0,n.useEffect)(function(){console.log('\ud83c\udfe0 HomeScreen mounted with params:',{address:c,network:u})},[c,u]),(0,t.jsxs)(r(d[3]).ScrollView,{children:[(0,t.jsx)(r(d[3]).Text,{style:{color:'red'},children:"HomeScreen"}),(0,t.jsx)(r(d[3]).Button,{onPress:function(){return o.navigate('SelectTokens')},children:(0,t.jsx)(r(d[3]).Text,{children:"Send"})})]})}},2053,[128,258,547,794]); __d(function(g,r,i,a,m,e,d){var o=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.NavigationBackButton=void 0;o(r(d[1]));var t=r(d[2]);e.NavigationBackButton=function(){var o=(0,r(d[3]).useNavigation)(),n=(0,r(d[3]).useTheme)();return o.canGoBack()?(0,t.jsx)(r(d[4]).IconButton,{icon:(0,t.jsx)(r(d[5]).ArrowLeft,{color:n.colors.text,size:24,width:24,height:24}),variant:"ghost",size:"medium",onPress:function(){return o.goBack()},ml:10}):null}},2054,[1,128,258,547,794,1140]); __d(function(g,r,i,a,m,e,d){var o=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.NavigationCloseButton=void 0;o(r(d[1]));var t=r(d[2]);e.NavigationCloseButton=function(){var o=(0,r(d[3]).useTheme)();return(0,t.jsx)(r(d[5]).IconButton,{icon:(0,t.jsx)(r(d[6]).X,{color:o.colors.text,size:24,width:24,height:24}),variant:"ghost",size:"medium",onPress:function(){r(d[4]).platform.closeRN()},ml:10})}},2055,[1,128,258,547,2056,794,1140]); -__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.platform=void 0;var n=t(r(d[1])),u=t(r(d[2])),o=t(r(d[3])),l=t(r(d[4])),c=r(d[5]),s=t(r(d[6])),f={debug:'background:#16FF99;color:#000000;padding:0 4px;border-radius:2px;',info:'background:#2563eb;color:#f8fafc;padding:0 4px;border-radius:2px;',warn:'background:#d97706;color:#fff7ed;padding:0 4px;border-radius:2px;',error:'background:#dc2626;color:#fef2f2;padding:0 4px;border-radius:2px;'},y=(function(){return(0,o.default)(function t(){(0,u.default)(this,t),this.debugMode=!1,this.instabugInitialized=!1},[{key:"log",value:function(){var t,n,u,o,c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:'debug',y=arguments.length>1?arguments[1]:void 0;if('debug'!==c||this.debugMode){for(var v=`[FRW-${c.toUpperCase()}]`,h=arguments.length,p=new Array(h>2?h-2:0),k=2;k0?`${y} ${p.join(' ')}`:y,P=`%c${v}`,I=[f[c]];try{var S=p.map(function(t){return'object'==typeof t?JSON.stringify(t):String(t)});s.default.logToNative(c,y,S)}catch(t){}switch(c){case'debug':(t=console).log.apply(t,[P].concat(I,[y],p));break;case'info':(n=console).info.apply(n,[P].concat(I,[y],p));break;case'warn':(u=console).warn.apply(u,[P].concat(I,[y],p));break;case'error':(o=console).error.apply(o,[P].concat(I,[y],p))}if(this.instabugInitialized)try{var w=`${v} ${b}`;switch(c){case'debug':this.debugMode&&l.default.logDebug(w);break;case'info':l.default.logInfo(w);break;case'warn':l.default.logWarn(w);break;case'error':l.default.logError(w)}}catch(t){}}}},{key:"setInstabugInitialized",value:function(t){this.instabugInitialized=t}},{key:"isInstabugInitialized",value:function(){return this.instabugInitialized}},{key:"isDebug",value:function(){return this.debugMode}},{key:"getSelectedAddress",value:function(){return s.default.getSelectedAddress()}},{key:"getDebugAddress",value:function(){return s.default.getDebugAddress()}},{key:"getNetwork",value:function(){return s.default.getNetwork()}},{key:"getJWT",value:function(){return s.default.getJWT()}},{key:"getSelectedAccount",value:function(){return s.default.getSelectedAccount()}},{key:"getCurrentUserUid",value:(w=(0,n.default)(function*(){try{var t,n,u=s.default;if('function'==typeof u.getCurrentUserUid)return null!=(n=yield u.getCurrentUserUid())?n:null;var o=yield this.getJWT();return null!=(t=(0,r(d[8]).extractUidFromJwt)(o))?t:null}catch(t){return this.log('warn','[PlatformImpl] Failed to resolve current user uid',t),null}}),function(){return w.apply(this,arguments)})},{key:"getVersion",value:function(){return s.default.getVersion()}},{key:"getBuildNumber",value:function(){return s.default.getBuildNumber()}},{key:"getLanguage",value:function(){try{var t=s.default.getLanguage();return['en','es','zh','ru','jp'].includes(t)?t:'en'}catch(t){return this.log('warn','[PlatformImpl] Failed to get language from native bridge, falling back to en:',t),'en'}}},{key:"getCurrency",value:function(){return s.default.getCurrency()}},{key:"getMixpanelToken",value:function(){try{return s.default.getEnv().MIXPANEL_TOKEN||''}catch(t){return this.log('warn','[PlatformImpl] Failed to get Mixpanel token from native bridge:',t),''}}},{key:"getSignType",value:function(){return'wallet'}},{key:"getPlatform",value:function(){return'ios'===c.Platform.OS?r(d[9]).Platform.iOS:r(d[9]).Platform.Android}},{key:"getDeviceInfo",value:function(){var t=s.default.getDeviceId(),n='android'===c.Platform.OS?'1':'2';return{device_id:t,name:'android'===c.Platform.OS?`Android ${c.Platform.Version}`:`iOS ${c.Platform.Version}`,type:n,user_agent:`FRW/${this.getVersion()} (${c.Platform.OS} ${c.Platform.Version})`}}},{key:"getApiEndpoint",value:function(){return s.default.getEnv().NODE_API_URL}},{key:"getGoApiEndpoint",value:function(){return s.default.getEnv().GO_API_URL}},{key:"getInstabugToken",value:function(){try{return s.default.getEnv().INSTABUG_TOKEN||''}catch(t){return this.log('warn','[PlatformImpl] Failed to get Instabug token from native bridge:',t),''}}},{key:"storage",value:function(){return r(d[10]).storage}},{key:"cache",value:function(){return r(d[10]).cache}},{key:"sign",value:function(t){return s.default.sign(t)}},{key:"getRecentContacts",value:function(){return s.default.getRecentContacts()}},{key:"getWalletAccounts",value:function(){return s.default.getWalletAccounts()}},{key:"getSignKeyIndex",value:function(){return s.default.getSignKeyIndex()}},{key:"ethSign",value:(S=(0,n.default)(function*(t){if(!(t instanceof Uint8Array))throw new Error('signData must be a Uint8Array');var n,u,o=`0x${n=t,r(d[7]).Buffer.from(n).toString('hex')}`,l=yield s.default.ethSign(o);return u=l,new Uint8Array(r(d[7]).Buffer.from(u.startsWith('0x')?u.slice(2):u,'hex'))}),function(t){return S.apply(this,arguments)})},{key:"scanQRCode",value:function(){return s.default.scanQRCode()}},{key:"createSeedKey",value:function(t){return s.default.createSeedKey(t)}},{key:"saveNewKey",value:function(t){return s.default.saveNewKey(t)}},{key:"removeOldKey",value:function(t,n){return s.default.removeOldKey(t,n)}},{key:"signRotationRequest",value:function(t,n){return s.default.signRotationRequest(t,n)}},{key:"closeRN",value:function(){s.default.closeRN(null)}},{key:"getWalletProfiles",value:function(){return s.default.getWalletProfiles()}},{key:"getRecoverableProfiles",value:function(){return s.default.getRecoverableProfiles()}},{key:"switchToProfile",value:(I=(0,n.default)(function*(t){return s.default.switchToProfile(t)}),function(t){return I.apply(this,arguments)})},{key:"configureCadenceService",value:function(t){var u=this,o=this.getVersion(),l=this.getBuildNumber(),f=this.getNetwork(),y={getSelectedAccount:function(){return u.getSelectedAccount()},getSignKeyIndex:function(){return u.getSignKeyIndex()},sign:function(t){return u.sign(t)},getNetwork:function(){return u.getNetwork()}},v=(0,r(d[11]).createProposer)(y),h=(0,r(d[11]).createPayer)(y),p=(0,r(d[11]).createBridgeAuthorization)(y);t.useRequestInterceptor((function(){var t=(0,n.default)(function*(t){if('transaction'===t.type){var n=c.Platform.OS,u=`// Flow Wallet - ${f} Script - ${t.name} - React Native - ${o}`,s=`// Platform: ${n} - ${o} - ${l}`;t.cadence=u+'\n'+s+'\n\n'+t.cadence}return t});return function(n){return t.apply(this,arguments)}})()),t.useRequestInterceptor((function(){var t=(0,n.default)(function*(t){return'transaction'===t.type&&(t.limit=9999,t.payer=h,t.proposer=v),t});return function(n){return t.apply(this,arguments)}})()),t.useRequestInterceptor((function(){var t=(0,n.default)(function*(t){return'transaction'===t.type&&(t.authorizations=[t.proposer],t.name.endsWith('WithPayer')&&(t.authorizations=[t.proposer,p])),t});return function(n){return t.apply(this,arguments)}})()),t.useResponseInterceptor((function(){var t=(0,n.default)(function*(t,n){return'transaction'===t.type&&(0,r(d[8]).isTransactionId)(n)&&s.default.listenTransaction(n),{config:t,response:n}});return function(n,u){return t.apply(this,arguments)}})())}},{key:"navigation",value:function(){return r(d[12]).reactNativeNavigation}},{key:"showToast",value:function(t,n){var u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:'info',o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:4e3;try{s.default.showToast(t,n,u,o)}catch(t){this.log('error','[PlatformImpl] Failed to show native toast via bridge:',t)}}},{key:"hideToast",value:function(t){try{s.default.hideToast(t)}catch(t){this.log('error','[PlatformImpl] Failed to hide toast via bridge:',t)}}},{key:"clearAllToasts",value:function(){try{s.default.clearAllToasts()}catch(t){this.log('error','[PlatformImpl] Failed to clear toasts via bridge:',t)}}},{key:"registerSecureTypeAccount",value:(P=(0,n.default)(function*(t){try{return yield s.default.registerSecureTypeAccount(t)}catch(t){return this.log('error','[PlatformImpl] Failed to register secure type account via bridge:',t),{success:!1,address:null,username:null,accountType:'hardware',txId:null,error:t instanceof Error?t.message:'Unknown error'}}}),function(t){return P.apply(this,arguments)})},{key:"initSecureEnclaveWallet",value:(b=(0,n.default)(function*(t){try{return yield s.default.initSecureEnclaveWallet(t)}catch(t){return this.log('error','[PlatformImpl] Failed to init secure enclave wallet via bridge:',t),{success:!1,address:null,error:t instanceof Error?t.message:'Unknown error'}}}),function(t){return b.apply(this,arguments)})},{key:"generateSeedPhrase",value:(k=(0,n.default)(function*(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:128;try{return yield s.default.generateSeedPhrase(t)}catch(t){throw this.log('error','[PlatformImpl] Failed to generate seed phrase via bridge:',t),t}}),function(){return k.apply(this,arguments)})},{key:"getV4RegistrationSignatures",value:(p=(0,n.default)(function*(t){try{return yield s.default.getV4RegistrationSignatures(t)}catch(t){throw this.log('error','[PlatformImpl] Failed to get v4 registration signatures:',t),t}}),function(t){return p.apply(this,arguments)})},{key:"saveMnemonic",value:(h=(0,n.default)(function*(t,n,u,o,l){try{yield s.default.saveMnemonic(t,n,u,o,l)}catch(t){throw this.log('error','[PlatformImpl] Failed to save mnemonic and initialize wallet via bridge:',t),t}}),function(t,n,u,o,l){return h.apply(this,arguments)})},{key:"signInWithCustomToken",value:(v=(0,n.default)(function*(t){try{yield s.default.signInWithCustomToken(t)}catch(t){throw this.log('error','[PlatformImpl] Failed to sign in with custom token via bridge:',t),t}}),function(t){return v.apply(this,arguments)})},{key:"requestNotificationPermission",value:(y=(0,n.default)(function*(){try{return yield s.default.requestNotificationPermission()}catch(t){return this.log('error','[PlatformImpl] Failed to request notification permission via bridge:',t),!1}}),function(){return y.apply(this,arguments)})},{key:"checkNotificationPermission",value:(t=(0,n.default)(function*(){try{return yield s.default.checkNotificationPermission()}catch(t){return this.log('error','[PlatformImpl] Failed to check notification permission via bridge:',t),!1}}),function(){return t.apply(this,arguments)})},{key:"setScreenSecurityLevel",value:function(t){try{s.default.setScreenSecurityLevel(t)}catch(t){this.log('error','[PlatformImpl] Failed to set screen security level via bridge:',t)}}},{key:"launchNativeScreen",value:function(t,n){try{this.log('info',`[PlatformImpl] Launching native screen: ${t}`),s.default.launchNativeScreen(t,null!=n?n:null)}catch(n){this.log('error',`[PlatformImpl] Failed to launch native screen '${t}':`,n)}}},{key:"getSafeAreaInsets",value:function(){var t,n,u,o,l=null==r(d[13]).initialWindowMetrics?void 0:r(d[13]).initialWindowMetrics.insets;return{top:null!=(t=null==l?void 0:l.top)?t:0,bottom:null!=(n=null==l?void 0:l.bottom)?n:0,left:null!=(u=null==l?void 0:l.left)?u:0,right:null!=(o=null==l?void 0:l.right)?o:0}}}]);var t,y,v,h,p,k,b,P,I,S,w})();e.platform=new y},2056,[1,367,3,4,498,28,2057,25,2,8,2058,2061,2050,662]); +__d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.platform=void 0;var n=t(r(d[1])),u=t(r(d[2])),o=t(r(d[3])),l=t(r(d[4])),c=r(d[5]),s=t(r(d[6])),f={debug:'background:#16FF99;color:#000000;padding:0 4px;border-radius:2px;',info:'background:#2563eb;color:#f8fafc;padding:0 4px;border-radius:2px;',warn:'background:#d97706;color:#fff7ed;padding:0 4px;border-radius:2px;',error:'background:#dc2626;color:#fef2f2;padding:0 4px;border-radius:2px;'},y=(function(){return(0,o.default)(function t(){(0,u.default)(this,t),this.debugMode=!1,this.instabugInitialized=!1},[{key:"log",value:function(){var t,n,u,o,c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:'debug',y=arguments.length>1?arguments[1]:void 0;if('debug'!==c||this.debugMode){for(var v=`[FRW-${c.toUpperCase()}]`,h=arguments.length,p=new Array(h>2?h-2:0),k=2;k0?`${y} ${p.join(' ')}`:y,P=`%c${v}`,I=[f[c]];try{var S=p.map(function(t){return'object'==typeof t?JSON.stringify(t):String(t)});s.default.logToNative(c,y,S)}catch(t){}switch(c){case'debug':(t=console).log.apply(t,[P].concat(I,[y],p));break;case'info':(n=console).info.apply(n,[P].concat(I,[y],p));break;case'warn':(u=console).warn.apply(u,[P].concat(I,[y],p));break;case'error':(o=console).error.apply(o,[P].concat(I,[y],p))}if(this.instabugInitialized)try{var w=`${v} ${b}`;switch(c){case'debug':this.debugMode&&l.default.logDebug(w);break;case'info':l.default.logInfo(w);break;case'warn':l.default.logWarn(w);break;case'error':l.default.logError(w)}}catch(t){}}}},{key:"setInstabugInitialized",value:function(t){this.instabugInitialized=t}},{key:"isInstabugInitialized",value:function(){return this.instabugInitialized}},{key:"isDebug",value:function(){return this.debugMode}},{key:"getSelectedAddress",value:function(){return s.default.getSelectedAddress()}},{key:"getDebugAddress",value:function(){return s.default.getDebugAddress()}},{key:"getNetwork",value:function(){return s.default.getNetwork()}},{key:"getJWT",value:function(){return s.default.getJWT()}},{key:"getSelectedAccount",value:function(){return s.default.getSelectedAccount()}},{key:"getCurrentUserUid",value:(w=(0,n.default)(function*(){try{var t,n,u=s.default;if('function'==typeof u.getCurrentUserUid)return null!=(n=yield u.getCurrentUserUid())?n:null;var o=yield this.getJWT();return null!=(t=(0,r(d[8]).extractUidFromJwt)(o))?t:null}catch(t){return this.log('warn','[PlatformImpl] Failed to resolve current user uid',t),null}}),function(){return w.apply(this,arguments)})},{key:"getVersion",value:function(){return s.default.getVersion()}},{key:"getBuildNumber",value:function(){return s.default.getBuildNumber()}},{key:"getLanguage",value:function(){try{var t=s.default.getLanguage();return['en','es','zh','ru','jp'].includes(t)?t:'en'}catch(t){return this.log('warn','[PlatformImpl] Failed to get language from native bridge, falling back to en:',t),'en'}}},{key:"getCurrency",value:function(){return s.default.getCurrency()}},{key:"getMixpanelToken",value:function(){try{return s.default.getEnv().MIXPANEL_TOKEN||''}catch(t){return this.log('warn','[PlatformImpl] Failed to get Mixpanel token from native bridge:',t),''}}},{key:"getSignType",value:function(){return'wallet'}},{key:"getPlatform",value:function(){return'ios'===c.Platform.OS?r(d[9]).Platform.iOS:r(d[9]).Platform.Android}},{key:"getDeviceInfo",value:function(){var t=s.default.getDeviceId(),n='android'===c.Platform.OS?'1':'2';return{device_id:t,name:'android'===c.Platform.OS?`Android ${c.Platform.Version}`:`iOS ${c.Platform.Version}`,type:n,user_agent:`FRW/${this.getVersion()} (${c.Platform.OS} ${c.Platform.Version})`}}},{key:"getApiEndpoint",value:function(){return s.default.getEnv().NODE_API_URL}},{key:"getGoApiEndpoint",value:function(){return s.default.getEnv().GO_API_URL}},{key:"getInstabugToken",value:function(){try{return s.default.getEnv().INSTABUG_TOKEN||''}catch(t){return this.log('warn','[PlatformImpl] Failed to get Instabug token from native bridge:',t),''}}},{key:"storage",value:function(){return r(d[10]).storage}},{key:"cache",value:function(){return r(d[10]).cache}},{key:"sign",value:function(t){return s.default.sign(t)}},{key:"getRecentContacts",value:function(){return s.default.getRecentContacts()}},{key:"getWalletAccounts",value:function(){return s.default.getWalletAccounts()}},{key:"getSignKeyIndex",value:function(){return s.default.getSignKeyIndex()}},{key:"ethSign",value:(S=(0,n.default)(function*(t){if(!(t instanceof Uint8Array))throw new Error('signData must be a Uint8Array');var n,u,o=`0x${n=t,r(d[7]).Buffer.from(n).toString('hex')}`,l=yield s.default.ethSign(o);return u=l,new Uint8Array(r(d[7]).Buffer.from(u.startsWith('0x')?u.slice(2):u,'hex'))}),function(t){return S.apply(this,arguments)})},{key:"scanQRCode",value:function(){return s.default.scanQRCode()}},{key:"createSeedKey",value:function(t){return s.default.createSeedKey(t)}},{key:"saveNewKey",value:function(t){return s.default.saveNewKey(t)}},{key:"removeOldKey",value:function(t,n){return s.default.removeOldKey(t,n)}},{key:"signRotationRequest",value:function(t,n){return s.default.signRotationRequest(t,n)}},{key:"closeRN",value:function(){s.default.closeRN(null)}},{key:"getWalletProfiles",value:function(){return s.default.getWalletProfiles()}},{key:"getRecoverableProfiles",value:function(){return s.default.getRecoverableProfiles()}},{key:"switchToProfile",value:(I=(0,n.default)(function*(t){return s.default.switchToProfile(t)}),function(t){return I.apply(this,arguments)})},{key:"configureCadenceService",value:function(t){var u=this,o=this.getVersion(),l=this.getBuildNumber(),f=this.getNetwork(),y={getSelectedAccount:function(){return u.getSelectedAccount()},getSignKeyIndex:function(){return u.getSignKeyIndex()},sign:function(t){return u.sign(t)},getNetwork:function(){return u.getNetwork()}},v=(0,r(d[11]).createProposer)(y),h=(0,r(d[11]).createPayer)(y),p=(0,r(d[11]).createBridgeAuthorization)(y);t.useRequestInterceptor((function(){var t=(0,n.default)(function*(t){if('transaction'===t.type){var n=c.Platform.OS,u=`// Flow Wallet - ${f} Script - ${t.name} - React Native - ${o}`,s=`// Platform: ${n} - ${o} - ${l}`;t.cadence=u+'\n'+s+'\n\n'+t.cadence}return t});return function(n){return t.apply(this,arguments)}})()),t.useRequestInterceptor((function(){var t=(0,n.default)(function*(t){return'transaction'===t.type&&(t.limit=9999,t.payer=h,t.proposer=v),t});return function(n){return t.apply(this,arguments)}})()),t.useRequestInterceptor((function(){var t=(0,n.default)(function*(t){return'transaction'===t.type&&(t.authorizations=[t.proposer],t.name.endsWith('WithPayer')&&(t.authorizations=[t.proposer,p])),t});return function(n){return t.apply(this,arguments)}})()),t.useResponseInterceptor((function(){var t=(0,n.default)(function*(t,n){return'transaction'===t.type&&(0,r(d[8]).isTransactionId)(n)&&s.default.listenTransaction(n),{config:t,response:n}});return function(n,u){return t.apply(this,arguments)}})())}},{key:"navigation",value:function(){return r(d[12]).reactNativeNavigation}},{key:"showToast",value:function(t,n){var u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:'info',o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:4e3;try{s.default.showToast(t,n,u,o)}catch(t){this.log('error','[PlatformImpl] Failed to show native toast via bridge:',t)}}},{key:"hideToast",value:function(t){try{s.default.hideToast(t)}catch(t){this.log('error','[PlatformImpl] Failed to hide toast via bridge:',t)}}},{key:"clearAllToasts",value:function(){try{s.default.clearAllToasts()}catch(t){this.log('error','[PlatformImpl] Failed to clear toasts via bridge:',t)}}},{key:"registerSecureTypeAccount",value:(P=(0,n.default)(function*(t){try{return yield s.default.registerSecureTypeAccount(t)}catch(t){return this.log('error','[PlatformImpl] Failed to register secure type account via bridge:',t),{success:!1,address:null,username:null,accountType:'hardware',txId:null,error:t instanceof Error?t.message:'Unknown error'}}}),function(t){return P.apply(this,arguments)})},{key:"initSecureEnclaveWallet",value:(b=(0,n.default)(function*(t){try{return yield s.default.initSecureEnclaveWallet(t)}catch(t){return this.log('error','[PlatformImpl] Failed to init secure enclave wallet via bridge:',t),{success:!1,address:null,error:t instanceof Error?t.message:'Unknown error'}}}),function(t){return b.apply(this,arguments)})},{key:"generateSeedPhrase",value:(k=(0,n.default)(function*(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:128;try{return yield s.default.generateSeedPhrase(t)}catch(t){throw this.log('error','[PlatformImpl] Failed to generate seed phrase via bridge:',t),t}}),function(){return k.apply(this,arguments)})},{key:"getV4RegistrationSignatures",value:(p=(0,n.default)(function*(t){try{return yield s.default.getV4RegistrationSignatures(t)}catch(t){throw this.log('error','[PlatformImpl] Failed to get v4 registration signatures:',t),t}}),function(t){return p.apply(this,arguments)})},{key:"saveMnemonic",value:(h=(0,n.default)(function*(t,n,u,o,l){try{yield s.default.saveMnemonic(t,n,u,o,l)}catch(t){throw this.log('error','[PlatformImpl] Failed to save mnemonic and initialize wallet via bridge:',t),t}}),function(t,n,u,o,l){return h.apply(this,arguments)})},{key:"signInWithCustomToken",value:(v=(0,n.default)(function*(t){try{yield s.default.signInWithCustomToken(t)}catch(t){throw this.log('error','[PlatformImpl] Failed to sign in with custom token via bridge:',t),t}}),function(t){return v.apply(this,arguments)})},{key:"requestNotificationPermission",value:(y=(0,n.default)(function*(){try{return yield s.default.requestNotificationPermission()}catch(t){return this.log('error','[PlatformImpl] Failed to request notification permission via bridge:',t),!1}}),function(){return y.apply(this,arguments)})},{key:"checkNotificationPermission",value:(t=(0,n.default)(function*(){try{return yield s.default.checkNotificationPermission()}catch(t){return this.log('error','[PlatformImpl] Failed to check notification permission via bridge:',t),!1}}),function(){return t.apply(this,arguments)})},{key:"setScreenSecurityLevel",value:function(t){try{s.default.setScreenSecurityLevel(t)}catch(t){this.log('error','[PlatformImpl] Failed to set screen security level via bridge:',t)}}},{key:"launchNativeScreen",value:function(t,n){try{this.log('info',`[PlatformImpl] Launching native screen: ${t}`),s.default.launchNativeScreen(t,null!=n?n:null)}catch(n){this.log('error',`[PlatformImpl] Failed to launch native screen '${t}':`,n)}}},{key:"getMigrationAssets",value:function(t){return s.default.getMigrationAssets(t)}},{key:"getSafeAreaInsets",value:function(){var t,n,u,o,l=null==r(d[13]).initialWindowMetrics?void 0:r(d[13]).initialWindowMetrics.insets;return{top:null!=(t=null==l?void 0:l.top)?t:0,bottom:null!=(n=null==l?void 0:l.bottom)?n:0,left:null!=(u=null==l?void 0:l.left)?u:0,right:null!=(o=null==l?void 0:l.right)?o:0}}}]);var t,y,v,h,p,k,b,P,I,S,w})();e.platform=new y},2056,[1,367,3,4,498,28,2057,25,2,8,2058,2061,2050,662]); __d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(d[0]);e.default=t.TurboModuleRegistry.getEnforcing('NativeFRWBridge')},2057,[28]); __d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.storage=e.cache=e.asyncStorageAdapter=void 0;var n,u,l,o=t(r(d[1])),c=t(r(d[2]));e.storage=new(r(d[3]).AsyncStorageImpl),e.cache=new(r(d[4]).AsyncStorageCache)('tanquery:'),e.asyncStorageAdapter={setItem:(l=(0,o.default)(function*(t,n){yield c.default.setItem(t,n)}),function(t,n){return l.apply(this,arguments)}),getItem:(u=(0,o.default)(function*(t){var n=yield c.default.getItem(t);return null!=n?n:null}),function(t){return u.apply(this,arguments)}),removeItem:(n=(0,o.default)(function*(t){yield c.default.removeItem(t)}),function(t){return n.apply(this,arguments)})}},2058,[1,367,1856,2059,2060]); __d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.AsyncStorageImpl=void 0;var n=t(r(d[1])),l=t(r(d[2])),u=t(r(d[3])),o=t(r(d[4]));e.AsyncStorageImpl=(function(){return(0,u.default)(function t(){(0,l.default)(this,t),this.VERSION='1.0.0'},[{key:"get",value:(S=(0,n.default)(function*(t){try{var n=yield o.default.getItem(String(t));if(null===n)return;return JSON.parse(n)}catch(n){return void console.warn(`[AsyncStorageImpl] Failed to get key "${String(t)}":`,n)}}),function(t){return S.apply(this,arguments)})},{key:"set",value:(h=(0,n.default)(function*(t,n){try{var l,u=Date.now(),c=yield this.get(t),y=Object.assign({},n,{version:this.VERSION,createdAt:null!=(l=null==c?void 0:c.createdAt)?l:u,updatedAt:u});yield o.default.setItem(String(t),JSON.stringify(y))}catch(n){throw new Error(`Failed to set key "${String(t)}": ${n}`)}}),function(t,n){return h.apply(this,arguments)})},{key:"has",value:(p=(0,n.default)(function*(t){try{return null!==(yield o.default.getItem(String(t)))}catch(n){return console.warn(`[AsyncStorageImpl] Failed to check key "${String(t)}":`,n),!1}}),function(t){return p.apply(this,arguments)})},{key:"delete",value:(f=(0,n.default)(function*(t){try{yield o.default.removeItem(String(t))}catch(n){console.warn(`[AsyncStorageImpl] Failed to delete key "${String(t)}":`,n)}}),function(t){return f.apply(this,arguments)})},{key:"getAllKeys",value:(s=(0,n.default)(function*(){try{return yield o.default.getAllKeys()}catch(t){return console.warn('[AsyncStorageImpl] Failed to get all keys:',t),[]}}),function(){return s.apply(this,arguments)})},{key:"clearAll",value:(y=(0,n.default)(function*(){try{yield o.default.clear()}catch(t){console.warn('[AsyncStorageImpl] Failed to clear all data:',t)}}),function(){return y.apply(this,arguments)})},{key:"recrypt",value:(c=(0,n.default)(function*(t){console.warn('[AsyncStorageImpl] Recrypt operation not supported by AsyncStorage')}),function(t){return c.apply(this,arguments)})},{key:"trim",value:(t=(0,n.default)(function*(){}),function(){return t.apply(this,arguments)})}]);var t,c,y,s,f,p,h,S})()},2059,[1,367,3,4,1856]); __d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.AsyncStorageCache=void 0;var n=t(r(d[1])),l=t(r(d[2])),c=t(r(d[3])),u=t(r(d[4]));e.AsyncStorageCache=(function(){return(0,c.default)(function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:'cache:';(0,l.default)(this,t),this.keyPrefix=n},[{key:"createKey",value:function(t){return`${this.keyPrefix}${t}`}},{key:"isExpired",value:function(t){return!!t.expiresAt&&Date.now()>t.expiresAt}},{key:"get",value:(A=(0,n.default)(function*(t){try{var n=this.createKey(t),l=yield u.default.getItem(n);if(null===l)return null;var c=JSON.parse(l);return this.isExpired(c)?(yield u.default.removeItem(n),null):c.data}catch(n){return console.warn(`[AsyncStorageCache] Failed to get key "${t}":`,n),null}}),function(t){return A.apply(this,arguments)})},{key:"set",value:(k=(0,n.default)(function*(t,n,l){try{var c=Date.now(),y=Object.assign({data:n,createdAt:c},l&&{expiresAt:c+l}),o=this.createKey(t);yield u.default.setItem(o,JSON.stringify(y))}catch(n){throw console.warn(`[AsyncStorageCache] Failed to set key "${t}":`,n),new Error(`Failed to cache key "${t}": ${n}`)}}),function(t,n,l){return k.apply(this,arguments)})},{key:"has",value:(v=(0,n.default)(function*(t){try{var n=this.createKey(t),l=yield u.default.getItem(n);if(null===l)return!1;var c=JSON.parse(l);return!this.isExpired(c)||(yield u.default.removeItem(n),!1)}catch(n){return console.warn(`[AsyncStorageCache] Failed to check key "${t}":`,n),!1}}),function(t){return v.apply(this,arguments)})},{key:"delete",value:(p=(0,n.default)(function*(t){try{var n=this.createKey(t);yield u.default.removeItem(n)}catch(n){console.warn(`[AsyncStorageCache] Failed to delete key "${t}":`,n)}}),function(t){return p.apply(this,arguments)})},{key:"getAllKeys",value:(h=(0,n.default)(function*(){var t=this;try{return(yield u.default.getAllKeys()).filter(function(n){return n.startsWith(t.keyPrefix)}).map(function(n){return n.replace(t.keyPrefix,'')})}catch(t){return console.warn('[AsyncStorageCache] Failed to get all keys:',t),[]}}),function(){return h.apply(this,arguments)})},{key:"getKeysByPrefix",value:(f=(0,n.default)(function*(t){var n=this;try{var l=yield u.default.getAllKeys(),c=this.createKey(t);return l.filter(function(t){return t.startsWith(c)}).map(function(t){return t.replace(n.keyPrefix,'')})}catch(n){return console.warn(`[AsyncStorageCache] Failed to get keys by prefix "${t}":`,n),[]}}),function(t){return f.apply(this,arguments)})},{key:"clear",value:(s=(0,n.default)(function*(){var t=this;try{var n=(yield this.getAllKeys()).map(function(n){return t.createKey(n)});n.length>0&&(yield u.default.multiRemove(n))}catch(t){console.warn('[AsyncStorageCache] Failed to clear cache:',t)}}),function(){return s.apply(this,arguments)})},{key:"clearByPrefix",value:(o=(0,n.default)(function*(t){var n=this;try{var l=(yield this.getKeysByPrefix(t)).map(function(t){return n.createKey(t)});l.length>0&&(yield u.default.multiRemove(l))}catch(n){console.warn(`[AsyncStorageCache] Failed to clear keys by prefix "${t}":`,n)}}),function(t){return o.apply(this,arguments)})},{key:"getStats",value:(y=(0,n.default)(function*(){try{return{keyCount:(yield this.getAllKeys()).length}}catch(t){return console.warn('[AsyncStorageCache] Failed to get cache stats:',t),{keyCount:0}}}),function(){return y.apply(this,arguments)})},{key:"cleanupExpired",value:(t=(0,n.default)(function*(){try{var t=yield this.getAllKeys(),n=0;for(var l of t)null===(yield this.get(l))&&n++;return n}catch(t){return console.warn('[AsyncStorageCache] Failed to cleanup expired entries:',t),0}}),function(){return t.apply(this,arguments)})}]);var t,y,o,s,f,h,p,v,k,A})()},2060,[1,367,3,4,1856]); __d(function(g,r,i,a,m,e,d){var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.createProposer=e.createPayer=e.createBridgeAuthorization=void 0;var n=t(r(d[1])),u=e.createProposer=function(t){return(function(){var u=(0,n.default)(function*(u){var s,c=yield t.getSelectedAccount(),o=c.parentAddress||c.address,y=null!=o&&o.startsWith('0x')?o:`0x${o}`,f=t.getSignKeyIndex();return Object.assign({},u,{tempId:`${y}-${f}`,addr:y.replace('0x',''),keyId:Number(f),signingFunction:(s=(0,n.default)(function*(n){return{addr:y,keyId:Number(f),signature:yield t.sign(n.message)}}),function(t){return s.apply(this,arguments)})})});return function(t){return u.apply(this,arguments)}})()};e.createPayer=function(t){return(function(){var s=(0,n.default)(function*(s){var c,o,y=t.getNetwork(),f=(yield r(d[2]).PayerService.status({network:y})).data;if(f.surge.active)return u(t)(s);var l,p=null!=(c=f.feePayer.address)?c:'0x319e67f2ef9d937f',v=null!=(o=f.feePayer.keyIndex)?o:0;return Object.assign({},s,{tempId:`${p}-${v}`,addr:p.replace('0x',''),keyId:Number(v),signingFunction:(l=(0,n.default)(function*(t){var n=(yield r(d[2]).PayerService.signAsFeePayer({body:{message:{envelopeMessage:t.message},network:y}})).data;return{addr:n.address,keyId:Number(n.keyId),signature:n.sig}}),function(t){return l.apply(this,arguments)})})});return function(t){return s.apply(this,arguments)}})()},e.createBridgeAuthorization=function(t){return(function(){var u=(0,n.default)(function*(u){var s,c='0xc33b4f1884ae1ea4',o=t.getNetwork();return'testnet'===o&&(c='0xb8028ddb6592deec'),Object.assign({},u,{tempId:`${c}-0`,addr:c.replace('0x',''),keyId:Number(0),signingFunction:(s=(0,n.default)(function*(t){var n=(yield r(d[2]).PayerService.signAsBridgePayer({body:{message:{payload:t.message},network:o}})).data;return{addr:n.address,keyId:Number(n.keyId),signature:n.sig}}),function(t){return s.apply(this,arguments)})})});return function(t){return u.apply(this,arguments)}})()}},2061,[1,367,1394]); -__d(function(e,t,n,r,o,i,a){var s=t(a[0]);Object.defineProperty(i,"__esModule",{value:!0}),i.ActivityScreen=function(){var e=(0,t(a[12]).useTranslation)().t,n="extension"===t(a[13]).bridge.getPlatform(),r=t(a[13]).bridge.getSelectedAddress()||"",o=t(a[13]).bridge.getNetwork()||"mainnet",i=(0,t(a[14]).useQuery)(Object.assign({queryKey:t(a[15]).activityQueryKeys.list(r,o,0,50),queryFn:function(){return t(a[15]).activityQueries.fetchActivity(r,o,0,50)},enabled:!!r,staleTime:0,refetchOnWindowFocus:!0,refetchOnReconnect:!0},t(a[16]).retryConfigs.critical)),s=i.data,c=i.isLoading,l=i.error,d=i.refetch,u=i.isRefetching,m=(0,g.useMemo)(function(){var e,n=null!=(e=null==s?void 0:s.items)?e:[];return(0,t(a[15]).groupActivityByDate)(n)},[s]),h=(0,g.useCallback)(function(){t(a[16]).logger.debug("[ActivityScreen] Refreshing activity data"),d()},[d]),v=(0,g.useCallback)(function(e){t(a[16]).logger.debug("[ActivityScreen] Activity item pressed:",e.id)},[]);if(c&&!s)return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bg",children:[n&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:e("activity.title","Activity"),help:!1,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsx)(t(a[17]).ActivitySkeleton,{count:5})]});if(l&&!s)return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bg",children:[n&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:e("activity.title","Activity"),help:!1,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsx)(t(a[17]).RefreshView,{type:"error",title:e("activity.error","Failed to load activity"),message:e("activity.errorMessage","Please try again"),onRefresh:h,refreshText:e("common.retry","Retry")})]});if(0===m.length)return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bg",children:[n&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:e("activity.title","Activity"),help:!1,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsx)(t(a[17]).RefreshView,{type:"empty",title:e("activity.empty","No activity yet"),message:e("activity.emptyMessage","Your transaction history will appear here"),onRefresh:h,refreshText:e("common.refresh","Refresh")})]});return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bg",children:[n&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:e("activity.title","Activity"),help:!1,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsx)(t(a[17]).ScrollView,{flex:1,refreshControl:(0,p.jsx)(f.RefreshControl,{refreshing:u,onRefresh:h}),children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,pb:"$4",children:[!n&&(0,p.jsx)(t(a[17]).XStack,{px:"$4",pt:"$4",pb:"$2",justify:"center",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"700",color:"$text1",children:e("activity.title","Activity")})}),m.map(function(e){return(0,p.jsxs)(t(a[17]).YStack,{children:[(0,p.jsx)(t(a[17]).ActivityGroupHeader,{title:e.date}),(0,p.jsx)(t(a[17]).YStack,{mx:"$4",bg:"$bg1",rounded:"$4",px:"$3",children:e.items.map(function(n,r){return(0,p.jsxs)(t(a[17]).YStack,{children:[(0,p.jsx)(t(a[17]).ActivityCard,{item:n,onPress:function(){return v(n)}}),r0&&T(r[0].uid),t(a[13]).logger.debug("[ConfirmImportProfileScreen] Fetched recoverable profiles:",r.length)}catch(e){t(a[13]).logger.error("[ConfirmImportProfileScreen] Failed to fetch profiles:",e),i([])}finally{f(!1)}});return function(){return e.apply(this,arguments)}})();e()},[]);var k=(function(){var e=(0,d.default)(function*(){if(x){var e=o.find(function(e){return e.uid===x});if(e){t(a[13]).logger.info("[ConfirmImportProfileScreen] Importing profile:",e.name);try{y(!0),yield null==t(a[13]).bridge.switchToProfile?void 0:t(a[13]).bridge.switchToProfile(x),t(a[13]).logger.info("[ConfirmImportProfileScreen] Profile switch successful")}catch(e){t(a[13]).logger.error("[ConfirmImportProfileScreen] Error switching profile:",e)}finally{y(!1)}}else t(a[13]).logger.error("[ConfirmImportProfileScreen] Selected profile not found")}});return function(){return e.apply(this,arguments)}})();return(0,p.jsxs)(t(a[17]).YStack,{flex:1,bg:"$background",children:[(0,p.jsx)(t(a[17]).YStack,{mt:"$8",mb:"$6",px:"$4",items:"center",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$8",fontWeight:"700",color:"$text",text:"center",lineHeight:38,children:e("onboarding.confirmImportProfile.title",{defaultValue:"Confirm which profile to import"})})}),(0,p.jsx)(t(a[17]).YStack,{flex:1,children:(0,p.jsx)(t(a[17]).ProfileImportList,{profiles:o,onAccountPress:function(){},onProfilePress:function(e){t(a[13]).logger.info("[ConfirmImportProfileScreen] Profile selected:",e.name),T(e.uid)},selectedProfileUid:x,isLoading:l,emptyTitle:e("onboarding.confirmImportProfile.emptyTitle",{defaultValue:"No profiles found"}),emptyMessage:e("onboarding.confirmImportProfile.emptyMessage",{defaultValue:"No previous profiles were found on this device"}),isMobile:!0,contentPaddingHorizontal:16})}),(0,p.jsx)(t(a[17]).YStack,{px:"$4",pb:"$6",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,disabled:!x||v,loading:v,onPress:k,children:e("onboarding.confirmImportProfile.importButton",{defaultValue:"Import profile"})})})]})},i.ConfirmRecoveryPhraseScreen=function(){var e,n,r,o,i,s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},l=s.route,f=s.navigation,m=(0,t(a[12]).useTranslation)().t,h=(0,g.useState)({}),v=(0,u.default)(h,2),y=v[0],S=v[1],b=(0,g.useState)(!1),x=(0,u.default)(b,2),T=x[0],k=x[1],F=(0,g.useState)(0),C=(0,u.default)(F,2),j=C[0],N=C[1],$=(null==l||null==(e=l.params)?void 0:e.recoveryPhrase)||[],A=(null==l||null==(n=l.params)?void 0:n.mnemonic)||"",E=null==l||null==(r=l.params)?void 0:r.accountKey;null==l||null==(o=l.params)||o.drivepath;var P=null==l||null==(i=l.params)?void 0:i.evmAddress;(0,g.useEffect)(function(){return t(a[13]).logger.info("[ConfirmRecoveryPhraseScreen] Enabling screenshot protection"),t(a[13]).bridge.setScreenSecurityLevel&&t(a[13]).bridge.setScreenSecurityLevel("secure"),function(){t(a[13]).logger.info("[ConfirmRecoveryPhraseScreen] Disabling screenshot protection"),t(a[13]).bridge.setScreenSecurityLevel&&t(a[13]).bridge.setScreenSecurityLevel("normal")}},[]),(0,g.useLayoutEffect)(function(){f&&"object"==typeof f&&"setOptions"in f&&(T&&f.setOptions({headerLeft:function(){return null},gestureEnabled:!1}))},[T,f]),(0,g.useEffect)(function(){if(f&&"object"==typeof f&&"addListener"in f&&T)return f.addListener("beforeRemove",function(e){e.preventDefault(),t(a[13]).logger.info("[ConfirmRecoveryPhraseScreen] Blocked back navigation during account creation")})},[T,f]);var R=(0,g.useMemo)(function(){if(!$||12!==$.length)return t(a[13]).logger.warn("[ConfirmRecoveryPhraseScreen] Invalid recovery phrase:",{length:(null==$?void 0:$.length)||0}),[];t(a[13]).logger.info("[ConfirmRecoveryPhraseScreen] Generating verification questions from recovery phrase");var e=w(),n=function(e,t){for(var n=new Set([e]),r=t.filter(function(t){return t!==e});n.size<4&&r.length>0;){var o=Math.floor(Math.random()*r.length);n.add(r[o]),r.splice(o,1)}return Array.from(n).sort(function(){return Math.random()-.5})},r=e.map(function(e){return{position:e,options:n($[e-1],$),correctAnswer:$[e-1]}});return t(a[13]).logger.info("[ConfirmRecoveryPhraseScreen] Generated questions:",{count:r.length,positions:r.map(function(e){return e.position})}),r},[$]),B=(function(){var e=(0,d.default)(function*(){var e,n;if(R.every(function(e,t){return y[t]===e.correctAnswer}))try{if(N(0),k(!0),!E||!A)throw new(t(a[18]).FRWError)(t(a[18]).ErrorCode.ACCOUNT_CREATION_MISSING_DATA,"Missing required data. Please regenerate the recovery phrase.",{hasAccountKey:!!E,hasMnemonic:!!A});var r,o,i,s,c,l,d=(0,t(a[16]).generateRandomUsername)();try{if(!t(a[13]).bridge.getV4RegistrationSignatures)throw new Error("getV4RegistrationSignatures not available on bridge");var u=yield t(a[13]).bridge.getV4RegistrationSignatures(A);r=u.flowSignature,o=u.evmSignature,i=u.eoaAddress,t(a[13]).logger.info("[ConfirmRecoveryPhraseScreen] Got v4 registration signatures")}catch(e){throw new(t(a[18]).FRWError)(t(a[18]).ErrorCode.ACCOUNT_REGISTRATION_FAILED,(null==e?void 0:e.message)||"Failed to get registration signatures",{originalError:e})}try{s=yield(0,t(a[19]).profileService)().registerV4({username:d,accountKey:{public_key:E.publicKey,sign_algo:E.signAlgo,hash_algo:E.hashAlgo,weight:E.weight},flowSignature:r,evmSignature:o,eoaAddress:i})}catch(e){throw new(t(a[18]).FRWError)(t(a[18]).ErrorCode.ACCOUNT_REGISTRATION_FAILED,(null==e?void 0:e.message)||"Failed to register account with server",{status:null==e?void 0:e.status,originalError:e})}if(!s.custom_token||!s.id)throw new(t(a[18]).FRWError)(t(a[18]).ErrorCode.ACCOUNT_REGISTRATION_FAILED,"Registration response missing required fields",{hasCustomToken:!!s.custom_token,hasId:!!s.id});try{t(a[13]).bridge.signInWithCustomToken&&(yield t(a[13]).bridge.signInWithCustomToken(s.custom_token))}catch(e){throw new(t(a[18]).FRWError)(t(a[18]).ErrorCode.ACCOUNT_FIREBASE_AUTH_FAILED,"Failed to authenticate with Firebase",{originalError:e})}try{var g=yield(0,t(a[19]).profileService)().createFlowAddressAndWait(function(e){N(e)});l=g.address,c=g.txId,t(a[13]).logger.info("[ConfirmRecoveryPhraseScreen] Flow address created:",{flowAddress:l,txId:c})}catch(e){var p=e;throw new(t(a[18]).FRWError)(t(a[18]).ErrorCode.ACCOUNT_FLOW_ADDRESS_CREATION_FAILED,"Failed to create Flow address on blockchain",{originalError:e,message:null==p?void 0:p.message})}try{t(a[13]).bridge.saveMnemonic&&(yield t(a[13]).bridge.saveMnemonic(A,s.custom_token,c,d,P))}catch(e){throw new(t(a[18]).FRWError)(t(a[18]).ErrorCode.ACCOUNT_MNEMONIC_SAVE_FAILED,"Failed to save recovery phrase securely",{originalError:e})}f.navigate(t(a[18]).ScreenName.NOTIFICATION_PREFERENCES,{accountType:"recovery"})}catch(r){var h=r instanceof t(a[18]).FRWError?r.code:"UNKNOWN";t(a[13]).logger.error("[ConfirmRecoveryPhraseScreen] Account creation failed:",{code:h,message:null==r?void 0:r.message,details:r instanceof t(a[18]).FRWError?r.details:void 0});var v=m("onboarding.confirmRecoveryPhrase.error.generic",{defaultValue:"Failed to create account. Please try again."});if(r instanceof t(a[18]).FRWError)switch(r.code){case t(a[18]).ErrorCode.ACCOUNT_REGISTRATION_FAILED:v=500===(null==(e=r.details)?void 0:e.status)?m("onboarding.confirmRecoveryPhrase.error.server",{defaultValue:"Server error occurred. Please try again later."}):400===(null==(n=r.details)?void 0:n.status)?m("onboarding.confirmRecoveryPhrase.error.validation",{defaultValue:"Invalid account data. Please try again."}):m("onboarding.confirmRecoveryPhrase.error.registration",{defaultValue:"Failed to register account. Please try again."});break;case t(a[18]).ErrorCode.ACCOUNT_FIREBASE_AUTH_FAILED:v=m("onboarding.confirmRecoveryPhrase.error.auth",{defaultValue:"Authentication failed. Please try again."});break;case t(a[18]).ErrorCode.ACCOUNT_MNEMONIC_SAVE_FAILED:v=m("onboarding.confirmRecoveryPhrase.error.save",{defaultValue:"Failed to save recovery phrase. Please try again."});break;case t(a[18]).ErrorCode.ACCOUNT_CREATION_MISSING_DATA:v=r.message;break;case t(a[18]).ErrorCode.ACCOUNT_FLOW_ADDRESS_CREATION_FAILED:v=m("onboarding.confirmRecoveryPhrase.error.flowAddress",{defaultValue:"Failed to create Flow address. Please try again."});break;default:v=r.message||v}else null!=r&&r.message&&(v=r.message);t(a[13]).bridge.showToast&&t(a[13]).bridge.showToast(m("onboarding.confirmRecoveryPhrase.error.title",{defaultValue:"Account Creation Failed"}),v,"error",6e3)}finally{k(!1)}});return function(){return e.apply(this,arguments)}})(),I=R.every(function(e,t){return y[t]===e.correctAnswer});return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[(0,p.jsx)(t(a[17]).ScrollView,{flex:1,showsVerticalScrollIndicator:!1,children:(0,p.jsxs)(t(a[17]).YStack,{px:"$4",pt:"$4",children:[(0,p.jsxs)(t(a[17]).YStack,{items:"center",mb:"$8",gap:"$2",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:30,fontWeight:"700",color:"$text",text:"center",lineHeight:36,children:m("onboarding.confirmRecoveryPhrase.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",text:"center",lineHeight:16,maxW:280,children:m("onboarding.confirmRecoveryPhrase.description")})]}),(0,p.jsx)(t(a[17]).YStack,{gap:"$8",children:R.map(function(e,n){return(0,p.jsx)(t(a[17]).RecoveryPhraseQuestion,{position:e.position,options:e.options,selectedAnswer:y[n],correctAnswer:e.correctAnswer,onSelectWord:(r=n,function(e){S(Object.assign({},y,(0,c.default)({},r,e)))}),questionLabel:m("onboarding.confirmRecoveryPhrase.selectWord",{position:e.position})},n);var r})})]})}),(0,p.jsx)(t(a[17]).YStack,{px:"$4",pb:"$6",children:(0,p.jsx)(t(a[17]).YStack,{width:"100%",height:52,bg:I?"$text":"$bg3",rounded:16,items:"center",justify:"center",borderWidth:1,borderColor:I?"$text":"$bg3",opacity:I?1:.7,pressStyle:{opacity:.9},onPress:I?B:void 0,cursor:I?"pointer":"not-allowed",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"700",color:I?"$bg":"$textSecondary",children:m("onboarding.confirmRecoveryPhrase.finish")})})})]})}),(0,p.jsx)(t(a[17]).AccountCreationLoadingState,{visible:T,title:m("onboarding.confirmRecoveryPhrase.creating.title"),statusText:m("onboarding.confirmRecoveryPhrase.creating.configuring"),progress:j})]})},i.GenericErrorFallback=i.CriticalErrorFallback=void 0,i.GetStartedScreen=function(){var e=(0,t(a[12]).useTranslation)().t,n=(function(){var e=(0,d.default)(function*(){try{(yield f.Linking.canOpenURL(x))?yield f.Linking.openURL(x):t(a[13]).logger.warn("Cannot open terms of service URL")}catch(e){t(a[13]).logger.error("Failed to open terms of service:",e)}});return function(){return e.apply(this,arguments)}})(),r=(function(){var e=(0,d.default)(function*(){try{(yield f.Linking.canOpenURL(T))?yield f.Linking.openURL(T):t(a[13]).logger.warn("Cannot open privacy policy URL")}catch(e){t(a[13]).logger.error("Failed to open privacy policy:",e)}});return function(){return e.apply(this,arguments)}})();return(0,p.jsx)(t(a[17]).OnboardingBackground,{variant:"getStarted",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[(0,p.jsx)(t(a[17]).ScrollView,{flex:1,showsVerticalScrollIndicator:!1,contentContainerStyle:{flexGrow:1},children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,paddingHorizontal:"$4",children:[(0,p.jsx)(t(a[17]).YStack,{flex:1}),(0,p.jsx)(t(a[17]).YStack,{alignItems:"center",gap:"$4",children:(0,p.jsx)(t(a[17]).OnboardingHeader,{title:e("onboarding.getStarted.title"),subtitle:e("onboarding.getStarted.subtitle"),logoText:e("onboarding.flowWallet")})}),(0,p.jsx)(t(a[17]).YStack,{flex:2})]})}),(0,p.jsxs)(t(a[17]).YStack,{paddingHorizontal:"$4",paddingBottom:"$6",gap:"$3",children:[(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,onPress:function(){t(a[13]).navigation.navigate(t(a[18]).ScreenName.PROFILE_TYPE_SELECTION)},children:e("onboarding.getStarted.createAccount")}),(0,p.jsx)(t(a[17]).Button,{variant:"outline",size:"large",fullWidth:!0,onPress:function(){t(a[13]).navigation.navigate(t(a[18]).ScreenName.IMPORT_PROFILE)},children:e("onboarding.getStarted.signIn")}),(0,p.jsx)(t(a[17]).YStack,{marginTop:"$2",alignItems:"center",paddingHorizontal:"$4",children:(0,p.jsxs)(t(a[17]).Text,{fontSize:"$3",color:"$textSecondary",lineHeight:17,textAlign:"center",children:[e("onboarding.getStarted.agreementText")," ",(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",color:"$textSecondary",lineHeight:17,textDecorationLine:"underline",onPress:n,cursor:"pointer",pressStyle:{opacity:.7},children:e("onboarding.getStarted.termsOfService")})," ",e("onboarding.getStarted.and")," ",(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",color:"$textSecondary",lineHeight:17,textDecorationLine:"underline",onPress:r,cursor:"pointer",pressStyle:{opacity:.7},children:e("onboarding.getStarted.privacyPolicy")})]})})]})]})})},i.ImportOtherMethodsScreen=function(){var e=(0,t(a[12]).useTranslation)().t,n=(0,t(a[17]).useTheme)();return(0,p.jsx)(t(a[17]).YStack,{flex:1,bg:"$background",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,px:"$4",pt:"$4",children:[(0,p.jsx)(t(a[17]).YStack,{mt:"$8",mb:"$6",items:"center",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$8",fontWeight:"700",color:"$text",text:"center",lineHeight:38,children:e("onboarding.importOtherMethods.title")})}),(0,p.jsxs)(t(a[17]).YStack,{gap:"$3",pt:"$4",children:[(0,p.jsx)(t(a[17]).ImportOptionCard,{icon:(0,p.jsx)(t(a[22]).Pocket,{size:28,color:n.primary.val}),title:e("onboarding.importOtherMethods.keyStore.title"),subtitle:e("onboarding.importOtherMethods.keyStore.subtitle"),onPress:function(){t(a[13]).logger.info("[ImportOtherMethodsScreen] Key store selected"),null==t(a[13]).bridge.launchNativeScreen||t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.KEY_STORE_RESTORE)}}),(0,p.jsx)(t(a[17]).ImportOptionCard,{icon:(0,p.jsx)(t(a[22]).Key,{size:28,color:n.primary.val}),title:e("onboarding.importOtherMethods.privateKey.title"),subtitle:e("onboarding.importOtherMethods.privateKey.subtitle"),onPress:function(){t(a[13]).logger.info("[ImportOtherMethodsScreen] Private key selected"),null==t(a[13]).bridge.launchNativeScreen||t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.PRIVATE_KEY_RESTORE)}}),(0,p.jsx)(t(a[17]).ImportOptionCard,{icon:(0,p.jsx)(t(a[22]).GoogleDrive,{size:28,color:n.primary.val}),title:e("onboarding.importOtherMethods.googleDrive.title"),subtitle:e("onboarding.importOtherMethods.googleDrive.subtitle"),onPress:function(){t(a[13]).logger.info("[ImportOtherMethodsScreen] Google Drive selected"),null==t(a[13]).bridge.launchNativeScreen||t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.GOOGLE_DRIVE_RESTORE)}}),"ios"===f.Platform.OS&&(0,p.jsx)(t(a[17]).ImportOptionCard,{icon:(0,p.jsx)(t(a[22]).Icloud,{size:28,color:n.primary.val}),title:e("onboarding.importOtherMethods.iCloud.title"),subtitle:e("onboarding.importOtherMethods.iCloud.subtitle"),onPress:function(){t(a[13]).logger.info("[ImportOtherMethodsScreen] iCloud selected"),null==t(a[13]).bridge.launchNativeScreen||t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.ICLOUD_RESTORE)}})]}),(0,p.jsx)(t(a[17]).YStack,{flex:1})]})})},i.ImportProfileScreen=function(){var e=(0,t(a[12]).useTranslation)().t,n=(0,t(a[17]).useTheme)(),r=(0,g.useState)([]),o=(0,u.default)(r,2),i=o[0],s=o[1],c=(0,g.useState)(!0),l=(0,u.default)(c,2),f=l[0],m=l[1];(0,g.useEffect)(function(){var e=(function(){var e=(0,d.default)(function*(){try{var e,n,r;m(!0);var o=yield null==t(a[13]).bridge.getRecoverableProfiles?void 0:t(a[13]).bridge.getRecoverableProfiles();s(null!=(e=null==o?void 0:o.profiles)?e:[]),t(a[13]).logger.debug("[ImportProfileScreen] Fetched recoverable profiles:",null!=(n=null==o||null==(r=o.profiles)?void 0:r.length)?n:0)}catch(e){t(a[13]).logger.error("[ImportProfileScreen] Failed to fetch recoverable profiles:",e),s([])}finally{m(!1)}});return function(){return e.apply(this,arguments)}})();e()},[]);return(0,p.jsx)(t(a[17]).YStack,{flex:1,bg:"$background",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,px:"$4",pt:"$4",children:[(0,p.jsxs)(t(a[17]).YStack,{mt:"$8",mb:"$6",gap:"$3",items:"center",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$8",fontWeight:"700",color:"$text",text:"center",lineHeight:29,children:e("onboarding.importProfile.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:14,color:"$textSecondary",text:"center",lineHeight:17,children:e("onboarding.importProfile.subtitle")})]}),(0,p.jsxs)(t(a[17]).YStack,{gap:"$3",pt:"$4",children:[f&&(0,p.jsx)(t(a[17]).YStack,{bg:"$bg2",rounded:"$4",p:"$4",gap:"$2",children:(0,p.jsxs)(t(a[17]).XStack,{items:"center",gap:"$3",children:[(0,p.jsx)(t(a[17]).Skeleton,{width:"$7",height:"$7",borderRadius:"$2",animationType:"pulse"}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,gap:"$2",children:[(0,p.jsx)(t(a[17]).Skeleton,{height:"$3",width:"50%",borderRadius:"$1",animationType:"pulse"}),(0,p.jsx)(t(a[17]).Skeleton,{height:"$2.5",width:"70%",borderRadius:"$1",animationType:"pulse"})]}),(0,p.jsx)(t(a[17]).Skeleton,{width:"$6",height:"$6",borderRadius:"$10",animationType:"pulse"})]})}),!f&&i.length>0&&(0,p.jsx)(t(a[17]).ImportOptionCard,{layout:"vertical",icon:(0,p.jsx)(t(a[22]).UserRoundPlus,{size:28,color:n.primary.val}),title:e("onboarding.importProfile.previousProfiles.title"),subtitle:e("onboarding.importProfile.previousProfiles.subtitle",{count:i.length}),badge:String(i.length),onPress:function(){t(a[13]).logger.info("[ImportProfileScreen] Previous profiles selected"),t(a[13]).navigation.navigate(t(a[18]).ScreenName.CONFIRM_IMPORT_PROFILE)}}),(0,p.jsx)(t(a[17]).ImportOptionCard,{layout:"vertical",icon:(0,p.jsx)(t(a[22]).Smartphone,{size:28,color:n.primary.val}),title:e("onboarding.importProfile.deviceBackup.title"),subtitle:e("onboarding.importProfile.deviceBackup.subtitle"),onPress:function(){t(a[13]).logger.info("[ImportProfileScreen] Device backup selected"),null==t(a[13]).bridge.launchNativeScreen||t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.DEVICE_BACKUP)}}),(0,p.jsx)(t(a[17]).ImportOptionCard,{layout:"vertical",icon:(0,p.jsx)(t(a[22]).UploadCloud,{size:28,color:n.primary.val}),title:e("onboarding.importProfile.cloudBackup.title"),subtitle:e("onboarding.importProfile.cloudBackup.subtitle"),onPress:function(){t(a[13]).logger.info("[ImportProfileScreen] Cloud backup selected"),null==t(a[13]).bridge.launchNativeScreen||t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.MULTI_RESTORE)}}),(0,p.jsx)(t(a[17]).ImportOptionCard,{layout:"vertical",icon:(0,p.jsx)(t(a[22]).FileText,{size:28,color:n.primary.val}),title:e("onboarding.importProfile.recoveryPhrase.title"),subtitle:e("onboarding.importProfile.recoveryPhrase.subtitle"),onPress:function(){t(a[13]).logger.info("[ImportProfileScreen] Recovery phrase selected"),null==t(a[13]).bridge.launchNativeScreen||t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.RECOVERY_PHRASE_RESTORE)}}),(0,p.jsx)(t(a[17]).ImportOptionCard,{title:e("onboarding.importProfile.anotherMethod.title"),subtitle:e("onboarding.importProfile.anotherMethod.subtitle"),onPress:function(){t(a[13]).logger.info("[ImportProfileScreen] Another method selected"),t(a[13]).navigation.navigate(t(a[18]).ScreenName.IMPORT_OTHER_METHODS)}})]}),(0,p.jsx)(t(a[17]).YStack,{flex:1})]})})},i.InfoScreen=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.onStartMigration,r=(0,t(a[12]).useTranslation)().t,o=(0,g.useState)(!1),i=(0,u.default)(o,2),s=i[0],c=i[1],l=function(e){var n=e.label,r=e.bg,o=e.color,i=e.width,s=e.mr;return(0,p.jsx)(t(a[17]).XStack,{bg:r,rounded:16,px:4,height:16,items:"center",justify:"center",style:{width:i,marginRight:s},children:(0,p.jsx)(t(a[17]).Text,{fontSize:8,fontWeight:"500",color:o,style:{lineHeight:"normal",whiteSpace:"nowrap"},children:n})})},f=function(){return(0,p.jsxs)(t(a[17]).XStack,{items:"center",style:{paddingRight:10},children:[(0,p.jsx)(l,{label:"EVM",bg:"#627EEA",color:"#FFFFFF",width:34,mr:-8}),(0,p.jsx)(l,{label:"FLOW",bg:"#00EF8B",color:"#000000",width:31,mr:-8})]})},m=(function(){var e=(0,d.default)(function*(){t(a[13]).logger.info("[InfoScreen] Start migration pressed"),c(!0);try{n&&(yield n())}finally{c(!1)}});return function(){return e.apply(this,arguments)}})(),h=(0,p.jsx)(t(a[22]).LockMigrate,{size:20,color:"#00EF8B"}),v=(0,p.jsx)(t(a[22]).Link,{size:20,color:"#00EF8B"}),y=(0,p.jsx)(t(a[22]).Settings,{size:20,color:"#00EF8B"}),S=(0,p.jsx)(t(a[22]).Zap,{size:20,color:"#00EF8B"}),b=g.default.createElement(t(a[22]).MigrateIllustrate,{width:132.3,height:169.233,theme:"multicolor"}),x=g.default.createElement(t(a[22]).GreenCircleBlur,{width:340,height:340,theme:"multicolor"}),T=g.default.createElement(t(a[22]).TealCircleBlur,{width:300,height:300,theme:"multicolor"});return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,gap:"$8",items:"center",pt:"$6",children:[(0,p.jsxs)(t(a[17]).YStack,{gap:"$10",items:"center",width:"100%",children:[(0,p.jsx)(t(a[17]).YStack,{items:"center",width:315,children:(0,p.jsx)(t(a[17]).Text,{fontSize:30,fontWeight:"700",lineHeight:36,color:"$text",style:{textAlign:"center"},children:r("migration.info.title")})}),(0,p.jsxs)(t(a[17]).YStack,{width:132.3,height:169.233,items:"center",justify:"center",position:"relative",children:[(0,p.jsx)(t(a[17]).YStack,{position:"absolute",t:-150,l:-210,opacity:.9,pointerEvents:"none",z:0,children:x}),(0,p.jsx)(t(a[17]).YStack,{position:"absolute",t:-110,r:-190,opacity:.7,pointerEvents:"none",z:0,children:T}),(0,p.jsx)(t(a[17]).YStack,{z:1,children:b})]}),(0,p.jsxs)(t(a[17]).YStack,{items:"center",width:"100%",gap:"$1",children:[(0,p.jsxs)(t(a[17]).XStack,{items:"center",justify:"center",gap:"$2",width:"100%",style:{flexWrap:"wrap",maxWidth:315},children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"400",lineHeight:16.8,color:"$text",style:{textAlign:"center"},children:r("migration.info.descriptionLine1Prefix")}),(0,p.jsx)(f,{}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"400",lineHeight:16.8,color:"$text",style:{textAlign:"center"},children:r("migration.info.descriptionLine1To")}),(0,p.jsx)(l,{label:"EVM",bg:"#627EEA",color:"#FFFFFF",width:34})]}),(0,p.jsx)(t(a[17]).YStack,{items:"center",width:"100%",style:{maxWidth:315},children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"400",lineHeight:16.8,color:"$text",style:{textAlign:"center"},children:r("migration.info.descriptionLine2")})})]}),(0,p.jsxs)(t(a[17]).YStack,{gap:"$4",items:"center",p:"$4",rounded:"$4",bg:"$bg2",width:"100%",children:[(0,p.jsx)(t(a[17]).YStack,{items:"center",width:"100%",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"600",color:"$text",width:"100%",children:r("migration.info.whatDoesThisMean")})}),(0,p.jsxs)(t(a[17]).YStack,{width:"100%",items:"flex-start",children:[(0,p.jsx)(t(a[17]).MigrationFeatureItem,{icon:h,description:r("migration.info.features.control")}),(0,p.jsx)(t(a[17]).MigrationFeatureItem,{icon:v,description:r("migration.info.features.security")}),(0,p.jsx)(t(a[17]).MigrationFeatureItem,{icon:y,description:r("migration.info.features.compatibility")}),(0,p.jsx)(t(a[17]).MigrationFeatureItem,{icon:S,description:r("migration.info.features.performance"),isLast:!0})]})]}),(0,p.jsx)(t(a[17]).MigrationInfoBanner,{title:r("migration.info.note.title"),description:r("migration.info.note.description")})]}),(0,p.jsxs)(t(a[17]).YStack,{gap:"$3",items:"center",width:"100%",style:{maxWidth:338},children:[(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,onPress:m,disabled:s,children:s?(0,p.jsx)(t(a[17]).Spinner,{size:"small",color:"$background"}):r("migration.info.startMigration")}),(0,p.jsx)(t(a[17]).YStack,{items:"center",width:"100%",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"400",color:"$textSecondary",onPress:function(){t(a[13]).logger.info("[InfoScreen] Cancel pressed"),t(a[13]).navigation.goBack()},cursor:"pointer",pressStyle:{opacity:.7},children:r("common.cancel")})})]})]})})},i.KeyRotationMnemonicScreen=function(e){var n=e.newKeyInfo,r=e.address,o=e.onComplete,i=e.onBack,s=e.onError,c=(0,t(a[12]).useTranslation)().t,l=(0,t(a[17]).useTheme)(),f=j(),m=f.copied,h=f.copy,v=$(),y=v.executeRotation,S=v.isLoading,b=v.error,x=(0,g.useState)(!1),T=(0,u.default)(x,2),k=T[0],w=T[1],F=A((null==n?void 0:n.seedphrase)||""),C=12===F.length||24===F.length;if((0,g.useEffect)(function(){return t(a[13]).logger.info("[KeyRotationMnemonicScreen] Enabling screenshot protection"),t(a[13]).bridge.setScreenSecurityLevel&&t(a[13]).bridge.setScreenSecurityLevel("secure"),function(){t(a[13]).logger.info("[KeyRotationMnemonicScreen] Disabling screenshot protection"),t(a[13]).bridge.setScreenSecurityLevel&&t(a[13]).bridge.setScreenSecurityLevel("normal")}},[]),(0,g.useEffect)(function(){b&&s&&s(b)},[b,s]),!C)return(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$4",gap:"$4",children:[(0,p.jsx)(t(a[17]).Text,{color:"$error",text:"center",fontSize:"$5",fontWeight:"700",children:c("keyrotation.mnemonic.error.title",{defaultValue:"Invalid Recovery Phrase"})}),(0,p.jsx)(t(a[17]).Text,{color:"$textSecondary",text:"center",fontSize:"$4",children:c("keyrotation.mnemonic.error.description",{defaultValue:"The recovery phrase is missing or invalid. Please try again."})}),(0,p.jsx)(t(a[17]).Button,{onPress:function(){return i?i():t(a[13]).navigation.goBack()},children:(0,p.jsx)(t(a[17]).XStack,{gap:"$2",items:"center",px:"$4",py:"$2",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"600",children:c("common.goBack",{defaultValue:"Go Back"})})})})]})});var N=(function(){var e=(0,d.default)(function*(){t(a[13]).logger.info("[KeyRotationMnemonicScreen] User confirmed backup, starting key rotation",{address:r});var e=yield y(r,n);e&&(t(a[13]).logger.info("[KeyRotationMnemonicScreen] Key rotation successful",{txId:e.txId}),o(e))});return function(){return e.apply(this,arguments)}})(),E=S?c("keyrotation.mnemonic.upgrading",{defaultValue:"Upgrading account..."}):c("keyrotation.tip.start",{defaultValue:"Start"});return(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsx)(t(a[17]).ScrollView,{children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,px:"$4",children:[(0,p.jsxs)(t(a[17]).YStack,{items:"center",mb:"$6",gap:"$2",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$8",fontWeight:"700",color:"$text",text:"center",lineHeight:"$8",children:c("keyrotation.mnemonic.title",{defaultValue:"Recovery phrase"})}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",text:"center",lineHeight:"$4",maxW:280,children:c("keyrotation.mnemonic.description",{defaultValue:"Write down these words in the right order and store them somewhere safe."})})]}),(0,p.jsx)(t(a[17]).MnemonicGrid,{words:F,isRevealed:k,onReveal:function(){w(!0)},revealLabel:c("keyrotation.mnemonic.clickToReveal",{defaultValue:"Click to reveal phrase"})}),(0,p.jsx)(t(a[17]).XStack,{justify:"center",mb:"$4",children:(0,p.jsx)(t(a[17]).Button,{variant:"ghost",onPress:function(){h(F.join(" "))},disabled:S,children:(0,p.jsxs)(t(a[17]).XStack,{gap:"$3",items:"center",children:[(0,p.jsx)(t(a[22]).Copy,{size:24,color:l.primary.val}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"700",style:{color:l.primary.val},children:m?c("messages.copied"):c("keyrotation.mnemonic.copy",{defaultValue:"Copy"})})]})})}),(0,p.jsx)(t(a[17]).WarningCard,{icon:(0,p.jsx)(t(a[22]).Warning,{size:24,color:l.iconGlass.val}),title:c("keyrotation.mnemonic.warning.title",{defaultValue:"Do not share your recovery phrase!"}),description:c("keyrotation.mnemonic.warning.description",{defaultValue:"If someone has your recovery phrase, They will have full control of your wallet."})}),b&&(0,p.jsx)(t(a[17]).YStack,{p:"$3",rounded:"$4",bg:"$error10",mt:"$4",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",color:"$error",text:"center",children:b})}),(0,p.jsx)(t(a[17]).YStack,{flex:1}),(0,p.jsx)(t(a[17]).YStack,{pb:"$6",pt:"$4",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,disabled:!k||S,onPress:N,children:S?(0,p.jsxs)(t(a[17]).XStack,{gap:"$2",items:"center",children:[(0,p.jsx)(t(a[17]).Spinner,{size:"small",color:"$background"}),(0,p.jsx)(t(a[17]).Text,{color:"$background",fontWeight:"600",children:E})]}):E})})]})})})},i.KeyRotationTipScreen=function(e){var n=e.onContinue,r=e.onSkip,o=(e.onBack,(0,t(a[12]).useTranslation)().t),i=(0,t(a[17]).useTheme)(),s=$(),c=s.generateSeedKey,l=s.isLoading,u=s.error,g=(function(){var e=(0,d.default)(function*(){t(a[13]).logger.info("[KeyRotationTipScreen] User pressed Start, generating seed key");var e=yield c();e&&(t(a[13]).logger.info("[KeyRotationTipScreen] Seed key generated, navigating to mnemonic screen"),n(e))});return function(){return e.apply(this,arguments)}})();return(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsx)(t(a[17]).ScrollView,{children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,px:"$4",children:[(0,p.jsx)(t(a[17]).YStack,{items:"center",mb:"$4",gap:"$2",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$8",fontWeight:"700",color:"$text",text:"center",lineHeight:"$8",children:o("keyrotation.tip.title",{defaultValue:"Upgrade\nyour account"})})}),(0,p.jsx)(t(a[17]).YStack,{items:"center",mb:"$4",children:(0,p.jsx)(t(a[17]).ShieldAnimation,{width:200,height:180,autoPlay:!0,loop:!0})}),(0,p.jsx)(t(a[17]).YStack,{items:"center",mb:"$6",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$text",text:"center",maxW:320,children:o("keyrotation.tip.description",{defaultValue:"Flow Wallet needs to upgrade the security of your account to remove your previous Blocto keys"})})}),(0,p.jsx)(t(a[17]).YStack,{items:"center",mb:"$4",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$5",fontWeight:"700",color:"$text",children:o("keyrotation.tip.sectionTitle",{defaultValue:"What does this mean?"})})}),(0,p.jsx)(t(a[17]).View,{height:1,bg:"$borderGlass"}),(0,p.jsxs)(t(a[17]).YStack,{mb:"$4",children:[(0,p.jsx)(t(a[17]).TipCard,{icon:(0,p.jsx)(t(a[22]).LockBackup,{size:20,color:i.primary.val}),title:o("keyrotation.tip.fullControl.title",{defaultValue:"You'll have full control over your accounts and keys."}),showSeparator:!0}),(0,p.jsx)(t(a[17]).TipCard,{icon:(0,p.jsx)(t(a[22]).LinkBackup,{size:20,color:i.primary.val}),title:o("keyrotation.tip.newKey.title",{defaultValue:"We'll create a new key to secure your account, removing Blocto's access."}),showSeparator:!0}),(0,p.jsx)(t(a[17]).TipCard,{icon:(0,p.jsx)(t(a[22]).Settings,{size:20,color:i.primary.val}),title:o("keyrotation.tip.newPhrase.title",{defaultValue:"We'll create a new recovery phrase which will secure your account going forward."}),showSeparator:!0})]}),(0,p.jsx)(t(a[17]).YStack,{p:"$4",rounded:"$4",borderWidth:1,borderColor:"$primary",bg:"$primary10",mb:"$6",children:(0,p.jsxs)(t(a[17]).Text,{fontSize:"$3",color:"$text",lineHeight:18,children:[(0,p.jsx)(t(a[17]).Text,{fontWeight:"700",color:"$text",children:o("keyrotation.tip.warning.prefix",{defaultValue:"Please note: "})}),o("keyrotation.tip.warning.bloctoDescription",{defaultValue:"After this process completes, your recovery kit from Blocto will no longer secure access to your account. This is for your protection now that Blocto has ceased operations."})]})}),u&&(0,p.jsx)(t(a[17]).YStack,{p:"$3",rounded:"$4",bg:"$error10",mb:"$4",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",color:"$error",text:"center",children:u})}),(0,p.jsx)(t(a[17]).YStack,{flex:1}),(0,p.jsx)(t(a[17]).YStack,{pb:"$2",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,onPress:g,disabled:l,children:l?(0,p.jsx)(t(a[17]).Spinner,{size:"small",color:"$background"}):o("keyrotation.tip.start",{defaultValue:"Start"})})}),r&&!l&&(0,p.jsx)(t(a[17]).YStack,{items:"center",pb:"$6",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",onPress:function(){r&&r()},cursor:"pointer",pressStyle:{opacity:.7},children:o("keyrotation.tip.notNow",{defaultValue:"Not now"})})})]})})})},i.MigrationScreen=function(e){var n,r,o,i,s,c,l,f,m,h=e.initialStage,v=void 0===h?"ready":h,y=e.sourceAccount,S=e.destinationAccount,b=e.assets,x=(e.failedAssets,(0,t(a[12]).useTranslation)().t),T="extension"===t(a[13]).bridge.getPlatform(),k=(0,g.useState)(v),w=(0,u.default)(k,2),F=w[0],C=w[1],j=(0,g.useState)(0),N=(0,u.default)(j,2),$=N[0],A=N[1],E=(0,g.useState)(!1),P=(0,u.default)(E,2),R=P[0],B=P[1],I=(0,g.useState)(!1),M=(0,u.default)(I,2),W=M[0],O=M[1],L=(0,g.useState)(null),D=(0,u.default)(L,2),Y=D[0],z=D[1],V=(0,g.useState)(null),Q=(0,u.default)(V,2),_=(Q[0],Q[1]);(0,g.useEffect)(function(){"in-progress"!==v||"in-progress"!==F||W||C("ready")},[]);var K=(0,t(a[14]).useQuery)({queryKey:["migration","selectedAccount"],queryFn:(ne=(0,d.default)(function*(){try{return yield t(a[13]).bridge.getSelectedAccount()}catch(e){return t(a[13]).logger.warn("[MigrationScreen] Failed to load selected account",e),null}}),function(){return ne.apply(this,arguments)}),staleTime:1e4,retry:1}),q=K.data,U=(0,t(a[14]).useQuery)({queryKey:["migration","walletProfiles"],queryFn:(te=(0,d.default)(function*(){try{return yield t(a[13]).bridge.getWalletProfiles()}catch(e){return t(a[13]).logger.warn("[MigrationScreen] Failed to load wallet profiles",e),null}}),function(){return te.apply(this,arguments)}),staleTime:1e4,retry:1}),G=U.data,H=(0,g.useMemo)(function(){var e,t,n,r,o,i,a,s,c;if(y||S){var l,d,u,g,f,p,m=y?{id:y.address,name:y.name,address:y.address,avatar:y.avatar,type:"evm",balance:"0",nfts:"0",isActive:!0}:null,h=S?{id:S.address,name:S.name,address:S.address,avatar:S.avatar,type:"eoa",balance:"0",nfts:"0",isActive:!0}:null;return{resolvedSourceAccount:{name:null!=(l=null==y?void 0:y.name)?l:"COA",address:null!=(d=null==y?void 0:y.address)?d:"",avatar:null==y?void 0:y.avatar,badges:null!=(u=null==y?void 0:y.badges)?u:["EVM","FLOW"]},resolvedDestinationAccount:{name:null!=(g=null==S?void 0:S.name)?g:"EOA",address:null!=(f=null==S?void 0:S.address)?f:"",avatar:null==S?void 0:S.avatar,badges:null!=(p=null==S?void 0:S.badges)?p:["EVM"]},resolvedSourceWalletAccount:m,resolvedDestWalletAccount:h}}var v=(null==q?void 0:q.parentAddress)||(null==q?void 0:q.address)||"",b=null!=(e=null==G||null==(t=G.profiles)?void 0:t.find(function(e){var t;return null==(t=e.accounts)?void 0:t.some(function(e){return e.address===v})}))?e:null==G||null==(n=G.profiles)?void 0:n[0],x=null!=(r=null==b?void 0:b.accounts)?r:[],T=x.find(function(e){return"evm"===e.type}),k=x.find(function(e){return"eoa"===e.type}),w=x.find(function(e){return"main"===e.type}),F=null!=(o=null!=T?T:"evm"===(null==q?void 0:q.type)?q:null)?o:w,C=null!=k?k:null;return{resolvedSourceAccount:{name:null!=(i=null==F?void 0:F.name)?i:"COA",address:null!=(a=null==F?void 0:F.address)?a:"",avatar:null==F?void 0:F.avatar,badges:["EVM","FLOW"]},resolvedDestinationAccount:{name:null!=(s=null==C?void 0:C.name)?s:"EOA",address:null!=(c=null==C?void 0:C.address)?c:"",avatar:null==C?void 0:C.avatar,badges:["EVM"]},resolvedSourceWalletAccount:F,resolvedDestWalletAccount:C}},[S,q,y,null==G?void 0:G.profiles]),X=H.resolvedSourceAccount,Z=H.resolvedDestinationAccount,J=H.resolvedSourceWalletAccount,ee=H.resolvedDestWalletAccount;var te;var ne;(0,g.useEffect)(function(){"in-progress"===F?B(!0):(B(!1),A(0))},[F,W]);var re=(0,g.useCallback)((0,d.default)(function*(){var e,n,r;if(t(a[13]).logger.info("[MigrationScreen] Start button pressed"),b&&(null!=(e=b.erc20)&&e.length||null!=(n=b.erc721)&&n.length||null!=(r=b.erc1155)&&r.length)){if(!X.address||!Z.address)return t(a[13]).logger.error("[MigrationScreen] Missing source or destination address"),void z(new Error("Missing account addresses"));C("in-progress"),O(!0),A(0),z(null),_(Date.now());try{var o=(0,t(a[13]).getCadenceService)(),i=X.address,s=Z.address;if(!i.startsWith("0x"))try{var c=yield o.getAddr(i);c&&(i=`0x${c}`)}catch(e){t(a[13]).logger.warn("[MigrationScreen] Failed to get COA address, using provided address",e)}i.startsWith("0x")||(i=`0x${i}`),s.startsWith("0x")||(s=`0x${s}`),t(a[13]).logger.info("[MigrationScreen] Starting migration transaction",{sender:i,receiver:s,assets:b});var l=yield(0,t(a[23]).migrationTransaction)(o,b,i,s,function(e,t,n){A(e),le(t)});t(a[13]).logger.info("[MigrationScreen] Migration transaction completed",l),A(100),setTimeout(function(){C("completed-all"),O(!1)},1e3)}catch(e){t(a[13]).logger.error("[MigrationScreen] Migration transaction failed",e),z(e),A(0),setTimeout(function(){C("completed-partial"),O(!1)},1e3)}}else t(a[13]).logger.warn("[MigrationScreen] No assets to migrate")}),[b,X.address,Z.address]),oe=(null!=(n=null==b||null==(r=b.erc20)?void 0:r.length)?n:0)+(null!=(o=null==b||null==(i=b.erc721)?void 0:i.length)?o:0)+(null!=(s=null==b||null==(c=b.erc1155)?void 0:c.length)?s:0),ie=20*Math.ceil(oe/100),ae=(0,g.useState)(0),se=(0,u.default)(ae,2),ce=se[0],le=se[1],de="in-progress"===F?Math.min(100*ce,oe):"completed-all"===F?oe:0,ue=(0,g.useState)(0),ge=(0,u.default)(ue,2),fe=ge[0],pe=ge[1];(0,g.useEffect)(function(){if("in-progress"===F&&W){var e=setInterval(function(){pe(function(e){return e+1})},1e3);return function(){return clearInterval(e)}}},[F,W]),(0,g.useEffect)(function(){"ready"===F&&(pe(0),le(0))},[F]);var me=Math.max(0,ie-fe),he=Math.floor(me/60),ve=me%60,ye="in-progress"===F&&me>0?he>0?`${he} min ${ve} sec remaining`:`${ve} sec remaining`:void 0;return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:[T&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:x(""),help:!1,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",pt:T?"$4":"$6",px:"$4",pb:"$4",style:{justifyContent:"space-between",overflow:"hidden"},children:[(0,p.jsxs)(t(a[17]).YStack,{width:"100%",items:"center",gap:"$6",style:{flexShrink:0},children:[("in-progress"===F||"ready"===F)&&(0,p.jsx)(t(a[17]).YStack,{width:"100%",items:"center",children:(0,p.jsx)(t(a[17]).Text,{fontSize:30,fontWeight:"700",color:"$text",width:"100%",style:{textAlign:"center"},children:x("migration.screen.title.migrating","Migrating your account")})}),(0,p.jsx)(t(a[17]).ConfirmationAnimationSection,{isPlaying:"in-progress"===F}),(0,p.jsxs)(t(a[17]).XStack,{items:"center",justify:"space-between",width:"100%",gap:"$2",px:"$2",style:{overflow:"hidden"},children:[J&&(0,p.jsx)(t(a[17]).YStack,{items:"center",gap:"$2",maxW:100,style:{minWidth:0,flexShrink:1,overflow:"hidden"},children:(be=(0,t(a[16]).transformAccountForDisplay)(J),(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(t(a[17]).Avatar,{src:null==be?void 0:be.avatarSrc,fallback:(null==be?void 0:be.avatarFallback)||"A",bgColor:null==be?void 0:be.avatarBgColor,size:36}),(0,p.jsxs)(t(a[17]).YStack,{items:"center",gap:"$1",width:"100%",style:{overflow:"hidden"},children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"600",color:"$text",numberOfLines:1,ellipsizeMode:"tail",style:{overflow:"hidden"},children:(null==be?void 0:be.name)||"COA"}),J.address&&(0,p.jsx)(t(a[17]).AddressText,{address:J.address,fontSize:"$2",color:"$textSecondary"}),(0,p.jsx)(t(a[17]).EVMBadge,{variant:"coa"})]})]}))}),(0,p.jsx)(t(a[17]).YStack,{width:90,items:"center",justify:"center",style:{flexShrink:0},children:(0,p.jsx)(t(a[17]).MigrationProgressIndicator,{isAnimating:"in-progress"===F&&R,width:90})}),ee&&(0,p.jsx)(t(a[17]).YStack,{items:"center",gap:"$2",maxW:100,style:{minWidth:0,flexShrink:1,overflow:"hidden"},children:(Se=(0,t(a[16]).transformAccountForDisplay)(ee),(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(t(a[17]).Avatar,{src:null==Se?void 0:Se.avatarSrc,fallback:(null==Se?void 0:Se.avatarFallback)||"A",bgColor:null==Se?void 0:Se.avatarBgColor,size:36}),(0,p.jsxs)(t(a[17]).YStack,{items:"center",gap:"$1",width:"100%",style:{overflow:"hidden"},children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"600",color:"$text",numberOfLines:1,ellipsizeMode:"tail",style:{overflow:"hidden"},children:(null==Se?void 0:Se.name)||"EOA"}),ee.address&&(0,p.jsx)(t(a[17]).AddressText,{address:ee.address,fontSize:"$2",color:"$textSecondary"}),(0,p.jsx)(t(a[17]).EVMBadge,{variant:"eoa"})]})]}))})]})]}),(0,p.jsxs)(t(a[17]).YStack,{width:"100%",items:"center",gap:"$4",style:{maxWidth:380},pb:"$4",children:["in-progress"===F&&(0,p.jsx)(t(a[17]).YStack,{width:"100%",gap:"$4",children:(0,p.jsx)(t(a[17]).MigrationProgressBar,{progress:$,currentStep:x("migration.screen.progress.currentStep","Migrating account"),timeEstimate:ye})}),("completed-all"===F||"completed-partial"===F)&&(0,p.jsx)(t(a[17]).YStack,{width:"100%",gap:"$4",children:(0,p.jsx)(t(a[17]).MigrationStatusMessage,{type:"completed-all"===F?"success":"warning",title:x("completed-all"===F?"migration.screen.status.allComplete.title":"migration.screen.status.partialComplete.title"),description:"completed-partial"===F?Y&&Y.message||x("migration.screen.status.partialComplete.description"):void 0})}),(0,p.jsx)(t(a[17]).YStack,{width:"100%",gap:"$4",children:(0,p.jsx)(t(a[17]).YStack,{bg:"$bg2",rounded:"$4",borderWidth:1,borderColor:"$borderGlass",p:"$4",width:"100%",children:"in-progress"===F?(0,p.jsxs)(t(a[17]).XStack,{items:"center",gap:"$1",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"600",color:"$text",children:de}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"400",color:"$textSecondary",children:"/"}),(0,p.jsxs)(t(a[17]).Text,{fontSize:"$3",fontWeight:"400",color:"$textSecondary",children:[oe," assets transferred"]})]}):(0,p.jsxs)(t(a[17]).XStack,{items:"center",gap:"$2",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"400",color:"$text",children:x("migration.screen.assets.label","Assets")}),oe>0&&(0,p.jsxs)(t(a[17]).Text,{fontSize:"$3",fontWeight:"400",color:"$textSecondary",children:["(",oe,")"]})]})})}),"in-progress"===F&&(0,p.jsx)(t(a[17]).YStack,{width:"100%",children:(0,p.jsx)(t(a[17]).MigrationInfoBanner,{title:x("migration.screen.warning.title"),description:x("migration.screen.warning.description")})}),"ready"===F&&(0,p.jsx)(t(a[17]).YStack,{width:"100%",pt:"$2",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,onPress:re,disabled:!(b&&(null!=(l=b.erc20)&&l.length||null!=(f=b.erc721)&&f.length||null!=(m=b.erc1155)&&m.length)),children:x("migration.screen.button.start")})}),("completed-all"===F||"completed-partial"===F)&&(0,p.jsx)(t(a[17]).YStack,{width:"100%",pt:"$2",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,onPress:"completed-all"===F?function(){t(a[13]).logger.info("[MigrationScreen] Done pressed"),t(a[13]).navigation.goBack()}:function(){t(a[13]).logger.info("[MigrationScreen] Review assets pressed")},children:x("completed-all"===F?"migration.screen.button.done":"migration.screen.button.review")})})]})]})]});var Se;var be},i.NFTDetailScreen=function(){var e,n=(0,t(a[12]).useTranslation)().t;b();var r="extension"===t(a[13]).bridge.getPlatform(),o=t(a[13]).bridge.getNetwork()||"mainnet",i=(0,t(a[15]).useSendStore)(t(a[15]).sendSelectors.fromAccount),s=(0,t(a[15]).useSendStore)(function(e){return e.selectedCollection}),c=(0,t(a[15]).useSendStore)(function(e){return e.selectedNFTs}),d=(0,t(a[15]).useSendStore)(function(e){return e.currentNFT}),u=(0,t(a[15]).useSendStore)(function(e){return e.setSelectedNFTs}),f=(0,t(a[15]).useSendStore)(function(e){return e.setCurrentStep}),m=s,h=null==i?void 0:i.address;(0,g.useEffect)(function(){f("nft-detail")},[f]);var v=(0,g.useMemo)(function(){return m&&h?t(a[15]).tokenQueryKeys.nftCollectionAll(h,m,o):null},[m,h,o]),y=(0,t(a[14]).useQuery)({queryKey:v||[],queryFn:function(e){var n=e.signal;return h&&m?t(a[15]).tokenQueries.fetchAllNFTsFromCollection(h,m,o,m.count,void 0,n):Promise.resolve([])},enabled:!!v,staleTime:3e5,refetchOnWindowFocus:!1,refetchOnReconnect:!1,retry:1,gcTime:6e5}),S=y.data,x=void 0===S?[]:S,T=y.isLoading,k=y.error,w=(0,g.useMemo)(function(){return d||(c&&c.length>0?c[0]:x.length>0?x[0]:null)},[c,x]),F=(0,g.useCallback)(function(e){var n,r,o=[],i=e;if(i.traits||i.attributes){var s=i.traits||i.attributes;Array.isArray(s)&&s.forEach(function(e){e&&"object"==typeof e&&e.trait_type&&e.value&&o.push({label:e.trait_type,value:e.value.toString()})})}if(null!=(n=i.postMedia)&&n.traits||null!=(r=i.postMedia)&&r.attributes){var c=i.postMedia.traits||i.postMedia.attributes;Array.isArray(c)&&c.forEach(function(e){e&&"object"==typeof e&&e.trait_type&&e.value&&o.push({label:e.trait_type,value:e.value.toString()})})}return["rarity","edition","series","creator","royalty"].forEach(function(e){i[e]&&"string"==typeof i[e]&&o.push({label:e.charAt(0).toUpperCase()+e.slice(1),value:i[e]})}),{id:e.id,name:e.name||"Untitled",image:(0,t(a[16]).getNFTCover)(e),collection:e.collectionName||(null==m?void 0:m.name)||"Unknown",description:e.description,contractName:e.contractName,contractAddress:e.contractAddress,collectionContractName:e.collectionContractName,properties:o.length>0?o:void 0,contractType:e.contractType,amount:e.amount}},[null==m?void 0:m.name]),C=(0,g.useCallback)(function(e){return{id:(0,t(a[16]).getNFTId)(e),name:e.name||"Untitled",image:(0,t(a[16]).getNFTCover)(e),collection:e.collectionName||(null==m?void 0:m.name)||"Unknown",amount:e.amount,contractType:e.contractType}},[null==m?void 0:m.name]),j=(0,g.useMemo)(function(){return w?F(w):null},[w,F]),N=(0,g.useMemo)(function(){return!(!w||!c)&&c.some(function(e){return(0,t(a[16]).getNFTId)(e)===(0,t(a[16]).getNFTId)(w)})},[w,c]),$=null!=c,A=(0,g.useCallback)(function(){if($&&w){var e=(0,t(a[16]).getNFTId)(w);if(c.some(function(n){return(0,t(a[16]).getNFTId)(n)===e})){var n=c.filter(function(n){return(0,t(a[16]).getNFTId)(n)!==e});u(n)}else if(c.length<9){var r=[].concat((0,l.default)(c),[w]);u(r)}else console.warn("Maximum 9 NFTs can be selected")}},[$,w,c,u]),E=(0,g.useCallback)(function(e){if(c){var n=c.filter(function(n){return(0,t(a[16]).getNFTId)(n)!==e});u(n)}},[c,u]),P=(0,g.useCallback)(function(){var e=t(a[15]).useSendStore.getState(),n=e.setTransactionType,r=e.setNFTQuantity;c&&c.forEach(function(e){"ERC1155"===e.contractType&&e.id&&(r(e.id,1),t(a[13]).logger.debug("[NFTDetailScreen] Initialized ERC1155 quantity:",{nftId:e.id,contractType:e.contractType,amount:e.amount}))}),c&&1===c.length?n("single-nft"):c&&c.length>1&&n("multiple-nfts"),f("send-to"),t(a[13]).navigation.navigate(t(a[18]).ScreenName.SEND_TO)},[c,f]),R=(0,g.useCallback)(function(e){},[]),B=(0,g.useMemo)(function(){return c?c.map(C):[]},[c,C]),I=(0,g.useMemo)(function(){if(i)return{name:i.name,avatar:i.avatar,address:i.address,emojiInfo:i.emojiInfo}},[i]);if(!m||!h)return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$6",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$6",fontWeight:"600",color:"$color",mb:"$3",textAlign:"center",children:n("nft.notFound.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",textAlign:"center",children:n("nft.notFound.message")})]})});if(T)return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsx)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$6",children:(0,p.jsxs)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",textAlign:"center",children:[n("messages.loading"),"..."]})})});if(k&&(null==(e=k.message)||!e.includes("aborted")))return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$6",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$6",fontWeight:"600",color:"$color",mb:"$3",textAlign:"center",children:n("errors.unknown")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",textAlign:"center",children:k.message||n("errors.failedToLoadNFTs")})]})});if(!w||!j)return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$6",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$6",fontWeight:"600",color:"$color",mb:"$3",textAlign:"center",children:n("nft.notFound.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",textAlign:"center",children:n("nft.notFound.message")})]})});return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,position:"relative",children:[r&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:n("send.title"),help:!0,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsx)(t(a[17]).NFTDetailView,{nft:j,selected:N,selectable:$,onToggleSelection:A,owner:I,showOwner:!!I}),$&&B.length>0&&(0,p.jsx)(t(a[17]).NFTSelectionBar,{selectedNFTs:B,onRemoveNFT:E,onNFTPress:R,onContinue:P,continueText:n("buttons.continue"),selectedCountText:n("nft.selectedCount",{count:B.length}),confirmText:n("nft.confirmSelection",{count:B.length}),isEditing:!1})]})})},i.NFTListScreen=function(){var e,n,r=(0,t(a[12]).useTranslation)().t,o=(0,g.useState)(""),i=(0,u.default)(o,2),s=i[0],f=i[1],m=(0,g.useState)([]),h=(0,u.default)(m,2),v=h[0],y=h[1],S=(0,g.useState)({}),b=(0,u.default)(S,2),x=b[0],T=b[1],k="extension"===t(a[13]).bridge.getPlatform(),w=t(a[13]).bridge.getNetwork()||"mainnet",F=(0,t(a[15]).useSendStore)(t(a[15]).sendSelectors.fromAccount),C=(0,t(a[15]).useSendStore)(function(e){return e.selectedCollection}),j=(0,t(a[15]).useSendStore)(function(e){return e.selectedNFTs}),N=(0,t(a[15]).useSendStore)(function(e){return e.setSelectedNFTs}),$=(0,t(a[15]).useSendStore)(function(e){return e.setCurrentStep}),A=(0,t(a[15]).useSendStore)(function(e){return e.setTransactionType}),E=(0,t(a[15]).useSendStore)(function(e){return e.setNFTQuantity}),P=(0,t(a[15]).useSendStore)(function(e){return e.setCurrentNFT}),R=C,B=(0,g.useMemo)(function(){var e=t(a[13]).bridge.getDebugAddress(),n=(null==F?void 0:F.address)||"";return t(a[16]).logger.debug("NFTListScreen currentAddress calculated:",{debugAddress:e,accountAddress:n,willUse:e||n}),e&&((0,t(a[16]).validateEvmAddress)(e)||(0,t(a[16]).validateFlowAddress)(e))?e.trim():n},[null==F?void 0:F.address]),I=(null==R?void 0:R.count)||0;(0,g.useEffect)(function(){$("select-tokens")},[$]),(0,g.useEffect)(function(){if(j&&j.length>0){var e=j.map(function(e){return(0,t(a[16]).getNFTId)(e)});y(e),1===e.length?A("single-nft"):e.length>1&&A("multiple-nfts")}else y([])},[j,A]);var M=(null==R?void 0:R.name)||"NFT Collection",W=(0,g.useMemo)(function(){return B&&R?t(a[15]).tokenQueryKeys.nftCollection(B,R,w):null},[null==R?void 0:R.id,null==R?void 0:R.contractName,null==R?void 0:R.name,B,w]),O=!!B&&!!R,L=(0,g.useState)(0),D=(0,u.default)(L,2),Y=D[0],z=D[1],V=(0,g.useRef)(z);V.current=z;var Q=(0,g.useCallback)((0,d.default)(function*(){return R?t(a[15]).tokenQueries.fetchAllNFTsFromCollection(B,R,w,R.count,function(e){V.current(e)}):[]}),[R,w,I]),_=(0,t(a[14]).useQuery)({queryKey:W?[].concat((0,l.default)(W),["all"]):[],queryFn:Q,enabled:O,staleTime:6e5,refetchOnWindowFocus:!1,refetchOnReconnect:!1,retry:1,gcTime:9e5}),K=_.data,q=void 0===K?[]:K,U=_.isLoading,G=_.error,H=_.refetch;(0,g.useEffect)(function(){U&&z(0)},[U]);var X=(0,g.useCallback)(function(e){return{id:(0,t(a[16]).getNFTId)(e),name:e.name||"Untitled",image:e.thumbnail||"",thumbnail:e.thumbnail||"",collection:e.collectionName||M,amount:e.amount,contractType:e.contractType}},[M]),Z=(0,g.useMemo)(function(){return q&&Array.isArray(q)?q.map(X):[]},[q,X]),J=(0,g.useMemo)(function(){return Array.isArray(Z)?Z.filter(function(e){return!s||e.name.toLowerCase().includes(s.toLowerCase())||e.collection&&e.collection.toLowerCase().includes(s.toLowerCase())||e.id.toLowerCase().includes(s.toLowerCase())}):[]},[Z,s]),ee=(0,g.useMemo)(function(){return q.filter(function(e){return v.includes((0,t(a[16]).getNFTId)(e))})},[v,q]),te=(0,g.useRef)([]);(0,g.useEffect)(function(){(ee.length!==te.current.length||ee.some(function(e,n){return!te.current[n]||(0,t(a[16]).getNFTId)(e)!==(0,t(a[16]).getNFTId)(te.current[n])}))&&(N(ee),te.current=ee)},[ee,N]);var ne=(0,g.useCallback)(function(e){y(function(n){var o=n.includes(e),i=q.find(function(n){return(0,t(a[16]).getNFTId)(n)===e}),s="ERC1155"===(null==i?void 0:i.contractType),c=q.filter(function(e){return n.includes((0,t(a[16]).getNFTId)(e))}),d=c.some(function(e){return"ERC1155"===e.contractType});if(o){var u=n.filter(function(t){return t!==e});return 1===u.length?A("single-nft"):u.length>1&&A("multiple-nfts"),u}if(s)return t(a[16]).logger.info("[NFTListScreen] ERC1155 NFT selected - clearing other selections",{nftId:e,nftName:null==i?void 0:i.name,previousSelections:n.length}),A("single-nft"),[e];if(d)return t(a[16]).logger.warn("[NFTListScreen] Cannot select other NFTs when ERC1155 is selected",{attemptedNftId:e,existingERC1155Count:c.filter(function(e){return"ERC1155"===e.contractType}).length}),n;if(n.length>=9)return t(a[16]).logger.warn(r("nft.maxSelectionReached")),n;var g=[].concat((0,l.default)(n),[e]);return 1===g.length?A("single-nft"):g.length>1&&A("multiple-nfts"),g})},[A,q]),re=(0,g.useCallback)(function(e){var n=(q||[]).find(function(n){return(0,t(a[16]).getNFTId)(n)===e});n?(P(n),t(a[13]).navigation.navigate(t(a[18]).ScreenName.NFT_DETAIL,{nft:n})):t(a[16]).logger.warn(r("nft.nftNotFound"),e)},[q]),oe=(0,g.useCallback)(function(e){y(function(t){return t.filter(function(t){return t!==e})})},[]),ie=(0,g.useCallback)(function(e,n){t(a[16]).logger.info("[NFTListScreen] ERC1155 quantity changed",{nftId:e,quantity:n}),T(function(t){return Object.assign({},t,(0,c.default)({},e,n))}),E(e,n)},[E]),ae=(0,g.useCallback)(function(){var e=(q||[]).filter(function(e){return v.includes((0,t(a[16]).getNFTId)(e))});if(1===e.length&&"ERC1155"===e[0].contractType){var n=(0,t(a[16]).getNFTId)(e[0]),r=x[n]||1;E(n,r),t(a[16]).logger.info("[NFTListScreen] Setting ERC1155 quantity in store",{nftId:n,quantity:r,nftName:e[0].name})}N(e),$("send-to"),t(a[13]).navigation.navigate(t(a[18]).ScreenName.SEND_TO)},[v,q,N,$,x,E]),se=(0,g.useCallback)(function(){H()},[H]),ce=(0,g.useMemo)(function(){return J.filter(function(e){return(v||[]).includes(e.id)})},[J,v]),le=(0,g.useMemo)(function(){return U?0===I?0:Y:(null==q?void 0:q.length)>0?100:0},[U,I,null==q?void 0:q.length,Y]);if(!R)return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$background",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$6",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$6",fontWeight:"600",color:"$color",mb:"$3",children:r("nft.noNFTsFound")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",children:r("nft.noCollectionSelected")})]})});if(!B)return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$background",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$6",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$6",fontWeight:"600",color:"$color",mb:"$3",children:r("errors.unknown")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",children:r("nft.noAccountSelected")})]})});var de=s?{title:r("nft.noSearchResults"),message:r("nft.noNFTsMatchSearch",{search:s})}:{title:r("nft.noNFTsFound"),message:r("nft.collectionEmpty")};return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,position:"relative",children:[k&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:r("send.title"),help:!0,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),R&&(0,p.jsx)(t(a[17]).YStack,{children:(0,p.jsx)(t(a[17]).CollectionHeader,{name:M,image:R.logoURI||R.logo,itemCount:(q||[]).length,isLoading:U})}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[(0,p.jsx)(t(a[17]).YStack,{pb:24,children:(0,p.jsx)(t(a[17]).SearchBar,{value:s,onChangeText:f,placeholder:r("common.Search"),width:"100%"})}),(0,p.jsx)(t(a[17]).YStack,{flex:1,children:(0,p.jsx)(t(a[17]).NFTGrid,{data:J,selectedIds:v,isLoading:U,loadingProgress:le,error:(null==G?void 0:G.message)||void 0,emptyTitle:de.title,emptyMessage:de.message,onNFTSelect:ne,onNFTPress:re,onRetry:se,retryText:r("buttons.retry"),clearSearchText:r("buttons.clearSearch"),onClearSearch:function(){return f("")},showClearSearch:!!s,accountEmoji:null==F||null==(e=F.emojiInfo)?void 0:e.emoji,accountAvatar:null==F?void 0:F.avatar,accountName:null==F?void 0:F.name,accountColor:null==F||null==(n=F.emojiInfo)?void 0:n.color,enableVirtualization:!0,itemsPerBatch:20,loadMoreThreshold:200,isExtension:k,totalCount:I})})]}),(0,p.jsx)(t(a[17]).NFTSelectionBar,{selectedNFTs:ce,onRemoveNFT:oe,onNFTPress:re,onContinue:ae,continueText:r("buttons.continue"),selectedCountText:r("nft.selectedCount",{count:ce.length}),confirmText:(ue=ce.reduce(function(e,t){return"ERC1155"===t.contractType?e+(x[t.id]||1):e+1},0),r("nft.confirmSelection",{count:ue})),isEditing:!1,onQuantityChange:ie,isExtension:k})]})});var ue},i.NetworkErrorFallback=void 0,i.NotificationPreferencesScreen=function(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=n.route,o=(0,t(a[12]).useTranslation)().t,i=g.default.useState(!0),s=(0,u.default)(i,2),c=s[0],l=s[1],f=(0,g.useMemo)(function(){var e;return null!=(e=null==t(a[13]).bridge.getSafeAreaInsets?void 0:t(a[13]).bridge.getSafeAreaInsets())?e:{top:0,bottom:0,left:0,right:0}},[]),m=(null==r||null==(e=r.params)?void 0:e.accountType)||"secure-enclave";g.default.useEffect(function(){var e=(function(){var e=(0,d.default)(function*(){try{if(t(a[13]).bridge.checkNotificationPermission)if(yield t(a[13]).bridge.checkNotificationPermission())return t(a[13]).logger.debug("[NotificationPreferencesScreen] Notification permission already granted, skipping screen"),void("recovery"===m?(t(a[13]).logger.debug("[NotificationPreferencesScreen] Recovery phrase flow, closing RN"),t(a[13]).bridge.closeRN()):(t(a[13]).logger.debug("[NotificationPreferencesScreen] Secure enclave flow, launching native backup screen"),t(a[13]).bridge.launchNativeScreen&&t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.BACKUP_OPTIONS)))}catch(e){t(a[13]).logger.warn("[NotificationPreferencesScreen] Failed to check existing permission:",e)}finally{l(!1)}});return function(){return e.apply(this,arguments)}})();e()},[m]);var h=(0,t(a[14]).useMutation)({mutationFn:k,onSuccess:function(e,n){t(a[13]).logger.debug("[NotificationPreferencesScreen] Notification permission result:",e),"recovery"===m?(t(a[13]).logger.debug("[NotificationPreferencesScreen] Recovery phrase flow, closing RN"),t(a[13]).bridge.closeRN()):(t(a[13]).logger.debug("[NotificationPreferencesScreen] Secure enclave flow, launching native backup screen"),t(a[13]).bridge.launchNativeScreen&&t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.BACKUP_OPTIONS))},onError:function(e,n){t(a[13]).logger.error("[NotificationPreferencesScreen] Failed to request notification permission:",e),"recovery"===m?(t(a[13]).logger.debug("[NotificationPreferencesScreen] Recovery phrase flow, closing RN"),t(a[13]).bridge.closeRN()):(t(a[13]).logger.debug("[NotificationPreferencesScreen] Secure enclave flow, launching native backup screen"),t(a[13]).bridge.launchNativeScreen&&t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.BACKUP_OPTIONS))}});if(c)return(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsx)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",children:(0,p.jsx)(t(a[17]).Text,{children:"Loading..."})})});return(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[(0,p.jsx)(t(a[17]).ScrollView,{flex:1,showsVerticalScrollIndicator:!1,contentContainerStyle:{flexGrow:1},children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,px:"$4",pt:f.top+20,children:[(0,p.jsxs)(t(a[17]).YStack,{mt:"$6",mb:"$6",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:28,fontWeight:"700",color:"$text",text:"center",children:o("onboarding.notificationPreferences.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",text:"center",px:"$2",children:o("onboarding.notificationPreferences.subtitle")})]}),(0,p.jsx)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",children:(0,p.jsx)(t(a[17]).Image,{source:t(a[17]).pushNotifications,width:375,height:492,objectFit:"contain"})})]})}),(0,p.jsxs)(t(a[17]).YStack,{px:"$4",children:[(0,p.jsx)(t(a[17]).YStack,{mb:"$3",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,onPress:function(){h.mutate(!0)},children:o("onboarding.notificationPreferences.enableButton")})}),(0,p.jsx)(t(a[17]).XStack,{justify:"center",pb:"$8",children:(0,p.jsx)(t(a[17]).Button,{variant:"ghost",onPress:function(){"recovery"===m?(t(a[13]).logger.debug("[NotificationPreferencesScreen] Recovery phrase flow, closing RN"),t(a[13]).bridge.closeRN()):(t(a[13]).logger.debug("[NotificationPreferencesScreen] Secure enclave flow, launching native backup screen"),t(a[13]).bridge.launchNativeScreen&&t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.BACKUP_OPTIONS))},children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"600",color:"$textSecondary",children:o("onboarding.notificationPreferences.maybeLater")})})})]})]})})},i.ProfileTypeSelectionScreen=function(){var e=(0,t(a[12]).useTranslation)().t;return(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[(0,p.jsx)(t(a[17]).ScrollView,{flex:1,showsVerticalScrollIndicator:!1,children:(0,p.jsxs)(t(a[17]).YStack,{px:"$4",pt:"$8",children:[(0,p.jsx)(t(a[17]).YStack,{mt:"$15",mb:"$6",children:(0,p.jsx)(t(a[17]).Text,{fontSize:30,fontWeight:"700",color:"$text",style:{textAlign:"center"},lineHeight:36,children:e("onboarding.profileType.welcomeTitle")})}),(0,p.jsx)(t(a[17]).YStack,{items:"center",mb:"$8",children:(0,p.jsx)(t(a[17]).ShieldAnimation,{width:300,height:375,autoPlay:!0,loop:!0})}),(0,p.jsx)(t(a[17]).YStack,{items:"center",mb:"$8",children:(0,p.jsxs)(t(a[17]).YStack,{px:"$4",items:"center",gap:"$2",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$5",fontWeight:"700",color:"$text",style:{textAlign:"center"},mb:"$2",children:e("onboarding.profileType.recoveryPhrase.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",style:{textAlign:"center"},lineHeight:17,children:e("onboarding.profileType.recoveryPhrase.description")})]})})]})}),(0,p.jsxs)(t(a[17]).YStack,{px:"$4",children:[(0,p.jsx)(t(a[17]).YStack,{mb:"$3",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,onPress:function(){t(a[13]).navigation.navigate(t(a[18]).ScreenName.RECOVERY_PHRASE)},children:e("onboarding.profileType.next")})}),(0,p.jsx)(t(a[17]).XStack,{justify:"center",pb:"$8",children:(0,p.jsx)(t(a[17]).Button,{variant:"ghost",onPress:function(){t(a[13]).navigation.navigate(t(a[18]).ScreenName.SECURE_ENCLAVE)},children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"600",color:"$textSecondary",children:e("onboarding.profileType.secureEnclaveProfile")})})})]})]})})},i.QueryProvider=void 0,i.ReceiveScreen=function(){var e=(0,t(a[12]).useTranslation)().t,n="extension"===t(a[13]).bridge.getPlatform(),r=(0,g.useState)(null),o=(0,u.default)(r,2),i=o[0],s=o[1],c=(0,g.useState)(!1),l=(0,u.default)(c,2),m=l[0],y=l[1],S=(0,g.useState)(""),b=(0,u.default)(S,2),x=b[0],T=b[1],k=(0,t(a[15]).useAllProfiles)(),w=(0,t(a[15]).useProfileStore)(function(e){return e.loadProfilesFromBridge}),F=(0,t(a[15]).useProfileStore)(function(e){return e.isLoading}),C=(0,t(a[15]).useProfileStore)(function(e){return e.error}),j=(0,g.useRef)(!1),N=(0,g.useRef)(null);(0,g.useEffect)(function(){j.current||F||C||(j.current=!0,w())},[F,w,C]);var $=t(a[13]).bridge.getSelectedAddress()||"",A=t(a[13]).bridge.getNetwork()||"mainnet",E=(0,g.useMemo)(function(){return k.flatMap(function(e){return e.accounts})},[k]),P=(0,g.useMemo)(function(){for(var e of k){var t=e.accounts.find(function(e){return e.address.toLowerCase()===$.toLowerCase()});if(t)return t}return null},[k,$]);(0,g.useEffect)(function(){P?(t(a[16]).logger.debug("Setting selected account:",P),s(P)):t(a[16]).logger.warn("No current account found. Bridge address:",$,"Profiles loaded:",k.length)},[P,s,$,k.length]);var R=(0,t(a[14]).useQuery)(Object.assign({queryKey:t(a[15]).tokenQueryKeys.balance((null==i?void 0:i.address)||"",A),queryFn:function(){return t(a[15]).tokenQueries.fetchBalance((null==i?void 0:i.address)||"",void 0,A)},enabled:!(null==i||!i.address),staleTime:3e4,refetchOnWindowFocus:!0,refetchOnReconnect:!0,refetchInterval:6e4},t(a[16]).retryConfigs.critical)).data,B=(0,g.useMemo)(function(){return null!=R&&R.displayBalance?R.displayBalance:"0 FLOW"},[R]),I=(0,g.useMemo)(function(){return"evm"===(null==i?void 0:i.type)},[i]),M=(0,g.useMemo)(function(){return E.map(function(e){return Object.assign({},e,{balance:e.address===(null==i?void 0:i.address)?B:e.balance||"0 FLOW"})})},[E,null==i?void 0:i.address,B]),W=(0,g.useCallback)(function(e){t(a[16]).logger.debug("Account selected:",e),s(e)},[s]),O=(0,g.useCallback)((function(){var n=(0,d.default)(function*(n){try{if((0,t(a[16]).isCOAAddress)(n))return T(n),void y(!0);if("extension"!==t(a[13]).bridge.getPlatform()&&"undefined"==typeof window){var r=globalThis.clipboard;null!=r&&r.setString&&r.setString(n)}else navigator.clipboard&&(yield navigator.clipboard.writeText(n));t(a[13]).toast.show({title:e("messages.addressCopied"),type:"success"}),t(a[16]).logger.debug("Address copied to clipboard:",n)}catch(n){t(a[16]).logger.error("Failed to copy address:",n),t(a[13]).toast.show({title:e("messages.failedToCopy"),type:"error"})}});return function(e){return n.apply(this,arguments)}})(),[e]),L=(0,g.useCallback)((0,d.default)(function*(){if(null!=i&&i.address)try{if(!N.current)return t(a[16]).logger.error("QR code ref not available"),void t(a[13]).toast.show({title:e("messages.failedToShare"),type:"error"});t(a[16]).logger.debug("Capturing QR code view...");var n=yield(0,t(a[21]).captureRef)(N,{format:"png",quality:1,result:"tmpfile"}),r={title:"Flow Wallet QR Code",message:`My Flow wallet address:\n${i.address}`,url:(f.Platform.OS,`file://${n}`),type:"image/png"};t(a[16]).logger.debug("Sharing QR code with react-native-share:",r),yield v.default.open(r),t(a[16]).logger.debug("QR code shared successfully")}catch(n){if(n&&"object"==typeof n&&"message"in n){var o=n.message;if(null!=o&&o.includes("User did not share")||null!=o&&o.includes("cancelled"))return void t(a[16]).logger.debug("User cancelled share")}t(a[16]).logger.error("Failed to share QR code:",n),t(a[13]).toast.show({title:e("messages.failedToShare"),type:"error"})}else t(a[16]).logger.warn("Cannot share QR code: missing address")}),[i,e]);return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",px:"$0",pb:"$0",children:[n&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:e("receive.title","Receive Assets"),help:!1,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",gap:"$4",pt:"$6",px:"$4",children:[!n&&i&&(0,p.jsx)(t(a[17]).YStack,{bg:"$bg1",rounded:"$4",p:16,gap:12,width:"100%",children:(0,p.jsx)(t(a[17]).AccountSelector,{currentAccount:Object.assign({},i,{balance:B}),accounts:M,onAccountSelect:W,title:"",showEditButton:E.length>1,actionIcon:"chevron",showCopyButton:!0,onCopyAddress:O})}),(0,p.jsxs)(t(a[17]).YStack,{bg:"$bg1",rounded:"$4",pt:"$4",pb:"$4",px:"$2",items:"center",gap:"$5",width:"100%",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:16,fontWeight:"700",color:"$text",lineHeight:19,children:e("receive.scanToReceive","Scan to receive")}),null!=i&&i.address?(0,p.jsx)(f.View,{ref:N,style:{padding:12,backgroundColor:"#FFFFFF",borderRadius:16,marginBottom:16,overflow:"hidden",alignItems:"center",justifyContent:"center"},children:(0,p.jsx)(h.default,{data:i.address,style:{width:323,height:323},padding:0,pieceBorderRadius:4,isPiecesGlued:!0,color:I?"#627EEA":"#00EF8B",outerEyesOptions:{borderRadius:[20,20,0,20],color:"#000000"},innerEyesOptions:{borderRadius:10,color:I?"#627EEA":"#00EF8B"}})}):(0,p.jsx)(t(a[17]).YStack,{items:"center",justify:"center",width:323,height:323,children:(0,p.jsx)(t(a[17]).Text,{color:"$textSecondary",children:e("receive.noQRCode")})}),I&&(0,p.jsx)(t(a[17]).YStack,{width:"100%",px:"$4",mt:-8,children:(0,p.jsx)(f.Text,{style:{width:"100%",fontSize:12,fontWeight:"400",lineHeight:16.8,color:"#8F8F8F",textAlign:"center"},children:e("receive.evmWarning")})})]}),(0,p.jsx)(t(a[17]).YStack,{pt:"$2",mb:"$10",width:"100%",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,disabled:!(null!=i&&i.address),onPress:L,children:e("receive.shareQRCode","Share QR Code")})})]}),(0,p.jsx)(t(a[17]).COAAddressCopyModal,{visible:m,address:x,onClose:function(){y(!1),T("")},onConfirm:(D=(0,d.default)(function*(){try{if("extension"!==t(a[13]).bridge.getPlatform()&&"undefined"==typeof window){var n=globalThis.clipboard;null!=n&&n.setString&&n.setString(x)}else navigator.clipboard&&(yield navigator.clipboard.writeText(x));t(a[13]).toast.show({title:e("messages.addressCopied"),type:"success"}),t(a[16]).logger.debug("COA address copied to clipboard:",x),y(!1),T("")}catch(n){t(a[16]).logger.error("Failed to copy COA address:",n),t(a[13]).toast.show({title:e("messages.failedToCopy"),type:"error"})}}),function(){return D.apply(this,arguments)})})]});var D},i.RecoveryPhraseScreen=function(){var e=(0,t(a[12]).useTranslation)().t,n=(0,t(a[17]).useTheme)(),r=(0,g.useState)(!1),o=(0,u.default)(r,2),i=o[0],s=o[1],c=(0,g.useState)(!1),l=(0,u.default)(c,2),f=l[0],m=l[1],h=(0,g.useState)(!0),v=(0,u.default)(h,2),y=v[0],S=v[1],b=(0,g.useState)(null),x=(0,u.default)(b,2),T=x[0],k=x[1],w=(0,g.useState)(null),F=(0,u.default)(w,2),C=F[0],j=F[1];(0,g.useEffect)(function(){var e=!0,n=(function(){var n=(0,d.default)(function*(){try{t(a[13]).logger.info("[RecoveryPhraseScreen] Starting mnemonic generation...");var n=yield t(a[13]).bridge.generateSeedPhrase(128),r=n.mnemonic.trim().split(/\s+/);if(t(a[13]).logger.info("[RecoveryPhraseScreen] Generated mnemonic with",r.length,"words"),12!==r.length)throw new Error(`Expected 12 words, got ${r.length}`);e&&k({phrase:r,mnemonic:n.mnemonic,accountKey:n.accountKey,drivepath:n.drivepath,evmAddress:n.evmAddress})}catch(n){t(a[13]).logger.error("[RecoveryPhraseScreen] Failed to generate mnemonic:",n),e&&j(n instanceof Error?n:new Error("Failed to generate recovery phrase"))}finally{e&&S(!1)}});return function(){return n.apply(this,arguments)}})();return n(),function(){e=!1}},[]),(0,g.useEffect)(function(){return t(a[13]).logger.info("[RecoveryPhraseScreen] Enabling screenshot protection"),t(a[13]).bridge.setScreenSecurityLevel&&t(a[13]).bridge.setScreenSecurityLevel("secure"),function(){t(a[13]).logger.info("[RecoveryPhraseScreen] Disabling screenshot protection"),t(a[13]).bridge.setScreenSecurityLevel&&t(a[13]).bridge.setScreenSecurityLevel("normal")}},[]);var N=(null==T?void 0:T.phrase)||[],$=(null==T?void 0:T.mnemonic)||"",A=y,E=(function(){var n=(0,d.default)(function*(){try{var n=N.join(" "),r=t(a[13]).bridge.getPlatform(),o=globalThis.clipboard;if("extension"!==r&&null!=o&&o.setString)o.setString(n),t(a[13]).logger.debug("Recovery phrase copied using RN Clipboard");else{if(!navigator.clipboard)throw new Error("No clipboard API available");yield navigator.clipboard.writeText(n),t(a[13]).logger.debug("Recovery phrase copied using Web Clipboard API")}s(!0),setTimeout(function(){return s(!1)},2e3),t(a[13]).toast.show({title:e("messages.copied"),type:"success"})}catch(n){t(a[13]).logger.error("Failed to copy recovery phrase:",n),t(a[13]).toast.show({title:e("messages.failedToCopy"),type:"error"})}});return function(){return n.apply(this,arguments)}})();if(C)return(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$4",gap:"$4",children:[(0,p.jsx)(t(a[17]).Text,{color:"$error",text:"center",fontSize:"$5",fontWeight:"700",children:e("onboarding.recoveryPhrase.error.title")}),(0,p.jsx)(t(a[17]).Text,{color:"$textSecondary",text:"center",fontSize:"$4",children:C instanceof Error?C.message:e("onboarding.recoveryPhrase.error.unknown")}),(0,p.jsx)(t(a[17]).Button,{onPress:function(){return t(a[13]).navigation.goBack()},children:(0,p.jsx)(t(a[17]).XStack,{gap:"$2",items:"center",px:"$4",py:"$2",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"600",children:e("common.goBack")})})})]})});return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(t(a[17]).AccountCreationLoadingState,{visible:A,title:e("onboarding.recoveryPhrase.generating.title",{defaultValue:"Generating\nrecovery phrase"})}),!A&&(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[(0,p.jsx)(t(a[17]).ScrollView,{flex:1,showsVerticalScrollIndicator:!1,children:(0,p.jsxs)(t(a[17]).YStack,{px:"$4",pt:"$4",children:[(0,p.jsxs)(t(a[17]).YStack,{items:"center",mb:"$6",gap:"$2",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$8",fontWeight:"700",color:"$text",text:"center",lineHeight:"$8",children:e("onboarding.recoveryPhrase.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",text:"center",lineHeight:"$4",maxW:280,children:e("onboarding.recoveryPhrase.description")})]}),(0,p.jsx)(t(a[17]).YStack,{width:320,bg:"$bgGlass",rounded:"$4",pt:"$6",pb:"$6",px:"$4.5",mb:"$4",self:"center",position:"relative",children:f?(0,p.jsx)(t(a[17]).YStack,{gap:"$5",children:Array.from({length:6},function(e,n){return(0,p.jsxs)(t(a[17]).XStack,{gap:"$10",justify:"space-between",children:[N[2*n]&&(0,p.jsxs)(t(a[17]).XStack,{gap:"$2",items:"center",flex:1,children:[(0,p.jsx)(t(a[17]).YStack,{width:"$8",height:"$8",bg:"$bgGlass",rounded:"$2",items:"center",justify:"center",shrink:0,children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$5",color:"$text",children:2*n+1})}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$text",children:N[2*n]})]}),N[2*n+1]&&(0,p.jsxs)(t(a[17]).XStack,{gap:"$2",items:"center",flex:1,children:[(0,p.jsx)(t(a[17]).YStack,{width:"$8",height:"$8",bg:"$bgGlass",rounded:"$2",items:"center",justify:"center",shrink:0,children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$5",color:"$text",children:2*n+2})}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$text",children:N[2*n+1]})]})]},n)})}):(0,p.jsx)(t(a[17]).YStack,{height:340,items:"center",justify:"center",cursor:"pointer",onPress:function(){m(!0)},children:(0,p.jsxs)(t(a[17]).YStack,{items:"center",gap:"$3",children:[(0,p.jsx)(t(a[17]).View,{width:42,height:40,bg:"$bgGlass",rounded:"$2",items:"center",justify:"center",children:(0,p.jsx)(t(a[22]).RevealPhrase,{size:20,color:n.iconGlass.val})}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"500",color:"$text",text:"center",children:e("onboarding.recoveryPhrase.clickToReveal")})]})})}),(0,p.jsx)(t(a[17]).XStack,{justify:"center",mb:"$4",children:(0,p.jsx)(t(a[17]).Button,{variant:"ghost",onPress:E,children:(0,p.jsxs)(t(a[17]).XStack,{gap:"$3",items:"center",children:[(0,p.jsx)(t(a[22]).Copy,{size:24,color:n.primary.val}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"700",style:{color:n.primary.val},children:e(i?"messages.copied":"onboarding.recoveryPhrase.copy")})]})})}),(0,p.jsx)(t(a[17]).WarningCard,{icon:(0,p.jsx)(t(a[22]).Warning,{size:24,color:n.iconGlass.val}),title:e("onboarding.recoveryPhrase.warning.title"),description:e("onboarding.recoveryPhrase.warning.description")})]})}),(0,p.jsx)(t(a[17]).YStack,{px:"$4",pb:"$6",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,disabled:!f,onPress:function(){t(a[13]).navigation.navigate("ConfirmRecoveryPhrase",{recoveryPhrase:N,mnemonic:$,accountKey:null==T?void 0:T.accountKey,drivepath:null==T?void 0:T.drivepath,evmAddress:null==T?void 0:T.evmAddress})},children:e("onboarding.recoveryPhrase.next")})})]})})]})},i.SecureEnclaveScreen=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.navigation,r=(0,t(a[12]).useTranslation)().t,o=(0,t(a[17]).useTheme)(),i=(0,g.useState)(!1),s=(0,u.default)(i,2),c=s[0],l=s[1],f=(0,g.useState)(!1),m=(0,u.default)(f,2),h=m[0],v=m[1],y=(0,g.useState)(void 0),S=(0,u.default)(y,2),b=S[0],x=S[1];(0,g.useLayoutEffect)(function(){n&&"object"==typeof n&&"setOptions"in n&&(h&&n.setOptions({headerLeft:function(){return null},gestureEnabled:!1}))},[h,n]),(0,g.useEffect)(function(){if(n&&"object"==typeof n&&"addListener"in n&&h)return n.addListener("beforeRemove",function(e){e.preventDefault(),t(a[13]).logger.info("[SecureEnclaveScreen] Blocked back navigation during account creation")})},[h,n]);var T=(function(){var e=(0,d.default)(function*(){l(!1),v(!0),x(0);try{var e=(0,t(a[16]).generateRandomUsername)();t(a[13]).logger.info("[SecureEnclaveScreen] Registering secure type account with username:",e),x(10);var n=yield null==t(a[13]).bridge.registerSecureTypeAccount?void 0:t(a[13]).bridge.registerSecureTypeAccount(e);if(null==n||!n.success||null==n||!n.txId)throw new Error((null==n?void 0:n.error)||"Failed to register secure type account");t(a[13]).logger.info("[SecureEnclaveScreen] Registration initiated, monitoring transaction:",{txId:n.txId,username:n.username}),t(a[13]).logger.info("[SecureEnclaveScreen] Waiting for transaction to seal:",{txId:n.txId});var r=yield(0,t(a[19]).profileService)().waitForAccountCreationTx(n.txId,function(e){x(20+Math.floor(.5*e))});t(a[13]).logger.info("[SecureEnclaveScreen] Transaction sealed, address created:",{flowAddress:r}),x(80);var o=yield null==t(a[13]).bridge.initSecureEnclaveWallet?void 0:t(a[13]).bridge.initSecureEnclaveWallet(n.txId);if(null==o||!o.success)throw new Error((null==o?void 0:o.error)||"Failed to initialize wallet");t(a[13]).logger.info("[SecureEnclaveScreen] Secure type account created successfully:",{address:o.address||r,username:n.username,txId:n.txId}),x(100)}catch(e){t(a[13]).logger.error("[SecureEnclaveScreen] Failed to register secure type account:",e),v(!1)}});return function(){return e.apply(this,arguments)}})(),k=(function(){var e=(0,d.default)(function*(){if((v(!1),t(a[13]).bridge.checkNotificationPermission)&&(yield t(a[13]).bridge.checkNotificationPermission()))return t(a[13]).logger.debug("[SecureEnclaveScreen] Notification permission already granted, launching native backup screen"),void(t(a[13]).bridge.launchNativeScreen&&t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.BACKUP_OPTIONS));t(a[13]).navigation.navigate(t(a[18]).ScreenName.NOTIFICATION_PREFERENCES)});return function(){return e.apply(this,arguments)}})();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsxs)(t(a[17]).ScrollView,{flex:1,showsVerticalScrollIndicator:!1,children:[(0,p.jsxs)(t(a[17]).YStack,{px:"$4",pt:"$4",children:[(0,p.jsx)(t(a[17]).YStack,{mb:"$6",children:(0,p.jsx)(t(a[17]).Text,{fontSize:30,fontWeight:"700",color:"$text",textAlign:"center",lineHeight:36,children:r("onboarding.secureEnclave.title")})}),(0,p.jsx)(t(a[17]).YStack,{alignItems:"center",mb:"$8",children:(0,p.jsx)(t(a[17]).ShieldAnimation,{width:300,height:375,autoPlay:!0,loop:!0})}),(0,p.jsx)(t(a[17]).YStack,{items:"center",mb:"$8",children:(0,p.jsxs)(t(a[17]).YStack,{w:"100%",maxW:320,items:"center",gap:"$2",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$5",fontWeight:"700",color:"$text",text:"center",mb:"$2",children:r("onboarding.secureEnclave.cardTitle")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",text:"center",lineHeight:17,px:"$2",children:r("onboarding.secureEnclave.cardDescription")})]})}),(0,p.jsxs)(t(a[17]).YStack,{gap:"$2",items:"center",mb:"$6",children:[(0,p.jsxs)(t(a[17]).XStack,{gap:"$2",items:"center",children:[(0,p.jsx)(t(a[22]).SecureEnclave,{size:16,color:o.primary.val}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$primary",children:r("onboarding.secureEnclave.features.secureEnclave")})]}),(0,p.jsxs)(t(a[17]).XStack,{gap:"$2",items:"center",children:[(0,p.jsx)(t(a[22]).HardwareGradeSecurity,{size:16,color:o.primary.val}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$primary",children:r("onboarding.secureEnclave.features.hardwareSecurity")})]}),(0,p.jsxs)(t(a[17]).XStack,{gap:"$2",items:"center",children:[(0,p.jsx)(t(a[22]).ShieldOff,{size:16,color:o.error.val}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$error",children:r("onboarding.secureEnclave.features.noEvm")})]})]})]}),(0,p.jsx)(t(a[17]).YStack,{px:"$4",pb:"$6",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,onPress:function(){l(!0)},children:r("onboarding.secureEnclave.next")})})]})}),(0,p.jsx)(t(a[17]).InfoDialog,{visible:c,onClose:function(){return l(!1)},children:(0,p.jsxs)(t(a[17]).YStack,{gap:"$4",items:"center",children:[(0,p.jsx)(t(a[17]).View,{w:24,h:24,bg:o.primary.val,rounded:999,items:"center",justify:"center",children:(0,p.jsx)(t(a[17]).View,{p:"$2",children:(0,p.jsx)(t(a[22]).Shield,{size:22,color:o.color.val})})}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$5",fontWeight:"700",color:"$text",text:"center",children:r("onboarding.secureEnclave.dialog.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",color:"$text",text:"center",lineHeight:20,children:r("onboarding.secureEnclave.dialog.description")}),(0,p.jsx)(t(a[17]).HoldToSendButton,{onPress:T,holdToSendText:r("onboarding.secureEnclave.dialog.holdToConfirm")})]})}),(0,p.jsx)(t(a[17]).AccountCreationLoadingState,{visible:h,title:r("onboarding.secureEnclave.creating.title"),statusText:r("onboarding.secureEnclave.creating.configuring"),progress:b,onComplete:k})]})},i.SelectTokensScreen=function(){var e=(0,t(a[12]).useTranslation)().t,n=g.default.useState("Tokens"),r=(0,u.default)(n,2),o=r[0],i=r[1];b();var s=(0,t(a[15]).useSendStore)(),c=s.setFromAccount,l=s.setSelectedToken,f=s.setTransactionType,m=s.setCurrentStep,h=s.clearTransactionData,v=s.setSelectedCollection,y=[e("tabs.tokens"),e("tabs.nfts")],S="extension"===t(a[13]).bridge.getPlatform(),x=t(a[13]).bridge.getSelectedAddress(),T=g.default.useState(null),k=(0,u.default)(T,2),w=k[0],F=k[1],C=t(a[13]).bridge.getNetwork()||"mainnet",j=g.default.useCallback((0,d.default)(function*(){try{var e=yield t(a[13]).bridge.getSelectedAccount();F(e),c(e)}catch(e){t(a[13]).logger.error("Failed to load current account:",e)}}),[]);g.default.useEffect(function(){x&&j()},[x,j]);var N=(0,t(a[15]).useWalletStore)(t(a[15]).walletSelectors.getAllAccounts),$=(0,t(a[15]).useWalletStore)(function(e){return e.loadAccountsFromBridge}),A=(0,t(a[15]).useWalletStore)(function(e){return e.isLoading}),E=g.default.useMemo(function(){var e=t(a[13]).bridge.getDebugAddress(),n=(null==w?void 0:w.address)||"";return t(a[13]).logger.debug("SelectTokensScreen effectiveAddress calculated:",{debugAddress:e,currentAddress:n,willUse:e||n}),e&&((0,t(a[16]).validateEvmAddress)(e)||(0,t(a[16]).validateFlowAddress)(e))?e.trim():n},[null==w?void 0:w.address]),P=(0,t(a[14]).useQuery)(Object.assign({queryKey:t(a[15]).tokenQueryKeys.tokens(E,C),queryFn:function(){return t(a[13]).logger.debug("SelectTokensScreen fetching tokens for address:",E),t(a[15]).tokenQueries.fetchTokens(E,C)},enabled:!!E&&"Tokens"===o,staleTime:0,refetchOnWindowFocus:!0,refetchOnReconnect:!0},t(a[16]).retryConfigs.critical)),R=P.data,B=void 0===R?[]:R,I=P.isLoading,M=P.error,W=P.refetch,O=(0,t(a[14]).useQuery)(Object.assign({queryKey:t(a[15]).tokenQueryKeys.nfts(E,C),queryFn:function(){return t(a[13]).logger.debug("SelectTokensScreen fetching NFTs for address:",E),t(a[15]).tokenQueries.fetchNFTCollections(E,C)},enabled:!!E&&"NFTs"===o,staleTime:3e5,refetchOnWindowFocus:!0,refetchOnReconnect:!0},t(a[16]).retryConfigs.standard)),L=O.data,D=void 0===L?[]:L,Y=O.isLoading,z=O.error,V=O.refetch,Q=(0,t(a[14]).useQuery)(Object.assign({queryKey:t(a[15]).tokenQueryKeys.balance(E,C),queryFn:function(){return t(a[13]).logger.debug("SelectTokensScreen fetching balance for address:",E),t(a[15]).tokenQueries.fetchBalance(E,void 0,C)},enabled:!!E,staleTime:3e4,refetchOnWindowFocus:!0,refetchOnReconnect:!0,refetchInterval:6e4},t(a[16]).retryConfigs.critical)),_=Q.data,K=(Q.isLoading,(0,t(a[14]).useQuery)(Object.assign({queryKey:["batchBalances",N.map(function(e){return e.address})],queryFn:function(){return t(a[15]).tokenQueries.fetchBatchFlowBalances(N.map(function(e){return e.address}))},enabled:N.length>0,staleTime:3e4,refetchOnWindowFocus:!0,refetchOnReconnect:!0,refetchInterval:6e4},t(a[16]).retryConfigs.critical))),q=K.data,U=(K.isLoading,(0,t(a[14]).useQuery)({queryKey:t(a[15]).accessibleAssetQueryKeys.allowTypes((null==w?void 0:w.parentAddress)||"",(null==w?void 0:w.address)||"",C),queryFn:function(){return t(a[15]).accessibleAssetQueries.fetchChildAccountAllowTypes((null==w?void 0:w.parentAddress)||"",(null==w?void 0:w.address)||"",C)},enabled:"child"===(null==w?void 0:w.type)&&!(null==w||!w.parentAddress)&&!(null==w||!w.address),staleTime:3e5,refetchOnWindowFocus:!0,refetchOnReconnect:!0})),G=U.data,H=U.refetch,X="child"===(null==w?void 0:w.type)?G:null;g.default.useEffect(function(){m("select-tokens")},[m]),g.default.useEffect(function(){0!==N.length||A||$()},[$,N.length,A]);var Z=function(e){var n=N.find(function(e){var t,n;return(null==(t=e.address)?void 0:t.toLowerCase())===(null==w||null==(n=w.address)?void 0:n.toLowerCase())});l(e),n&&c(n),f("tokens"),m("send-to"),t(a[13]).navigation.navigate(t(a[18]).ScreenName.SEND_TO)},J=function(e){if(v(e),w)c(w);else{var n=N.find(function(e){var t;return(null==(t=e.address)?void 0:t.toLowerCase())===(null==x?void 0:x.toLowerCase())});n&&c(n)}f("multiple-nfts"),t(a[13]).navigation.navigate(t(a[18]).ScreenName.NFT_LIST,{collection:e,address:E})},ee=(0,g.useCallback)(function(){W(),H()},[W,H]),te=(0,g.useCallback)(function(){V(),H()},[V,H]),ne=(0,g.useCallback)(function(){W(),V(),H()},[W,V,H]),re=B.filter(function(e){var t=parseFloat(e.displayBalance||e.balance||"0"),n=parseFloat(e.availableBalanceToUse||"0");return t>0||n>0}),oe=g.default.useMemo(function(){if(!q)return new Map;var e=new Map;return q.forEach(function(t){var n=(0,u.default)(t,2),r=n[0],o=n[1];e.set(r,o)}),e},[q]),ie=g.default.useMemo(function(){return N.map(function(e){return Object.assign({},e,{balance:oe.get(e.address)||e.balance||"0 FLOW"})})},[N,oe]);return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:[S&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:e("send.title"),help:!1,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[!S&&w&&(0,p.jsx)(t(a[17]).YStack,{bg:"$bg1",rounded:"$4",p:16,gap:12,children:(0,p.jsx)(t(a[17]).AccountSelector,{currentAccount:Object.assign({},w,{balance:(null==_?void 0:_.balance)||w.balance||"0 FLOW"}),accounts:ie,onAccountSelect:function(e){F(e),c(e),h(),ne()},title:e("send.fromAccount"),showEditButton:N.length>1})}),(0,p.jsx)(t(a[17]).YStack,{my:"$4",children:(0,p.jsx)(t(a[17]).SegmentedControl,{segments:y,value:"Tokens"===o?y[0]:y[1],onChange:function(e){return(t=e===y[0]?"Tokens":"NFTs")!==o&&h(),void i(t);var t}})}),(0,p.jsxs)(t(a[17]).ScrollView,{flex:1,showsVerticalScrollIndicator:!1,children:["Tokens"===o&&(0,p.jsx)(t(a[17]).YStack,{gap:"$4",children:I?(0,p.jsx)(p.Fragment,{children:[1,2,3,4,5].map(function(e){return(0,p.jsx)(t(a[17]).YStack,{p:"$3",height:72,children:(0,p.jsxs)(t(a[17]).XStack,{items:"center",gap:"$3",children:[(0,p.jsx)(t(a[17]).Skeleton,{width:"$12",height:"$12",borderRadius:"$6"}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,gap:"$2",children:[(0,p.jsx)(t(a[17]).Skeleton,{height:"$3",width:"60%"}),(0,p.jsx)(t(a[17]).Skeleton,{height:"$2",width:"40%"})]}),(0,p.jsxs)(t(a[17]).YStack,{items:"flex-end",gap:"$2",children:[(0,p.jsx)(t(a[17]).Skeleton,{height:"$3",width:"$20"}),(0,p.jsx)(t(a[17]).Skeleton,{height:"$2",width:"$18"})]})]})},`token-skeleton-${e}`)})}):M?(0,p.jsx)(t(a[17]).RefreshView,{type:"error",message:M.message||e("errors.failedToLoadTokens"),onRefresh:ee,refreshText:e("buttons.retry")}):0===re.length?(0,p.jsx)(t(a[17]).RefreshView,{type:"empty",message:e("messages.noTokensWithBalance"),onRefresh:ee,refreshText:e("buttons.refresh")}):(0,p.jsx)(t(a[17]).YStack,{gap:"$2",children:re.map(function(n,r){return(0,p.jsxs)(g.default.Fragment,{children:[(0,p.jsx)(t(a[17]).TokenCard,{token:n,currency:t(a[13]).bridge.getCurrency(),isVerified:n.isVerified,onPress:function(){return Z(n)},isAccessible:t(a[15]).accessibleAssetHelpers.isTokenAllowed(n,X),inaccessibleText:e("send.inaccessible")}),r0&&void 0!==arguments[0]?arguments[0]:{},s=i.assets,c=(0,t(a[12]).useTranslation)().t,l="extension"===t(a[13]).bridge.getPlatform(),f=t(a[13]).bridge.getNetwork()||"mainnet",m=(0,g.useState)(!1),h=(0,u.default)(m,2),v=h[0],y=h[1],S=(0,g.useState)(!0),b=(0,u.default)(S,2),x=b[0],T=b[1],k=(0,g.useState)(!1),w=(0,u.default)(k,2),F=w[0],C=w[1],j=(0,t(a[15]).useSendStore)(t(a[15]).sendSelectors.selectedNFTs),N=(0,t(a[15]).useSendStore)(t(a[15]).sendSelectors.fromAccount),$=(0,t(a[15]).useSendStore)(t(a[15]).sendSelectors.toAccount),A=(0,t(a[15]).useSendStore)(t(a[15]).sendSelectors.isLoading),E=(0,t(a[15]).useSendStore)(function(e){return e.setCurrentStep}),P=(0,t(a[15]).useSendStore)(function(e){return e.setSelectedNFTs}),R=(0,t(a[15]).useSendStore)(function(e){return e.executeTransaction}),B=(0,t(a[15]).useSendStore)(function(e){return e.getNFTQuantity}),I=(0,t(a[15]).useSendStore)(function(e){return e.selectedCollection}),M=(0,t(a[15]).useSendStore)(function(e){return e.setNFTQuantity}),W=j&&j.length>1,O=j&&1===j.length,L=(null==j?void 0:j[0])||null,D=(0,g.useState)(function(){if(L&&"ERC1155"===L.contractType){var e=L.id||"";return B(e)}return 1}),Y=(0,u.default)(D,2),z=Y[0],V=Y[1],Q="ERC1155"===(null==L?void 0:L.contractType),_="number"==typeof(null==L?void 0:L.amount)?L.amount:parseInt(null==L?void 0:L.amount)||1,K=(0,g.useMemo)(function(){return c(W?"send.sendNFTs":Q?"send.sendSNFTs":"send.sendNFTs")},[W,Q,c]);(0,g.useEffect)(function(){E("send-nft")},[E]),(0,g.useEffect)(function(){var e=(function(){var e=(0,d.default)(function*(){try{var e=yield null==t(a[13]).bridge.isFreeGasEnabled?void 0:t(a[13]).bridge.isFreeGasEnabled();T(null==e||e)}catch(e){T(!0)}});return function(){return e.apply(this,arguments)}})();e()},[]);var q=(0,g.useMemo)(function(){return Object.assign({},L,{id:(null==L?void 0:L.id)||"",name:(null==L?void 0:L.name)||c("nft.untitled"),thumbnail:L?(0,t(a[16]).getNFTCover)(L):"",collection:(null==L?void 0:L.collectionName)||c("nft.unknownCollection"),collectionContractName:null==L?void 0:L.collectionContractName,description:(null==L?void 0:L.description)||"",type:(null==L?void 0:L.type)||"flow",contractType:null==L?void 0:L.contractType,amount:_.toString()})},[L,_]),U=(0,g.useMemo)(function(){return(null==j?void 0:j.map(function(e){return Object.assign({},e,{id:e.id||"",name:e.name||c("nft.untitled"),thumbnail:(0,t(a[16]).getNFTCover)(e),collection:e.collectionName||c("nft.unknownCollection"),collectionContractName:e.collectionContractName,description:e.description||"",type:e.type||"flow"})}))||[]},[j]),G=(0,t(a[14]).useQuery)({queryKey:t(a[15]).storageQueryKeys.accountInfo(N||null),queryFn:function(){return t(a[15]).storageQueries.fetchAccountInfo(N||null)},enabled:!(null==N||!N.address)&&"main"===(null==N?void 0:N.type),staleTime:0}).data,H=null==j||null==(e=j[0])?void 0:e.flowIdentifier,X=(0,t(a[14]).useQuery)({queryKey:t(a[15]).storageQueryKeys.resourceCheck((null==$?void 0:$.address)||"",H||""),queryFn:function(){return t(a[15]).storageQueries.checkResourceCompatibility((null==$?void 0:$.address)||"",H||"")},enabled:!(null==$||!$.address||!H),staleTime:3e5}).data,Z=!(void 0===X||X),J=(0,t(a[14]).useQuery)({queryKey:t(a[15]).payerStatusQueryKeys.payerStatus(f),queryFn:function(){return t(a[15]).payerStatusQueries.fetchPayerStatus(f)},staleTime:0,enabled:!0,retry:t(a[16]).retryConfigs.critical.retry,retryDelay:t(a[16]).retryConfigs.critical.retryDelay}),ee=J.data,te=void 0===ee?null:ee,ne=(J.isLoading,J.error,Boolean(null==te||null==(n=te.surge)?void 0:n.active)),re=(null==te||null==(r=te.surge)?void 0:r.multiplier)||1,oe=(0,g.useMemo)(function(){var e=Number(re);return Number.isNaN(e)?"1":e.toFixed(2).replace(/\.?0+$/,"")},[re]),ie=(0,g.useMemo)(function(){var e,t=null==te||null==(e=te.surge)?void 0:e.maxFee;if(!t)return"~0.001 FLOW";var n=t<.01?4:t<.1?3:2;return`~${t.toFixed(n)} FLOW`},[null==te||null==(o=te.surge)?void 0:o.maxFee]),ae=!1,se=(0,g.useMemo)(function(){return N&&"main"===N.type&&G?t(a[15]).storageUtils.validateOtherTransaction(G,ae):{canProceed:!0,showWarning:!1,warningType:null}},[N,G,ae]),ce=se.showWarning,le=(0,g.useMemo)(function(){return c(t(a[15]).storageUtils.getStorageWarningMessageKey(se.warningType))},[se.warningType,c]),de=!j||0===j.length||!N||!$||A||!se.canProceed||Z,ue={tokenAmount:W?j.length.toString():Q?z.toString():"1",fiatAmount:"0.00",isTokenMode:!0,transactionFee:ie},ge=(0,g.useCallback)(function(){var e=t(a[15]).useSendStore.getState().selectedNFTs,n=(null==e?void 0:e[0])||null;if(t(a[16]).logger.debug("[SendSummaryScreen] Edit NFT pressed:",{currentSelectedNFT:n?{id:n.id,collectionName:n.collectionName,collectionContractName:n.collectionContractName,flowIdentifier:n.flowIdentifier,evmAddress:n.evmAddress,address:n.address}:null,fromAccount:null==N?void 0:N.address}),n&&N){var r=t(a[15]).useTokenQueryStore.getState(),o=[N.address];N.evmAddress&&o.push(N.evmAddress);var i=null;for(var s of o){var c=r.getNFTCollectionsForAddress(s);if(t(a[16]).logger.debug("[SendSummaryScreen] Searching for collection:",{address:s,collectionsFound:(null==c?void 0:c.length)||0}),c&&(i=c.find(function(e){var r=!1;return"flow"===e.type?r=e.flowIdentifier===n.flowIdentifier:"evm"===e.type&&(r=e.evmAddress===n.evmAddress),r&&t(a[16]).logger.debug("[SendSummaryScreen] Found matching collection:",{collectionName:e.name,collectionId:e.id,collectionType:e.type}),r})))break}if(i){(0,t(a[15]).useSendStore.getState().setSelectedCollection)(i)}else{t(a[16]).logger.warn("[SendSummaryScreen] No matching collection found, creating fallback");var l={id:n.collectionContractName||n.contractName||"",name:n.collectionName||"Unknown Collection",contractName:n.collectionContractName||n.contractName||"",address:n.contractAddress||n.address||"",evmAddress:n.evmAddress,flowIdentifier:n.flowIdentifier,path:null,nfts:[]};(0,t(a[15]).useSendStore.getState().setSelectedCollection)(l)}}t(a[13]).navigation.navigate(t(a[18]).ScreenName.NFT_LIST)},[N]),fe=(0,g.useCallback)(function(){t(a[13]).navigation.navigate(t(a[18]).ScreenName.SEND_TO)},[]),pe=(0,g.useCallback)(function(e){if(j){var n=j.filter(function(n){return(0,t(a[16]).getNFTId)(n)!==e});P(n),0===n.length&&t(a[13]).navigation.navigate(t(a[18]).ScreenName.NFT_LIST)}},[j,P]),me=(0,g.useCallback)(function(){Q?t(a[16]).logger.info("[SendSummaryScreen] Sending ERC1155 NFT with quantity:",{quantity:z,maxQuantity:_,nftId:null==L?void 0:L.id}):W?t(a[16]).logger.info("[SendSummaryScreen] Sending multiple NFTs:",{count:j.length}):t(a[16]).logger.info("[SendSummaryScreen] Sending single NFT"),ne?C(!0):y(!0)},[Q,z,_,L,W,j,ne]),he=(0,g.useCallback)(function(){C(!1)},[]),ve=(0,g.useCallback)(function(){C(!1),y(!0)},[]),ye=(0,g.useCallback)(function(){y(!1)},[]),Se=(0,g.useCallback)((0,d.default)(function*(){try{var e=yield R(),n=t(a[13]).bridge.getPlatform();!e||n!==t(a[18]).Platform.iOS&&n!==t(a[18]).Platform.Android||t(a[13]).bridge.closeRN();var r=t(a[15]).useTokenQueryStore.getState();if(I&&N){var o=t(a[13]).bridge.getNetwork(),i=N.address;r.invalidateNFTCollection(i,I,o)}}catch(e){t(a[16]).logger.error("[SendSummaryScreen] Transaction failed:",e),(0,t(a[16]).showError)(e,t(a[13]).bridge,c("send.failed"))}}),[R,I,N]);if(!j||0===j.length)return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$6",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$6",fontWeight:"600",color:"$color",mb:"$3",text:"center",children:c("nft.notFound.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",text:"center",children:c("send.noNFTSelected")})]})});return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[l&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:c("send.title"),help:!0,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsx)(t(a[17]).YStack,{flex:1,children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,gap:"$3",children:[(0,p.jsxs)(t(a[17]).YStack,{gap:"$1",bg:"$bg1",rounded:"$4",p:"$4",children:[N&&(0,p.jsx)(t(a[17]).AccountCard,{isSendTokensScreen:!l,account:(0,t(a[16]).transformAccountForCard)(N),title:c("send.fromAccount"),isLoading:!1}),(0,p.jsx)(t(a[17]).Separator,{mx:"$0",mt:"$4",mb:"$2",borderColor:"$border1",borderWidth:.5}),(0,p.jsx)(t(a[17]).SendSectionHeader,{title:K,onEditPress:ge,showEditButton:!0,editButtonText:c("send.change")}),(0,p.jsx)(t(a[17]).View,{mt:-8,mb:-8,children:W?(0,p.jsx)(t(a[17]).MultipleNFTsPreview,{nfts:U,onRemoveNFT:pe,maxVisibleThumbnails:3,expandable:!0,thumbnailSize:90,backgroundColor:"transparent",borderRadius:14.4,contentPadding:"$0",unnamedNFTText:c("nft.untitled"),unknownCollectionText:c("nft.unknownCollection"),noNFTsSelectedText:c("nft.noNFTsSelected")}):(0,p.jsx)(t(a[17]).NFTSendPreview,{nft:q,onEditPress:ge,showEditButton:!1,sectionTitle:"",backgroundColor:"transparent",borderRadius:0,contentPadding:"$0",imageSize:76})}),O&&Q&&(0,p.jsx)(t(a[17]).YStack,{gap:"$2",mb:"$3",children:(0,p.jsx)(t(a[17]).ERC1155QuantitySelector,{quantity:z,maxQuantity:_,onQuantityChange:function(e){t(a[16]).logger.info("[SendSummaryScreen] ERC1155 quantity changed:",{from:z,to:e,maxQuantity:_}),V(e),null!=L&&L.id&&M(L.id,e)},disabled:!1})})]}),(0,p.jsx)(t(a[17]).XStack,{position:"relative",height:0,children:(0,p.jsx)(t(a[17]).XStack,{width:"100%",position:"absolute",t:-30,justify:"center",z:10,children:(0,p.jsx)(t(a[17]).SendArrowDivider,{variant:"arrow",size:48})})}),$&&(0,p.jsx)(t(a[17]).YStack,{mt:"$1",children:(0,p.jsx)(t(a[17]).ToAccountSection,{account:$,title:c("send.toAccount"),isAccountIncompatible:Z,onEditPress:fe,showEditButton:!0,isLinked:"child"===$.type||!!$.parentAddress,incompatibleAccountText:c("account.compatibility.incompatible"),learnMoreText:c("account.compatibility.learnMore"),unknownAccountText:c("account.compatibility.unknown"),dialogTitle:c("account.compatibility.dialog.title"),dialogButtonText:c("account.compatibility.dialog.button"),dialogDescriptionMain:c("account.compatibility.dialog.descriptionMain"),dialogDescriptionSecondary:c("account.compatibility.dialog.descriptionSecondary")})}),(0,p.jsxs)(t(a[17]).YStack,{gap:"$3",mt:-16,children:[ne?(0,p.jsx)(t(a[17]).SurgeFeeConfirmationSection,{transactionFee:ie,surgeMultiplier:re,transactionFeeLabel:c("surge.modal.transactionFee"),surgeTitle:c("surge.modal.surgeActive"),description:c("surge.modal.description",{multiplier:oe})}):(0,p.jsx)(t(a[17]).TransactionFeeSection,{flowFee:ie,usdFee:"$0.02",isFree:x,showCovered:x,title:c("send.transactionFee"),backgroundColor:"transparent",borderRadius:16,contentPadding:0}),ce&&(0,p.jsx)(t(a[17]).StorageWarning,{message:le,showIcon:!0,title:c("storage.warning.title"),visible:!0})]})]})}),(0,p.jsx)(t(a[17]).YStack,{pt:"$4",mb:"$10",children:(0,p.jsx)(t(a[17]).YStack,{width:"100%",height:52,bg:de?"#6b7280":ne?"$warning":"$text",rounded:16,items:"center",justify:"center",borderWidth:1,borderColor:de?"$textMuted":"$text",opacity:de?.7:1,pressStyle:{opacity:.9},onPress:de?void 0:me,cursor:de?"not-allowed":"pointer",children:(0,p.jsx)(t(a[17]).Text,{"data-testid":"next",fontSize:"$4",fontWeight:"600",color:"$bg",children:c("common.next")})})}),(0,p.jsx)(t(a[17]).ConfirmationDrawer,{visible:v,transactionType:W?"multiple-nfts":"single-nft",selectedToken:null,sendStaticImage:null==s?void 0:s.sendStaticImage,selectedNFTs:W?U:L?[{id:L.id||"",name:L.name||c("nft.untitled"),thumbnail:L.thumbnail||"",collection:L.collectionName||c("nft.unknownCollection"),collectionContractName:L.collectionContractName||L.contractName||"",description:L.description||"",contractType:L.contractType,amount:_,selectedQuantity:Q?z:void 0}]:void 0,fromAccount:(0,t(a[16]).transformAccountForDisplay)(N),toAccount:(0,t(a[16]).transformAccountForDisplay)($),formData:ue,onConfirm:Se,onClose:ye,isExtension:l,summaryText:c("send.summary"),sendNFTsText:c("send.sendNFTs"),sendSNFTsText:c("send.sendSNFTs"),sendingText:c("send.sending"),confirmSendText:c("send.confirmSend"),holdToSendText:c("send.holdToSend"),unknownAccountText:c("send.unknownAccount")}),(0,p.jsx)(t(a[17]).SurgeModal,{visible:F,transactionFee:ie,multiplier:oe,title:c("surge.modal.title"),transactionFeeLabel:c("surge.modal.transactionFee"),surgeActiveText:c("surge.modal.surgeActive"),description:c("surge.modal.description",{multiplier:oe}),holdToAgreeText:c("surge.modal.holdToAgree"),onClose:he,onAgree:ve,isLoading:A})]})})},i.SendToScreen=function(){var e="extension"===t(a[13]).bridge.getPlatform(),n=(0,t(a[12]).useTranslation)().t,r=[{type:"accounts",title:n("send.myAccounts")},{type:"recent",title:n("send.recent")},{type:"contacts",title:n("send.addressBook")}],o=(0,t(a[15]).useSendStore)(),i=o.setToAccount,s=o.setFromAccount,c=o.fromAccount,l=(0,g.useState)(""),f=(0,u.default)(l,2),m=f[0],h=f[1],v=(0,g.useState)("accounts"),y=(0,u.default)(v,2),S=y[0],b=y[1],x=(0,g.useState)(null),T=(0,u.default)(x,2),k=T[0],w=T[1],F=(0,g.useState)(null),C=(0,u.default)(F,2),j=C[0],N=C[1],$=(0,g.useState)(!1),A=(0,u.default)($,2),E=A[0],P=A[1],R=(0,g.useState)(null),B=(0,u.default)(R,2),I=B[0],M=B[1],W=(0,g.useState)(!1),O=(0,u.default)(W,2),L=O[0],D=O[1],Y=(0,g.useState)(null),z=(0,u.default)(Y,2),V=z[0],Q=z[1],_=(0,g.useState)(!1),K=(0,u.default)(_,2),q=K[0],U=K[1],G=(0,g.useState)(""),H=(0,u.default)(G,2),X=H[0],Z=H[1],J=(0,g.useState)(!1),ee=(0,u.default)(J,2),te=ee[0],ne=ee[1],re=(0,g.useState)(""),oe=(0,u.default)(re,2),ie=oe[0],ae=oe[1],se=(0,g.useMemo)(function(){var e,t,n,r;if(!V)return"?";var o=null==(e=V.name)||null==(e=e.trim())?void 0:e[0];if(o)return o.toUpperCase();var i=null==(t=V.address)?void 0:t.replace(/^0x/,"");return null!=(n=null==i||null==(r=i[0])?void 0:r.toUpperCase())?n:"?"},[V]),ce=(0,t(a[15]).useSendStore)(function(e){return e.transactionType}),le=(0,t(a[15]).useSendStore)(function(e){return e.setCurrentStep});(0,g.useEffect)(function(){le("send-to")},[le]);var de=(0,t(a[15]).useAllProfiles)(),ue=(0,t(a[15]).useProfileStore)(function(e){return e.loadProfilesFromBridge}),ge=(0,t(a[15]).useAddressBookStore)(),fe=(0,t(a[15]).useProfileStore)(function(e){return e.isLoading}),pe=(0,t(a[15]).useProfileStore)(function(e){return e.error}),me=(0,g.useRef)(!1),he=t(a[13]).bridge.getSelectedAddress()||"",ve=(null==c?void 0:c.address)||he,ye=t(a[13]).bridge.getNetwork()||"mainnet";(0,g.useEffect)(function(){me.current||fe||pe||(me.current=!0,ue())},[fe,ue,pe]);var Se=(0,t(a[14]).useQuery)({queryKey:t(a[15]).addressBookQueryKeys.currentUserUid(),queryFn:function(){return ge.fetchCurrentUserUid()},staleTime:0,gcTime:0,refetchOnMount:"always",refetchOnReconnect:!0,refetchOnWindowFocus:!0}),be=Se.data,xe=Se.isLoading,Te=Se.error,ke=!xe&&!Te,we=null!=be?be:null,Fe=(0,t(a[14]).useQuery)({queryKey:t(a[15]).addressBookQueryKeys.recent(we),queryFn:function(){return ge.fetchRecent()},staleTime:0,gcTime:0,enabled:ke,refetchOnMount:"always",refetchOnReconnect:!0,refetchOnWindowFocus:!0}),Ce=Fe.data,je=void 0===Ce?[]:Ce,Ne=Fe.isLoading,$e=Fe.refetch,Ae=(0,t(a[14]).useQuery)({queryKey:t(a[15]).addressBookQueryKeys.contacts(we),queryFn:function(){return ge.fetchContacts()},staleTime:0,gcTime:0,enabled:ke,refetchOnMount:"always",refetchOnReconnect:!0,refetchOnWindowFocus:!0}),Ee=Ae.data,Pe=void 0===Ee?[]:Ee,Re=Ae.isLoading,Be=Ae.isFetching,Ie=Ae.error,Me=Ae.refetch,We=(0,g.useCallback)(function(){Promise.all([Me(),$e()])},[Me,$e]),Oe=(0,g.useMemo)(function(){return de.flatMap(function(e){return e.accounts.map(function(e){return e.address})})},[de]),Le=(0,t(a[14]).useQuery)(Object.assign({queryKey:["batchBalances",Oe],queryFn:function(){return t(a[15]).tokenQueries.fetchBatchFlowBalances(Oe)},enabled:Oe.length>0,staleTime:3e4,refetchOnWindowFocus:!0,refetchOnReconnect:!0,refetchInterval:6e4},t(a[16]).retryConfigs.critical)).data,De=void 0===Le?[]:Le,Ye=(0,t(a[14]).useQuery)({queryKey:["batchNFTCounts",Oe,ye],queryFn:function(){return t(a[15]).tokenQueries.fetchBatchNFTCounts(Oe,ye)},enabled:Oe.length>0,staleTime:3e5,refetchOnWindowFocus:!0,refetchOnReconnect:!0,refetchInterval:3e5}).data,ze=void 0===Ye?[]:Ye,Ve=(0,t(a[14]).useQuery)(Object.assign({queryKey:t(a[15]).tokenQueryKeys.balance(ve,ye),queryFn:function(){return t(a[15]).tokenQueries.fetchBalance(ve,void 0,ye)},enabled:!(null==c||!c.address),staleTime:3e4,refetchOnWindowFocus:!0,refetchOnReconnect:!0,refetchInterval:6e4},t(a[16]).retryConfigs.critical)).data,Qe=(0,g.useMemo)(function(){var e={},t=new Map;De.forEach(function(e){var n=(0,u.default)(e,2),r=n[0],o=n[1];t.set(r,o)});var n=new Map;return ze.forEach(function(e){var t=(0,u.default)(e,2),r=t[0],o=t[1];n.set(r,o)}),Oe.forEach(function(r){var o=t.get(r)||"0 FLOW",i=n.get(r)||0;e[r]={balance:o,nftCount:`${i}`}}),e},[De,ze,Oe]),_e=(0,g.useCallback)(function(e,t){if(!m||!m.trim())return!0;var n=m.toLowerCase().trim();return e.toLowerCase().includes(n)||t.toLowerCase().includes(n)},[m]),Ke=(0,g.useMemo)(function(){return je.map(function(e){return{id:e.id,name:e.name,address:e.address,avatar:e.avatar,type:"recent",emojiInfo:null,parentEmojiInfo:null}}).filter(function(e){return _e(e.name,e.address)})},[je,_e]),qe=(0,g.useMemo)(function(){return Pe.map(function(e){return{id:e.id,name:e.name,address:e.address,avatar:e.avatar,type:"contact",emojiInfo:null,parentEmojiInfo:null}}).filter(function(e){return _e(e.name,e.address)})},[Pe,Re,Ie,_e]),Ue=(0,g.useMemo)(function(){if(Ie)return Ie instanceof Error?Ie.message:String(Ie)},[Ie]),Ge=(0,g.useMemo)(function(){return new Set(Pe.map(function(e){var t;return null==(t=e.address)?void 0:t.toLowerCase()}))},[Pe]),He=(0,g.useCallback)(function(e){return Ge.has(null==e?void 0:e.toLowerCase())},[Ge]),Xe=(0,g.useCallback)(function(e){if(!("evm"===e.type||(0,t(a[16]).isCOAAddress)(e.address)))return!1;var n=(e.balance||"0").match(/^([\d,.]+)/),r=n?parseFloat(n[1].replace(/,/g,"")):0,o=parseInt(e.nfts||"0",10);return 0===r&&0===o},[]),Ze=(0,g.useMemo)(function(){return de.map(function(e){return Object.assign({},e,{accounts:e.accounts.map(function(e){var t=Qe[e.address],n=parseInt((null==t?void 0:t.nftCount)||"0",10);return Object.assign({},e,{balance:(null==t?void 0:t.balance)||"0 FLOW",nfts:`${n}`})}).filter(function(e){return!!_e(e.name||"",e.address)&&!Xe(e)})})}).filter(function(e){return e.accounts.length>0})},[de,Qe,_e,Xe]),Je=(0,g.useMemo)(function(){return de.flatMap(function(e){return e.accounts})},[de]),et=(0,g.useCallback)(function(e){var t=e.toLowerCase(),n=Je.some(function(e){return e.address.toLowerCase()===t}),r=je.some(function(e){return e.address.toLowerCase()===t}),o=Pe.some(function(e){return e.address.toLowerCase()===t});return!n&&!r&&!o},[Je,je,Pe]),tt=(0,g.useMemo)(function(){switch(S){case"recent":return Ke;case"contacts":return qe;default:return[]}},[S,Ke,qe]),nt=(0,g.useMemo)(function(){switch(S){case"accounts":return fe;case"recent":return Ne;case"contacts":return Re;default:return!1}},[S,fe,Ne,Re]),rt=(0,g.useCallback)(function(e){var t;return(null==(t=r.find(function(t){return t.type===e}))?void 0:t.title)||""},[r]),ot=(0,g.useCallback)(function(e){var t;return(null==(t=r.find(function(t){return t.title===e}))?void 0:t.type)||"accounts"},[r]),it=r.map(function(e){return e.title}),at=(0,g.useCallback)(function(e){var t=ot(e);b(t)},[ot]),st=(0,g.useCallback)((function(){var e=(0,d.default)(function*(e){var n,r;e.isEVM?r="evm":e.isLinked?r="child":"account"===e.type&&(r="main"),t(a[16]).logger.debug("fromAccount selected",c,Ve);var o=null==(n=e.emojiInfo)?void 0:n.emoji,l=o&&!o.startsWith("http")&&o.length<=4;if(i({id:e.id,name:e.name,address:e.address,avatar:l?void 0:e.avatar||"",emojiInfo:l?e.emojiInfo:void 0,parentEmoji:e.parentEmojiInfo,parentAddress:e.isLinked?e.address:void 0,isActive:!1,type:r}),c&&s(Object.assign({},c,{balance:(null==Ve?void 0:Ve.displayBalance)||"0 FLOW",nfts:null!=Ve&&Ve.nftCount?`${Ve.nftCount} NFTs`:"0 NFTs"})),"accounts"!==S)try{var d,u=t(a[19]).RecentRecipientsService.getInstance();yield u.addRecentRecipient({id:e.id,name:e.name,address:e.address,emoji:null==(d=e.emojiInfo)?void 0:d.emoji,avatar:e.avatar})}catch(e){console.warn("Failed to add recent recipient:",e),(0,t(a[16]).showError)(e,t(a[13]).bridge)}"single-nft"===ce||"multiple-nfts"===ce?t(a[13]).navigation.navigate(t(a[18]).ScreenName.SEND_SUMMARY,{address:e.address,recipient:e}):t(a[13]).navigation.navigate(t(a[18]).ScreenName.SEND_TOKENS,{address:e.address,recipient:e})});return function(t){return e.apply(this,arguments)}})(),[i,S,ce,c,Ve]),ct=(0,g.useCallback)((0,d.default)(function*(){I&&(yield st(I)),P(!1),M(null)}),[I,st]),lt=(0,g.useCallback)(function(){P(!1),M(null)},[]),dt=(0,g.useCallback)((function(){var e=(0,d.default)(function*(e){et(e.address)?(M(e),P(!0)):yield st(e)});return function(t){return e.apply(this,arguments)}})(),[et,st]),ut=(0,g.useCallback)(function(e){if(h(e),e&&e.trim()){var r=e.trim(),o=(0,t(a[16]).isValidFlowAddress)(r),i=(0,t(a[16]).isValidEthereumAddress)(r);if(o||i){var s=setTimeout(function(){var e,t,o,a,s,c,l,d=void 0;for(var u of de)if(d=u.accounts.find(function(e){return e.address.toLowerCase()===r.toLowerCase()||e.address===r}))break;var g={id:r,name:(null==(e=d)?void 0:e.name)||n("send.unknownAccount"),address:r,avatar:null!=(t=d)&&t.emojiInfo||null==(o=d)?void 0:o.avatar,emojiInfo:null==(a=d)?void 0:a.emojiInfo,parentEmojiInfo:(null==(s=d)?void 0:s.parentEmoji)||null,type:"account",isSelected:!1,isLinked:!!(null!=(c=d)&&c.parentAddress||"child"===(null==(l=d)?void 0:l.type)),isEVM:i,balance:"",showBalance:!1};dt(g)},300);return function(){return clearTimeout(s)}}}},[de,dt]),gt=(0,g.useCallback)((0,d.default)(function*(){try{var e=yield t(a[13]).bridge.scanQRCode();e&&ut(e)}catch(e){"SCAN_CANCELLED"!==e.code&&alert(`${n("common.error")}: ${n("errors.networkError")}`),(0,t(a[16]).showError)(e,t(a[13]).bridge)}}),[ut,n]),ft=(0,g.useCallback)(function(e){},[]),pt=(0,g.useCallback)((function(){var e=(0,d.default)(function*(e){try{if((0,t(a[16]).isCOAAddress)(e.address))return ae(e.address),void ne(!0);if("extension"!==t(a[13]).bridge.getPlatform()&&"undefined"==typeof window){var n=globalThis.clipboard;null!=n&&n.setString&&n.setString(e.address)}else navigator.clipboard&&(yield navigator.clipboard.writeText(e.address));w(`${e.name}::${e.address}`),N(e.id),setTimeout(function(){w(null),N(null)},1e3)}catch(e){t(a[16]).logger.error("Failed to copy address:",e),(0,t(a[16]).showError)(e,t(a[13]).bridge)}});return function(t){return e.apply(this,arguments)}})(),[n,t(a[13]).bridge]),mt=(0,g.useCallback)(function(e){t(a[16]).logger.debug("[SendToScreen] Adding recipient to address book:",e),Q(e),D(!0),Z(e.name||"")},[He]),ht=(0,g.useCallback)(function(){D(!1),Q(null),U(!1),Z("")},[]),vt=(0,g.useCallback)((0,d.default)(function*(){if(V&&!q)try{U(!0);var e=X.trim()||V.name||V.address;yield t(a[20]).AddressbookService.external({contactName:e,address:V.address,domain:"",domainType:0}),yield Me(),t(a[13]).toast.show({title:n("messages.addressBookAdded"),type:"success"})}catch(e){t(a[16]).logger.error("Failed to add to address book:",e),t(a[13]).toast.show({title:n("messages.failedToAddToAddressBook"),type:"error"})}finally{U(!1),D(!1),Q(null),Z("")}}),[V,q,X,Me]),yt=(0,g.useCallback)(function(e){return!(null==e||!e.address)&&("contact"!==e.type&&!He(e.address))},[He]),St=(function(){if(m&&m.trim())return{title:n("send.noSearchResults.title","No Results"),message:n("send.noSearchResults.message",`No accounts or contacts match "${m}"`)};switch(S){case"accounts":return{title:n("send.noAccounts.title"),message:n("send.noAccounts.message")};case"recent":return{title:n("send.noRecent.title"),message:n("send.noRecent.message")};case"contacts":return{title:n("send.noContacts.title"),message:n("send.noContacts.message")};default:return{message:n("send.noRecipients")}}})();return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",px:"$0",pb:"$0",children:[e&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:n("send.sendTo.title","Send To"),help:!0,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsx)(t(a[17]).SearchableTabLayout,{title:n("send.sendTo.title"),searchValue:m,searchPlaceholder:n("send.searchPasteAddress"),showScanButton:!e,onSearchChange:ut,onScanPress:gt,tabSegments:it,activeTab:rt(S),onTabChange:at,backgroundColor:"$bgDrawer",headerPaddingHorizontal:"$4",children:"accounts"===S?(0,p.jsx)(t(a[17]).ProfileList,{profiles:Ze,onAccountPress:dt,isLoading:nt,emptyTitle:St.title,emptyMessage:St.message,loadingText:n("messages.loadingProfiles"),isMobile:!e,currentAccount:null!=c?c:void 0}):"contacts"===S?Ue?(0,p.jsx)(t(a[17]).RecipientList,{data:[],isLoading:!1,emptyTitle:St.title,emptyMessage:St.message,error:Ue,retryButtonText:n("buttons.retry"),errorDefaultMessage:n("messages.failedToLoadRecipients"),onRetry:Me,shouldShowAddToAddressBook:yt}):Re?(0,p.jsx)(t(a[17]).RecipientList,{data:[],isLoading:!0,emptyTitle:St.title,emptyMessage:St.message,retryButtonText:n("buttons.retry"),errorDefaultMessage:n("messages.failedToLoadRecipients"),shouldShowAddToAddressBook:yt}):0===qe.length?(0,p.jsx)(t(a[17]).RecipientList,{data:[],isLoading:!1,emptyTitle:St.title,emptyMessage:St.message,retryButtonText:n("buttons.retry"),errorDefaultMessage:n("messages.failedToLoadRecipients"),shouldShowAddToAddressBook:yt}):(0,p.jsx)(t(a[17]).AddressBookList,{contacts:qe.map(function(e){return Object.assign({},e,{onPress:function(){return dt(e)},onEdit:function(){return ft(e)},onCopy:function(){return pt(e)}})}),groupByLetter:!0,copiedAddress:k,copiedId:j,copiedText:n("messages.copied"),isMobile:!e,refreshing:Be&&!Re,onRefresh:We}):(0,p.jsx)(t(a[17]).RecipientList,{data:tt,isLoading:nt,emptyTitle:St.title,emptyMessage:St.message,retryButtonText:n("buttons.retry"),errorDefaultMessage:n("messages.failedToLoadRecipients"),onItemPress:dt,onItemEdit:ft,onItemCopy:pt,onItemAddToAddressBook:mt,shouldShowAddToAddressBook:yt})}),(0,p.jsx)(t(a[17]).AddContactDialog,{visible:L,address:(null==V?void 0:V.address)||"",initial:se,contactName:X,isSubmitting:q,onContactNameChange:Z,onConfirm:vt,onClose:ht,title:n("send.newContactTitle"),nameLabel:n("send.contactNameLabel"),namePlaceholder:n("send.contactNamePlaceholder"),confirmLabel:n("send.addToAddressBookButton")}),(0,p.jsx)(t(a[17]).InfoDialog,{visible:E,title:n("send.confirmAddress"),buttonText:n("send.confirmAddress"),onButtonClick:ct,onClose:lt,children:(0,p.jsxs)(t(a[17]).YStack,{gap:"$5",self:"stretch",items:"center",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"300",lineHeight:20,letterSpacing:-.084,textAlign:"center",color:"$text",self:"stretch",children:n("send.firstTimeSendMessage")}),(0,p.jsx)(t(a[17]).YStack,{bg:"$cardBg",rounded:"$2",py:"$4",px:"$6",items:"center",justify:"center",self:"stretch",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"600",lineHeight:16.8,letterSpacing:-.084,textAlign:"center",color:"$text",numberOfLines:1,ellipsizeMode:"middle",children:(null==I?void 0:I.address)||""})})]})}),(0,p.jsx)(t(a[17]).COAAddressCopyModal,{visible:te,address:ie,onClose:function(){ne(!1),ae("")},onConfirm:(bt=(0,d.default)(function*(){try{if("extension"!==t(a[13]).bridge.getPlatform()&&"undefined"==typeof window){var e=globalThis.clipboard;null!=e&&e.setString&&e.setString(ie)}else navigator.clipboard&&(yield navigator.clipboard.writeText(ie));ne(!1),ae("")}catch(e){t(a[16]).logger.error("Failed to copy COA address:",e),(0,t(a[16]).showError)(e,t(a[13]).bridge)}}),function(){return bt.apply(this,arguments)})})]});var bt},i.screensTranslations=i.screensI18n=i.initializeI18n=i.SendTokensScreen=void 0,i.useCopyToClipboard=j,i.useKeyRotation=$,i.useQueryClient=void 0;var c=s(t(a[1])),l=s(t(a[2])),d=s(t(a[3])),u=s(t(a[4])),g=(function(e,t){if("function"==typeof WeakMap)var n=new WeakMap,r=new WeakMap;return(function(e,t){if(!t&&e&&e.__esModule)return e;var o,i,a={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return a;if(o=t?r:n){if(o.has(e))return o.get(e);o.set(e,a)}for(var s in e)"default"!==s&&{}.hasOwnProperty.call(e,s)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,s))&&(i.get||i.set)?o(a,s,i):a[s]=e[s]);return a})(e,t)})(t(a[5])),f=t(a[6]),p=t(a[7]),m=s(t(a[8])),h=s(t(a[9])),v=s(t(a[10])),y=s(t(a[11]));var S=(0,g.createContext)(null),b=i.useQueryClient=function(){var e=(0,g.useContext)(S);if(!e)throw new Error("useQueryClient must be used within a QueryProvider");return e};i.QueryProvider=function(e){var n=e.children,r=e.queryClient,o=(0,g.useMemo)(function(){return r?((0,t(a[13]).setGlobalQueryClient)(r),r):(0,t(a[13]).getGlobalQueryClient)()},[r]);return(0,p.jsx)(S.Provider,{value:o,children:(0,p.jsx)(t(a[14]).QueryClientProvider,{client:o,children:n})})};i.SendTokensScreen=function(){var e,n,r,o=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).assets,i=(0,t(a[12]).useTranslation)().t,s="extension"===t(a[13]).bridge.getPlatform(),c=t(a[13]).bridge.getNetwork()||"mainnet",l=t(a[13]).bridge.getCurrency(),h=(0,g.useState)(!0),v=(0,u.default)(h,2),y=v[0],S=v[1],b=(0,t(a[15]).useSendStore)(),x=b.setSelectedToken,T=b.setSelectedNFTs,k=b.setTransactionType,w=b.transactionType,F=b.selectedToken,C=b.fromAccount,j=b.toAccount,N=b.updateFormData,$=b.executeTransaction,A=b.isLoading,E=b.setCurrentStep,P=(0,t(a[15]).useTokenStore)(),R=P.getTokensForAddress,B=P.fetchTokens,I=(0,t(a[15]).useWalletStore)(t(a[15]).walletSelectors.getAllAccounts),M=(0,t(a[15]).useWalletStore)(function(e){return e.loadAccountsFromBridge}),W=(0,t(a[15]).useWalletStore)(function(e){return e.isLoading}),O=(0,t(a[15]).useAddressBookStore)();(0,g.useEffect)(function(){E("send-tokens")},[E]),(0,g.useEffect)(function(){var e=(function(){var e=(0,d.default)(function*(){try{var e=yield null==t(a[13]).bridge.isFreeGasEnabled?void 0:t(a[13]).bridge.isFreeGasEnabled();S(null==e||e)}catch(e){S(!0)}});return function(){return e.apply(this,arguments)}})();e()},[]),(0,g.useEffect)(function(){ne(""),Ce("")},[F]),(0,g.useEffect)(function(){0!==I.length||W||M()},[M,I.length,W]);var L,D=(0,t(a[14]).useQuery)({queryKey:t(a[15]).payerStatusQueryKeys.payerStatus(c),queryFn:function(){return t(a[15]).payerStatusQueries.fetchPayerStatus(c)},staleTime:0,enabled:!0,retry:3,retryDelay:1e3}),Y=D.data,z=void 0===Y?null:Y,V=(D.isLoading,D.error,(0,t(a[14]).useQuery)(Object.assign({queryKey:["tokens",null==C?void 0:C.address,c],queryFn:(L=(0,d.default)(function*(){if(null==C||!C.address)return[];var e=R(C.address,c);return e&&0!==e.length||(yield B(C.address,c,!1)),R(C.address,c)||[]}),function(){return L.apply(this,arguments)}),staleTime:3e5,enabled:!(null==C||!C.address)},t(a[16]).retryConfigs.critical,{refetchOnWindowFocus:!0,refetchOnReconnect:!0}))),Q=V.data,_=void 0===Q?[]:Q,K=V.isLoading,q=V.error,U=(0,t(a[14]).useQuery)(Object.assign({queryKey:t(a[15]).storageQueryKeys.accountInfo(C||null),queryFn:function(){return t(a[15]).storageQueries.fetchAccountInfo(C||null)},enabled:!(null==C||!C.address)&&"main"===(null==C?void 0:C.type),staleTime:0},t(a[16]).retryConfigs.critical,{refetchOnWindowFocus:!0,refetchOnReconnect:!0})).data,G=(0,g.useMemo)(function(){if(null==F||!F.identifier)return"";var e=F.identifier;return e.includes(".Vault")?e:`${e}.Vault`},[null==F?void 0:F.identifier]),H=(0,t(a[14]).useQuery)(Object.assign({queryKey:t(a[15]).storageQueryKeys.resourceCheck((null==j?void 0:j.address)||"",G),queryFn:function(){return t(a[15]).storageQueries.checkResourceCompatibility((null==j?void 0:j.address)||"",G)},enabled:!(null==j||!j.address||!G),staleTime:3e5},t(a[16]).retryConfigs.minimal,{refetchOnWindowFocus:!1,refetchOnReconnect:!0})).data,X=!(void 0===H||H),Z="$bgDrawer",J=(0,g.useState)(""),ee=(0,u.default)(J,2),te=ee[0],ne=ee[1],re=(0,g.useState)(!0),oe=(0,u.default)(re,2),ie=oe[0],ae=oe[1],se=(0,g.useState)(!1),ce=(0,u.default)(se,2),le=ce[0],de=ce[1],ue=(0,g.useState)(!1),ge=(0,u.default)(ue,2),fe=ge[0],pe=ge[1],me=(0,g.useState)(!1),he=(0,u.default)(me,2),ve=he[0],ye=he[1],Se=Boolean(null==z||null==(e=z.surge)?void 0:e.active),be=(null==z||null==(n=z.surge)?void 0:n.multiplier)||1,xe=(0,g.useMemo)(function(){var e=Number(be);return Number.isNaN(e)?"1":e.toFixed(2).replace(/\.?0+$/,"")},[be]),Te=(0,g.useMemo)(function(){var e,t=null==z||null==(e=z.surge)?void 0:e.maxFee;if(!t)return"~0.001 FLOW";var n=t<.01?4:t<.1?3:2;return`~${t.toFixed(n)} FLOW`},[null==z||null==(r=z.surge)?void 0:r.maxFee]),ke=(0,g.useState)(""),we=(0,u.default)(ke,2),Fe=we[0],Ce=we[1],je=(0,g.useRef)(null),Ne=(0,g.useMemo)(function(){if(!C||"main"!==C.type||!U)return{canProceed:!0,showWarning:!1,warningType:null};var e=parseFloat(te)||0;return!!F&&(0,t(a[18]).isFlow)(F)?t(a[15]).storageUtils.validateFlowTokenTransaction(U,e):t(a[15]).storageUtils.validateOtherTransaction(U)},[C,U,te,F]),$e=Ne.showWarning,Ae=i(t(a[15]).storageUtils.getStorageWarningMessageKey(Ne.warningType)),Ee=(0,g.useCallback)(function(e){x(e),de(!1)},[x]),Pe=(0,g.useCallback)(function(e){var t=e.replace(/[^0-9.]/g,""),n=t.split(".");if(!(n.length>2)){if(2===n.length){if(ie&&n[1].length>((null==F?void 0:F.decimal)||8))return;if(!ie&&n[1].length>2)return}t.length>1&&"0"===t[0]&&"."!==t[1]?ne(t.substring(1)):ne(t)}},[F,ie,l.rate]),Re=(0,g.useCallback)(function(){if(null!=F&&F.priceInUSD){var e=new m.default(F.priceInUSD).times(new m.default(l.rate||1)),t=new m.default(te||"0");if(!e.isNaN()&&!t.isNaN()&&e.gt(0))if(ie){var n=t.times(e);ne(n.toFixed(2))}else{var r=t.div(e);ne(r.toFixed(F.decimal||8))}}ae(function(e){return!e})},[ie,te,F,l.rate]),Be=(0,g.useCallback)(function(){if(F){var e="0";F.availableBalanceToUse?e=(0,t(a[16]).extractNumericBalance)(F.availableBalanceToUse):F.displayBalance?e=(0,t(a[16]).extractNumericBalance)(F.displayBalance):F.balance&&(e=(0,t(a[16]).extractNumericBalance)(F.balance));var n=parseFloat(e);!isNaN(n)&&n>0?(ne(e),ae(!0)):t(a[16]).logger.warn("[SendTokensScreen] Max button clicked but no valid balance found:",{token:F.symbol,availableBalanceToUse:F.availableBalanceToUse,displayBalance:F.displayBalance,balance:F.balance,extractedBalance:e})}},[F]),Ie=(0,g.useCallback)(function(){var e;je.current&&("function"==typeof je.current.blur?je.current.blur():null!=(e=je.current.current)&&e.blur?je.current.current.blur():je.current._nativeTag&&je.current.blur&&je.current.blur());f.Keyboard.dismiss()},[]),Me=(0,g.useCallback)(function(){var e;null!=(e=je.current)&&e.blur&&je.current.blur(),f.Keyboard.dismiss(),Se?ye(!0):pe(!0)},[Se]),We=(0,g.useCallback)(function(){ye(!1)},[]),Oe=(0,g.useCallback)(function(){ye(!1),pe(!0)},[]),Le=(0,g.useCallback)(function(){de(!0)},[]),De=(0,g.useCallback)(function(){de(!1)},[]),Ye=(0,g.useCallback)(function(){pe(!1)},[]),ze=(0,g.useCallback)((0,d.default)(function*(){try{if(!(F&&C&&j&&te))throw new Error("Missing transaction data");x(F),T([]),k("tokens");var e,n=new m.default(te||"0"),r=F.decimal||8;if(ie)e=n.toFixed(r);else{var o=new m.default(F.priceInUSD||0).times(new m.default(l.rate||1));e=n.div(o).toFixed(r)}N({tokenAmount:e});var s=yield $();if(s&&j){try{var c={id:j.id||j.address,name:j.name,address:j.address,avatar:j.avatar||"",isFavorite:!1,createdAt:Date.now(),updatedAt:Date.now()};yield O.setRecentContact(c)}catch(e){t(a[16]).logger.error("\u274c [SendTokensScreen] Error setting recent contact:",e)}var d=t(a[13]).bridge.getPlatform();d!==t(a[18]).Platform.iOS&&d!==t(a[18]).Platform.Android||t(a[13]).bridge.closeRN()}return s}catch(e){t(a[16]).logger.error("[SendTokensScreen] Transaction failed:",e),(0,t(a[16]).showError)(e,t(a[13]).bridge,i("send.failed"))}return null}),[w,F,C,j,te,x,T,k,N,$,O]),Ve=(0,g.useMemo)(function(){if("tokens"===w){var e=new m.default(te||"0"),n=(0,t(a[16]).extractNumericBalance)((null==F?void 0:F.displayBalance)||(null==F?void 0:F.balance)||"0"),r=new m.default(n),o=e;if(!ie&&null!=F&&F.priceInUSD){var s=new m.default(F.priceInUSD).times(new m.default(l.rate||1));!s.isNaN()&&s.gt(0)&&(o=e.div(s))}return o.gt(r)?Ce(i("send.insufficient")):Ce(""),!F||!C||!j||e.lte(0)||o.gt(r)}return Ce(""),!C||!j},[w,F,C,j,te,ie,i]),Qe=(0,g.useMemo)(function(){return{tokenAmount:ie?te:null!=F&&F.priceInUSD?new m.default(te||"0").div(new m.default(F.priceInUSD).times(new m.default(l.rate||1))).toFixed(2):te,fiatAmount:ie&&null!=F&&F.priceInUSD?new m.default(te||"0").times(new m.default(F.priceInUSD).times(new m.default(l.rate||1))).toFixed(2):te,isTokenMode:ie,transactionFee:Te,surgeMultiplier:Se?be:void 0}},[w,te,null==F?void 0:F.priceInUSD,ie,Te,l.rate,Se,be]),_e=W&&0===I.length,Ke=(0,g.useMemo)(function(){return q?"Failed to load tokens. Please try refreshing.":0===_.length&&!K&&C?"No tokens available. Please ensure your wallet has tokens to send.":null},[q,_.length,K,C]);if(_e)return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:Z,children:[s&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:i("send.sendTo.title"),help:!0}),(0,p.jsx)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",p:"$4",children:(0,p.jsx)(t(a[17]).Text,{children:i("messages.loading")})})]});if(Ke)return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:Z,children:[s&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:i("send.sendTo.title"),help:!0}),(0,p.jsx)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",p:"$4",children:(0,p.jsx)(t(a[17]).Text,{color:"$error",children:Ke})})]});var qe=(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[(0,p.jsxs)(t(a[17]).YStack,{flex:1,gap:"$3",children:[(0,p.jsxs)(t(a[17]).YStack,{gap:"$1",bg:"$bg1",rounded:"$4",p:"$4",children:[C?(0,p.jsx)(t(a[17]).AccountCard,{isSendTokensScreen:!s,account:(0,t(a[16]).transformAccountForCard)(C),title:i("send.fromAccount"),isLoading:!1}):(0,p.jsx)(t(a[17]).Text,{children:i("errors.addressNotFound")}),(0,p.jsx)(t(a[17]).Separator,{mx:"$0",mt:"$4",mb:"$2",borderColor:"$border1",borderWidth:.5}),(0,p.jsx)(t(a[17]).YStack,{gap:"$4",children:(0,p.jsx)(t(a[17]).TokenAmountInput,{selectedToken:F?{type:F.type,symbol:F.symbol,name:F.name,logoURI:F.logoURI,balance:(F.displayBalance||F.balance||"0").toString(),priceInUSD:F.priceInUSD?new m.default(F.priceInUSD).times(new m.default(l.rate||1)).toString():void 0,isVerified:F.isVerified}:void 0,amount:te,onAmountChange:Pe,isTokenMode:ie,onToggleInputMode:Re,onTokenSelectorPress:Le,onMaxPress:Be,placeholder:"0.00",showBalance:!0,showConverter:!0,disabled:!1,inputRef:je,currency:l,amountError:Fe,headerText:i("send.title")})})]}),(0,p.jsx)(t(a[17]).XStack,{position:"relative",height:0,mt:"$1",children:(0,p.jsx)(t(a[17]).XStack,{width:"100%",position:"absolute",t:-40,justify:"center",z:10,children:(0,p.jsx)(t(a[17]).SendArrowDivider,{variant:"arrow",size:48})})}),j&&(0,p.jsx)(t(a[17]).ToAccountSection,{account:j,fromAccount:C||void 0,isAccountIncompatible:X,onEditPress:function(){t(a[13]).navigation.goBack()},showEditButton:!0,title:i("send.toAccount"),isLinked:"child"===j.type||!!j.parentAddress,incompatibleAccountText:i("account.compatibility.incompatible"),learnMoreText:i("account.compatibility.learnMore"),unknownAccountText:i("account.compatibility.unknown"),dialogTitle:i("account.compatibility.dialog.title"),dialogButtonText:i("account.compatibility.dialog.button"),dialogDescriptionMain:i("account.compatibility.dialog.descriptionMain"),dialogDescriptionSecondary:i("account.compatibility.dialog.descriptionSecondary")}),(0,p.jsxs)(t(a[17]).YStack,{gap:"$3",children:[!Se&&(0,p.jsx)(t(a[17]).TransactionFeeSection,{flowFee:Te,usdFee:"$0.02",isFree:y,showCovered:y,title:i("send.transactionFee"),backgroundColor:"transparent",borderRadius:16,contentPadding:0}),Se&&(0,p.jsx)(t(a[17]).SurgeFeeConfirmationSection,{transactionFee:Te,surgeMultiplier:be,transactionFeeLabel:i("surge.modal.transactionFee"),surgeTitle:i("surge.modal.surgeActive"),description:i("surge.modal.description",{multiplier:xe})}),$e&&(0,p.jsx)(t(a[17]).StorageWarning,{message:Ae,showIcon:!0,title:i("storage.warning.title"),visible:!0})]})]}),(0,p.jsx)(t(a[17]).YStack,{pt:"$4",mb:"$10",children:(0,p.jsx)(t(a[17]).YStack,{"data-testid":"next",width:"100%",height:52,bg:Ve?"#6b7280":Se?"$warning":"$text",rounded:16,items:"center",justify:"center",borderWidth:1,borderColor:Ve?"#6b7280":"$text",opacity:Ve?.7:1,pressStyle:{opacity:.9},onPress:Ve?void 0:Me,cursor:Ve?"not-allowed":"pointer",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"600",color:Ve?"$white":"$bg",children:i("common.next")})})}),(0,p.jsx)(t(a[17]).TokenSelectorModal,{visible:le,selectedToken:F,tokens:_,onTokenSelect:Ee,onClose:De,platform:"mobile",title:i("tabs.tokens"),currency:l,isExtension:s}),(0,p.jsx)(t(a[17]).ConfirmationDrawer,{visible:fe,transactionType:w,selectedToken:F,sendStaticImage:null==o?void 0:o.sendStaticImage,fromAccount:(0,t(a[16]).transformAccountForDisplay)(C),toAccount:j?(0,t(a[16]).transformAccountForDisplay)(j):null,formData:Qe,onConfirm:ze,onClose:Ye,isExtension:s,summaryText:i("send.summary"),sendTokensText:i("send.sendTokens"),sendNFTsText:i("send.sendNFTs"),sendingText:i("send.sending"),confirmSendText:i("send.confirmSend"),holdToSendText:i("send.holdToSend"),unknownAccountText:i("send.unknownAccount")}),(0,p.jsx)(t(a[17]).SurgeModal,{visible:ve,transactionFee:Te,multiplier:xe,title:i("surge.modal.title"),transactionFeeLabel:i("surge.modal.transactionFee"),surgeActiveText:i("surge.modal.surgeActive"),description:i("surge.modal.description",{multiplier:xe}),holdToAgreeText:i("surge.modal.holdToAgree"),onClose:We,onAgree:Oe,isLoading:A})]});return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:Z,children:[s&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:i("send.title"),help:!0,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),s?qe:(0,p.jsx)(f.TouchableWithoutFeedback,{onPress:Ie,children:qe})]})};var x="https://wallet.flow.com/terms-of-serivce",T="https://wallet.flow.com/privacy-policy";var k=(function(){var e=(0,d.default)(function*(e){if(!e)return{granted:!1};if(t(a[13]).bridge.requestNotificationPermission&&t(a[13]).bridge.checkNotificationPermission)try{return yield t(a[13]).bridge.requestNotificationPermission(),{granted:yield t(a[13]).bridge.checkNotificationPermission()}}catch(e){return t(a[13]).logger.error("[NotificationPreferencesScreen] Failed to request notification permission:",e),{granted:!1}}return"undefined"!=typeof Notification&&Notification.requestPermission?{granted:"granted"===(yield Notification.requestPermission())}:{granted:!1}});return function(t){return e.apply(this,arguments)}})();var w=function(){for(var e=Array.from({length:12},function(e,t){return t+1}),t=[],n=0;n<3;n++){var r=Math.floor(Math.random()*e.length);t.push(e[r]),e.splice(r,1)}return t.sort(function(e,t){return e-t})};var F=i.screensTranslations={en:{translation:{navigation:{send:"Send",sendTo:"Send To",sending:"Sending",selectTokens:"Select Tokens",sendTokens:"Send Tokens",nftDetails:"NFT Details",colorDemo:"Color Demo",receive:"Receive Assets"},common:{cancel:"Cancel",confirm:"Confirm",back:"Back",goBack:"Go Back",close:"Close",done:"Done",next:"Next",previous:"Previous",loading:"Loading...",error:"Error",success:"Success",Search:"Search",retry:"Retry",recommended:"Recommended"},tabs:{tokens:"Tokens",nfts:"NFTs"},send:{tokens:"Tokens",nfts:"NFTs",myAccounts:"My Accounts",recent:"Recent",addressBook:"Address Book",sendTo:{title:"Send To"},toAccount:"To Account",errors:{amountExceedsBalance:"Amount exceeds available balance"},searchAddress:"Search address",searchPasteAddress:"Search / Paste address",selectedToken:"Selected Token",noAccounts:{title:"No Accounts",message:"You don't have any accounts yet."},noRecent:{title:"No Recent Recipients",message:"You haven't sent to anyone recently."},noContacts:{title:"No Contacts",message:"Your address book is empty."},noSearchResults:{title:"No Results",message:"No accounts or contacts match your search"},noRecipients:"No recipients found",selectToken:"Select Token",selectRecipient:"Select Recipient",enterAmount:"Enter Amount",reviewTransaction:"Review Transaction",transactionFee:"Transaction Fee",total:"Total",balance:"Balance",available:"Available",insufficient:"Insufficient Balance",recipient:"Recipient",from:"From",fromAccount:"From Account",to:"To",amount:"Amount",asset:"Asset",confirm:"Confirm Transaction",sending:"Sending...",sent:"Transaction Sent",failed:"Transaction Failed",searchRecipients:"Search recipients...",recentRecipients:"Recent Recipients",contactsList:"Contacts",enterAddress:"Enter Flow address",invalidAddress:"Invalid address",sameAddress:"Cannot send to the same address",selectNFTs:"Select NFTs",selectedNFTs:"Selected NFTs",nftDetails:"NFT Details",collectionName:"Collection",tokenId:"Token ID",properties:"Properties",description:"Description",creator:"Creator",title:"Send",inaccessible:"Inaccessible",confirmAddress:"Confirm address",firstTimeSendMessage:"We noticed this may be your first time sending to this address. Please confirm the destination address.",newContactTitle:"New contact",contactNameLabel:"Contact name",contactNamePlaceholder:"Enter a name",addToAddressBookButton:"Add to address book",sendSNFTs:"Send S/NFTs",sendNFTs:"Send NFTs",change:"Change",noNFTSelected:"No NFT selected. Please go back and select an NFT to send.",summary:"Summary",sendTokens:"Send Tokens",confirmSend:"Confirm send",holdToSend:"Hold to send",unknownAccount:"Unknown Account"},messages:{loading:"Loading...",noTokensWithBalance:"No tokens with balance",noNFTCollectionsForAccount:"No NFT collections found",loadingProfiles:"Loading profiles...",noProfiles:"No Profiles",noProfilesFound:"No profiles found",failedToLoadRecipients:"Failed to load recipients",copied:"Copied!",addressBookAdded:"Added to address book",failedToAddToAddressBook:"Failed to add to address book",addressCopied:"Address copied to clipboard",failedToCopy:"Failed to copy address",failedToShare:"Failed to share QR code"},receive:{title:"Receive Assets",receiveAccount:"Receive to Account",scanToReceive:"Scan to receive",shareQRCode:"Share QR Code",generatingQR:"Generating QR code...",noQRCode:"No QR code available",evmWarning:"Please ensure you only send assets to this address on the Flow EVM network. Assets sent to this address on other networks will be lost."},activity:{title:"Activity",empty:"No activity yet",emptyMessage:"Your transaction history will appear here",error:"Failed to load activity",errorMessage:"Please try again",status:{pending:"Pending",success:"Success",failed:"Failed",expired:"Expired"},sent:"Sent",received:"Received",today:"Today",yesterday:"Yesterday"},buttons:{retry:"Retry",refresh:"Refresh",continue:"Continue",clearSearch:"Clear Search"},errors:{networkError:"Network error occurred",invalidInput:"Invalid input",transactionFailed:"Transaction failed",insufficientFunds:"Insufficient funds",addressNotFound:"Address not found",nftNotFound:"NFT not found",tokenNotSupported:"Token not supported",unauthorized:"Unauthorized access",timeout:"Request timed out",unknown:"An unknown error occurred",failedToLoadTokens:"Failed to load tokens",failedToLoadNFTs:"Failed to load NFTs",transactionPayloadError:"Failed to create transaction payload",transactionExecutionError:"Transaction execution failed",generic:{title:"Something went wrong",message:"We encountered an unexpected error. Please try again.",button:"Retry",reportBug:"Report Bug"},network:{title:"Connection Error",message:"Unable to connect to the network. Please check your connection and try again.",button:"Retry",reportBug:"Report Bug"},critical:{title:"Critical Error",message:"A critical error occurred. Please restart the app.",button:"Restart",reportBug:"Report Bug"}},nft:{untitled:"Untitled",unknownCollection:"Unknown Collection",noNFTsSelected:"No NFTs selected",noSearchResults:"No Search Results",noNFTsMatchSearch:"No NFTs match '{{search}}'",noNFTsFound:"No NFTs Found",collectionEmpty:"This collection doesn't contain any NFTs",noCollectionSelected:"No collection selected. Please go back and select an NFT collection.",noAccountSelected:"No account address available. Please select an account.",maxSelectionReached:"Maximum 9 NFTs can be selected",nftNotFound:"NFT not found for ID:",selectedCount:"{{count}} Selected NFT",selectedCount_plural:"{{count}} Selected NFTs",confirmSelection:"Confirm {{count}} NFT",confirmSelection_plural:"Confirm {{count}} NFTs",itemCount:"{{count}} item",itemCount_plural:"{{count}} items",notFound:{title:"NFT Not Found",message:"The requested NFT could not be found or loaded"}},storage:{warning:{title:"Storage Warning",balance:"Your account is below the minimum FLOW balance required for its storage usage, which may cause subsequent transactions to fail.",storage:"This action may fail because it may reduce the amount of FLOW in your account below what is required to cover its storage usage.",storageAfterAction:"Account balance will fall below the minimum FLOW required for storage after this transaction, causing this transaction to fail."}},account:{compatibility:{incompatible:"Incompatible Account",learnMore:"Learn more",unknown:"Unknown Account",dialog:{title:"Account Compatibility",button:"Okay",descriptionMain:"Flow Wallet manages your EVM and your Cadence accounts on Flow. EVM accounts are compatible with EVM apps, and Cadence accounts are compatible with Cadence apps.",descriptionSecondary:"If an application is on EVM or Cadence, only compatible accounts will be available to connect."}}},surge:{title:"Surge price active",message:"Due to high network activity, transaction fees are elevated. Current network fees are 4x higher than usual.",modal:{title:"Are you really sure that you want to continue with surge pricing?",transactionFee:"Your transaction fee",surgeActive:"Surge price active",description:"Due to high network activity, transaction fees are elevated, and Flow Wallet is temporarily not paying for your gas. Current network fees are {{multiplier}}\xd7 higher than usual.",holdToAgree:"Hold to agree to surge pricing"}},onboarding:{flowWallet:"Flow Wallet",getStarted:{title:"Get started with Flow Wallet",subtitle:"Welcome to Flow Wallet\nCreate an account to get started.",createAccount:"Create a new account",signIn:"I already have an account",agreementText:"By using Flow Wallet you agree to the",termsOfService:"terms of service",and:"and",privacyPolicy:"privacy policy"},profileType:{welcomeTitle:"Welcome to\nFlow Wallet",recoveryPhrase:{title:"Secured by a Recovery Phrase",description:"A recovery phrase is a series of words generated that will secure your wallet."},secureEnclaveProfile:"Secure Enclave Profile",next:"Next"},importProfile:{title:"Import profile",subtitle:"Import your profile using a backup.",previousProfiles:{title:"Previous profiles",subtitle:"Found {{count}} profiles previously on this device"},deviceBackup:{title:"From Device Backup",subtitle:"Mobile or extension devices"},cloudBackup:{title:"From Cloud Multi-Backup",subtitle:"Google Drive, iCloud or DropBox."},recoveryPhrase:{title:"From Recovery Phrase",subtitle:"12 word recovery phrase."},anotherMethod:{title:"From another method",subtitle:""}},importOtherMethods:{title:"From other methods",subtitle:"Import profile using alternative methods",recoveryPhrase:{title:"Recovery phrase",subtitle:"12 word recovery phrase"},keyStore:{title:"Key store",subtitle:"Import keystore file (Blocto Backup)"},privateKey:{title:"Private key",subtitle:"Import with raw hex key"},googleDrive:{title:"Google Drive",subtitle:"From legacy Google Drive backup"},iCloud:{title:"iCloud",subtitle:"From legacy iCloud backup"}},confirmImportProfile:{title:"Confirm which profile to import",emptyTitle:"No profiles found",emptyMessage:"No previous profiles were found on this device",importButton:"Import profile"},secureEnclave:{title:"Advanced",cardTitle:"Secure Profile",cardDescription:"Using device keys with hardware-grade security, Flow Wallet in secure mode is an ultra-secure hardware wallet you can trust. Only available for Cadence accounts on Flow.",features:{secureEnclave:"Secure enclave",hardwareSecurity:"Hardware grade security",noEvm:"No EVM Support"},next:"Next",dialog:{title:"Are you an advanced user?",description:"Are you sure you want to create a Secure Profile? This will limit access to certain features and won't give you access to an EVM account on Flow.",holdToConfirm:"Hold to confirm"},creating:{title:"Creating\nyour account",configuring:"Configuring account"}},notificationPreferences:{headerTitle:"Notifications",title:"Get push notifications",subtitle:"Get notified when your transfers, swaps and approvals complete.",enableButton:"Turn on push notifications",maybeLater:"Maybe later"},backupOptions:{navTitle:"Backup",subtitle:"Select how you'd like to backup your account to finish creating your account. You can change this later in settings.",deviceBackup:{title:"Create device backup",description:"Use your device as a backup wallet to safeguard your digital assets"},cloudBackup:{title:"Create cloud backup",description:"Create a cloud backup with trusted providers like google drive and icloud"},recoveryPhrase:{title:"Create a recovery phrase backup",description:"Create a 12 word recovery phrase"},skipWarning:{title:"Proceed without a backup?",message:"Without a backup, you may lose access to your wallet if you lose your device. Are you sure you want to continue without setting up a backup?",confirm:"Continue without backup"}},recoveryPhrase:{navTitle:"Create account",title:"Recovery phrase",description:"Write down these words in the right order and store them somewhere safe.",clickToReveal:"Click to reveal phrase",copy:"Copy",next:"Next",warning:{title:"Do not share your secret phrase!",description:"If someone has your secret phrase,\nThey will have full control of your wallet."},error:{title:"Failed to Generate Recovery Phrase",unknown:"An unknown error occurred"}},confirmRecoveryPhrase:{navTitle:"Create account",title:"Confirm phrase",description:"Please select the word one by one referring to its order.",selectWord:"Select the word at #{{position}}",finish:"Finish",creating:{title:"Creating\nyour account",configuring:"Configuring account"},error:{title:"Account Creation Failed",generic:"Failed to create account. Please try again.",server:"Server error occurred. Please try again later.",validation:"Invalid account data. Please try again."}}},migration:{info:{title:"Migrate\nyour account",description:"Your assets will move from EVM to FLOW to improve security, control, and compatibility with upcoming platform updates.",descriptionLine1Prefix:"Your assets will move from",descriptionLine1To:"to",descriptionLine2:"to improve security, control, and compatibility with upcoming platform updates.",whatDoesThisMean:"What does this mean?",features:{control:"You'll have full control over your accounts and keys.",security:"Greater cross-chain account security.",compatibility:"Improved compatibility with future updates and integrations.",performance:"Smoother transactions and faster on-chain actions."},note:{title:"Please note: ",description:"The process takes about 2\u20133 minutes and your funds will remain secure throughout. Once migrated, your new EOA will replace your existing COA."},startMigration:"Start migration"},screen:{title:{inProgress:"Migrating\nyour account",completed:"Migration complete"},progress:{currentStep:"Transferring assets...",timeEstimate:"~2 min remaining"},status:{allComplete:{title:"Asset transfer complete"},partialComplete:{title:"Some assets could not be transferred",description:"Review the list and confirm the transfer of the remaining assets."}},assets:{label:"Assets"},warning:{title:"Important: ",description:"Do not close the app during migration. The process takes a few minutes."},button:{start:"Start migration",done:"Done",review:"Review assets"}}},backup:{tip:{writeDown:{title:"Write it down",description:"Write your recovery phrase on paper and store it in a secure location."},keepSecret:{title:"Keep it secret",description:"Never share your recovery phrase with anyone or enter it on any website."},noScreenshot:{title:"No screenshots",description:"Do not take screenshots or store your phrase digitally where it could be compromised."},warning:{title:"Important",description:"If you lose your recovery phrase, you will not be able to recover your wallet. Flow Wallet cannot help you recover it."},continue:"Continue"},mnemonic:{navTitle:"Create account",done:"Done",complete:"I've backed up my phrase"}},keyrotation:{tip:{title:"Upgrade\nyour account",description:"Flow Wallet needs to upgrade the security of your account to remove your previous Blocto keys",sectionTitle:"What does this mean?",fullControl:{title:"You'll have full control over your accounts and keys."},newKey:{title:"We'll create a new key to secure your account, removing Blocto's access."},newPhrase:{title:"We'll create a new recovery phrase which will secure your account going forward."},warning:{prefix:"Please note: ",bloctoDescription:"After this process completes, your recovery kit from Blocto will no longer secure access to your account. This is for your protection now that Blocto has ceased operations."},start:"Start",notNow:"Not now"},mnemonic:{title:"Recovery phrase",description:"Write down these words in the right order and store them somewhere safe.",clickToReveal:"Click to reveal phrase",copy:"Copy",upgrading:"Upgrading account...",warning:{title:"Do not share your recovery phrase!",description:"If someone has your recovery phrase, They will have full control of your wallet."},error:{title:"Invalid Recovery Phrase",description:"The recovery phrase is missing or invalid. Please try again."}},error:{seedGeneration:"Failed to generate recovery phrase",rotation:"Failed to upgrade account"},success:{rotation:"Account upgraded successfully!"}}}},es:{translation:{navigation:{send:"Enviar",sendTo:"Enviar a",sending:"Enviando",selectTokens:"Seleccionar Tokens",sendTokens:"Enviar Tokens",nftDetails:"Detalles NFT",colorDemo:"Demo de Colores",receive:"Recibir Activos"},common:{cancel:"Cancelar",confirm:"Confirmar",back:"Atr\xe1s",goBack:"Volver",close:"Cerrar",done:"Hecho",next:"Siguiente",previous:"Anterior",loading:"Cargando...",error:"Error",success:"\xc9xito",Search:"Buscar",recommended:"Recomendado",retry:"Reintentar"},tabs:{tokens:"Tokens",nfts:"NFTs"},send:{tokens:"Tokens",nfts:"NFTs",myAccounts:"Mis Cuentas",recent:"Reciente",addressBook:"Libreta de Direcciones",sendTo:{title:"Enviar a"},toAccount:"A Cuenta",searchAddress:"Buscar direcci\xf3n o contacto...",searchPasteAddress:"Buscar / Pegar direcci\xf3n",selectedToken:"Token Seleccionado",noAccounts:{title:"Sin Cuentas",message:"A\xfan no tienes ninguna cuenta."},noRecent:{title:"Sin Destinatarios Recientes",message:"No has enviado a nadie recientemente."},noContacts:{title:"Sin Contactos",message:"Tu libreta de direcciones est\xe1 vac\xeda."},noSearchResults:{title:"Sin Resultados",message:"Ninguna cuenta o contacto coincide con tu b\xfasqueda"},noRecipients:"No se encontraron destinatarios",selectToken:"Seleccionar Token",selectRecipient:"Seleccionar Destinatario",enterAmount:"Ingresar Cantidad",reviewTransaction:"Revisar Transacci\xf3n",transactionFee:"Tarifa de Transacci\xf3n",total:"Total",balance:"Saldo",available:"Disponible",insufficient:"Saldo Insuficiente",recipient:"Destinatario",from:"De",fromAccount:"De Cuenta",to:"Para",amount:"Cantidad",asset:"Activo",confirm:"Confirmar Transacci\xf3n",sending:"Enviando...",sent:"Transacci\xf3n Enviada",failed:"Transacci\xf3n Fallida",searchRecipients:"Buscar destinatarios...",recentRecipients:"Destinatarios Recientes",contactsList:"Contactos",enterAddress:"Ingresar direcci\xf3n Flow",invalidAddress:"Direcci\xf3n inv\xe1lida",sameAddress:"No se puede enviar a la misma direcci\xf3n",selectNFTs:"Seleccionar NFTs",selectedNFTs:"NFTs Seleccionados",nftDetails:"Detalles del NFT",collectionName:"Colecci\xf3n",tokenId:"ID del Token",properties:"Propiedades",description:"Descripci\xf3n",creator:"Creador",title:"Enviar",inaccessible:"Inaccesible",confirmAddress:"Confirmar direcci\xf3n",firstTimeSendMessage:"Notamos que esta puede ser la primera vez que env\xedas a esta direcci\xf3n. Por favor confirma la direcci\xf3n de destino.",newContactTitle:"Nuevo contacto",contactNameLabel:"Nombre del contacto",contactNamePlaceholder:"Ingresa un nombre",addToAddressBookButton:"Agregar a la libreta de direcciones",sendSNFTs:"Enviar S/NFTs",sendNFTs:"Enviar NFTs",change:"Cambiar",noNFTSelected:"No se seleccion\xf3 NFT. Por favor regresa y selecciona un NFT para enviar.",summary:"Resumen",sendTokens:"Enviar Tokens",confirmSend:"Confirmar env\xedo",holdToSend:"Mantener para enviar",unknownAccount:"Cuenta Desconocida",errors:{amountExceedsBalance:"La cantidad excede el saldo disponible"}},messages:{loading:"Cargando...",noTokensWithBalance:"No hay tokens con saldo",noNFTCollectionsForAccount:"No se encontraron colecciones NFT",loadingProfiles:"Cargando perfiles...",noProfiles:"Sin Perfiles",noProfilesFound:"No se encontraron perfiles",failedToLoadRecipients:"Error al cargar destinatarios",copied:"\xa1Copiado!",addressBookAdded:"A\xf1adido a la libreta de direcciones",failedToAddToAddressBook:"No se pudo a\xf1adir a la libreta de direcciones",addressCopied:"Direcci\xf3n copiada al portapapeles",failedToCopy:"Error al copiar la direcci\xf3n",failedToShare:"Error al compartir el c\xf3digo QR"},receive:{title:"Recibir Activos",receiveAccount:"Recibir en la Cuenta",scanToReceive:"Escanear para recibir",shareQRCode:"Compartir C\xf3digo QR",generatingQR:"Generando c\xf3digo QR...",noQRCode:"No hay c\xf3digo QR disponible",evmWarning:"Aseg\xfarese de enviar activos solo a esta direcci\xf3n en la red Flow EVM. Los activos enviados a esta direcci\xf3n en otras redes se perder\xe1n."},activity:{title:"Actividad",empty:"Sin actividad a\xfan",emptyMessage:"Tu historial de transacciones aparecer\xe1 aqu\xed",error:"Error al cargar la actividad",errorMessage:"Por favor, int\xe9ntalo de nuevo",status:{pending:"Pendiente",success:"\xc9xito",failed:"Fallido",expired:"Expirado"},sent:"Enviado",received:"Recibido",today:"Hoy",yesterday:"Ayer"},buttons:{retry:"Reintentar",refresh:"Actualizar",continue:"Continuar",clearSearch:"Limpiar B\xfasqueda"},errors:{networkError:"Ocurri\xf3 un error de red",invalidInput:"Entrada inv\xe1lida",transactionFailed:"La transacci\xf3n fall\xf3",insufficientFunds:"Fondos insuficientes",addressNotFound:"Direcci\xf3n no encontrada",nftNotFound:"NFT no encontrado",tokenNotSupported:"Token no soportado",unauthorized:"Acceso no autorizado",timeout:"Tiempo de espera agotado",unknown:"Ocurri\xf3 un error desconocido",failedToLoadTokens:"Error al cargar tokens",failedToLoadNFTs:"Error al cargar NFTs",transactionPayloadError:"Error al crear la carga de la transacci\xf3n",transactionExecutionError:"Error en la ejecuci\xf3n de la transacci\xf3n",generic:{title:"Algo sali\xf3 mal",message:"Encontramos un error inesperado. Por favor, int\xe9ntalo de nuevo.",button:"Intentar de nuevo",reportBug:"Reportar Error"},network:{title:"Problema de conexi\xf3n",message:"No se puede conectar a la red. Por favor, verifica tu conexi\xf3n e int\xe9ntalo de nuevo.",button:"Reintentar",reportBug:"Reportar Error"},critical:{title:"Error cr\xedtico",message:"Ocurri\xf3 un error cr\xedtico. Por favor, reinicia la aplicaci\xf3n.",button:"Reiniciar aplicaci\xf3n",reportBug:"Reportar Error"}},nft:{untitled:"Sin t\xedtulo",unknownCollection:"Colecci\xf3n desconocida",noNFTsSelected:"No se seleccionaron NFTs",noSearchResults:"Sin Resultados de B\xfasqueda",noNFTsMatchSearch:"Ning\xfan NFT coincide con '{{search}}'",noNFTsFound:"No se Encontraron NFTs",collectionEmpty:"Esta colecci\xf3n no contiene ning\xfan NFT",noCollectionSelected:"No se seleccion\xf3 colecci\xf3n. Por favor regresa y selecciona una colecci\xf3n de NFT.",noAccountSelected:"No hay direcci\xf3n de cuenta disponible. Por favor selecciona una cuenta.",maxSelectionReached:"Se pueden seleccionar m\xe1ximo 9 NFTs",nftNotFound:"NFT no encontrado para ID:",selectedCount:"{{count}} NFT Seleccionado",selectedCount_plural:"{{count}} NFTs Seleccionados",confirmSelection:"Confirmar {{count}} NFT",confirmSelection_plural:"Confirmar {{count}} NFTs",itemCount:"{{count}} elemento",itemCount_plural:"{{count}} elementos",notFound:{title:"NFT No Encontrado",message:"El NFT solicitado no se pudo encontrar o cargar"}},storage:{warning:{title:"Advertencia de Almacenamiento",balance:"Su cuenta est\xe1 por debajo del saldo m\xednimo de FLOW requerido para el uso de almacenamiento, lo que puede causar que fallen las transacciones posteriores.",storage:"Esta acci\xf3n puede fallar porque puede reducir la cantidad de FLOW en su cuenta por debajo de lo requerido para cubrir el uso de almacenamiento.",storageAfterAction:"El saldo de la cuenta caer\xe1 por debajo del FLOW m\xednimo requerido para el almacenamiento despu\xe9s de esta transacci\xf3n, causando que falle."}},account:{compatibility:{incompatible:"Cuenta Incompatible",learnMore:"Saber m\xe1s",unknown:"Cuenta Desconocida",dialog:{title:"Compatibilidad de Cuenta",button:"Entendido",descriptionMain:"Flow Wallet administra sus cuentas EVM y Cadence en Flow. Las cuentas EVM son compatibles con aplicaciones EVM, y las cuentas Cadence son compatibles con aplicaciones Cadence.",descriptionSecondary:"Si una aplicaci\xf3n est\xe1 en EVM o Cadence, solo las cuentas compatibles estar\xe1n disponibles para conectar."}}},surge:{title:"Precio de congesti\xf3n activo",message:"Debido a la alta actividad de la red, las tarifas de transacci\xf3n est\xe1n elevadas. Las tarifas de red actuales son 4 veces m\xe1s altas de lo habitual.",modal:{title:"\xbfEst\xe1s seguro de que quieres continuar con el precio de congesti\xf3n?",transactionFee:"Tu tarifa de transacci\xf3n",surgeActive:"Precio de congesti\xf3n activo",description:"Debido a la alta actividad de la red, las tarifas de transacci\xf3n est\xe1n elevadas, y Flow Wallet no est\xe1 pagando temporalmente por tu gas. Las tarifas de red actuales son {{multiplier}}\xd7 m\xe1s altas de lo habitual.",holdToAgree:"Mantener para continuar con el precio de congesti\xf3n"}},onboarding:{flowWallet:"Cartera Flow",getStarted:{title:"Comienza con Flow Wallet",subtitle:"Bienvenido a Flow Wallet\nCrea una cuenta para comenzar.",createAccount:"Crear una nueva cuenta",signIn:"Ya tengo una cuenta",agreementText:"Al usar Flow Wallet aceptas los",termsOfService:"t\xe9rminos de servicio",and:"y la",privacyPolicy:"pol\xedtica de privacidad"},profileType:{welcomeTitle:"Bienvenido a\nFlow Wallet",recoveryPhrase:{title:"Asegurado por una Frase de Recuperaci\xf3n",description:"Una frase de recuperaci\xf3n es una serie de palabras generadas que proteger\xe1n tu cartera."},secureEnclaveProfile:"Perfil Secure Enclave",next:"Siguiente"},importProfile:{title:"Importar perfil",subtitle:"Importa tu perfil usando una copia de seguridad.",previousProfiles:{title:"Perfiles anteriores",subtitle:"Se encontraron {{count}} perfiles previamente en este dispositivo"},deviceBackup:{title:"Desde Copia de Seguridad del Dispositivo",subtitle:"Dispositivos m\xf3viles o de extensi\xf3n"},cloudBackup:{title:"Desde Copia de Seguridad Multi-Nube",subtitle:"Google Drive, iCloud o DropBox."},recoveryPhrase:{title:"Desde Frase de Recuperaci\xf3n",subtitle:"Frase de recuperaci\xf3n de 12 palabras."},anotherMethod:{title:"Desde otro m\xe9todo",subtitle:""}},importOtherMethods:{title:"Desde otros m\xe9todos",subtitle:"Importar perfil usando m\xe9todos alternativos",recoveryPhrase:{title:"Frase de recuperaci\xf3n",subtitle:"Frase de recuperaci\xf3n de 12 palabras"},keyStore:{title:"Almac\xe9n de claves",subtitle:"Importar archivo keystore (Copia de Seguridad Blocto)"},privateKey:{title:"Clave privada",subtitle:"Importar con clave hexadecimal sin procesar"},googleDrive:{title:"Google Drive",subtitle:"Desde copia de seguridad heredada de Google Drive"},iCloud:{title:"iCloud",subtitle:"Desde copia de seguridad heredada de iCloud"}},confirmImportProfile:{title:"Confirmar qu\xe9 perfil importar",emptyTitle:"No se encontraron perfiles",emptyMessage:"No se encontraron perfiles anteriores en este dispositivo",importButton:"Importar perfil"},secureEnclave:{title:"Avanzado",cardTitle:"Perfil Seguro",cardDescription:"Utilizando claves de dispositivo con seguridad de grado de hardware, Flow Wallet en modo seguro es una cartera de hardware ultra segura en la que puedes confiar. Solo disponible para cuentas Cadence en Flow.",features:{secureEnclave:"Secure enclave",hardwareSecurity:"Seguridad de grado de hardware",noEvm:"Sin soporte EVM"},next:"Siguiente",dialog:{title:"\xbfEres un usuario avanzado?",description:"\xbfEst\xe1s seguro de que deseas crear un Perfil Seguro? Esto limitar\xe1 el acceso a ciertas funciones y no te dar\xe1 acceso a una cuenta EVM en Flow.",holdToConfirm:"Mant\xe9n para confirmar"},creating:{title:"Creando\ntu cuenta",configuring:"Configurando cuenta"}},notificationPreferences:{headerTitle:"Notificaciones",title:"Recibe notificaciones push",subtitle:"Recibe notificaciones cuando tus transferencias, intercambios y aprobaciones se completen.",enableButton:"Activar notificaciones push",maybeLater:"Quiz\xe1s m\xe1s tarde"},backupOptions:{navTitle:"Copia de seguridad",subtitle:"Selecciona c\xf3mo te gustar\xeda hacer una copia de seguridad de tu cuenta para terminar de crear tu cuenta. Puedes cambiar esto m\xe1s tarde en configuraci\xf3n.",deviceBackup:{title:"Crear copia de seguridad del dispositivo",description:"Usa tu dispositivo como cartera de respaldo para proteger tus activos digitales"},cloudBackup:{title:"Crear copia de seguridad en la nube",description:"Crea una copia de seguridad en la nube con proveedores de confianza como Google Drive e iCloud"},recoveryPhrase:{title:"Crear copia de seguridad con frase de recuperaci\xf3n",description:"Crea una frase de recuperaci\xf3n de 12 palabras"},skipWarning:{title:"\xbfContinuar sin copia de seguridad?",message:"Sin una copia de seguridad, puede perder el acceso a su billetera si pierde su dispositivo. \xbfEst\xe1 seguro de que desea continuar sin configurar una copia de seguridad?",confirm:"Continuar sin copia de seguridad"}},recoveryPhrase:{navTitle:"Cuenta multicadena",title:"Frase de recuperaci\xf3n",description:"Escribe estas palabras en el orden correcto y gu\xe1rdalas en un lugar seguro.",clickToReveal:"Haz clic para revelar la frase",copy:"Copiar",next:"Siguiente",warning:{title:"\xa1No compartas tu frase secreta!",description:"Si alguien tiene tu frase secreta,\nTendr\xe1 control total de tu cartera."},error:{title:"Error al generar la frase de recuperaci\xf3n",unknown:"Ocurri\xf3 un error desconocido"}},confirmRecoveryPhrase:{navTitle:"Cuenta multicadena",title:"Confirmar frase",description:"Por favor selecciona las palabras una por una seg\xfan su orden.",selectWord:"Selecciona la palabra en #{{position}}",finish:"Finalizar",creating:{title:"Creando\ntu cuenta",configuring:"Configurando cuenta"},error:{title:"Error al crear la cuenta",generic:"No se pudo crear la cuenta. Por favor, int\xe9ntalo de nuevo.",server:"Ocurri\xf3 un error en el servidor. Por favor, int\xe9ntalo m\xe1s tarde.",validation:"Datos de cuenta inv\xe1lidos. Por favor, int\xe9ntalo de nuevo."}}},backup:{tip:{writeDown:{title:"Escr\xedbelo",description:"Escribe tu frase de recuperaci\xf3n en papel y gu\xe1rdala en un lugar seguro."},keepSecret:{title:"Mantenlo en secreto",description:"Nunca compartas tu frase de recuperaci\xf3n con nadie ni la ingreses en ning\xfan sitio web."},noScreenshot:{title:"Sin capturas de pantalla",description:"No tomes capturas de pantalla ni almacenes tu frase digitalmente donde pueda ser comprometida."},warning:{title:"Importante",description:"Si pierdes tu frase de recuperaci\xf3n, no podr\xe1s recuperar tu cartera. Flow Wallet no puede ayudarte a recuperarla."},continue:"Continuar"},mnemonic:{navTitle:"Crear cuenta",done:"Hecho",complete:"He respaldado mi frase"}},keyrotation:{tip:{title:"Actualiza\ntu cuenta",description:"Flow Wallet necesita actualizar la seguridad de tu cuenta para eliminar tus claves anteriores de Blocto",sectionTitle:"\xbfQu\xe9 significa esto?",fullControl:{title:"Tendr\xe1s control total sobre tus cuentas y claves."},newKey:{title:"Crearemos una nueva clave para asegurar tu cuenta, eliminando el acceso de Blocto."},newPhrase:{title:"Crearemos una nueva frase de recuperaci\xf3n que asegurar\xe1 tu cuenta en adelante."},warning:{prefix:"Ten en cuenta: ",bloctoDescription:"Despu\xe9s de que este proceso se complete, tu kit de recuperaci\xf3n de Blocto ya no asegurar\xe1 el acceso a tu cuenta. Esto es para tu protecci\xf3n ahora que Blocto ha cesado operaciones."},start:"Comenzar",notNow:"Ahora no"},mnemonic:{title:"Frase de recuperaci\xf3n",description:"Escribe estas palabras en el orden correcto y gu\xe1rdalas en un lugar seguro.",clickToReveal:"Haz clic para revelar la frase",copy:"Copiar",upgrading:"Actualizando cuenta...",warning:{title:"\xa1No compartas tu frase de recuperaci\xf3n!",description:"Si alguien tiene tu frase de recuperaci\xf3n, tendr\xe1 control total de tu cartera."},error:{title:"Frase de Recuperaci\xf3n Inv\xe1lida",description:"La frase de recuperaci\xf3n falta o es inv\xe1lida. Por favor, int\xe9ntalo de nuevo."}},error:{seedGeneration:"Error al generar la frase de recuperaci\xf3n",rotation:"Error al actualizar la cuenta"},success:{rotation:"\xa1Cuenta actualizada exitosamente!"}}}},zh:{translation:{navigation:{send:"\u53d1\u9001",sendTo:"\u53d1\u9001\u81f3",sending:"\u53d1\u9001\u4e2d",selectTokens:"\u9009\u62e9\u4ee3\u5e01",sendTokens:"\u53d1\u9001\u4ee3\u5e01",nftDetails:"NFT\u8be6\u60c5",colorDemo:"\u989c\u8272\u6f14\u793a",receive:"\u63a5\u6536\u8d44\u4ea7"},common:{cancel:"\u53d6\u6d88",confirm:"\u786e\u8ba4",back:"\u8fd4\u56de",goBack:"\u8fd4\u56de",close:"\u5173\u95ed",done:"\u5b8c\u6210",next:"\u4e0b\u4e00\u6b65",previous:"\u4e0a\u4e00\u6b65",loading:"\u52a0\u8f7d\u4e2d...",error:"\u9519\u8bef",success:"\u6210\u529f",Search:"\u641c\u7d22",recommended:"\u63a8\u8350",retry:"\u91cd\u8bd5"},tabs:{tokens:"\u4ee3\u5e01",nfts:"NFT"},send:{tokens:"\u4ee3\u5e01",nfts:"NFT",myAccounts:"\u6211\u7684\u8d26\u6237",recent:"\u6700\u8fd1",addressBook:"\u5730\u5740\u7c3f",sendTo:{title:"\u53d1\u9001\u81f3"},toAccount:"\u81f3\u8d26\u6237",searchAddress:"\u641c\u7d22\u5730\u5740\u6216\u8054\u7cfb\u4eba...",searchPasteAddress:"\u641c\u7d22 / \u7c98\u8d34\u5730\u5740",selectedToken:"\u5df2\u9009\u4ee3\u5e01",noAccounts:{title:"\u65e0\u8d26\u6237",message:"\u60a8\u8fd8\u6ca1\u6709\u4efb\u4f55\u8d26\u6237\u3002"},noRecent:{title:"\u65e0\u6700\u8fd1\u6536\u4ef6\u4eba",message:"\u60a8\u6700\u8fd1\u6ca1\u6709\u53d1\u9001\u7ed9\u4efb\u4f55\u4eba\u3002"},noContacts:{title:"\u65e0\u8054\u7cfb\u4eba",message:"\u60a8\u7684\u5730\u5740\u7c3f\u4e3a\u7a7a\u3002"},noSearchResults:{title:"\u65e0\u7ed3\u679c",message:"\u6ca1\u6709\u8d26\u6237\u6216\u8054\u7cfb\u4eba\u5339\u914d\u60a8\u7684\u641c\u7d22"},noRecipients:"\u672a\u627e\u5230\u6536\u4ef6\u4eba",selectToken:"\u9009\u62e9\u4ee3\u5e01",selectRecipient:"\u9009\u62e9\u6536\u4ef6\u4eba",enterAmount:"\u8f93\u5165\u91d1\u989d",reviewTransaction:"\u5ba1\u67e5\u4ea4\u6613",transactionFee:"\u4ea4\u6613\u8d39",total:"\u603b\u8ba1",balance:"\u4f59\u989d",available:"\u53ef\u7528",insufficient:"\u4f59\u989d\u4e0d\u8db3",recipient:"\u6536\u4ef6\u4eba",from:"\u4ece",fromAccount:"\u4ece\u8d26\u6237",to:"\u81f3",amount:"\u91d1\u989d",asset:"\u8d44\u4ea7",confirm:"\u786e\u8ba4\u4ea4\u6613",sending:"\u53d1\u9001\u4e2d...",sent:"\u4ea4\u6613\u5df2\u53d1\u9001",failed:"\u4ea4\u6613\u5931\u8d25",searchRecipients:"\u641c\u7d22\u6536\u4ef6\u4eba...",recentRecipients:"\u6700\u8fd1\u6536\u4ef6\u4eba",contactsList:"\u8054\u7cfb\u4eba",enterAddress:"\u8f93\u5165Flow\u5730\u5740",invalidAddress:"\u65e0\u6548\u5730\u5740",sameAddress:"\u4e0d\u80fd\u53d1\u9001\u5230\u540c\u4e00\u5730\u5740",selectNFTs:"\u9009\u62e9NFT",selectedNFTs:"\u5df2\u9009\u62e9\u7684NFT",nftDetails:"NFT\u8be6\u60c5",collectionName:"\u96c6\u5408",tokenId:"\u4ee3\u5e01ID",properties:"\u5c5e\u6027",description:"\u63cf\u8ff0",creator:"\u521b\u5efa\u8005",title:"\u53d1\u9001",inaccessible:"\u4e0d\u53ef\u8bbf\u95ee",confirmAddress:"\u786e\u8ba4\u5730\u5740",firstTimeSendMessage:"\u6211\u4eec\u6ce8\u610f\u5230\u8fd9\u53ef\u80fd\u662f\u60a8\u7b2c\u4e00\u6b21\u5411\u6b64\u5730\u5740\u53d1\u9001\u3002\u8bf7\u786e\u8ba4\u76ee\u6807\u5730\u5740\u3002",newContactTitle:"\u65b0\u5efa\u8054\u7cfb\u4eba",contactNameLabel:"\u8054\u7cfb\u4eba\u59d3\u540d",contactNamePlaceholder:"\u8bf7\u8f93\u5165\u59d3\u540d",addToAddressBookButton:"\u6dfb\u52a0\u5230\u5730\u5740\u7c3f",sendSNFTs:"\u53d1\u9001S/NFT",sendNFTs:"\u53d1\u9001NFT",change:"\u66f4\u6539",noNFTSelected:"\u672a\u9009\u62e9NFT\u3002\u8bf7\u8fd4\u56de\u5e76\u9009\u62e9\u8981\u53d1\u9001\u7684NFT\u3002",summary:"\u6458\u8981",sendTokens:"\u53d1\u9001\u4ee3\u5e01",confirmSend:"\u786e\u8ba4\u53d1\u9001",holdToSend:"\u957f\u6309\u53d1\u9001",unknownAccount:"\u672a\u77e5\u8d26\u6237",errors:{amountExceedsBalance:"\u91d1\u989d\u8d85\u51fa\u53ef\u7528\u4f59\u989d"}},messages:{loading:"\u52a0\u8f7d\u4e2d...",noTokensWithBalance:"\u65e0\u4f59\u989d\u4ee3\u5e01",noNFTCollectionsForAccount:"\u672a\u627e\u5230NFT\u6536\u85cf",loadingProfiles:"\u52a0\u8f7d\u914d\u7f6e\u6587\u4ef6\u4e2d...",noProfiles:"\u65e0\u914d\u7f6e\u6587\u4ef6",noProfilesFound:"\u672a\u627e\u5230\u914d\u7f6e\u6587\u4ef6",failedToLoadRecipients:"\u65e0\u6cd5\u52a0\u8f7d\u6536\u4ef6\u4eba",copied:"\u5df2\u590d\u5236\uff01",addressBookAdded:"\u5df2\u6dfb\u52a0\u5230\u5730\u5740\u7c3f",failedToAddToAddressBook:"\u6dfb\u52a0\u5230\u5730\u5740\u7c3f\u5931\u8d25",addressCopied:"\u5730\u5740\u5df2\u590d\u5236\u5230\u526a\u8d34\u677f",failedToCopy:"\u65e0\u6cd5\u590d\u5236\u5730\u5740",failedToShare:"\u65e0\u6cd5\u5206\u4eab\u4e8c\u7ef4\u7801"},receive:{title:"\u63a5\u6536\u8d44\u4ea7",receiveAccount:"\u63a5\u6536\u5230\u8d26\u6237",scanToReceive:"\u626b\u63cf\u63a5\u6536",shareQRCode:"\u5206\u4eab\u4e8c\u7ef4\u7801",generatingQR:"\u751f\u6210\u4e8c\u7ef4\u7801\u4e2d...",noQRCode:"\u4e8c\u7ef4\u7801\u4e0d\u53ef\u7528",evmWarning:"\u8bf7\u786e\u4fdd\u4ec5\u5728Flow EVM\u7f51\u7edc\u4e0a\u5411\u6b64\u5730\u5740\u53d1\u9001\u8d44\u4ea7\u3002\u53d1\u9001\u5230\u5176\u4ed6\u7f51\u7edc\u4e0a\u6b64\u5730\u5740\u7684\u8d44\u4ea7\u5c06\u4f1a\u4e22\u5931\u3002"},activity:{title:"\u6d3b\u52a8",empty:"\u6682\u65e0\u6d3b\u52a8",emptyMessage:"\u60a8\u7684\u4ea4\u6613\u5386\u53f2\u5c06\u663e\u793a\u5728\u8fd9\u91cc",error:"\u52a0\u8f7d\u6d3b\u52a8\u5931\u8d25",errorMessage:"\u8bf7\u91cd\u8bd5",status:{pending:"\u5904\u7406\u4e2d",success:"\u6210\u529f",failed:"\u5931\u8d25",expired:"\u5df2\u8fc7\u671f"},sent:"\u5df2\u53d1\u9001",received:"\u5df2\u63a5\u6536",today:"\u4eca\u5929",yesterday:"\u6628\u5929"},buttons:{retry:"\u91cd\u8bd5",refresh:"\u5237\u65b0",continue:"\u7ee7\u7eed",clearSearch:"\u6e05\u9664\u641c\u7d22"},errors:{networkError:"\u7f51\u7edc\u9519\u8bef",invalidInput:"\u8f93\u5165\u65e0\u6548",transactionFailed:"\u4ea4\u6613\u5931\u8d25",insufficientFunds:"\u8d44\u91d1\u4e0d\u8db3",addressNotFound:"\u5730\u5740\u672a\u627e\u5230",nftNotFound:"NFT\u672a\u627e\u5230",tokenNotSupported:"\u4e0d\u652f\u6301\u7684\u4ee3\u5e01",unauthorized:"\u672a\u6388\u6743\u8bbf\u95ee",timeout:"\u8bf7\u6c42\u8d85\u65f6",unknown:"\u53d1\u751f\u672a\u77e5\u9519\u8bef",failedToLoadTokens:"\u52a0\u8f7d\u4ee3\u5e01\u5931\u8d25",failedToLoadNFTs:"\u52a0\u8f7dNFT\u5931\u8d25",transactionPayloadError:"\u521b\u5efa\u4ea4\u6613\u8f7d\u8377\u5931\u8d25",transactionExecutionError:"\u4ea4\u6613\u6267\u884c\u5931\u8d25",generic:{title:"\u51fa\u73b0\u95ee\u9898",message:"\u9047\u5230\u4e86\u610f\u5916\u9519\u8bef\u3002\u8bf7\u91cd\u8bd5\u3002",button:"\u91cd\u8bd5",reportBug:"Reportar Error"},network:{title:"\u8fde\u63a5\u95ee\u9898",message:"\u65e0\u6cd5\u8fde\u63a5\u5230\u7f51\u7edc\u3002\u8bf7\u68c0\u67e5\u60a8\u7684\u8fde\u63a5\u540e\u91cd\u8bd5\u3002",button:"\u91cd\u8bd5",reportBug:"Reportar Error"},critical:{title:"\u4e25\u91cd\u9519\u8bef",message:"\u53d1\u751f\u4e86\u4e25\u91cd\u9519\u8bef\u3002\u8bf7\u91cd\u65b0\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\u3002",button:"\u91cd\u542f\u5e94\u7528",reportBug:"Reportar Error"}},nft:{untitled:"\u65e0\u6807\u9898",unknownCollection:"\u672a\u77e5\u6536\u85cf",noNFTsSelected:"\u672a\u9009\u62e9NFT",noSearchResults:"\u65e0\u641c\u7d22\u7ed3\u679c",noNFTsMatchSearch:"\u6ca1\u6709NFT\u4e0e'{{search}}'\u5339\u914d",noNFTsFound:"\u672a\u627e\u5230NFT",collectionEmpty:"\u6b64\u6536\u85cf\u4e0d\u5305\u542b\u4efb\u4f55NFT",noCollectionSelected:"\u672a\u9009\u62e9\u6536\u85cf\u3002\u8bf7\u8fd4\u56de\u5e76\u9009\u62e9\u4e00\u4e2aNFT\u6536\u85cf\u3002",noAccountSelected:"\u65e0\u53ef\u7528\u8d26\u6237\u5730\u5740\u3002\u8bf7\u9009\u62e9\u4e00\u4e2a\u8d26\u6237\u3002",maxSelectionReached:"\u6700\u591a\u53ef\u9009\u62e99\u4e2aNFT",nftNotFound:"\u672a\u627e\u5230NFT ID:",selectedCount:"\u5df2\u9009\u62e9 {{count}} \u4e2aNFT",confirmSelection:"\u786e\u8ba4 {{count}} \u4e2aNFT",itemCount:"{{count}}\u9879",notFound:{title:"\u672a\u627e\u5230NFT",message:"\u65e0\u6cd5\u627e\u5230\u6216\u52a0\u8f7d\u8bf7\u6c42\u7684NFT"},confirmSelection_plural:"\u786e\u8ba4 {{count}} \u4e2aNFT",itemCount_plural:"{{count}} \u4e2a\u7269\u54c1",selectedCount_plural:"\u5df2\u9009\u62e9 {{count}} \u4e2aNFT"},storage:{warning:{title:"\u5b58\u50a8\u8b66\u544a",balance:"\u60a8\u7684\u8d26\u6237FLOW\u4f59\u989d\u4f4e\u4e8e\u5b58\u50a8\u4f7f\u7528\u6240\u9700\u7684\u6700\u4f4e\u8981\u6c42\uff0c\u8fd9\u53ef\u80fd\u4f1a\u5bfc\u81f4\u540e\u7eed\u4ea4\u6613\u5931\u8d25\u3002",storage:"\u6b64\u64cd\u4f5c\u53ef\u80fd\u4f1a\u5931\u8d25\uff0c\u56e0\u4e3a\u5b83\u53ef\u80fd\u4f1a\u5c06\u60a8\u8d26\u6237\u4e2d\u7684FLOW\u6570\u91cf\u51cf\u5c11\u5230\u4f4e\u4e8e\u8986\u76d6\u5176\u5b58\u50a8\u4f7f\u7528\u6240\u9700\u7684\u6570\u91cf\u3002",storageAfterAction:"\u6b64\u6b21\u4ea4\u6613\u540e\uff0c\u8d26\u6237\u4f59\u989d\u5c06\u4f4e\u4e8e\u5b58\u50a8\u6240\u9700\u7684\u6700\u4f4eFLOW\u6570\u91cf\uff0c\u4f1a\u5bfc\u81f4\u6b64\u6b21\u4ea4\u6613\u5931\u8d25\u3002"}},account:{compatibility:{incompatible:"\u4e0d\u517c\u5bb9\u8d26\u6237",learnMore:"\u4e86\u89e3\u66f4\u591a",unknown:"\u672a\u77e5\u8d26\u6237",dialog:{title:"\u8d26\u6237\u517c\u5bb9\u6027",button:"\u786e\u5b9a",descriptionMain:"Flow \u94b1\u5305\u7ba1\u7406\u60a8\u5728 Flow \u4e0a\u7684 EVM \u548c Cadence \u8d26\u6237\u3002EVM \u8d26\u6237\u4e0e EVM \u5e94\u7528\u517c\u5bb9\uff0cCadence \u8d26\u6237\u4e0e Cadence \u5e94\u7528\u517c\u5bb9\u3002",descriptionSecondary:"\u5982\u679c\u5e94\u7528\u662f\u57fa\u4e8e EVM \u6216 Cadence\uff0c\u53ea\u6709\u517c\u5bb9\u7684\u8d26\u6237\u53ef\u7528\u4e8e\u8fde\u63a5\u3002"}}},surge:{title:"\u7f51\u7edc\u62e5\u5835\u4ef7\u683c\u6fc0\u6d3b",message:"\u7531\u4e8e\u7f51\u7edc\u6d3b\u52a8\u9891\u7e41\uff0c\u4ea4\u6613\u8d39\u7528\u5df2\u63d0\u9ad8\u3002\u5f53\u524d\u7f51\u7edc\u8d39\u7528\u6bd4\u5e73\u65f6\u9ad8 4 \u500d\u3002",modal:{title:"\u60a8\u786e\u5b9a\u8981\u7ee7\u7eed\u4f7f\u7528\u6fc0\u589e\u5b9a\u4ef7\u5417\uff1f",transactionFee:"\u60a8\u7684\u4ea4\u6613\u8d39\u7528",surgeActive:"\u6fc0\u589e\u4ef7\u683c\u6fc0\u6d3b",description:"\u7531\u4e8e\u7f51\u7edc\u6d3b\u52a8\u9891\u7e41\uff0c\u4ea4\u6613\u8d39\u7528\u5df2\u63d0\u9ad8\uff0cFlow Wallet \u6682\u65f6\u4e0d\u4e3a\u60a8\u652f\u4ed8 gas \u8d39\u7528\u3002\u5f53\u524d\u7f51\u7edc\u8d39\u7528\u6bd4\u5e73\u65f6\u9ad8 {{multiplier}} \u500d\u3002",holdToAgree:"\u6309\u4f4f\u540c\u610f\u6fc0\u589e\u5b9a\u4ef7"}},onboarding:{flowWallet:"Flow \u94b1\u5305",getStarted:{title:"\u5f00\u59cb\u4f7f\u7528 Flow \u94b1\u5305",subtitle:"\u6b22\u8fce\u4f7f\u7528 Flow \u94b1\u5305\n\u521b\u5efa\u8d26\u6237\u4ee5\u5f00\u59cb\u4f7f\u7528\u3002",createAccount:"\u521b\u5efa\u65b0\u8d26\u6237",signIn:"\u6211\u5df2\u7ecf\u6709\u8d26\u6237",agreementText:"\u4f7f\u7528 Flow \u94b1\u5305\u5373\u8868\u793a\u60a8\u540c\u610f",termsOfService:"\u670d\u52a1\u6761\u6b3e",and:"\u548c",privacyPolicy:"\u9690\u79c1\u653f\u7b56"},profileType:{welcomeTitle:"\u6b22\u8fce\u4f7f\u7528\nFlow \u94b1\u5305",recoveryPhrase:{title:"\u7531\u6062\u590d\u77ed\u8bed\u4fdd\u62a4",description:"\u6062\u590d\u77ed\u8bed\u662f\u751f\u6210\u7684\u4e00\u7cfb\u5217\u5355\u8bcd\uff0c\u7528\u4e8e\u4fdd\u62a4\u60a8\u7684\u94b1\u5305\u3002"},secureEnclaveProfile:"\u5b89\u5168\u98de\u5730\u914d\u7f6e\u6587\u4ef6",next:"\u4e0b\u4e00\u6b65"},secureEnclave:{title:"\u9ad8\u7ea7",cardTitle:"\u5b89\u5168\u914d\u7f6e\u6587\u4ef6",cardDescription:"Flow \u94b1\u5305\u5728\u5b89\u5168\u6a21\u5f0f\u4e0b\u4f7f\u7528\u5177\u6709\u786c\u4ef6\u7ea7\u5b89\u5168\u6027\u7684\u8bbe\u5907\u5bc6\u94a5\uff0c\u662f\u60a8\u53ef\u4ee5\u4fe1\u8d56\u7684\u8d85\u5b89\u5168\u786c\u4ef6\u94b1\u5305\u3002\u4ec5\u9002\u7528\u4e8e Flow \u4e0a\u7684 Cadence \u8d26\u6237\u3002",features:{secureEnclave:"\u5b89\u5168\u98de\u5730",hardwareSecurity:"\u786c\u4ef6\u7ea7\u5b89\u5168",noEvm:"\u4e0d\u652f\u6301 EVM"},next:"\u4e0b\u4e00\u6b65",dialog:{title:"\u60a8\u662f\u9ad8\u7ea7\u7528\u6237\u5417\uff1f",description:"\u60a8\u786e\u5b9a\u8981\u521b\u5efa\u5b89\u5168\u914d\u7f6e\u6587\u4ef6\u5417\uff1f\u8fd9\u5c06\u9650\u5236\u5bf9\u67d0\u4e9b\u529f\u80fd\u7684\u8bbf\u95ee\uff0c\u5e76\u4e14\u4e0d\u4f1a\u8ba9\u60a8\u8bbf\u95ee Flow \u4e0a\u7684 EVM \u8d26\u6237\u3002",holdToConfirm:"\u957f\u6309\u786e\u8ba4"},creating:{title:"\u6b63\u5728\u521b\u5efa\n\u60a8\u7684\u8d26\u6237",configuring:"\u914d\u7f6e\u8d26\u6237\u4e2d"}},notificationPreferences:{headerTitle:"\u901a\u77e5",title:"\u83b7\u53d6\u63a8\u9001\u901a\u77e5",subtitle:"\u5728\u60a8\u7684\u8f6c\u8d26\u3001\u4ea4\u6362\u548c\u6279\u51c6\u5b8c\u6210\u65f6\u83b7\u5f97\u901a\u77e5\u3002",enableButton:"\u5f00\u542f\u63a8\u9001\u901a\u77e5",maybeLater:"\u7a0d\u540e\u518d\u8bf4"},backupOptions:{navTitle:"\u5907\u4efd",subtitle:"\u9009\u62e9\u60a8\u60f3\u8981\u5982\u4f55\u5907\u4efd\u8d26\u6237\u4ee5\u5b8c\u6210\u8d26\u6237\u521b\u5efa\u3002\u60a8\u7a0d\u540e\u53ef\u4ee5\u5728\u8bbe\u7f6e\u4e2d\u66f4\u6539\u3002",deviceBackup:{title:"\u521b\u5efa\u8bbe\u5907\u5907\u4efd",description:"\u4f7f\u7528\u60a8\u7684\u8bbe\u5907\u4f5c\u4e3a\u5907\u4efd\u94b1\u5305\u4ee5\u4fdd\u62a4\u60a8\u7684\u6570\u5b57\u8d44\u4ea7"},cloudBackup:{title:"\u521b\u5efa\u4e91\u5907\u4efd",description:"\u4f7f\u7528\u8c37\u6b4c\u4e91\u7aef\u786c\u76d8\u548ciCloud\u7b49\u53ef\u4fe1\u63d0\u4f9b\u5546\u521b\u5efa\u4e91\u5907\u4efd"},recoveryPhrase:{title:"\u521b\u5efa\u6062\u590d\u77ed\u8bed\u5907\u4efd",description:"\u521b\u5efa\u4e00\u4e2a12\u4e2a\u5355\u8bcd\u7684\u6062\u590d\u77ed\u8bed"},skipWarning:{title:"\u5728\u6ca1\u6709\u5907\u4efd\u7684\u60c5\u51b5\u4e0b\u7ee7\u7eed\uff1f",message:"\u5982\u679c\u6ca1\u6709\u5907\u4efd\uff0c\u5982\u679c\u60a8\u4e22\u5931\u8bbe\u5907\uff0c\u60a8\u53ef\u80fd\u4f1a\u5931\u53bb\u5bf9\u94b1\u5305\u7684\u8bbf\u95ee\u6743\u9650\u3002\u60a8\u786e\u5b9a\u8981\u5728\u4e0d\u8bbe\u7f6e\u5907\u4efd\u7684\u60c5\u51b5\u4e0b\u7ee7\u7eed\u5417\uff1f",confirm:"\u5728\u6ca1\u6709\u5907\u4efd\u7684\u60c5\u51b5\u4e0b\u7ee7\u7eed"}},recoveryPhrase:{navTitle:"\u591a\u94fe\u8d26\u6237",title:"\u6062\u590d\u77ed\u8bed",description:"\u6309\u6b63\u786e\u987a\u5e8f\u5199\u4e0b\u8fd9\u4e9b\u5355\u8bcd\uff0c\u5e76\u5c06\u5176\u5b58\u653e\u5728\u5b89\u5168\u7684\u5730\u65b9\u3002",clickToReveal:"\u70b9\u51fb\u663e\u793a\u77ed\u8bed",copy:"\u590d\u5236",next:"\u4e0b\u4e00\u6b65",warning:{title:"\u4e0d\u8981\u5206\u4eab\u60a8\u7684\u79d8\u5bc6\u77ed\u8bed\uff01",description:"\u5982\u679c\u6709\u4eba\u83b7\u5f97\u4e86\u60a8\u7684\u79d8\u5bc6\u77ed\u8bed\uff0c\n\u4ed6\u4eec\u5c06\u5b8c\u5168\u63a7\u5236\u60a8\u7684\u94b1\u5305\u3002"},error:{title:"\u6062\u590d\u77ed\u8bed\u751f\u6210\u5931\u8d25",unknown:"\u53d1\u751f\u672a\u77e5\u9519\u8bef"}},confirmRecoveryPhrase:{navTitle:"\u591a\u94fe\u8d26\u6237",title:"\u786e\u8ba4\u77ed\u8bed",description:"\u8bf7\u6839\u636e\u987a\u5e8f\u9010\u4e00\u9009\u62e9\u5355\u8bcd\u3002",selectWord:"\u9009\u62e9\u4f4d\u7f6e #{{position}} \u7684\u5355\u8bcd",finish:"\u5b8c\u6210",creating:{title:"\u6b63\u5728\u521b\u5efa\n\u60a8\u7684\u8d26\u6237",configuring:"\u914d\u7f6e\u8d26\u6237\u4e2d"},error:{title:"\u8d26\u6237\u521b\u5efa\u5931\u8d25",generic:"\u521b\u5efa\u8d26\u6237\u5931\u8d25\u3002\u8bf7\u91cd\u8bd5\u3002",server:"\u670d\u52a1\u5668\u9519\u8bef\u3002\u8bf7\u7a0d\u540e\u91cd\u8bd5\u3002",validation:"\u65e0\u6548\u7684\u8d26\u6237\u6570\u636e\u3002\u8bf7\u91cd\u8bd5\u3002"}},importProfile:{title:"\u5bfc\u5165\u4e2a\u4eba\u8d44\u6599",subtitle:"\u4f7f\u7528\u5907\u4efd\u5bfc\u5165\u60a8\u7684\u4e2a\u4eba\u8d44\u6599\u3002",previousProfiles:{title:"\u4e4b\u524d\u7684\u4e2a\u4eba\u8d44\u6599",subtitle:"\u5728\u6b64\u8bbe\u5907\u4e0a\u53d1\u73b0{{count}}\u4e2a\u4e4b\u524d\u7684\u4e2a\u4eba\u8d44\u6599"},deviceBackup:{title:"\u8bbe\u5907\u5907\u4efd",subtitle:"\u901a\u8fc7\u7269\u7406\u8bbf\u95ee\u53e6\u4e00\u90e8\u624b\u673a\u6765\u5bfc\u5165\u60a8\u7684\u4e2a\u4eba\u8d44\u6599\u3002"},cloudBackup:{title:"\u4e91\u591a\u91cd\u5907\u4efd",subtitle:"\u4eceGoogle Drive\u548ciCloud\u7b49\u4e91\u670d\u52a1\u63d0\u4f9b\u5546\u5bfc\u5165\u3002"},recoveryPhrase:{title:"\u4ece\u6062\u590d\u77ed\u8bed",subtitle:"12\u4e2a\u5355\u8bcd\u7684\u6062\u590d\u77ed\u8bed\u3002"},otherMethod:{title:"\u4ece\u5176\u4ed6\u65b9\u5f0f",subtitle:"\u4f7f\u7528\u5bc6\u94a5\u5e93\u3001\u79c1\u94a5\u6216\u6062\u590d\u77ed\u8bed\u5bfc\u5165\u60a8\u7684\u4e2a\u4eba\u8d44\u6599\u3002"}},importOtherMethods:{title:"\u4ece\u5176\u4ed6\u65b9\u5f0f",subtitle:"\u9009\u62e9\u5bfc\u5165\u4e2a\u4eba\u8d44\u6599\u7684\u65b9\u5f0f\u3002",recoveryPhrase:{title:"\u6062\u590d\u77ed\u8bed",subtitle:"12\u4e2a\u5355\u8bcd\u7684\u6062\u590d\u77ed\u8bed"},keyStore:{title:"\u5bc6\u94a5\u5e93",subtitle:"\u5bc6\u94a5\u5e93\u6587\u4ef6\u662f\u60a8\u4ee5\u5bc6\u7801\u52a0\u5bc6\u7684\u6587\u4ef6\u5f62\u5f0f\u7684\u94b1\u5305\u3002"},privateKey:{title:"\u79c1\u94a5",subtitle:"\u7c98\u8d34\u60a8\u7684\u8d26\u6237\u79c1\u94a5\u3002"},googleDrive:{title:"Google Drive",subtitle:"\u4eceGoogle Drive\u5bfc\u5165\u5907\u4efd\u3002"},iCloud:{title:"iCloud",subtitle:"\u4eceiCloud\u5bfc\u5165\u5907\u4efd\u3002"}},confirmImportProfile:{title:"\u786e\u8ba4\u8981\u5bfc\u5165\u7684\u4e2a\u4eba\u8d44\u6599",emptyTitle:"\u672a\u627e\u5230\u4e2a\u4eba\u8d44\u6599",emptyMessage:"\u6b64\u8bbe\u5907\u4e0a\u672a\u627e\u5230\u4e4b\u524d\u7684\u4e2a\u4eba\u8d44\u6599",importButton:"\u5bfc\u5165\u4e2a\u4eba\u8d44\u6599"}},backup:{tip:{writeDown:{title:"\u5199\u4e0b\u6765",description:"\u5c06\u60a8\u7684\u6062\u590d\u77ed\u8bed\u5199\u5728\u7eb8\u4e0a\u5e76\u5b58\u653e\u5728\u5b89\u5168\u7684\u5730\u65b9\u3002"},keepSecret:{title:"\u4fdd\u5bc6",description:"\u6c38\u8fdc\u4e0d\u8981\u4e0e\u4efb\u4f55\u4eba\u5206\u4eab\u60a8\u7684\u6062\u590d\u77ed\u8bed\u6216\u5728\u4efb\u4f55\u7f51\u7ad9\u4e0a\u8f93\u5165\u5b83\u3002"},noScreenshot:{title:"\u4e0d\u8981\u622a\u56fe",description:"\u4e0d\u8981\u622a\u56fe\u6216\u4ee5\u6570\u5b57\u65b9\u5f0f\u5b58\u50a8\u60a8\u7684\u77ed\u8bed\uff0c\u56e0\u4e3a\u5b83\u53ef\u80fd\u4f1a\u88ab\u6cc4\u9732\u3002"},warning:{title:"\u91cd\u8981",description:"\u5982\u679c\u60a8\u4e22\u5931\u4e86\u6062\u590d\u77ed\u8bed\uff0c\u60a8\u5c06\u65e0\u6cd5\u6062\u590d\u60a8\u7684\u94b1\u5305\u3002Flow Wallet \u65e0\u6cd5\u5e2e\u52a9\u60a8\u6062\u590d\u3002"},continue:"\u7ee7\u7eed"},mnemonic:{navTitle:"\u521b\u5efa\u8d26\u6237",done:"\u5b8c\u6210",complete:"\u6211\u5df2\u5907\u4efd\u6211\u7684\u77ed\u8bed"}},keyrotation:{tip:{title:"\u5347\u7ea7\n\u60a8\u7684\u8d26\u6237",description:"Flow Wallet\u9700\u8981\u5347\u7ea7\u60a8\u8d26\u6237\u7684\u5b89\u5168\u6027\u4ee5\u79fb\u9664\u60a8\u4ee5\u524d\u7684Blocto\u5bc6\u94a5",sectionTitle:"\u8fd9\u610f\u5473\u7740\u4ec0\u4e48\uff1f",fullControl:{title:"\u60a8\u5c06\u5b8c\u5168\u63a7\u5236\u60a8\u7684\u8d26\u6237\u548c\u5bc6\u94a5\u3002"},newKey:{title:"\u6211\u4eec\u5c06\u521b\u5efa\u4e00\u4e2a\u65b0\u5bc6\u94a5\u6765\u4fdd\u62a4\u60a8\u7684\u8d26\u6237\uff0c\u79fb\u9664Blocto\u7684\u8bbf\u95ee\u6743\u9650\u3002"},newPhrase:{title:"\u6211\u4eec\u5c06\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6062\u590d\u77ed\u8bed\uff0c\u4ee5\u4fbf\u5c06\u6765\u4fdd\u62a4\u60a8\u7684\u8d26\u6237\u3002"},warning:{prefix:"\u8bf7\u6ce8\u610f\uff1a",bloctoDescription:"\u6b64\u8fc7\u7a0b\u5b8c\u6210\u540e\uff0c\u60a8\u6765\u81eaBlocto\u7684\u6062\u590d\u5957\u4ef6\u5c06\u4e0d\u518d\u4fdd\u62a4\u5bf9\u60a8\u8d26\u6237\u7684\u8bbf\u95ee\u3002\u8fd9\u662f\u4e3a\u4e86\u5728Blocto\u505c\u6b62\u8fd0\u8425\u540e\u4fdd\u62a4\u60a8\u3002"},start:"\u5f00\u59cb",notNow:"\u6682\u4e0d"},mnemonic:{title:"\u6062\u590d\u77ed\u8bed",description:"\u6309\u6b63\u786e\u987a\u5e8f\u5199\u4e0b\u8fd9\u4e9b\u5355\u8bcd\uff0c\u5e76\u5c06\u5176\u5b58\u653e\u5728\u5b89\u5168\u7684\u5730\u65b9\u3002",clickToReveal:"\u70b9\u51fb\u663e\u793a\u77ed\u8bed",copy:"\u590d\u5236",upgrading:"\u6b63\u5728\u5347\u7ea7\u8d26\u6237...",warning:{title:"\u4e0d\u8981\u5206\u4eab\u60a8\u7684\u6062\u590d\u77ed\u8bed\uff01",description:"\u5982\u679c\u6709\u4eba\u83b7\u5f97\u4e86\u60a8\u7684\u6062\u590d\u77ed\u8bed\uff0c\u4ed6\u4eec\u5c06\u5b8c\u5168\u63a7\u5236\u60a8\u7684\u94b1\u5305\u3002"},error:{title:"\u65e0\u6548\u7684\u6062\u590d\u77ed\u8bed",description:"\u6062\u590d\u77ed\u8bed\u7f3a\u5931\u6216\u65e0\u6548\u3002\u8bf7\u91cd\u8bd5\u3002"}},error:{seedGeneration:"\u751f\u6210\u6062\u590d\u77ed\u8bed\u5931\u8d25",rotation:"\u5347\u7ea7\u8d26\u6237\u5931\u8d25"},success:{rotation:"\u8d26\u6237\u5347\u7ea7\u6210\u529f\uff01"}}}},ru:{translation:{navigation:{send:"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c",sendTo:"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c",sending:"\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430",selectTokens:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0442\u043e\u043a\u0435\u043d\u044b",sendTokens:"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043a\u0435\u043d\u044b",nftDetails:"\u0414\u0435\u0442\u0430\u043b\u0438 NFT",colorDemo:"\u0414\u0435\u043c\u043e \u0446\u0432\u0435\u0442\u043e\u0432",receive:"\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u044b"},common:{cancel:"\u041e\u0442\u043c\u0435\u043d\u0430",confirm:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c",back:"\u041d\u0430\u0437\u0430\u0434",goBack:"\u0412\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f",close:"\u0417\u0430\u043a\u0440\u044b\u0442\u044c",done:"\u0413\u043e\u0442\u043e\u0432\u043e",next:"\u0414\u0430\u043b\u0435\u0435",previous:"\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439",loading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430...",error:"\u041e\u0448\u0438\u0431\u043a\u0430",success:"\u0423\u0441\u043f\u0435\u0448\u043d\u043e",Search:"\u041f\u043e\u0438\u0441\u043a",recommended:"\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f",retry:"\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c"},tabs:{tokens:"\u0422\u043e\u043a\u0435\u043d\u044b",nfts:"NFT"},send:{tokens:"\u0422\u043e\u043a\u0435\u043d\u044b",nfts:"NFT",myAccounts:"\u041c\u043e\u0438 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u044b",recent:"\u041d\u0435\u0434\u0430\u0432\u043d\u0438\u0435",addressBook:"\u0410\u0434\u0440\u0435\u0441\u043d\u0430\u044f \u043a\u043d\u0438\u0433\u0430",sendTo:{title:"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c"},toAccount:"\u041d\u0430 \u0430\u043a\u043a\u0430\u0443\u043d\u0442",searchAddress:"\u041f\u043e\u0438\u0441\u043a \u0430\u0434\u0440\u0435\u0441\u0430",searchPasteAddress:"\u041f\u043e\u0438\u0441\u043a / \u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441",selectedToken:"\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0442\u043e\u043a\u0435\u043d",noAccounts:{title:"\u041d\u0435\u0442 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432",message:"\u0423 \u0432\u0430\u0441 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432."},noRecent:{title:"\u041d\u0435\u0442 \u043d\u0435\u0434\u0430\u0432\u043d\u0438\u0445 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u0435\u0439",message:"\u0412\u044b \u043d\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u043b\u0438 \u043d\u0438\u043a\u043e\u043c\u0443 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f."},noContacts:{title:"\u041d\u0435\u0442 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432",message:"\u0412\u0430\u0448\u0430 \u0430\u0434\u0440\u0435\u0441\u043d\u0430\u044f \u043a\u043d\u0438\u0433\u0430 \u043f\u0443\u0441\u0442\u0430."},noSearchResults:{title:"\u041d\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432",message:"\u041d\u0438 \u043e\u0434\u0438\u043d \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0438\u043b\u0438 \u043a\u043e\u043d\u0442\u0430\u043a\u0442 \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u0430\u0448\u0435\u043c\u0443 \u043f\u043e\u0438\u0441\u043a\u0443"},noRecipients:"\u041f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b",selectToken:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0442\u043e\u043a\u0435\u043d",selectRecipient:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f",enterAmount:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0443\u043c\u043c\u0443",reviewTransaction:"\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e",transactionFee:"\u041a\u043e\u043c\u0438\u0441\u0441\u0438\u044f \u0437\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e",total:"\u0418\u0442\u043e\u0433\u043e",balance:"\u0411\u0430\u043b\u0430\u043d\u0441",available:"\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e",insufficient:"\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0440\u0435\u0434\u0441\u0442\u0432",recipient:"\u041f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044c",from:"\u041e\u0442",fromAccount:"\u0421 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430",to:"\u041a\u043e\u043c\u0443",amount:"\u0421\u0443\u043c\u043c\u0430",asset:"\u0410\u043a\u0442\u0438\u0432",confirm:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e",sending:"\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430...",sent:"\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430",failed:"\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u043d\u0435 \u0443\u0434\u0430\u043b\u0430\u0441\u044c",searchRecipients:"\u041f\u043e\u0438\u0441\u043a \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u0435\u0439...",recentRecipients:"\u041d\u0435\u0434\u0430\u0432\u043d\u0438\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u0438",contactsList:"\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u044b",enterAddress:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 Flow \u0430\u0434\u0440\u0435\u0441",invalidAddress:"\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441",sameAddress:"\u041d\u0435\u043b\u044c\u0437\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0442\u043e\u0442 \u0436\u0435 \u0430\u0434\u0440\u0435\u0441",selectNFTs:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c NFT",selectedNFTs:"\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 NFT",nftDetails:"\u0414\u0435\u0442\u0430\u043b\u0438 NFT",collectionName:"\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f",tokenId:"ID \u0442\u043e\u043a\u0435\u043d\u0430",properties:"\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430",description:"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435",creator:"\u0421\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c",title:"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c",inaccessible:"\u041d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e",confirmAddress:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441",firstTimeSendMessage:"\u041c\u044b \u0437\u0430\u043c\u0435\u0442\u0438\u043b\u0438, \u0447\u0442\u043e \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u0430\u0448 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0430\u0434\u0440\u0435\u0441. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.",newContactTitle:"\u041d\u043e\u0432\u044b\u0439 \u043a\u043e\u043d\u0442\u0430\u043a\u0442",contactNameLabel:"\u0418\u043c\u044f \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0430",contactNamePlaceholder:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0438\u043c\u044f",addToAddressBookButton:"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u0443\u044e \u043a\u043d\u0438\u0433\u0443",sendSNFTs:"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c S/NFT",sendNFTs:"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c NFT",change:"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c",noNFTSelected:"NFT \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0435\u0440\u043d\u0438\u0442\u0435\u0441\u044c \u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 NFT \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438.",summary:"\u0421\u0432\u043e\u0434\u043a\u0430",sendTokens:"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043a\u0435\u043d\u044b",confirmSend:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443",holdToSend:"\u0423\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439\u0442\u0435 \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438",unknownAccount:"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442",errors:{amountExceedsBalance:"\u0421\u0443\u043c\u043c\u0430 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u0431\u0430\u043b\u0430\u043d\u0441"}},messages:{loading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430...",noTokensWithBalance:"\u041d\u0435\u0442 \u0442\u043e\u043a\u0435\u043d\u043e\u0432 \u0441 \u0431\u0430\u043b\u0430\u043d\u0441\u043e\u043c",noNFTCollectionsForAccount:"\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 NFT \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b",loadingProfiles:"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u0439...",noProfiles:"\u041d\u0435\u0442 \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u0439",noProfilesFound:"\u041f\u0440\u043e\u0444\u0438\u043b\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b",failedToLoadRecipients:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u0435\u0439",copied:"\u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u043e!",addressBookAdded:"\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u0443\u044e \u043a\u043d\u0438\u0433\u0443",failedToAddToAddressBook:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u0443\u044e \u043a\u043d\u0438\u0433\u0443",addressCopied:"\u0410\u0434\u0440\u0435\u0441 \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d \u0432 \u0431\u0443\u0444\u0435\u0440 \u043e\u0431\u043c\u0435\u043d\u0430",failedToCopy:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441",failedToShare:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f QR-\u043a\u043e\u0434\u043e\u043c"},receive:{title:"\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u044b",receiveAccount:"\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430 \u0441\u0447\u0435\u0442",scanToReceive:"\u0421\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f",shareQRCode:"\u041f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f QR-\u043a\u043e\u0434\u043e\u043c",generatingQR:"\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f QR-\u043a\u043e\u0434\u0430...",noQRCode:"QR-\u043a\u043e\u0434 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d",evmWarning:"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0435 \u0430\u043a\u0442\u0438\u0432\u044b \u043d\u0430 \u044d\u0442\u043e\u0442 \u0430\u0434\u0440\u0435\u0441 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0441\u0435\u0442\u0438 Flow EVM. \u0410\u043a\u0442\u0438\u0432\u044b, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0430\u0434\u0440\u0435\u0441 \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0435\u0442\u044f\u0445, \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u044b."},activity:{title:"\u0410\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c",empty:"\u041f\u043e\u043a\u0430 \u043d\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438",emptyMessage:"\u0412\u0430\u0448\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0437\u0434\u0435\u0441\u044c",error:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c",errorMessage:"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430",status:{pending:"\u0412 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435",success:"\u0423\u0441\u043f\u0435\u0448\u043d\u043e",failed:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c",expired:"\u0418\u0441\u0442\u0435\u043a\u043b\u043e"},sent:"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e",received:"\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043e",today:"\u0421\u0435\u0433\u043e\u0434\u043d\u044f",yesterday:"\u0412\u0447\u0435\u0440\u0430"},buttons:{retry:"\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c",refresh:"\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c",continue:"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c",clearSearch:"\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u0438\u0441\u043a"},errors:{networkError:"\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u0441\u0435\u0442\u0435\u0432\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430",invalidInput:"\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0432\u0432\u043e\u0434",transactionFailed:"\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u043d\u0435 \u0443\u0434\u0430\u043b\u0430\u0441\u044c",insufficientFunds:"\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0440\u0435\u0434\u0441\u0442\u0432",addressNotFound:"\u0410\u0434\u0440\u0435\u0441 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d",nftNotFound:"NFT \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d",tokenNotSupported:"\u0422\u043e\u043a\u0435\u043d \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f",unauthorized:"\u041d\u0435\u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f",timeout:"\u041f\u0440\u0435\u0432\u044b\u0448\u0435\u043d\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f",unknown:"\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430",failedToLoadTokens:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0442\u043e\u043a\u0435\u043d\u044b",failedToLoadNFTs:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c NFT",transactionPayloadError:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438",transactionExecutionError:"\u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438",generic:{title:"\u0427\u0442\u043e-\u0442\u043e \u043f\u043e\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a",message:"\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430.",button:"\u041f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u043d\u043e\u0432\u0430",reportBug:"Reportar Error"},network:{title:"\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0441 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c",message:"\u041d\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a \u0441\u0435\u0442\u0438. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0432\u0430\u0448\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430.",button:"\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c",reportBug:"Reportar Error"},critical:{title:"\u041a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430",message:"\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435.",button:"\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435",reportBug:"Reportar Error"}},nft:{untitled:"\u0411\u0435\u0437 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f",unknownCollection:"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f",noNFTsSelected:"NFT \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u044b",noSearchResults:"\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u043e\u0438\u0441\u043a\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442",noNFTsMatchSearch:"NFT \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 '{{search}}'",noNFTsFound:"NFT \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b",collectionEmpty:"\u042d\u0442\u0430 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 NFT",noCollectionSelected:"\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u0430. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0435\u0440\u043d\u0438\u0442\u0435\u0441\u044c \u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e NFT.",noAccountSelected:"\u0410\u0434\u0440\u0435\u0441 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442.",maxSelectionReached:"\u041c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c 9 NFT",nftNotFound:"NFT \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u0434\u043b\u044f ID:",selectedCount_one:"\u0412\u044b\u0431\u0440\u0430\u043d {{count}} NFT",selectedCount_few:"\u0412\u044b\u0431\u0440\u0430\u043d\u043e {{count}} NFT",selectedCount_many:"\u0412\u044b\u0431\u0440\u0430\u043d\u043e {{count}} NFT",selectedCount_other:"\u0412\u044b\u0431\u0440\u0430\u043d\u043e {{count}} NFT",confirmSelection_one:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c {{count}} NFT",confirmSelection_few:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c {{count}} NFT",confirmSelection_many:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c {{count}} NFT",confirmSelection_other:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c {{count}} NFT",itemCount_one:"{{count}} \u044d\u043b\u0435\u043c\u0435\u043d\u0442",itemCount_few:"{{count}} \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430",itemCount_many:"{{count}} \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432",itemCount_other:"{{count}} \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432",notFound:{title:"NFT \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d",message:"\u0417\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c\u044b\u0439 NFT \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0430\u0439\u0434\u0435\u043d \u0438\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d"},confirmSelection:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c {{count}} NFT",confirmSelection_plural:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c {{count}} NFT",itemCount:"{{count}} \u044d\u043b\u0435\u043c\u0435\u043d\u0442",itemCount_plural:"{{count}} \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432",selectedCount:"\u0412\u044b\u0431\u0440\u0430\u043d {{count}} NFT",selectedCount_plural:"\u0412\u044b\u0431\u0440\u0430\u043d\u043e {{count}} NFT"},storage:{warning:{title:"\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435",balance:"\u0412\u0430\u0448 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u043d\u0438\u0436\u0435 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0431\u0430\u043b\u0430\u043d\u0441\u0430 FLOW, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430, \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u0441\u0431\u043e\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439.",storage:"\u042d\u0442\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0443\u0434\u0430\u0442\u044c\u0441\u044f, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e FLOW \u043d\u0430 \u0432\u0430\u0448\u0435\u043c \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435 \u043d\u0438\u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u0434\u043b\u044f \u043f\u043e\u043a\u0440\u044b\u0442\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430.",storageAfterAction:"\u0411\u0430\u043b\u0430\u043d\u0441 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0443\u043f\u0430\u0434\u0435\u0442 \u043d\u0438\u0436\u0435 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e FLOW, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u0441\u0431\u043e\u044e \u044d\u0442\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438."}},account:{compatibility:{incompatible:"\u041d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442",learnMore:"\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435",unknown:"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442",dialog:{title:"\u0421\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430",button:"\u041f\u043e\u043d\u044f\u0442\u043d\u043e",descriptionMain:"Flow Wallet \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0430\u0448\u0438\u043c\u0438 EVM \u0438 Cadence \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430\u043c\u0438 \u0432 Flow. EVM \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u044b \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b \u0441 EVM \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438, \u0430 Cadence \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u044b \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b \u0441 Cadence \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438.",descriptionSecondary:"\u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 EVM \u0438\u043b\u0438 Cadence, \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u044b \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f."}}},surge:{title:"\u0410\u043a\u0442\u0438\u0432\u043d\u0430 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u0430\u044f \u0446\u0435\u043d\u0430",message:"\u0418\u0437-\u0437\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0441\u0435\u0442\u0438 \u043a\u043e\u043c\u0438\u0441\u0441\u0438\u0438 \u0437\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u044b. \u0422\u0435\u043a\u0443\u0449\u0438\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043a\u043e\u043c\u0438\u0441\u0441\u0438\u0438 \u0432 4 \u0440\u0430\u0437\u0430 \u0432\u044b\u0448\u0435 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e.",modal:{title:"\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0441 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u043e\u0439 \u0446\u0435\u043d\u043e\u0439?",transactionFee:"\u0412\u0430\u0448\u0430 \u043a\u043e\u043c\u0438\u0441\u0441\u0438\u044f \u0437\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e",surgeActive:"\u0410\u043a\u0442\u0438\u0432\u043d\u0430 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u0430\u044f \u0446\u0435\u043d\u0430",description:"\u0418\u0437-\u0437\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0441\u0435\u0442\u0438 \u043a\u043e\u043c\u0438\u0441\u0441\u0438\u0438 \u0437\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u044b. Flow Wallet \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043d\u0435 \u043e\u043f\u043b\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u0432\u0430\u0448 \u0433\u0430\u0437. \u0422\u0435\u043a\u0443\u0449\u0438\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043a\u043e\u043c\u0438\u0441\u0441\u0438\u0438 \u0432 {{multiplier}}\xd7 \u0432\u044b\u0448\u0435 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e.",holdToAgree:"\u0423\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439\u0442\u0435 \u0434\u043b\u044f \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u044f \u0441 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u043e\u0439 \u0446\u0435\u043d\u043e\u0439"}},onboarding:{flowWallet:"\u041a\u043e\u0448\u0435\u043b\u0435\u043a Flow",getStarted:{title:"\u041d\u0430\u0447\u043d\u0438\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 Flow Wallet",subtitle:"\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u0432 Flow Wallet\n\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0447\u0430\u0442\u044c.",createAccount:"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442",signIn:"\u0423 \u043c\u0435\u043d\u044f \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442",agreementText:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Flow Wallet, \u0432\u044b \u0441\u043e\u0433\u043b\u0430\u0448\u0430\u0435\u0442\u0435\u0441\u044c \u0441",termsOfService:"\u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c\u0438 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f",and:"\u0438",privacyPolicy:"\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438"},profileType:{welcomeTitle:"\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u0432\nFlow Wallet",recoveryPhrase:{title:"\u0417\u0430\u0449\u0438\u0449\u0435\u043d\u043e \u0444\u0440\u0430\u0437\u043e\u0439 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",description:"\u0424\u0440\u0430\u0437\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u2014 \u044d\u0442\u043e \u0441\u0435\u0440\u0438\u044f \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0430\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0432\u0430\u0448\u0435\u0433\u043e \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430."},secureEnclaveProfile:"\u041f\u0440\u043e\u0444\u0438\u043b\u044c Secure Enclave",next:"\u0414\u0430\u043b\u0435\u0435"},secureEnclave:{title:"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438",cardTitle:"\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c",cardDescription:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u043b\u044e\u0447\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e, Flow Wallet \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u2014 \u044d\u0442\u043e \u0441\u0432\u0435\u0440\u0445\u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u044b\u0439 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0439 \u043a\u043e\u0448\u0435\u043b\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u043e\u0432\u0435\u0440\u044f\u0442\u044c. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432 Cadence \u0432 Flow.",features:{secureEnclave:"Secure enclave",hardwareSecurity:"\u0410\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0430\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c",noEvm:"\u0411\u0435\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 EVM"},next:"\u0414\u0430\u043b\u0435\u0435",dialog:{title:"\u0412\u044b \u043e\u043f\u044b\u0442\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c?",description:"\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c? \u042d\u0442\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c \u0438 \u043d\u0435 \u0434\u0430\u0441\u0442 \u0432\u0430\u043c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443 EVM \u0432 Flow.",holdToConfirm:"\u0423\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439\u0442\u0435 \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f"},creating:{title:"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435\n\u0432\u0430\u0448\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430",configuring:"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430"}},notificationPreferences:{headerTitle:"\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f",title:"\u041f\u043e\u043b\u0443\u0447\u0430\u0439\u0442\u0435 push-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f",subtitle:"\u041f\u043e\u043b\u0443\u0447\u0430\u0439\u0442\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432, \u043e\u0431\u043c\u0435\u043d\u043e\u0432 \u0438 \u043e\u0434\u043e\u0431\u0440\u0435\u043d\u0438\u0439.",enableButton:"\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c push-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f",maybeLater:"\u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u043f\u043e\u0437\u0436\u0435"},backupOptions:{navTitle:"\u0420\u0435\u0437\u0435\u0440\u0432\u043d\u0430\u044f \u043a\u043e\u043f\u0438\u044f",subtitle:"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435, \u043a\u0430\u043a \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u0441\u0432\u043e\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u043e \u043f\u043e\u0437\u0436\u0435 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445.",deviceBackup:{title:"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435",description:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0441\u0432\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0432\u0430\u0448\u0438\u0445 \u0446\u0438\u0444\u0440\u043e\u0432\u044b\u0445 \u0430\u043a\u0442\u0438\u0432\u043e\u0432"},cloudBackup:{title:"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u0432 \u043e\u0431\u043b\u0430\u043a\u0435",description:"\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u0432 \u043e\u0431\u043b\u0430\u043a\u0435 \u0441 \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430\u043c\u0438, \u0442\u0430\u043a\u0438\u043c\u0438 \u043a\u0430\u043a Google Drive \u0438 iCloud"},recoveryPhrase:{title:"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u0441 \u0444\u0440\u0430\u0437\u043e\u0439 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",description:"\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0440\u0430\u0437\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0437 12 \u0441\u043b\u043e\u0432"},skipWarning:{title:"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0431\u0435\u0437 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0439 \u043a\u043e\u043f\u0438\u0438?",message:"\u0411\u0435\u0437 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0439 \u043a\u043e\u043f\u0438\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u0432\u043e\u0435\u043c\u0443 \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0443, \u0435\u0441\u043b\u0438 \u043f\u043e\u0442\u0435\u0440\u044f\u0435\u0442\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e. \u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0431\u0435\u0437 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0439 \u043a\u043e\u043f\u0438\u0438?",confirm:"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0431\u0435\u0437 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0439 \u043a\u043e\u043f\u0438\u0438"}},recoveryPhrase:{navTitle:"\u041c\u0443\u043b\u044c\u0442\u0438\u0447\u0435\u0439\u043d \u0430\u043a\u043a\u0430\u0443\u043d\u0442",title:"\u0424\u0440\u0430\u0437\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",description:"\u0417\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u044d\u0442\u0438 \u0441\u043b\u043e\u0432\u0430 \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0438\u0445 \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435.",clickToReveal:"\u041d\u0430\u0436\u043c\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0444\u0440\u0430\u0437\u0443",copy:"\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c",next:"\u0414\u0430\u043b\u0435\u0435",warning:{title:"\u041d\u0435 \u0434\u0435\u043b\u0438\u0442\u0435\u0441\u044c \u0441\u0432\u043e\u0435\u0439 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0444\u0440\u0430\u0437\u043e\u0439!",description:"\u0415\u0441\u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u0432\u0430\u0448\u0443 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0444\u0440\u0430\u0437\u0443,\n\u041e\u043d\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u0432\u0430\u0448\u0438\u043c \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u043e\u043c."},error:{title:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0444\u0440\u0430\u0437\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",unknown:"\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430"}},confirmRecoveryPhrase:{navTitle:"\u041c\u0443\u043b\u044c\u0442\u0438\u0447\u0435\u0439\u043d \u0430\u043a\u043a\u0430\u0443\u043d\u0442",title:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0444\u0440\u0430\u0437\u0443",description:"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u043b\u043e\u0432\u0430 \u043e\u0434\u043d\u043e \u0437\u0430 \u0434\u0440\u0443\u0433\u0438\u043c, \u0441\u0441\u044b\u043b\u0430\u044f\u0441\u044c \u043d\u0430 \u0438\u0445 \u043f\u043e\u0440\u044f\u0434\u043e\u043a.",selectWord:"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u043b\u043e\u0432\u043e \u043f\u043e\u0434 \u043d\u043e\u043c\u0435\u0440\u043e\u043c #{{position}}",finish:"\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c",creating:{title:"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435\n\u0432\u0430\u0448\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430",configuring:"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430"},error:{title:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442",generic:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430.",server:"\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043f\u043e\u0437\u0436\u0435.",validation:"\u041d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430."}},importProfile:{title:"\u0418\u043c\u043f\u043e\u0440\u0442 \u043f\u0440\u043e\u0444\u0438\u043b\u044f",subtitle:"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0441\u0432\u043e\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0439 \u043a\u043e\u043f\u0438\u0438.",previousProfiles:{title:"\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u0438",subtitle:"\u041d\u0430\u0439\u0434\u0435\u043d\u043e {{count}} \u043f\u0440\u043e\u0444\u0438\u043b\u044f \u0440\u0430\u043d\u0435\u0435 \u043d\u0430 \u044d\u0442\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435"},deviceBackup:{title:"\u0420\u0435\u0437\u0435\u0440\u0432\u043d\u0430\u044f \u043a\u043e\u043f\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430",subtitle:"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0441\u0432\u043e\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0443."},cloudBackup:{title:"\u041c\u0443\u043b\u044c\u0442\u0438-\u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0430\u044f \u043a\u043e\u043f\u0438\u044f \u0432 \u043e\u0431\u043b\u0430\u043a\u0435",subtitle:"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0438\u0437 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Google Drive \u0438 iCloud."},recoveryPhrase:{title:"\u0418\u0437 \u0444\u0440\u0430\u0437\u044b \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",subtitle:"\u0424\u0440\u0430\u0437\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0437 12 \u0441\u043b\u043e\u0432."},anotherMethod:{title:"\u0421 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430",subtitle:"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0441\u0432\u043e\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430, \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0438\u043b\u0438 \u0444\u0440\u0430\u0437\u044b \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f."}},importOtherMethods:{title:"\u0421 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430",subtitle:"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u043f\u043e\u0441\u043e\u0431 \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f.",recoveryPhrase:{title:"\u0424\u0440\u0430\u0437\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",subtitle:"\u0424\u0440\u0430\u0437\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0437 12 \u0441\u043b\u043e\u0432"},keyStore:{title:"\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435",subtitle:"\u0424\u0430\u0439\u043b \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u2014 \u044d\u0442\u043e \u0432\u0430\u0448 \u043a\u043e\u0448\u0435\u043b\u0435\u043a \u0432 \u0432\u0438\u0434\u0435 \u0444\u0430\u0439\u043b\u0430, \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u043e\u043b\u0435\u043c."},privateKey:{title:"\u041f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447",subtitle:"\u0412\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u0432\u043e\u0439 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430."},googleDrive:{title:"Google Drive",subtitle:"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u0438\u0437 Google Drive."},iCloud:{title:"iCloud",subtitle:"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u0438\u0437 iCloud."}},confirmImportProfile:{title:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u043a\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c",emptyTitle:"\u041f\u0440\u043e\u0444\u0438\u043b\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b",emptyMessage:"\u041d\u0430 \u044d\u0442\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u0438",importButton:"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0444\u0438\u043b\u044c"}},backup:{tip:{writeDown:{title:"\u0417\u0430\u043f\u0438\u0448\u0438\u0442\u0435",description:"\u0417\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0432\u0430\u0448\u0443 \u0444\u0440\u0430\u0437\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0443\u043c\u0430\u0433\u0435 \u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0435\u0451 \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435."},keepSecret:{title:"\u0414\u0435\u0440\u0436\u0438\u0442\u0435 \u0432 \u0441\u0435\u043a\u0440\u0435\u0442\u0435",description:"\u041d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0434\u0435\u043b\u0438\u0442\u0435\u0441\u044c \u0441\u0432\u043e\u0435\u0439 \u0444\u0440\u0430\u0437\u043e\u0439 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441 \u043a\u0435\u043c-\u043b\u0438\u0431\u043e \u0438 \u043d\u0435 \u0432\u0432\u043e\u0434\u0438\u0442\u0435 \u0435\u0451 \u043d\u0430 \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u0441\u0430\u0439\u0442\u0430\u0445."},noScreenshot:{title:"\u0411\u0435\u0437 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u043e\u0432",description:"\u041d\u0435 \u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u044b \u0438 \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0444\u0440\u0430\u0437\u0443 \u0432 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u043c \u0432\u0438\u0434\u0435, \u0433\u0434\u0435 \u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430."},warning:{title:"\u0412\u0430\u0436\u043d\u043e",description:"\u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u0442\u0435\u0440\u044f\u0435\u0442\u0435 \u0444\u0440\u0430\u0437\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u0432\u044b \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u043a\u043e\u0448\u0435\u043b\u0435\u043a. Flow Wallet \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c \u0435\u0451 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c."},continue:"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c"},mnemonic:{navTitle:"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442",done:"\u0413\u043e\u0442\u043e\u0432\u043e",complete:"\u042f \u0441\u043e\u0437\u0434\u0430\u043b \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u0441\u0432\u043e\u0435\u0439 \u0444\u0440\u0430\u0437\u044b"}},keyrotation:{tip:{title:"\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u0435\n\u0432\u0430\u0448 \u0430\u043a\u043a\u0430\u0443\u043d\u0442",description:"Flow Wallet \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0432\u0430\u0448\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430, \u0447\u0442\u043e\u0431\u044b \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0430\u0448\u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u043a\u043b\u044e\u0447\u0438 Blocto",sectionTitle:"\u0427\u0442\u043e \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442?",fullControl:{title:"\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u0441\u0432\u043e\u0438\u043c\u0438 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430\u043c\u0438 \u0438 \u043a\u043b\u044e\u0447\u0430\u043c\u0438."},newKey:{title:"\u041c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u044b\u0439 \u043a\u043b\u044e\u0447 \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0432\u0430\u0448\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430, \u0443\u0434\u0430\u043b\u0438\u0432 \u0434\u043e\u0441\u0442\u0443\u043f Blocto."},newPhrase:{title:"\u041c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u0443\u044e \u0444\u0440\u0430\u0437\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0449\u0438\u0449\u0430\u0442\u044c \u0432\u0430\u0448 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c."},warning:{prefix:"\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: ",bloctoDescription:"\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0432\u0430\u0448 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0442 Blocto \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0432\u0430\u0448\u0435\u043c\u0443 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443. \u042d\u0442\u043e \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0439 \u0437\u0430\u0449\u0438\u0442\u044b \u0442\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 Blocto \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u043b \u0441\u0432\u043e\u044e \u0434\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c."},start:"\u041d\u0430\u0447\u0430\u0442\u044c",notNow:"\u041d\u0435 \u0441\u0435\u0439\u0447\u0430\u0441"},mnemonic:{title:"\u0424\u0440\u0430\u0437\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",description:"\u0417\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u044d\u0442\u0438 \u0441\u043b\u043e\u0432\u0430 \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0438\u0445 \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435.",clickToReveal:"\u041d\u0430\u0436\u043c\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0444\u0440\u0430\u0437\u0443",copy:"\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c",upgrading:"\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430...",warning:{title:"\u041d\u0435 \u0434\u0435\u043b\u0438\u0442\u0435\u0441\u044c \u0441\u0432\u043e\u0435\u0439 \u0444\u0440\u0430\u0437\u043e\u0439 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f!",description:"\u0415\u0441\u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u0432\u0430\u0448\u0443 \u0444\u0440\u0430\u0437\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043e\u043d\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u0432\u0430\u0448\u0438\u043c \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u043e\u043c."},error:{title:"\u041d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0440\u0430\u0437\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",description:"\u0424\u0440\u0430\u0437\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u043b\u0438 \u043d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430."}},error:{seedGeneration:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0444\u0440\u0430\u0437\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",rotation:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442"},success:{rotation:"\u0410\u043a\u043a\u0430\u0443\u043d\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d!"}}}},jp:{translation:{navigation:{send:"\u9001\u4fe1",sendTo:"\u9001\u4fe1\u5148",sending:"\u9001\u4fe1\u4e2d",selectTokens:"\u30c8\u30fc\u30af\u30f3\u3092\u9078\u629e",sendTokens:"\u30c8\u30fc\u30af\u30f3\u3092\u9001\u4fe1",nftDetails:"NFT\u8a73\u7d30",colorDemo:"\u30ab\u30e9\u30fc\u30c7\u30e2",receive:"\u8cc7\u7523\u3092\u53d7\u3051\u53d6\u308b"},common:{cancel:"\u30ad\u30e3\u30f3\u30bb\u30eb",confirm:"\u78ba\u8a8d",back:"\u623b\u308b",goBack:"\u623b\u308b",close:"\u9589\u3058\u308b",done:"\u5b8c\u4e86",next:"\u6b21\u3078",previous:"\u524d\u3078",loading:"\u8aad\u307f\u8fbc\u307f\u4e2d...",error:"\u30a8\u30e9\u30fc",success:"\u6210\u529f",Search:"\u691c\u7d22",recommended:"\u304a\u3059\u3059\u3081",retry:"\u518d\u8a66\u884c"},tabs:{tokens:"\u30c8\u30fc\u30af\u30f3",nfts:"NFT"},send:{tokens:"\u30c8\u30fc\u30af\u30f3",nfts:"NFT",myAccounts:"\u30de\u30a4\u30a2\u30ab\u30a6\u30f3\u30c8",recent:"\u6700\u8fd1",addressBook:"\u30a2\u30c9\u30ec\u30b9\u5e33",sendTo:{title:"\u9001\u4fe1\u5148"},toAccount:"\u9001\u4fe1\u5148\u30a2\u30ab\u30a6\u30f3\u30c8",searchAddress:"\u30a2\u30c9\u30ec\u30b9\u3092\u691c\u7d22",searchPasteAddress:"\u30a2\u30c9\u30ec\u30b9\u3092\u691c\u7d22 / \u8cbc\u308a\u4ed8\u3051",selectedToken:"\u9078\u629e\u3055\u308c\u305f\u30c8\u30fc\u30af\u30f3",noAccounts:{title:"\u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u3042\u308a\u307e\u305b\u3093",message:"\u307e\u3060\u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},noRecent:{title:"\u6700\u8fd1\u306e\u53d7\u4fe1\u8005\u304c\u3044\u307e\u305b\u3093",message:"\u6700\u8fd1\u9001\u4fe1\u3057\u305f\u76f8\u624b\u304c\u3044\u307e\u305b\u3093\u3002"},noContacts:{title:"\u9023\u7d61\u5148\u304c\u3042\u308a\u307e\u305b\u3093",message:"\u30a2\u30c9\u30ec\u30b9\u5e33\u304c\u7a7a\u3067\u3059\u3002"},noSearchResults:{title:"\u7d50\u679c\u304c\u3042\u308a\u307e\u305b\u3093",message:"\u691c\u7d22\u306b\u4e00\u81f4\u3059\u308b\u30a2\u30ab\u30a6\u30f3\u30c8\u3084\u9023\u7d61\u5148\u304c\u3042\u308a\u307e\u305b\u3093"},noRecipients:"\u53d7\u4fe1\u8005\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",selectToken:"\u30c8\u30fc\u30af\u30f3\u3092\u9078\u629e",selectRecipient:"\u53d7\u4fe1\u8005\u3092\u9078\u629e",enterAmount:"\u91d1\u984d\u3092\u5165\u529b",reviewTransaction:"\u53d6\u5f15\u3092\u78ba\u8a8d",transactionFee:"\u53d6\u5f15\u624b\u6570\u6599",total:"\u5408\u8a08",balance:"\u6b8b\u9ad8",available:"\u5229\u7528\u53ef\u80fd",insufficient:"\u6b8b\u9ad8\u4e0d\u8db3",recipient:"\u53d7\u4fe1\u8005",from:"\u9001\u4fe1\u8005",fromAccount:"\u9001\u4fe1\u5143\u30a2\u30ab\u30a6\u30f3\u30c8",to:"\u9001\u4fe1\u5148",amount:"\u91d1\u984d",asset:"\u30a2\u30bb\u30c3\u30c8",confirm:"\u53d6\u5f15\u3092\u78ba\u8a8d",sending:"\u9001\u4fe1\u4e2d...",sent:"\u53d6\u5f15\u304c\u9001\u4fe1\u3055\u308c\u307e\u3057\u305f",failed:"\u53d6\u5f15\u304c\u5931\u6557\u3057\u307e\u3057\u305f",searchRecipients:"\u53d7\u4fe1\u8005\u3092\u691c\u7d22...",recentRecipients:"\u6700\u8fd1\u306e\u53d7\u4fe1\u8005",contactsList:"\u9023\u7d61\u5148",enterAddress:"Flow\u30a2\u30c9\u30ec\u30b9\u3092\u5165\u529b",invalidAddress:"\u7121\u52b9\u306a\u30a2\u30c9\u30ec\u30b9",sameAddress:"\u540c\u3058\u30a2\u30c9\u30ec\u30b9\u306b\u306f\u9001\u4fe1\u3067\u304d\u307e\u305b\u3093",selectNFTs:"NFT\u3092\u9078\u629e",selectedNFTs:"\u9078\u629e\u3055\u308c\u305fNFT",nftDetails:"NFT\u8a73\u7d30",collectionName:"\u30b3\u30ec\u30af\u30b7\u30e7\u30f3",tokenId:"\u30c8\u30fc\u30af\u30f3ID",properties:"\u30d7\u30ed\u30d1\u30c6\u30a3",description:"\u8aac\u660e",creator:"\u4f5c\u6210\u8005",title:"\u9001\u4fe1",inaccessible:"\u30a2\u30af\u30bb\u30b9\u4e0d\u53ef",confirmAddress:"\u30a2\u30c9\u30ec\u30b9\u3092\u78ba\u8a8d",firstTimeSendMessage:"\u3053\u306e\u30a2\u30c9\u30ec\u30b9\u3078\u306e\u9001\u4fe1\u306f\u521d\u56de\u306e\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u9001\u4fe1\u5148\u30a2\u30c9\u30ec\u30b9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002",newContactTitle:"\u65b0\u3057\u3044\u9023\u7d61\u5148",contactNameLabel:"\u9023\u7d61\u5148\u540d",contactNamePlaceholder:"\u540d\u524d\u3092\u5165\u529b",addToAddressBookButton:"\u30a2\u30c9\u30ec\u30b9\u5e33\u306b\u8ffd\u52a0",sendSNFTs:"S/NFT\u3092\u9001\u4fe1",sendNFTs:"NFT\u3092\u9001\u4fe1",change:"\u5909\u66f4",noNFTSelected:"NFT\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u623b\u3063\u3066\u9001\u4fe1\u3059\u308bNFT\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002",summary:"\u6982\u8981",sendTokens:"\u30c8\u30fc\u30af\u30f3\u3092\u9001\u4fe1",confirmSend:"\u9001\u4fe1\u3092\u78ba\u8a8d",holdToSend:"\u9577\u62bc\u3057\u3067\u9001\u4fe1",unknownAccount:"\u4e0d\u660e\u306a\u30a2\u30ab\u30a6\u30f3\u30c8",errors:{amountExceedsBalance:"\u91d1\u984d\u304c\u5229\u7528\u53ef\u80fd\u6b8b\u9ad8\u3092\u8d85\u3048\u3066\u3044\u307e\u3059"}},messages:{loading:"\u8aad\u307f\u8fbc\u307f\u4e2d...",noTokensWithBalance:"\u6b8b\u9ad8\u306e\u3042\u308b\u30c8\u30fc\u30af\u30f3\u304c\u3042\u308a\u307e\u305b\u3093",noNFTCollectionsForAccount:"NFT\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",loadingProfiles:"\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u8aad\u307f\u8fbc\u307f\u4e2d...",noProfiles:"\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093",noProfilesFound:"\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",failedToLoadRecipients:"\u53d7\u4fe1\u8005\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f",copied:"\u30b3\u30d4\u30fc\u3057\u307e\u3057\u305f\uff01",addressBookAdded:"\u30a2\u30c9\u30ec\u30b9\u5e33\u306b\u8ffd\u52a0\u3057\u307e\u3057\u305f",failedToAddToAddressBook:"\u30a2\u30c9\u30ec\u30b9\u5e33\u3078\u306e\u8ffd\u52a0\u306b\u5931\u6557\u3057\u307e\u3057\u305f",addressCopied:"\u30a2\u30c9\u30ec\u30b9\u3092\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3057\u305f",failedToCopy:"\u30a2\u30c9\u30ec\u30b9\u306e\u30b3\u30d4\u30fc\u306b\u5931\u6557\u3057\u307e\u3057\u305f",failedToShare:"QR\u30b3\u30fc\u30c9\u306e\u5171\u6709\u306b\u5931\u6557\u3057\u307e\u3057\u305f"},receive:{title:"\u8cc7\u7523\u3092\u53d7\u3051\u53d6\u308b",receiveAccount:"\u53d7\u3051\u53d6\u308b\u30a2\u30ab\u30a6\u30f3\u30c8",scanToReceive:"\u30b9\u30ad\u30e3\u30f3\u3057\u3066\u53d7\u3051\u53d6\u308b",shareQRCode:"QR\u30b3\u30fc\u30c9\u3092\u5171\u6709",generatingQR:"QR\u30b3\u30fc\u30c9\u751f\u6210\u4e2d...",noQRCode:"QR\u30b3\u30fc\u30c9\u304c\u5229\u7528\u3067\u304d\u307e\u305b\u3093",evmWarning:"Flow EVM\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u3067\u306e\u307f\u3001\u3053\u306e\u30a2\u30c9\u30ec\u30b9\u306b\u8cc7\u7523\u3092\u9001\u4fe1\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4ed6\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u3067\u3053\u306e\u30a2\u30c9\u30ec\u30b9\u306b\u9001\u4fe1\u3055\u308c\u305f\u8cc7\u7523\u306f\u5931\u308f\u308c\u307e\u3059\u3002"},activity:{title:"\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3",empty:"\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u304c\u3042\u308a\u307e\u305b\u3093",emptyMessage:"\u53d6\u5f15\u5c65\u6b74\u304c\u3053\u3053\u306b\u8868\u793a\u3055\u308c\u307e\u3059",error:"\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f",errorMessage:"\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044",status:{pending:"\u51e6\u7406\u4e2d",success:"\u6210\u529f",failed:"\u5931\u6557",expired:"\u671f\u9650\u5207\u308c"},sent:"\u9001\u4fe1\u6e08\u307f",received:"\u53d7\u4fe1\u6e08\u307f",today:"\u4eca\u65e5",yesterday:"\u6628\u65e5"},buttons:{retry:"\u518d\u8a66\u884c",refresh:"\u66f4\u65b0",continue:"\u7d9a\u884c",clearSearch:"\u691c\u7d22\u3092\u30af\u30ea\u30a2"},errors:{networkError:"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f",invalidInput:"\u7121\u52b9\u306a\u5165\u529b",transactionFailed:"\u53d6\u5f15\u304c\u5931\u6557\u3057\u307e\u3057\u305f",insufficientFunds:"\u6b8b\u9ad8\u4e0d\u8db3",addressNotFound:"\u30a2\u30c9\u30ec\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",nftNotFound:"NFT\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",tokenNotSupported:"\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u30c8\u30fc\u30af\u30f3",unauthorized:"\u8a8d\u8a3c\u3055\u308c\u3066\u3044\u307e\u305b\u3093",timeout:"\u30ea\u30af\u30a8\u30b9\u30c8\u304c\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3057\u307e\u3057\u305f",unknown:"\u4e0d\u660e\u306a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f",failedToLoadTokens:"\u30c8\u30fc\u30af\u30f3\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f",failedToLoadNFTs:"NFT\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f",transactionPayloadError:"\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u30da\u30a4\u30ed\u30fc\u30c9\u306e\u4f5c\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f",transactionExecutionError:"\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u5b9f\u884c\u306b\u5931\u6557\u3057\u307e\u3057\u305f",generic:{title:"\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f",message:"\u4e88\u671f\u3057\u306a\u3044\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002",button:"\u518d\u8a66\u884c",reportBug:"Reportar Error"},network:{title:"\u63a5\u7d9a\u306e\u554f\u984c",message:"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3002\u63a5\u7d9a\u3092\u78ba\u8a8d\u3057\u3066\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002",button:"\u518d\u8a66\u884c",reportBug:"Reportar Error"},critical:{title:"\u91cd\u5927\u306a\u30a8\u30e9\u30fc",message:"\u91cd\u5927\u306a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u30a2\u30d7\u30ea\u3092\u518d\u8d77\u52d5\u3057\u3066\u304f\u3060\u3055\u3044\u3002",button:"\u30a2\u30d7\u30ea\u3092\u518d\u8d77\u52d5",reportBug:"Reportar Error"}},nft:{untitled:"\u7121\u984c",unknownCollection:"\u4e0d\u660e\u306a\u30b3\u30ec\u30af\u30b7\u30e7\u30f3",noNFTsSelected:"NFT\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093",noSearchResults:"\u691c\u7d22\u7d50\u679c\u304c\u3042\u308a\u307e\u305b\u3093",noNFTsMatchSearch:"'{{search}}'\u306b\u4e00\u81f4\u3059\u308bNFT\u304c\u3042\u308a\u307e\u305b\u3093",noNFTsFound:"NFT\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",collectionEmpty:"\u3053\u306e\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u306b\u306fNFT\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093",noCollectionSelected:"\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u623b\u3063\u3066NFT\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002",noAccountSelected:"\u5229\u7528\u53ef\u80fd\u306a\u30a2\u30ab\u30a6\u30f3\u30c8\u30a2\u30c9\u30ec\u30b9\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002",maxSelectionReached:"\u6700\u59279\u500b\u306eNFT\u3092\u9078\u629e\u3067\u304d\u307e\u3059",nftNotFound:"NFT ID\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093:",selectedCount:"{{count}} \u500b\u306eNFT\u3092\u9078\u629e\u4e2d",confirmSelection:"{{count}} \u500b\u306eNFT\u3092\u78ba\u8a8d",itemCount:"{{count}}\u500b\u306e\u30a2\u30a4\u30c6\u30e0",notFound:{title:"NFT\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",message:"\u8981\u6c42\u3055\u308c\u305fNFT\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u304b\u3001\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f"},confirmSelection_plural:"{{count}} \u500b\u306eNFT\u3092\u78ba\u8a8d",itemCount_plural:"{{count}} \u500b\u306e\u30a2\u30a4\u30c6\u30e0",selectedCount_plural:"\u9078\u629e\u3055\u308c\u305f{{count}} \u500b\u306eNFT"},storage:{warning:{title:"\u30b9\u30c8\u30ec\u30fc\u30b8\u8b66\u544a",balance:"\u30a2\u30ab\u30a6\u30f3\u30c8\u306eFLOW\u6b8b\u9ad8\u304c\u30b9\u30c8\u30ec\u30fc\u30b8\u4f7f\u7528\u306b\u5fc5\u8981\u306a\u6700\u5c0f\u8981\u4ef6\u3092\u4e0b\u56de\u3063\u3066\u304a\u308a\u3001\u5f8c\u7d9a\u306e\u53d6\u5f15\u304c\u5931\u6557\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002",storage:"\u3053\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u306f\u3001\u30a2\u30ab\u30a6\u30f3\u30c8\u5185\u306eFLOW\u91cf\u3092\u30b9\u30c8\u30ec\u30fc\u30b8\u4f7f\u7528\u3092\u30ab\u30d0\u30fc\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u91cf\u3092\u4e0b\u56de\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u305f\u3081\u3001\u5931\u6557\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002",storageAfterAction:"\u3053\u306e\u53d6\u5f15\u5f8c\u3001\u30a2\u30ab\u30a6\u30f3\u30c8\u6b8b\u9ad8\u306f\u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u5fc5\u8981\u306a\u6700\u5c0fFLOW\u91cf\u3092\u4e0b\u56de\u308a\u3001\u3053\u306e\u53d6\u5f15\u304c\u5931\u6557\u3057\u307e\u3059\u3002"}},account:{compatibility:{incompatible:"\u4e92\u63db\u6027\u306e\u306a\u3044\u30a2\u30ab\u30a6\u30f3\u30c8",learnMore:"\u8a73\u7d30\u3092\u898b\u308b",unknown:"\u4e0d\u660e\u306a\u30a2\u30ab\u30a6\u30f3\u30c8",dialog:{title:"\u30a2\u30ab\u30a6\u30f3\u30c8\u4e92\u63db\u6027",button:"\u4e86\u89e3",descriptionMain:"Flow\u30a6\u30a9\u30ec\u30c3\u30c8\u306f\u3001Flow\u4e0a\u306eEVM\u30a2\u30ab\u30a6\u30f3\u30c8\u3068Cadence\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u7ba1\u7406\u3057\u307e\u3059\u3002EVM\u30a2\u30ab\u30a6\u30f3\u30c8\u306fEVM\u30a2\u30d7\u30ea\u3068\u4e92\u63db\u6027\u304c\u3042\u308a\u3001Cadence\u30a2\u30ab\u30a6\u30f3\u30c8\u306fCadence\u30a2\u30d7\u30ea\u3068\u4e92\u63db\u6027\u304c\u3042\u308a\u307e\u3059\u3002",descriptionSecondary:"\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304cEVM\u307e\u305f\u306fCadence\u30d9\u30fc\u30b9\u306e\u5834\u5408\u3001\u4e92\u63db\u6027\u306e\u3042\u308b\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u307f\u304c\u63a5\u7d9a\u306b\u5229\u7528\u3067\u304d\u307e\u3059\u3002"}}},surge:{title:"\u30b5\u30fc\u30b8\u4fa1\u683c\u304c\u30a2\u30af\u30c6\u30a3\u30d6",message:"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u9ad8\u8ca0\u8377\u306b\u3088\u308a\u3001\u53d6\u5f15\u624b\u6570\u6599\u304c\u4e0a\u6607\u3057\u3066\u3044\u307e\u3059\u3002\u73fe\u5728\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u624b\u6570\u6599\u306f\u901a\u5e38\u306e4\u500d\u3067\u3059\u3002",modal:{title:"\u30b5\u30fc\u30b8\u4fa1\u683c\u3092\u7d9a\u884c\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b\uff1f",transactionFee:"\u53d6\u5f15\u624b\u6570\u6599",surgeActive:"\u30b5\u30fc\u30b8\u4fa1\u683c\u304c\u30a2\u30af\u30c6\u30a3\u30d6",description:"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u9ad8\u8ca0\u8377\u306b\u3088\u308a\u3001\u53d6\u5f15\u624b\u6570\u6599\u304c\u4e0a\u6607\u3057\u3066\u3044\u307e\u3059\u3002Flow\u30a6\u30a9\u30ec\u30c3\u30c8\u306f\u4e00\u6642\u7684\u306b\u30ac\u30b9\u6599\u91d1\u3092\u652f\u6255\u3063\u3066\u3044\u307e\u305b\u3093\u3002\u73fe\u5728\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u624b\u6570\u6599\u306f\u901a\u5e38\u306e{{multiplier}}\u500d\u3067\u3059\u3002",holdToAgree:"\u30b5\u30fc\u30b8\u4fa1\u683c\u3092\u7d9a\u884c\u3059\u308b\u306b\u306f\u9577\u62bc\u3057\u3057\u3066\u304f\u3060\u3055\u3044"}},onboarding:{flowWallet:"Flow \u30a6\u30a9\u30ec\u30c3\u30c8",getStarted:{title:"Flow \u30a6\u30a9\u30ec\u30c3\u30c8\u3092\u59cb\u3081\u308b",subtitle:"Flow \u30a6\u30a9\u30ec\u30c3\u30c8\u3078\u3088\u3046\u3053\u305d\n\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210\u3057\u3066\u59cb\u3081\u307e\u3057\u3087\u3046\u3002",createAccount:"\u65b0\u3057\u3044\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210",signIn:"\u65e2\u306b\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u304a\u6301\u3061\u3067\u3059",agreementText:"Flow \u30a6\u30a9\u30ec\u30c3\u30c8\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001",termsOfService:"\u5229\u7528\u898f\u7d04",and:"\u3068",privacyPolicy:"\u30d7\u30e9\u30a4\u30d0\u30b7\u30fc\u30dd\u30ea\u30b7\u30fc"},profileType:{welcomeTitle:"\u3088\u3046\u3053\u305d\nFlow \u30a6\u30a9\u30ec\u30c3\u30c8",recoveryPhrase:{title:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3067\u4fdd\u8b77",description:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u306f\u3001\u30a6\u30a9\u30ec\u30c3\u30c8\u3092\u4fdd\u8b77\u3059\u308b\u305f\u3081\u306b\u751f\u6210\u3055\u308c\u305f\u4e00\u9023\u306e\u5358\u8a9e\u3067\u3059\u3002"},secureEnclaveProfile:"\u30bb\u30ad\u30e5\u30a2\u30a8\u30f3\u30af\u30ec\u30fc\u30d6\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb",next:"\u6b21\u3078"},importProfile:{title:"\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u3092\u30a4\u30f3\u30dd\u30fc\u30c8",subtitle:"\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u4f7f\u7528\u3057\u3066\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002",previousProfiles:{title:"\u4ee5\u524d\u306e\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb",subtitle:"\u3053\u306e\u30c7\u30d0\u30a4\u30b9\u3067\u4ee5\u524d\u306b{{count}}\u500b\u306e\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f"},deviceBackup:{title:"\u30c7\u30d0\u30a4\u30b9\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u304b\u3089",subtitle:"\u5225\u306e\u643a\u5e2f\u96fb\u8a71\u3078\u306e\u7269\u7406\u7684\u306a\u30a2\u30af\u30bb\u30b9\u3092\u4f7f\u7528\u3057\u3066\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002"},cloudBackup:{title:"\u30af\u30e9\u30a6\u30c9\u30de\u30eb\u30c1\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u304b\u3089",subtitle:"Google Drive\u3084iCloud\u306a\u3069\u306e\u30af\u30e9\u30a6\u30c9\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u304b\u3089\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002"},recoveryPhrase:{title:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u304b\u3089",subtitle:"12\u5358\u8a9e\u306e\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3002"},anotherMethod:{title:"\u5225\u306e\u65b9\u6cd5\u304b\u3089",subtitle:"\u30ad\u30fc\u30b9\u30c8\u30a2\u3001\u79d8\u5bc6\u9375\u3001\u307e\u305f\u306f\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3092\u4f7f\u7528\u3057\u3066\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002"}},importOtherMethods:{title:"\u5225\u306e\u65b9\u6cd5\u304b\u3089",subtitle:"\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b\u65b9\u6cd5\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002",recoveryPhrase:{title:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba",subtitle:"12\u5358\u8a9e\u306e\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba"},keyStore:{title:"\u30ad\u30fc\u30b9\u30c8\u30a2",subtitle:"\u30ad\u30fc\u30b9\u30c8\u30a2\u30d5\u30a1\u30a4\u30eb\u306f\u3001\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u6697\u53f7\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u306e\u30a6\u30a9\u30ec\u30c3\u30c8\u3067\u3059\u3002"},privateKey:{title:"\u79d8\u5bc6\u9375",subtitle:"\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u79d8\u5bc6\u9375\u3092\u8cbc\u308a\u4ed8\u3051\u307e\u3059\u3002"},googleDrive:{title:"Google Drive",subtitle:"Google Drive\u304b\u3089\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002"},iCloud:{title:"iCloud",subtitle:"iCloud\u304b\u3089\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002"}},confirmImportProfile:{title:"\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u3092\u78ba\u8a8d",emptyTitle:"\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",emptyMessage:"\u3053\u306e\u30c7\u30d0\u30a4\u30b9\u306b\u4ee5\u524d\u306e\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f",importButton:"\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u3092\u30a4\u30f3\u30dd\u30fc\u30c8"},secureEnclave:{title:"\u9ad8\u5ea6\u306a\u8a2d\u5b9a",cardTitle:"\u30bb\u30ad\u30e5\u30a2\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb",cardDescription:"\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u30b0\u30ec\u30fc\u30c9\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3092\u5099\u3048\u305f\u30c7\u30d0\u30a4\u30b9\u30ad\u30fc\u3092\u4f7f\u7528\u3057\u3001\u30bb\u30ad\u30e5\u30a2\u30e2\u30fc\u30c9\u306eFlow \u30a6\u30a9\u30ec\u30c3\u30c8\u306f\u4fe1\u983c\u3067\u304d\u308b\u8d85\u30bb\u30ad\u30e5\u30a2\u306a\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u30a6\u30a9\u30ec\u30c3\u30c8\u3067\u3059\u3002Flow\u4e0a\u306eCadence\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u307f\u3067\u5229\u7528\u53ef\u80fd\u3067\u3059\u3002",features:{secureEnclave:"\u30bb\u30ad\u30e5\u30a2\u30a8\u30f3\u30af\u30ec\u30fc\u30d6",hardwareSecurity:"\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u30b0\u30ec\u30fc\u30c9\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3",noEvm:"EVM\u30b5\u30dd\u30fc\u30c8\u306a\u3057"},next:"\u6b21\u3078",dialog:{title:"\u4e0a\u7d1a\u30e6\u30fc\u30b6\u30fc\u3067\u3059\u304b?",description:"\u30bb\u30ad\u30e5\u30a2\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?\u3053\u308c\u306b\u3088\u308a\u7279\u5b9a\u306e\u6a5f\u80fd\u3078\u306e\u30a2\u30af\u30bb\u30b9\u304c\u5236\u9650\u3055\u308c\u3001Flow\u4e0a\u306eEVM\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3059\u3002",holdToConfirm:"\u9577\u62bc\u3057\u3057\u3066\u78ba\u8a8d"},creating:{title:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\n\u4f5c\u6210\u4e2d",configuring:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u8a2d\u5b9a\u4e2d"}},notificationPreferences:{headerTitle:"\u901a\u77e5",title:"\u30d7\u30c3\u30b7\u30e5\u901a\u77e5\u3092\u53d7\u3051\u53d6\u308b",subtitle:"\u8ee2\u9001\u3001\u30b9\u30ef\u30c3\u30d7\u3001\u627f\u8a8d\u304c\u5b8c\u4e86\u3057\u305f\u3068\u304d\u306b\u901a\u77e5\u3092\u53d7\u3051\u53d6\u308a\u307e\u3059\u3002",enableButton:"\u30d7\u30c3\u30b7\u30e5\u901a\u77e5\u3092\u30aa\u30f3\u306b\u3059\u308b",maybeLater:"\u5f8c\u3067"},backupOptions:{navTitle:"\u30d0\u30c3\u30af\u30a2\u30c3\u30d7",subtitle:"\u30a2\u30ab\u30a6\u30f3\u30c8\u4f5c\u6210\u3092\u5b8c\u4e86\u3059\u308b\u305f\u3081\u306b\u3001\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u65b9\u6cd5\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u308c\u306f\u5f8c\u3067\u8a2d\u5b9a\u3067\u5909\u66f4\u3067\u304d\u307e\u3059\u3002",deviceBackup:{title:"\u30c7\u30d0\u30a4\u30b9\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u4f5c\u6210",description:"\u30c7\u30d0\u30a4\u30b9\u3092\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30a6\u30a9\u30ec\u30c3\u30c8\u3068\u3057\u3066\u4f7f\u7528\u3057\u3001\u30c7\u30b8\u30bf\u30eb\u8cc7\u7523\u3092\u4fdd\u8b77\u3057\u307e\u3059"},cloudBackup:{title:"\u30af\u30e9\u30a6\u30c9\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u4f5c\u6210",description:"Google Drive\u3084iCloud\u306a\u3069\u306e\u4fe1\u983c\u3067\u304d\u308b\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3067\u30af\u30e9\u30a6\u30c9\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u4f5c\u6210\u3057\u307e\u3059"},recoveryPhrase:{title:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u4f5c\u6210",description:"12\u5358\u8a9e\u306e\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3092\u4f5c\u6210\u3057\u307e\u3059"},skipWarning:{title:"\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u306a\u3057\u3067\u7d9a\u884c\u3057\u307e\u3059\u304b\uff1f",message:"\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u304c\u306a\u3044\u3068\u3001\u30c7\u30d0\u30a4\u30b9\u3092\u7d1b\u5931\u3057\u305f\u5834\u5408\u306b\u30a6\u30a9\u30ec\u30c3\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u304f\u306a\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u8a2d\u5b9a\u305b\u305a\u306b\u7d9a\u884c\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b\uff1f",confirm:"\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u306a\u3057\u3067\u7d9a\u884c"}},recoveryPhrase:{navTitle:"\u30de\u30eb\u30c1\u30c1\u30a7\u30fc\u30f3\u30a2\u30ab\u30a6\u30f3\u30c8",title:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba",description:"\u3053\u308c\u3089\u306e\u5358\u8a9e\u3092\u6b63\u3057\u3044\u9806\u5e8f\u3067\u66f8\u304d\u7559\u3081\u3001\u5b89\u5168\u306a\u5834\u6240\u306b\u4fdd\u7ba1\u3057\u3066\u304f\u3060\u3055\u3044\u3002",clickToReveal:"\u30af\u30ea\u30c3\u30af\u3057\u3066\u30d5\u30ec\u30fc\u30ba\u3092\u8868\u793a",copy:"\u30b3\u30d4\u30fc",next:"\u6b21\u3078",warning:{title:"\u79d8\u5bc6\u306e\u30d5\u30ec\u30fc\u30ba\u3092\u5171\u6709\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044!",description:"\u8ab0\u304b\u304c\u3042\u306a\u305f\u306e\u79d8\u5bc6\u306e\u30d5\u30ec\u30fc\u30ba\u3092\u624b\u306b\u5165\u308c\u308b\u3068\u3001\n\u3042\u306a\u305f\u306e\u30a6\u30a9\u30ec\u30c3\u30c8\u3092\u5b8c\u5168\u306b\u5236\u5fa1\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002"},error:{title:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u306e\u751f\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f",unknown:"\u4e0d\u660e\u306a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f"}},confirmRecoveryPhrase:{navTitle:"\u30de\u30eb\u30c1\u30c1\u30a7\u30fc\u30f3\u30a2\u30ab\u30a6\u30f3\u30c8",title:"\u30d5\u30ec\u30fc\u30ba\u3092\u78ba\u8a8d",description:"\u9806\u5e8f\u3092\u53c2\u7167\u3057\u3066\u3001\u5358\u8a9e\u30921\u3064\u305a\u3064\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002",selectWord:"#{{position}} \u306e\u5358\u8a9e\u3092\u9078\u629e",finish:"\u5b8c\u4e86",creating:{title:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\n\u4f5c\u6210\u4e2d",configuring:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u8a2d\u5b9a\u4e2d"},error:{title:"\u30a2\u30ab\u30a6\u30f3\u30c8\u4f5c\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f",generic:"\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u4f5c\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002",server:"\u30b5\u30fc\u30d0\u30fc\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u5f8c\u3067\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002",validation:"\u7121\u52b9\u306a\u30a2\u30ab\u30a6\u30f3\u30c8\u30c7\u30fc\u30bf\u3067\u3059\u3002\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002"}}},backup:{tip:{writeDown:{title:"\u66f8\u304d\u7559\u3081\u308b",description:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3092\u7d19\u306b\u66f8\u304d\u7559\u3081\u3001\u5b89\u5168\u306a\u5834\u6240\u306b\u4fdd\u7ba1\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},keepSecret:{title:"\u79d8\u5bc6\u306b\u3059\u308b",description:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3092\u8ab0\u3068\u3082\u5171\u6709\u305b\u305a\u3001\u3069\u306e\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u306b\u3082\u5165\u529b\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002"},noScreenshot:{title:"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u3092\u64ae\u3089\u306a\u3044",description:"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u3092\u64ae\u3063\u305f\u308a\u3001\u30d5\u30ec\u30fc\u30ba\u3092\u30c7\u30b8\u30bf\u30eb\u5f62\u5f0f\u3067\u4fdd\u5b58\u3057\u305f\u308a\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002\u6f0f\u6d29\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002"},warning:{title:"\u91cd\u8981",description:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3092\u7d1b\u5931\u3059\u308b\u3068\u3001\u30a6\u30a9\u30ec\u30c3\u30c8\u3092\u5fa9\u5143\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3059\u3002Flow Wallet\u306f\u5fa9\u5143\u306e\u304a\u624b\u4f1d\u3044\u304c\u3067\u304d\u307e\u305b\u3093\u3002"},continue:"\u7d9a\u884c"},mnemonic:{navTitle:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210",done:"\u5b8c\u4e86",complete:"\u30d5\u30ec\u30fc\u30ba\u3092\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3057\u307e\u3057\u305f"}},keyrotation:{tip:{title:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\n\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9",description:"Flow Wallet\u306f\u3001\u4ee5\u524d\u306eBlocto\u30ad\u30fc\u3092\u524a\u9664\u3059\u308b\u305f\u3081\u306b\u3001\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3092\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059",sectionTitle:"\u3053\u308c\u306f\u3069\u3046\u3044\u3046\u610f\u5473\u3067\u3059\u304b\uff1f",fullControl:{title:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3068\u30ad\u30fc\u3092\u5b8c\u5168\u306b\u5236\u5fa1\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002"},newKey:{title:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4fdd\u8b77\u3059\u308b\u305f\u3081\u306b\u65b0\u3057\u3044\u30ad\u30fc\u3092\u4f5c\u6210\u3057\u3001Blocto\u306e\u30a2\u30af\u30bb\u30b9\u3092\u524a\u9664\u3057\u307e\u3059\u3002"},newPhrase:{title:"\u4eca\u5f8c\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4fdd\u8b77\u3059\u308b\u65b0\u3057\u3044\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002"},warning:{prefix:"\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044: ",bloctoDescription:"\u3053\u306e\u30d7\u30ed\u30bb\u30b9\u304c\u5b8c\u4e86\u3059\u308b\u3068\u3001Blocto\u306e\u30ea\u30ab\u30d0\u30ea\u30fc\u30ad\u30c3\u30c8\u306f\u30a2\u30ab\u30a6\u30f3\u30c8\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u4fdd\u8b77\u3057\u306a\u304f\u306a\u308a\u307e\u3059\u3002\u3053\u308c\u306f\u3001Blocto\u304c\u904b\u55b6\u3092\u505c\u6b62\u3057\u305f\u305f\u3081\u3001\u3042\u306a\u305f\u306e\u4fdd\u8b77\u306e\u305f\u3081\u3067\u3059\u3002"},start:"\u958b\u59cb",notNow:"\u5f8c\u3067"},mnemonic:{title:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba",description:"\u3053\u308c\u3089\u306e\u5358\u8a9e\u3092\u6b63\u3057\u3044\u9806\u5e8f\u3067\u66f8\u304d\u7559\u3081\u3001\u5b89\u5168\u306a\u5834\u6240\u306b\u4fdd\u7ba1\u3057\u3066\u304f\u3060\u3055\u3044\u3002",clickToReveal:"\u30af\u30ea\u30c3\u30af\u3057\u3066\u30d5\u30ec\u30fc\u30ba\u3092\u8868\u793a",copy:"\u30b3\u30d4\u30fc",upgrading:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u4e2d...",warning:{title:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3092\u5171\u6709\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044\uff01",description:"\u8ab0\u304b\u304c\u3042\u306a\u305f\u306e\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3092\u624b\u306b\u5165\u308c\u308b\u3068\u3001\u3042\u306a\u305f\u306e\u30a6\u30a9\u30ec\u30c3\u30c8\u3092\u5b8c\u5168\u306b\u5236\u5fa1\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002"},error:{title:"\u7121\u52b9\u306a\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba",description:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u304b\u7121\u52b9\u3067\u3059\u3002\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002"}},error:{seedGeneration:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u306e\u751f\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f",rotation:"\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u306b\u5931\u6557\u3057\u307e\u3057\u305f"},success:{rotation:"\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u306b\u6210\u529f\u3057\u307e\u3057\u305f\uff01"}}}}};y.default.use(t(a[12]).initReactI18next).init({resources:F,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});i.initializeI18n=function(e){var t=e&&Object.keys(F).includes(e)?e:"en";return y.default.changeLanguage(t)};var C=i.screensI18n=y.default;i.GenericErrorFallback=function(e){var n=e.error,r=e.resetError,o=e.onReportBug,i=(0,f.useColorScheme)();return(0,p.jsx)(t(a[17]).TamaguiProvider,{config:t(a[17]).tamaguiConfig,defaultTheme:"dark"===i?"dark":"light",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,backgroundColor:"$background",children:[(0,p.jsx)(t(a[17]).XStack,{justifyContent:"flex-end",alignItems:"flex-start",paddingTop:"$6",paddingRight:"$1",backgroundColor:"$background",children:(0,p.jsx)(t(a[17]).IconButton,{icon:(0,p.jsx)(t(a[22]).X,{color:"#FFFFFF",size:24}),variant:"ghost",size:"medium",onPress:function(){t(a[13]).bridge.closeRN()}})}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,justifyContent:"space-between",alignItems:"center",paddingHorizontal:"$4",paddingBottom:"$4",children:[(0,p.jsxs)(t(a[17]).YStack,{justifyContent:"center",alignItems:"center",width:"304",gap:"$3",marginTop:"$20",children:[(0,p.jsx)(t(a[17]).YStack,{width:"$16",height:"$16",borderRadius:"$16",backgroundColor:"$error",alignItems:"center",justifyContent:"center",marginBottom:"$2",children:(0,p.jsx)(t(a[22]).AlertTriangle,{size:32,color:"#FFFFFF"})}),(0,p.jsx)(t(a[17]).Text,{fontSize:16,fontWeight:"600",color:"$color",textAlign:"center",children:C.t("errors.generic.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:14,color:"$textSecondary",textAlign:"center",children:C.t("errors.generic.message")}),(0,p.jsx)(t(a[17]).YStack,{width:"100%",height:"$49",backgroundColor:"$bg2",borderRadius:"$4",overflow:"hidden",marginTop:"$4",children:(0,p.jsx)(t(a[17]).ScrollView,{children:(0,p.jsxs)(t(a[17]).YStack,{padding:"$4",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:12,fontFamily:"monospace",color:"$error",marginBottom:"$2",children:n.message}),n.stack&&(0,p.jsx)(t(a[17]).Text,{fontSize:12,fontFamily:"monospace",color:"$textSecondary",children:n.stack})]})})})]}),(0,p.jsxs)(t(a[17]).YStack,{width:"100%",gap:"$3",children:[(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",onPress:r,fullWidth:!0,children:C.t("errors.generic.button")}),o&&(0,p.jsx)(t(a[17]).Button,{variant:"secondary",size:"large",onPress:function(){return o(n)},fullWidth:!0,children:C.t("errors.generic.reportBug")})]})]})]})})},i.NetworkErrorFallback=function(e){var n=e.error,r=e.resetError,o=e.onReportBug,i=(0,f.useColorScheme)();return(0,p.jsx)(t(a[17]).TamaguiProvider,{config:t(a[17]).tamaguiConfig,defaultTheme:"dark"===i?"dark":"light",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,backgroundColor:"$background",children:[(0,p.jsx)(t(a[17]).XStack,{justifyContent:"flex-end",alignItems:"flex-start",paddingTop:"$6",paddingRight:"$1",backgroundColor:"$background",children:(0,p.jsx)(t(a[17]).IconButton,{icon:(0,p.jsx)(t(a[22]).X,{color:"#FFFFFF",size:24}),variant:"ghost",size:"medium",onPress:function(){t(a[13]).bridge.closeRN()}})}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,justifyContent:"space-between",alignItems:"center",paddingHorizontal:"$4",paddingBottom:"$4",children:[(0,p.jsxs)(t(a[17]).YStack,{justifyContent:"center",alignItems:"center",width:"304",gap:"$3",marginTop:"$20",children:[(0,p.jsx)(t(a[17]).YStack,{width:"$16",height:"$16",borderRadius:"$16",backgroundColor:"$error",alignItems:"center",justifyContent:"center",marginBottom:"$2",children:(0,p.jsx)(t(a[22]).WifiOff,{size:32,color:"#FFFFFF"})}),(0,p.jsx)(t(a[17]).Text,{fontSize:16,fontWeight:"600",color:"$color",textAlign:"center",children:C.t("errors.network.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:14,color:"$textSecondary",textAlign:"center",children:C.t("errors.network.message")}),(0,p.jsx)(t(a[17]).YStack,{width:"100%",height:"$49",backgroundColor:"$bg2",borderRadius:"$4",overflow:"hidden",marginTop:"$4",children:(0,p.jsx)(t(a[17]).ScrollView,{children:(0,p.jsx)(t(a[17]).YStack,{padding:"$4",children:(0,p.jsx)(t(a[17]).Text,{fontSize:12,fontFamily:"monospace",color:"$error",children:n.message})})})})]}),(0,p.jsxs)(t(a[17]).YStack,{width:"100%",gap:"$3",children:[(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",onPress:r,fullWidth:!0,children:C.t("errors.network.button")}),o&&(0,p.jsx)(t(a[17]).Button,{variant:"secondary",size:"large",onPress:function(){return o(n)},fullWidth:!0,children:C.t("errors.network.reportBug")})]})]})]})})},i.CriticalErrorFallback=function(e){var n=e.error,r=e.resetError,o=e.onReportBug,i=(0,f.useColorScheme)();return(0,p.jsx)(t(a[17]).TamaguiProvider,{config:t(a[17]).tamaguiConfig,defaultTheme:"dark"===i?"dark":"light",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,backgroundColor:"$background",children:[(0,p.jsx)(t(a[17]).XStack,{justifyContent:"flex-end",alignItems:"flex-start",paddingTop:"$6",paddingRight:"$1",backgroundColor:"$background",children:(0,p.jsx)(t(a[17]).IconButton,{icon:(0,p.jsx)(t(a[22]).X,{color:"#FFFFFF",size:24}),variant:"ghost",size:"medium",onPress:function(){t(a[13]).bridge.closeRN()}})}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,justifyContent:"space-between",alignItems:"center",paddingHorizontal:"$4",paddingBottom:"$4",children:[(0,p.jsxs)(t(a[17]).YStack,{justifyContent:"center",alignItems:"center",width:"304",gap:"$3",marginTop:"$20",children:[(0,p.jsx)(t(a[17]).YStack,{width:"$16",height:"$16",borderRadius:"$16",backgroundColor:"$error",alignItems:"center",justifyContent:"center",marginBottom:"$2",children:(0,p.jsx)(t(a[22]).WarningOctagonFill,{size:32,color:"#FFFFFF"})}),(0,p.jsx)(t(a[17]).Text,{fontSize:16,fontWeight:"600",color:"$color",textAlign:"center",children:C.t("errors.critical.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:14,color:"$textSecondary",textAlign:"center",children:C.t("errors.critical.message")}),(0,p.jsx)(t(a[17]).YStack,{width:"100%",height:"$49",backgroundColor:"$bg2",borderRadius:"$4",overflow:"hidden",marginTop:"$4",children:(0,p.jsx)(t(a[17]).ScrollView,{children:(0,p.jsxs)(t(a[17]).YStack,{padding:"$4",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:12,fontFamily:"monospace",color:"$error",marginBottom:"$2",children:n.message}),n.stack&&(0,p.jsx)(t(a[17]).Text,{fontSize:12,fontFamily:"monospace",color:"$textSecondary",children:n.stack})]})})})]}),(0,p.jsxs)(t(a[17]).YStack,{width:"100%",gap:"$3",children:[(0,p.jsx)(t(a[17]).Button,{variant:"destructive",size:"large",onPress:r,fullWidth:!0,children:C.t("errors.critical.button")}),o&&(0,p.jsx)(t(a[17]).Button,{variant:"secondary",size:"large",onPress:function(){return o(n)},fullWidth:!0,children:C.t("errors.critical.reportBug")})]})]})]})})};function j(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.resetDelay,r=void 0===n?2e3:n,o=e.successMessageKey,i=void 0===o?"messages.copied":o,s=e.errorMessageKey,c=void 0===s?"messages.failedToCopy":s,l=(0,t(a[12]).useTranslation)().t,f=(0,g.useState)(!1),p=(0,u.default)(f,2),m=p[0],h=p[1],v=(0,g.useCallback)((function(){var e=(0,d.default)(function*(e){try{var n=t(a[13]).bridge.getPlatform(),o=globalThis.clipboard;if("extension"!==n&&null!=o&&o.setString)o.setString(e),t(a[13]).logger.debug("Text copied using RN Clipboard");else{if(!navigator.clipboard)throw new Error("No clipboard API available");yield navigator.clipboard.writeText(e),t(a[13]).logger.debug("Text copied using Web Clipboard API")}return h(!0),setTimeout(function(){return h(!1)},r),t(a[13]).toast.show({title:l(i),type:"success"}),!0}catch(e){return t(a[13]).logger.error("Failed to copy to clipboard:",e),t(a[13]).toast.show({title:l(c),type:"error"}),!1}});return function(t){return e.apply(this,arguments)}})(),[r,i,c,l]);return{copied:m,copy:v}}var N=128;function $(){var e=(0,t(a[12]).useTranslation)().t,n=(0,g.useState)({step:"idle",isLoading:!1,error:null,newKeyInfo:null,rotationResult:null}),r=(0,u.default)(n,2),o=r[0],i=r[1],s=(0,g.useRef)(null),c=(0,g.useCallback)(function(){return s.current||(s.current=t(a[19]).KeyRotationService.getInstance(t(a[13]).bridge)),s.current},[]),l=(0,g.useCallback)((0,d.default)(function*(){i(function(e){return Object.assign({},e,{step:"generating",isLoading:!0,error:null})});try{t(a[13]).logger.info("[useKeyRotation] Generating new seed key");var n=yield t(a[13]).bridge.createSeedKey(N);if(!n||!n.seedphrase)throw new Error("Failed to generate seed key: No key info returned");return t(a[13]).logger.info("[useKeyRotation] Seed key generated successfully"),i(function(e){return Object.assign({},e,{step:"idle",isLoading:!1,newKeyInfo:n})}),n}catch(n){var r=n instanceof Error?n.message:"Unknown error generating seed key";return t(a[13]).logger.error("[useKeyRotation] Failed to generate seed key",{error:r}),i(function(e){return Object.assign({},e,{step:"error",isLoading:!1,error:r})}),t(a[13]).toast.show({title:e("keyrotation.error.seedGeneration",{defaultValue:"Failed to generate recovery phrase"}),type:"error"}),null}}),[e]),f=(0,g.useCallback)((function(){var n=(0,d.default)(function*(n,r){i(function(e){return Object.assign({},e,{step:"rotating",isLoading:!0,error:null})});try{t(a[13]).logger.info("[useKeyRotation] Starting key rotation",{address:n});var o=c(),s=yield o.rotateKey(n,r);return t(a[13]).logger.info("[useKeyRotation] Key rotation successful",{txId:s.txId}),i(function(e){return Object.assign({},e,{step:"success",isLoading:!1,rotationResult:s})}),t(a[13]).toast.show({title:e("keyrotation.success.rotation",{defaultValue:"Account upgraded successfully!"}),type:"success"}),s}catch(n){var l=n instanceof Error?n.message:"Unknown error during key rotation";return t(a[13]).logger.error("[useKeyRotation] Key rotation failed",{error:l}),i(function(e){return Object.assign({},e,{step:"error",isLoading:!1,error:l})}),t(a[13]).toast.show({title:e("keyrotation.error.rotation",{defaultValue:"Failed to upgrade account"}),message:l,type:"error"}),null}});return function(e,t){return n.apply(this,arguments)}})(),[c,e]),p=(0,g.useCallback)(function(){i({step:"idle",isLoading:!1,error:null,newKeyInfo:null,rotationResult:null})},[]),m=(0,g.useCallback)(function(){var e;return null!=(e=o.newKeyInfo)&&e.seedphrase?o.newKeyInfo.seedphrase.split(" ").filter(function(e){return e.length>0}):[]},[o.newKeyInfo]);return Object.assign({},o,{generateSeedKey:l,executeRotation:f,reset:p,getSeedPhraseWords:m})}function A(e){return e?e.split(" ").filter(function(e){return e.length>0}):[]}},2062,[1,9,32,367,10,128,28,258,1377,2063,2105,2116,777,1393,2117,1389,2,794,8,1913,1394,2140,1140,null]); +__d(function(e,t,n,r,o,i,a){var s=t(a[0]);Object.defineProperty(i,"__esModule",{value:!0}),i.ActivityScreen=function(){var e=(0,t(a[12]).useTranslation)().t,n="extension"===t(a[13]).bridge.getPlatform(),r=t(a[13]).bridge.getSelectedAddress()||"",o=t(a[13]).bridge.getNetwork()||"mainnet",i=(0,t(a[14]).useQuery)(Object.assign({queryKey:t(a[15]).activityQueryKeys.list(r,o,0,50),queryFn:function(){return t(a[15]).activityQueries.fetchActivity(r,o,0,50)},enabled:!!r,staleTime:0,refetchOnWindowFocus:!0,refetchOnReconnect:!0},t(a[16]).retryConfigs.critical)),s=i.data,c=i.isLoading,l=i.error,d=i.refetch,u=i.isRefetching,m=(0,g.useMemo)(function(){var e,n=null!=(e=null==s?void 0:s.items)?e:[];return(0,t(a[15]).groupActivityByDate)(n)},[s]),h=(0,g.useCallback)(function(){t(a[16]).logger.debug("[ActivityScreen] Refreshing activity data"),d()},[d]),v=(0,g.useCallback)(function(e){t(a[16]).logger.debug("[ActivityScreen] Activity item pressed:",e.id)},[]);if(c&&!s)return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bg",children:[n&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:e("activity.title","Activity"),help:!1,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsx)(t(a[17]).ActivitySkeleton,{count:5})]});if(l&&!s)return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bg",children:[n&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:e("activity.title","Activity"),help:!1,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsx)(t(a[17]).RefreshView,{type:"error",title:e("activity.error","Failed to load activity"),message:e("activity.errorMessage","Please try again"),onRefresh:h,refreshText:e("common.retry","Retry")})]});if(0===m.length)return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bg",children:[n&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:e("activity.title","Activity"),help:!1,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsx)(t(a[17]).RefreshView,{type:"empty",title:e("activity.empty","No activity yet"),message:e("activity.emptyMessage","Your transaction history will appear here"),onRefresh:h,refreshText:e("common.refresh","Refresh")})]});return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bg",children:[n&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:e("activity.title","Activity"),help:!1,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsx)(t(a[17]).ScrollView,{flex:1,refreshControl:(0,p.jsx)(f.RefreshControl,{refreshing:u,onRefresh:h}),children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,pb:"$4",children:[!n&&(0,p.jsx)(t(a[17]).XStack,{px:"$4",pt:"$4",pb:"$2",justify:"center",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"700",color:"$text1",children:e("activity.title","Activity")})}),m.map(function(e){return(0,p.jsxs)(t(a[17]).YStack,{children:[(0,p.jsx)(t(a[17]).ActivityGroupHeader,{title:e.date}),(0,p.jsx)(t(a[17]).YStack,{mx:"$4",bg:"$bg1",rounded:"$4",px:"$3",children:e.items.map(function(n,r){return(0,p.jsxs)(t(a[17]).YStack,{children:[(0,p.jsx)(t(a[17]).ActivityCard,{item:n,onPress:function(){return v(n)}}),r0&&T(r[0].uid),t(a[13]).logger.debug("[ConfirmImportProfileScreen] Fetched recoverable profiles:",r.length)}catch(e){t(a[13]).logger.error("[ConfirmImportProfileScreen] Failed to fetch profiles:",e),i([])}finally{f(!1)}});return function(){return e.apply(this,arguments)}})();e()},[]);var k=(function(){var e=(0,d.default)(function*(){if(x){var e=o.find(function(e){return e.uid===x});if(e){t(a[13]).logger.info("[ConfirmImportProfileScreen] Importing profile:",e.name);try{y(!0),yield null==t(a[13]).bridge.switchToProfile?void 0:t(a[13]).bridge.switchToProfile(x),t(a[13]).logger.info("[ConfirmImportProfileScreen] Profile switch successful")}catch(e){t(a[13]).logger.error("[ConfirmImportProfileScreen] Error switching profile:",e)}finally{y(!1)}}else t(a[13]).logger.error("[ConfirmImportProfileScreen] Selected profile not found")}});return function(){return e.apply(this,arguments)}})();return(0,p.jsxs)(t(a[17]).YStack,{flex:1,bg:"$background",children:[(0,p.jsx)(t(a[17]).YStack,{mt:"$8",mb:"$6",px:"$4",items:"center",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$8",fontWeight:"700",color:"$text",text:"center",lineHeight:38,children:e("onboarding.confirmImportProfile.title",{defaultValue:"Confirm which profile to import"})})}),(0,p.jsx)(t(a[17]).YStack,{flex:1,children:(0,p.jsx)(t(a[17]).ProfileImportList,{profiles:o,onAccountPress:function(){},onProfilePress:function(e){t(a[13]).logger.info("[ConfirmImportProfileScreen] Profile selected:",e.name),T(e.uid)},selectedProfileUid:x,isLoading:l,emptyTitle:e("onboarding.confirmImportProfile.emptyTitle",{defaultValue:"No profiles found"}),emptyMessage:e("onboarding.confirmImportProfile.emptyMessage",{defaultValue:"No previous profiles were found on this device"}),isMobile:!0,contentPaddingHorizontal:16})}),(0,p.jsx)(t(a[17]).YStack,{px:"$4",pb:"$6",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,disabled:!x||v,loading:v,onPress:k,children:e("onboarding.confirmImportProfile.importButton",{defaultValue:"Import profile"})})})]})},i.ConfirmRecoveryPhraseScreen=function(){var e,n,r,o,i,s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},l=s.route,f=s.navigation,m=(0,t(a[12]).useTranslation)().t,h=(0,g.useState)({}),v=(0,u.default)(h,2),y=v[0],S=v[1],b=(0,g.useState)(!1),x=(0,u.default)(b,2),T=x[0],k=x[1],F=(0,g.useState)(0),C=(0,u.default)(F,2),j=C[0],N=C[1],$=(null==l||null==(e=l.params)?void 0:e.recoveryPhrase)||[],A=(null==l||null==(n=l.params)?void 0:n.mnemonic)||"",E=null==l||null==(r=l.params)?void 0:r.accountKey;null==l||null==(o=l.params)||o.drivepath;var P=null==l||null==(i=l.params)?void 0:i.evmAddress;(0,g.useEffect)(function(){return t(a[13]).logger.info("[ConfirmRecoveryPhraseScreen] Enabling screenshot protection"),t(a[13]).bridge.setScreenSecurityLevel&&t(a[13]).bridge.setScreenSecurityLevel("secure"),function(){t(a[13]).logger.info("[ConfirmRecoveryPhraseScreen] Disabling screenshot protection"),t(a[13]).bridge.setScreenSecurityLevel&&t(a[13]).bridge.setScreenSecurityLevel("normal")}},[]),(0,g.useLayoutEffect)(function(){f&&"object"==typeof f&&"setOptions"in f&&(T&&f.setOptions({headerLeft:function(){return null},gestureEnabled:!1}))},[T,f]),(0,g.useEffect)(function(){if(f&&"object"==typeof f&&"addListener"in f&&T)return f.addListener("beforeRemove",function(e){e.preventDefault(),t(a[13]).logger.info("[ConfirmRecoveryPhraseScreen] Blocked back navigation during account creation")})},[T,f]);var R=(0,g.useMemo)(function(){if(!$||12!==$.length)return t(a[13]).logger.warn("[ConfirmRecoveryPhraseScreen] Invalid recovery phrase:",{length:(null==$?void 0:$.length)||0}),[];t(a[13]).logger.info("[ConfirmRecoveryPhraseScreen] Generating verification questions from recovery phrase");var e=w(),n=function(e,t){for(var n=new Set([e]),r=t.filter(function(t){return t!==e});n.size<4&&r.length>0;){var o=Math.floor(Math.random()*r.length);n.add(r[o]),r.splice(o,1)}return Array.from(n).sort(function(){return Math.random()-.5})},r=e.map(function(e){return{position:e,options:n($[e-1],$),correctAnswer:$[e-1]}});return t(a[13]).logger.info("[ConfirmRecoveryPhraseScreen] Generated questions:",{count:r.length,positions:r.map(function(e){return e.position})}),r},[$]),B=(function(){var e=(0,d.default)(function*(){var e,n;if(R.every(function(e,t){return y[t]===e.correctAnswer}))try{if(N(0),k(!0),!E||!A)throw new(t(a[18]).FRWError)(t(a[18]).ErrorCode.ACCOUNT_CREATION_MISSING_DATA,"Missing required data. Please regenerate the recovery phrase.",{hasAccountKey:!!E,hasMnemonic:!!A});var r,o,i,s,c,l,d=(0,t(a[16]).generateRandomUsername)();try{if(!t(a[13]).bridge.getV4RegistrationSignatures)throw new Error("getV4RegistrationSignatures not available on bridge");var u=yield t(a[13]).bridge.getV4RegistrationSignatures(A);r=u.flowSignature,o=u.evmSignature,i=u.eoaAddress,t(a[13]).logger.info("[ConfirmRecoveryPhraseScreen] Got v4 registration signatures")}catch(e){throw new(t(a[18]).FRWError)(t(a[18]).ErrorCode.ACCOUNT_REGISTRATION_FAILED,(null==e?void 0:e.message)||"Failed to get registration signatures",{originalError:e})}try{s=yield(0,t(a[19]).profileService)().registerV4({username:d,accountKey:{public_key:E.publicKey,sign_algo:E.signAlgo,hash_algo:E.hashAlgo,weight:E.weight},flowSignature:r,evmSignature:o,eoaAddress:i})}catch(e){throw new(t(a[18]).FRWError)(t(a[18]).ErrorCode.ACCOUNT_REGISTRATION_FAILED,(null==e?void 0:e.message)||"Failed to register account with server",{status:null==e?void 0:e.status,originalError:e})}if(!s.custom_token||!s.id)throw new(t(a[18]).FRWError)(t(a[18]).ErrorCode.ACCOUNT_REGISTRATION_FAILED,"Registration response missing required fields",{hasCustomToken:!!s.custom_token,hasId:!!s.id});try{t(a[13]).bridge.signInWithCustomToken&&(yield t(a[13]).bridge.signInWithCustomToken(s.custom_token))}catch(e){throw new(t(a[18]).FRWError)(t(a[18]).ErrorCode.ACCOUNT_FIREBASE_AUTH_FAILED,"Failed to authenticate with Firebase",{originalError:e})}try{var g=yield(0,t(a[19]).profileService)().createFlowAddressAndWait(function(e){N(e)});l=g.address,c=g.txId,t(a[13]).logger.info("[ConfirmRecoveryPhraseScreen] Flow address created:",{flowAddress:l,txId:c})}catch(e){var p=e;throw new(t(a[18]).FRWError)(t(a[18]).ErrorCode.ACCOUNT_FLOW_ADDRESS_CREATION_FAILED,"Failed to create Flow address on blockchain",{originalError:e,message:null==p?void 0:p.message})}try{t(a[13]).bridge.saveMnemonic&&(yield t(a[13]).bridge.saveMnemonic(A,s.custom_token,c,d,P))}catch(e){throw new(t(a[18]).FRWError)(t(a[18]).ErrorCode.ACCOUNT_MNEMONIC_SAVE_FAILED,"Failed to save recovery phrase securely",{originalError:e})}f.navigate(t(a[18]).ScreenName.NOTIFICATION_PREFERENCES,{accountType:"recovery"})}catch(r){var h=r instanceof t(a[18]).FRWError?r.code:"UNKNOWN";t(a[13]).logger.error("[ConfirmRecoveryPhraseScreen] Account creation failed:",{code:h,message:null==r?void 0:r.message,details:r instanceof t(a[18]).FRWError?r.details:void 0});var v=m("onboarding.confirmRecoveryPhrase.error.generic",{defaultValue:"Failed to create account. Please try again."});if(r instanceof t(a[18]).FRWError)switch(r.code){case t(a[18]).ErrorCode.ACCOUNT_REGISTRATION_FAILED:v=500===(null==(e=r.details)?void 0:e.status)?m("onboarding.confirmRecoveryPhrase.error.server",{defaultValue:"Server error occurred. Please try again later."}):400===(null==(n=r.details)?void 0:n.status)?m("onboarding.confirmRecoveryPhrase.error.validation",{defaultValue:"Invalid account data. Please try again."}):m("onboarding.confirmRecoveryPhrase.error.registration",{defaultValue:"Failed to register account. Please try again."});break;case t(a[18]).ErrorCode.ACCOUNT_FIREBASE_AUTH_FAILED:v=m("onboarding.confirmRecoveryPhrase.error.auth",{defaultValue:"Authentication failed. Please try again."});break;case t(a[18]).ErrorCode.ACCOUNT_MNEMONIC_SAVE_FAILED:v=m("onboarding.confirmRecoveryPhrase.error.save",{defaultValue:"Failed to save recovery phrase. Please try again."});break;case t(a[18]).ErrorCode.ACCOUNT_CREATION_MISSING_DATA:v=r.message;break;case t(a[18]).ErrorCode.ACCOUNT_FLOW_ADDRESS_CREATION_FAILED:v=m("onboarding.confirmRecoveryPhrase.error.flowAddress",{defaultValue:"Failed to create Flow address. Please try again."});break;default:v=r.message||v}else null!=r&&r.message&&(v=r.message);t(a[13]).bridge.showToast&&t(a[13]).bridge.showToast(m("onboarding.confirmRecoveryPhrase.error.title",{defaultValue:"Account Creation Failed"}),v,"error",6e3)}finally{k(!1)}});return function(){return e.apply(this,arguments)}})(),I=R.every(function(e,t){return y[t]===e.correctAnswer});return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[(0,p.jsx)(t(a[17]).ScrollView,{flex:1,showsVerticalScrollIndicator:!1,children:(0,p.jsxs)(t(a[17]).YStack,{px:"$4",pt:"$4",children:[(0,p.jsxs)(t(a[17]).YStack,{items:"center",mb:"$8",gap:"$2",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$8",fontWeight:"700",color:"$text",text:"center",lineHeight:"$8",children:m("onboarding.confirmRecoveryPhrase.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",text:"center",lineHeight:16,maxW:280,children:m("onboarding.confirmRecoveryPhrase.description")})]}),(0,p.jsx)(t(a[17]).YStack,{gap:"$8",children:R.map(function(e,n){return(0,p.jsx)(t(a[17]).RecoveryPhraseQuestion,{position:e.position,options:e.options,selectedAnswer:y[n],correctAnswer:e.correctAnswer,onSelectWord:(r=n,function(e){S(Object.assign({},y,(0,c.default)({},r,e)))}),questionLabel:m("onboarding.confirmRecoveryPhrase.selectWord",{position:e.position})},n);var r})})]})}),(0,p.jsx)(t(a[17]).YStack,{px:"$4",pb:"$6",children:(0,p.jsx)(t(a[17]).YStack,{width:"100%",height:52,bg:I?"$text":"$bg3",rounded:16,items:"center",justify:"center",borderWidth:1,borderColor:I?"$text":"$bg3",opacity:I?1:.7,pressStyle:{opacity:.9},onPress:I?B:void 0,cursor:I?"pointer":"not-allowed",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"700",color:I?"$bg":"$textSecondary",children:m("onboarding.confirmRecoveryPhrase.finish")})})})]})}),(0,p.jsx)(t(a[17]).AccountCreationLoadingState,{visible:T,title:m("onboarding.confirmRecoveryPhrase.creating.title"),statusText:m("onboarding.confirmRecoveryPhrase.creating.configuring"),progress:j})]})},i.GenericErrorFallback=i.CriticalErrorFallback=void 0,i.GetStartedScreen=function(){var e=(0,t(a[12]).useTranslation)().t,n=(function(){var e=(0,d.default)(function*(){try{(yield f.Linking.canOpenURL(x))?yield f.Linking.openURL(x):t(a[13]).logger.warn("Cannot open terms of service URL")}catch(e){t(a[13]).logger.error("Failed to open terms of service:",e)}});return function(){return e.apply(this,arguments)}})(),r=(function(){var e=(0,d.default)(function*(){try{(yield f.Linking.canOpenURL(T))?yield f.Linking.openURL(T):t(a[13]).logger.warn("Cannot open privacy policy URL")}catch(e){t(a[13]).logger.error("Failed to open privacy policy:",e)}});return function(){return e.apply(this,arguments)}})();return(0,p.jsx)(t(a[17]).OnboardingBackground,{variant:"getStarted",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[(0,p.jsx)(t(a[17]).ScrollView,{flex:1,showsVerticalScrollIndicator:!1,contentContainerStyle:{flexGrow:1},children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,paddingHorizontal:"$4",children:[(0,p.jsx)(t(a[17]).YStack,{flex:1}),(0,p.jsx)(t(a[17]).YStack,{alignItems:"center",gap:"$4",children:(0,p.jsx)(t(a[17]).OnboardingHeader,{title:e("onboarding.getStarted.title"),subtitle:e("onboarding.getStarted.subtitle"),logoText:e("onboarding.flowWallet")})}),(0,p.jsx)(t(a[17]).YStack,{flex:2})]})}),(0,p.jsxs)(t(a[17]).YStack,{paddingHorizontal:"$4",paddingBottom:"$6",gap:"$3",children:[(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,onPress:function(){t(a[13]).navigation.navigate(t(a[18]).ScreenName.PROFILE_TYPE_SELECTION)},children:e("onboarding.getStarted.createAccount")}),(0,p.jsx)(t(a[17]).Button,{variant:"outline",size:"large",fullWidth:!0,onPress:function(){t(a[13]).navigation.navigate(t(a[18]).ScreenName.IMPORT_PROFILE)},children:e("onboarding.getStarted.signIn")}),(0,p.jsx)(t(a[17]).YStack,{marginTop:"$2",alignItems:"center",paddingHorizontal:"$4",children:(0,p.jsxs)(t(a[17]).Text,{fontSize:"$3",color:"$textSecondary",lineHeight:17,textAlign:"center",children:[e("onboarding.getStarted.agreementText")," ",(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",color:"$textSecondary",lineHeight:17,textDecorationLine:"underline",onPress:n,cursor:"pointer",pressStyle:{opacity:.7},children:e("onboarding.getStarted.termsOfService")})," ",e("onboarding.getStarted.and")," ",(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",color:"$textSecondary",lineHeight:17,textDecorationLine:"underline",onPress:r,cursor:"pointer",pressStyle:{opacity:.7},children:e("onboarding.getStarted.privacyPolicy")})]})})]})]})})},i.ImportOtherMethodsScreen=function(){var e=(0,t(a[12]).useTranslation)().t,n=(0,t(a[17]).useTheme)();return(0,p.jsx)(t(a[17]).YStack,{flex:1,bg:"$background",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,px:"$4",pt:"$4",children:[(0,p.jsx)(t(a[17]).YStack,{mt:"$8",mb:"$6",items:"center",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$8",fontWeight:"700",color:"$text",text:"center",lineHeight:38,children:e("onboarding.importOtherMethods.title")})}),(0,p.jsxs)(t(a[17]).YStack,{gap:"$3",pt:"$4",children:[(0,p.jsx)(t(a[17]).ImportOptionCard,{icon:(0,p.jsx)(t(a[22]).Pocket,{size:28,color:n.primary.val}),title:e("onboarding.importOtherMethods.keyStore.title"),subtitle:e("onboarding.importOtherMethods.keyStore.subtitle"),onPress:function(){t(a[13]).logger.info("[ImportOtherMethodsScreen] Key store selected"),null==t(a[13]).bridge.launchNativeScreen||t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.KEY_STORE_RESTORE)}}),(0,p.jsx)(t(a[17]).ImportOptionCard,{icon:(0,p.jsx)(t(a[22]).Key,{size:28,color:n.primary.val}),title:e("onboarding.importOtherMethods.privateKey.title"),subtitle:e("onboarding.importOtherMethods.privateKey.subtitle"),onPress:function(){t(a[13]).logger.info("[ImportOtherMethodsScreen] Private key selected"),null==t(a[13]).bridge.launchNativeScreen||t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.PRIVATE_KEY_RESTORE)}}),(0,p.jsx)(t(a[17]).ImportOptionCard,{icon:(0,p.jsx)(t(a[22]).GoogleDrive,{size:28,color:n.primary.val}),title:e("onboarding.importOtherMethods.googleDrive.title"),subtitle:e("onboarding.importOtherMethods.googleDrive.subtitle"),onPress:function(){t(a[13]).logger.info("[ImportOtherMethodsScreen] Google Drive selected"),null==t(a[13]).bridge.launchNativeScreen||t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.GOOGLE_DRIVE_RESTORE)}}),"ios"===f.Platform.OS&&(0,p.jsx)(t(a[17]).ImportOptionCard,{icon:(0,p.jsx)(t(a[22]).Icloud,{size:28,color:n.primary.val}),title:e("onboarding.importOtherMethods.iCloud.title"),subtitle:e("onboarding.importOtherMethods.iCloud.subtitle"),onPress:function(){t(a[13]).logger.info("[ImportOtherMethodsScreen] iCloud selected"),null==t(a[13]).bridge.launchNativeScreen||t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.ICLOUD_RESTORE)}})]}),(0,p.jsx)(t(a[17]).YStack,{flex:1})]})})},i.ImportProfileScreen=function(){var e=(0,t(a[12]).useTranslation)().t,n=(0,t(a[17]).useTheme)(),r=(0,g.useState)([]),o=(0,u.default)(r,2),i=o[0],s=o[1],c=(0,g.useState)(!0),l=(0,u.default)(c,2),f=l[0],m=l[1];(0,g.useEffect)(function(){var e=(function(){var e=(0,d.default)(function*(){try{var e,n,r;m(!0);var o=yield null==t(a[13]).bridge.getRecoverableProfiles?void 0:t(a[13]).bridge.getRecoverableProfiles();s(null!=(e=null==o?void 0:o.profiles)?e:[]),t(a[13]).logger.debug("[ImportProfileScreen] Fetched recoverable profiles:",null!=(n=null==o||null==(r=o.profiles)?void 0:r.length)?n:0)}catch(e){t(a[13]).logger.error("[ImportProfileScreen] Failed to fetch recoverable profiles:",e),s([])}finally{m(!1)}});return function(){return e.apply(this,arguments)}})();e()},[]);return(0,p.jsx)(t(a[17]).YStack,{flex:1,bg:"$background",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,px:"$4",pt:"$4",children:[(0,p.jsxs)(t(a[17]).YStack,{mt:"$8",mb:"$6",gap:"$3",items:"center",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$8",fontWeight:"700",color:"$text",text:"center",lineHeight:29,children:e("onboarding.importProfile.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:14,color:"$textSecondary",text:"center",lineHeight:17,children:e("onboarding.importProfile.subtitle")})]}),(0,p.jsxs)(t(a[17]).YStack,{gap:"$3",pt:"$4",children:[f&&(0,p.jsx)(t(a[17]).YStack,{bg:"$bg2",rounded:"$4",p:"$4",gap:"$2",children:(0,p.jsxs)(t(a[17]).XStack,{items:"center",gap:"$3",children:[(0,p.jsx)(t(a[17]).Skeleton,{width:"$7",height:"$7",borderRadius:"$2",animationType:"pulse"}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,gap:"$2",children:[(0,p.jsx)(t(a[17]).Skeleton,{height:"$3",width:"50%",borderRadius:"$1",animationType:"pulse"}),(0,p.jsx)(t(a[17]).Skeleton,{height:"$2.5",width:"70%",borderRadius:"$1",animationType:"pulse"})]}),(0,p.jsx)(t(a[17]).Skeleton,{width:"$6",height:"$6",borderRadius:"$10",animationType:"pulse"})]})}),!f&&i.length>0&&(0,p.jsx)(t(a[17]).ImportOptionCard,{layout:"vertical",icon:(0,p.jsx)(t(a[22]).UserRoundPlus,{size:28,color:n.primary.val}),title:e("onboarding.importProfile.previousProfiles.title"),subtitle:e("onboarding.importProfile.previousProfiles.subtitle",{count:i.length}),badge:String(i.length),onPress:function(){t(a[13]).logger.info("[ImportProfileScreen] Previous profiles selected"),t(a[13]).navigation.navigate(t(a[18]).ScreenName.CONFIRM_IMPORT_PROFILE)}}),(0,p.jsx)(t(a[17]).ImportOptionCard,{layout:"vertical",icon:(0,p.jsx)(t(a[22]).Smartphone,{size:28,color:n.primary.val}),title:e("onboarding.importProfile.deviceBackup.title"),subtitle:e("onboarding.importProfile.deviceBackup.subtitle"),onPress:function(){t(a[13]).logger.info("[ImportProfileScreen] Device backup selected"),null==t(a[13]).bridge.launchNativeScreen||t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.DEVICE_BACKUP)}}),(0,p.jsx)(t(a[17]).ImportOptionCard,{layout:"vertical",icon:(0,p.jsx)(t(a[22]).UploadCloud,{size:28,color:n.primary.val}),title:e("onboarding.importProfile.cloudBackup.title"),subtitle:e("onboarding.importProfile.cloudBackup.subtitle"),onPress:function(){t(a[13]).logger.info("[ImportProfileScreen] Cloud backup selected"),null==t(a[13]).bridge.launchNativeScreen||t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.MULTI_RESTORE)}}),(0,p.jsx)(t(a[17]).ImportOptionCard,{layout:"vertical",icon:(0,p.jsx)(t(a[22]).FileText,{size:28,color:n.primary.val}),title:e("onboarding.importProfile.recoveryPhrase.title"),subtitle:e("onboarding.importProfile.recoveryPhrase.subtitle"),onPress:function(){t(a[13]).logger.info("[ImportProfileScreen] Recovery phrase selected"),null==t(a[13]).bridge.launchNativeScreen||t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.RECOVERY_PHRASE_RESTORE)}}),(0,p.jsx)(t(a[17]).ImportOptionCard,{title:e("onboarding.importProfile.anotherMethod.title"),subtitle:e("onboarding.importProfile.anotherMethod.subtitle"),onPress:function(){t(a[13]).logger.info("[ImportProfileScreen] Another method selected"),t(a[13]).navigation.navigate(t(a[18]).ScreenName.IMPORT_OTHER_METHODS)}})]}),(0,p.jsx)(t(a[17]).YStack,{flex:1})]})})},i.InfoScreen=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.onStartMigration,r=(0,t(a[12]).useTranslation)().t,o=(0,g.useState)(!1),i=(0,u.default)(o,2),s=i[0],c=i[1],l=function(e){var n=e.label,r=e.bg,o=e.color,i=e.width,s=e.mr;return(0,p.jsx)(t(a[17]).XStack,{bg:r,rounded:16,px:4,height:16,items:"center",justify:"center",style:{width:i,marginRight:s},children:(0,p.jsx)(t(a[17]).Text,{fontSize:8,fontWeight:"500",color:o,style:{lineHeight:"normal",whiteSpace:"nowrap"},children:n})})},f=function(){return(0,p.jsxs)(t(a[17]).XStack,{items:"center",style:{paddingRight:10},children:[(0,p.jsx)(l,{label:"EVM",bg:"#627EEA",color:"#FFFFFF",width:34,mr:-8}),(0,p.jsx)(l,{label:"FLOW",bg:"#00EF8B",color:"#000000",width:31,mr:-8})]})},m=(function(){var e=(0,d.default)(function*(){t(a[13]).logger.info("[InfoScreen] Start migration pressed"),c(!0);try{n&&(yield n())}finally{c(!1)}});return function(){return e.apply(this,arguments)}})(),h=(0,p.jsx)(t(a[22]).LockMigrate,{size:20,color:"#00EF8B"}),v=(0,p.jsx)(t(a[22]).Link,{size:20,color:"#00EF8B"}),y=(0,p.jsx)(t(a[22]).Settings,{size:20,color:"#00EF8B"}),S=(0,p.jsx)(t(a[22]).Zap,{size:20,color:"#00EF8B"}),b=g.default.createElement(t(a[22]).MigrateIllustrate,{width:132.3,height:169.233,theme:"multicolor"}),x=g.default.createElement(t(a[22]).GreenCircleBlur,{width:340,height:340,theme:"multicolor"}),T=g.default.createElement(t(a[22]).TealCircleBlur,{width:300,height:300,theme:"multicolor"});return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,gap:"$8",items:"center",pt:"$6",children:[(0,p.jsxs)(t(a[17]).YStack,{gap:"$10",items:"center",width:"100%",children:[(0,p.jsx)(t(a[17]).YStack,{items:"center",width:315,children:(0,p.jsx)(t(a[17]).Text,{fontSize:30,fontWeight:"700",lineHeight:36,color:"$text",style:{textAlign:"center"},children:r("migration.info.title")})}),(0,p.jsxs)(t(a[17]).YStack,{width:132.3,height:169.233,items:"center",justify:"center",position:"relative",children:[(0,p.jsx)(t(a[17]).YStack,{position:"absolute",t:-150,l:-210,opacity:.9,pointerEvents:"none",z:0,children:x}),(0,p.jsx)(t(a[17]).YStack,{position:"absolute",t:-110,r:-190,opacity:.7,pointerEvents:"none",z:0,children:T}),(0,p.jsx)(t(a[17]).YStack,{z:1,children:b})]}),(0,p.jsxs)(t(a[17]).YStack,{items:"center",width:"100%",gap:"$1",children:[(0,p.jsxs)(t(a[17]).XStack,{items:"center",justify:"center",gap:"$2",width:"100%",style:{flexWrap:"wrap",maxWidth:315},children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"400",lineHeight:16.8,color:"$text",style:{textAlign:"center"},children:r("migration.info.descriptionLine1Prefix")}),(0,p.jsx)(f,{}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"400",lineHeight:16.8,color:"$text",style:{textAlign:"center"},children:r("migration.info.descriptionLine1To")}),(0,p.jsx)(l,{label:"EVM",bg:"#627EEA",color:"#FFFFFF",width:34})]}),(0,p.jsx)(t(a[17]).YStack,{items:"center",width:"100%",style:{maxWidth:315},children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"400",lineHeight:16.8,color:"$text",style:{textAlign:"center"},children:r("migration.info.descriptionLine2")})})]}),(0,p.jsxs)(t(a[17]).YStack,{gap:"$4",items:"center",p:"$4",rounded:"$4",bg:"$bg2",width:"100%",children:[(0,p.jsx)(t(a[17]).YStack,{items:"center",width:"100%",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"600",color:"$text",width:"100%",children:r("migration.info.whatDoesThisMean")})}),(0,p.jsxs)(t(a[17]).YStack,{width:"100%",items:"flex-start",children:[(0,p.jsx)(t(a[17]).MigrationFeatureItem,{icon:h,description:r("migration.info.features.control")}),(0,p.jsx)(t(a[17]).MigrationFeatureItem,{icon:v,description:r("migration.info.features.security")}),(0,p.jsx)(t(a[17]).MigrationFeatureItem,{icon:y,description:r("migration.info.features.compatibility")}),(0,p.jsx)(t(a[17]).MigrationFeatureItem,{icon:S,description:r("migration.info.features.performance"),isLast:!0})]})]}),(0,p.jsx)(t(a[17]).MigrationInfoBanner,{title:r("migration.info.note.title"),description:r("migration.info.note.description")})]}),(0,p.jsxs)(t(a[17]).YStack,{gap:"$3",items:"center",width:"100%",style:{maxWidth:338},children:[(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,onPress:m,disabled:s,children:s?(0,p.jsx)(t(a[17]).Spinner,{size:"small",color:"$background"}):r("migration.info.startMigration")}),(0,p.jsx)(t(a[17]).YStack,{items:"center",width:"100%",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"400",color:"$textSecondary",onPress:function(){t(a[13]).logger.info("[InfoScreen] Cancel pressed"),t(a[13]).navigation.goBack()},cursor:"pointer",pressStyle:{opacity:.7},children:r("common.cancel")})})]})]})})},i.KeyRotationMnemonicScreen=function(e){var n=e.newKeyInfo,r=e.address,o=e.onComplete,i=e.onBack,s=e.onError,c=(0,t(a[12]).useTranslation)().t,l=(0,t(a[17]).useTheme)(),f=j(),m=f.copied,h=f.copy,v=$(),y=v.executeRotation,S=v.isLoading,b=v.error,x=(0,g.useState)(!1),T=(0,u.default)(x,2),k=T[0],w=T[1],F=A((null==n?void 0:n.seedphrase)||""),C=12===F.length||24===F.length;if((0,g.useEffect)(function(){return t(a[13]).logger.info("[KeyRotationMnemonicScreen] Enabling screenshot protection"),t(a[13]).bridge.setScreenSecurityLevel&&t(a[13]).bridge.setScreenSecurityLevel("secure"),function(){t(a[13]).logger.info("[KeyRotationMnemonicScreen] Disabling screenshot protection"),t(a[13]).bridge.setScreenSecurityLevel&&t(a[13]).bridge.setScreenSecurityLevel("normal")}},[]),(0,g.useEffect)(function(){b&&s&&s(b)},[b,s]),!C)return(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$4",gap:"$4",children:[(0,p.jsx)(t(a[17]).Text,{color:"$error",text:"center",fontSize:"$5",fontWeight:"700",children:c("keyrotation.mnemonic.error.title",{defaultValue:"Invalid Recovery Phrase"})}),(0,p.jsx)(t(a[17]).Text,{color:"$textSecondary",text:"center",fontSize:"$4",children:c("keyrotation.mnemonic.error.description",{defaultValue:"The recovery phrase is missing or invalid. Please try again."})}),(0,p.jsx)(t(a[17]).Button,{onPress:function(){return i?i():t(a[13]).navigation.goBack()},children:(0,p.jsx)(t(a[17]).XStack,{gap:"$2",items:"center",px:"$4",py:"$2",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"600",children:c("common.goBack",{defaultValue:"Go Back"})})})})]})});var N=(function(){var e=(0,d.default)(function*(){t(a[13]).logger.info("[KeyRotationMnemonicScreen] User confirmed backup, starting key rotation",{address:r});var e=yield y(r,n);e&&(t(a[13]).logger.info("[KeyRotationMnemonicScreen] Key rotation successful",{txId:e.txId}),o(e))});return function(){return e.apply(this,arguments)}})(),E=S?c("keyrotation.mnemonic.upgrading",{defaultValue:"Upgrading account..."}):c("keyrotation.tip.start",{defaultValue:"Start"});return(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsx)(t(a[17]).ScrollView,{children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,px:"$4",children:[(0,p.jsxs)(t(a[17]).YStack,{items:"center",mb:"$6",gap:"$2",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$8",fontWeight:"700",color:"$text",text:"center",lineHeight:"$8",children:c("keyrotation.mnemonic.title",{defaultValue:"Recovery phrase"})}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",text:"center",lineHeight:"$4",maxW:280,children:c("keyrotation.mnemonic.description",{defaultValue:"Write down these words in the right order and store them somewhere safe."})})]}),(0,p.jsx)(t(a[17]).MnemonicGrid,{words:F,isRevealed:k,onReveal:function(){w(!0)},revealLabel:c("keyrotation.mnemonic.clickToReveal",{defaultValue:"Click to reveal phrase"})}),(0,p.jsx)(t(a[17]).XStack,{justify:"center",mb:"$4",children:(0,p.jsx)(t(a[17]).Button,{variant:"ghost",onPress:function(){h(F.join(" "))},disabled:S,children:(0,p.jsxs)(t(a[17]).XStack,{gap:"$3",items:"center",children:[(0,p.jsx)(t(a[22]).Copy,{size:24,color:l.primary.val}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"700",style:{color:l.primary.val},children:m?c("messages.copied"):c("keyrotation.mnemonic.copy",{defaultValue:"Copy"})})]})})}),(0,p.jsx)(t(a[17]).WarningCard,{icon:(0,p.jsx)(t(a[22]).Warning,{size:24,color:l.iconGlass.val}),title:c("keyrotation.mnemonic.warning.title",{defaultValue:"Do not share your recovery phrase!"}),description:c("keyrotation.mnemonic.warning.description",{defaultValue:"If someone has your recovery phrase, They will have full control of your wallet."})}),b&&(0,p.jsx)(t(a[17]).YStack,{p:"$3",rounded:"$4",bg:"$error10",mt:"$4",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",color:"$error",text:"center",children:b})}),(0,p.jsx)(t(a[17]).YStack,{flex:1}),(0,p.jsx)(t(a[17]).YStack,{pb:"$6",pt:"$4",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,disabled:!k||S,onPress:N,children:S?(0,p.jsxs)(t(a[17]).XStack,{gap:"$2",items:"center",children:[(0,p.jsx)(t(a[17]).Spinner,{size:"small",color:"$background"}),(0,p.jsx)(t(a[17]).Text,{color:"$background",fontWeight:"600",children:E})]}):E})})]})})})},i.KeyRotationTipScreen=function(e){var n=e.onContinue,r=e.onSkip,o=(e.onBack,(0,t(a[12]).useTranslation)().t),i=(0,t(a[17]).useTheme)(),s=$(),c=s.generateSeedKey,l=s.isLoading,u=s.error,g=(function(){var e=(0,d.default)(function*(){t(a[13]).logger.info("[KeyRotationTipScreen] User pressed Start, generating seed key");var e=yield c();e&&(t(a[13]).logger.info("[KeyRotationTipScreen] Seed key generated, navigating to mnemonic screen"),n(e))});return function(){return e.apply(this,arguments)}})();return(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsx)(t(a[17]).ScrollView,{children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,px:"$4",children:[(0,p.jsx)(t(a[17]).YStack,{items:"center",mb:"$4",gap:"$2",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$8",fontWeight:"700",color:"$text",text:"center",lineHeight:"$8",children:o("keyrotation.tip.title",{defaultValue:"Upgrade\nyour account"})})}),(0,p.jsx)(t(a[17]).YStack,{items:"center",mb:"$4",children:(0,p.jsx)(t(a[17]).ShieldAnimation,{width:200,height:180,autoPlay:!0,loop:!0})}),(0,p.jsx)(t(a[17]).YStack,{items:"center",mb:"$6",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$text",text:"center",maxW:320,children:o("keyrotation.tip.description",{defaultValue:"Flow Wallet needs to upgrade the security of your account to remove your previous Blocto keys"})})}),(0,p.jsx)(t(a[17]).YStack,{items:"center",mb:"$4",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$5",fontWeight:"700",color:"$text",children:o("keyrotation.tip.sectionTitle",{defaultValue:"What does this mean?"})})}),(0,p.jsx)(t(a[17]).View,{height:1,bg:"$borderGlass"}),(0,p.jsxs)(t(a[17]).YStack,{mb:"$4",children:[(0,p.jsx)(t(a[17]).TipCard,{icon:(0,p.jsx)(t(a[22]).LockBackup,{size:20,color:i.primary.val}),title:o("keyrotation.tip.fullControl.title",{defaultValue:"You'll have full control over your accounts and keys."}),showSeparator:!0}),(0,p.jsx)(t(a[17]).TipCard,{icon:(0,p.jsx)(t(a[22]).LinkBackup,{size:20,color:i.primary.val}),title:o("keyrotation.tip.newKey.title",{defaultValue:"We'll create a new key to secure your account, removing Blocto's access."}),showSeparator:!0}),(0,p.jsx)(t(a[17]).TipCard,{icon:(0,p.jsx)(t(a[22]).Settings,{size:20,color:i.primary.val}),title:o("keyrotation.tip.newPhrase.title",{defaultValue:"We'll create a new recovery phrase which will secure your account going forward."}),showSeparator:!0})]}),(0,p.jsx)(t(a[17]).YStack,{p:"$4",rounded:"$4",borderWidth:1,borderColor:"$primary",bg:"$primary10",mb:"$6",children:(0,p.jsxs)(t(a[17]).Text,{fontSize:"$3",color:"$text",lineHeight:18,children:[(0,p.jsx)(t(a[17]).Text,{fontWeight:"700",color:"$text",children:o("keyrotation.tip.warning.prefix",{defaultValue:"Please note: "})}),o("keyrotation.tip.warning.bloctoDescription",{defaultValue:"After this process completes, your recovery kit from Blocto will no longer secure access to your account. This is for your protection now that Blocto has ceased operations."})]})}),u&&(0,p.jsx)(t(a[17]).YStack,{p:"$3",rounded:"$4",bg:"$error10",mb:"$4",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",color:"$error",text:"center",children:u})}),(0,p.jsx)(t(a[17]).YStack,{flex:1}),(0,p.jsx)(t(a[17]).YStack,{pb:"$2",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,onPress:g,disabled:l,children:l?(0,p.jsx)(t(a[17]).Spinner,{size:"small",color:"$background"}):o("keyrotation.tip.start",{defaultValue:"Start"})})}),r&&!l&&(0,p.jsx)(t(a[17]).YStack,{items:"center",pb:"$6",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",onPress:function(){r&&r()},cursor:"pointer",pressStyle:{opacity:.7},children:o("keyrotation.tip.notNow",{defaultValue:"Not now"})})})]})})})},i.MigrationScreen=function(e){var n,r,o,i,s,c,l,f,m,h=e.initialStage,v=void 0===h?"ready":h,y=e.sourceAccount,S=e.destinationAccount,b=e.assets,x=(e.failedAssets,(0,t(a[12]).useTranslation)().t),T="extension"===t(a[13]).bridge.getPlatform(),k=(0,g.useState)(v),w=(0,u.default)(k,2),F=w[0],C=w[1],j=(0,g.useState)(0),N=(0,u.default)(j,2),$=N[0],A=N[1],E=(0,g.useState)(!1),P=(0,u.default)(E,2),R=P[0],B=P[1],I=(0,g.useState)(!1),M=(0,u.default)(I,2),W=M[0],O=M[1],L=(0,g.useState)(null),D=(0,u.default)(L,2),Y=D[0],z=D[1],V=(0,g.useState)(null),Q=(0,u.default)(V,2),_=(Q[0],Q[1]);(0,g.useEffect)(function(){"in-progress"!==v||"in-progress"!==F||W||C("ready")},[]);var K=(0,t(a[14]).useQuery)({queryKey:["migration","selectedAccount"],queryFn:(ne=(0,d.default)(function*(){try{return yield t(a[13]).bridge.getSelectedAccount()}catch(e){return t(a[13]).logger.warn("[MigrationScreen] Failed to load selected account",e),null}}),function(){return ne.apply(this,arguments)}),staleTime:1e4,retry:1}),q=K.data,U=(0,t(a[14]).useQuery)({queryKey:["migration","walletProfiles"],queryFn:(te=(0,d.default)(function*(){try{return yield t(a[13]).bridge.getWalletProfiles()}catch(e){return t(a[13]).logger.warn("[MigrationScreen] Failed to load wallet profiles",e),null}}),function(){return te.apply(this,arguments)}),staleTime:1e4,retry:1}),G=U.data,H=(0,g.useMemo)(function(){var e,t,n,r,o,i,a,s,c;if(y||S){var l,d,u,g,f,p,m=y?{id:y.address,name:y.name,address:y.address,avatar:y.avatar,type:"evm",balance:"0",nfts:"0",isActive:!0}:null,h=S?{id:S.address,name:S.name,address:S.address,avatar:S.avatar,type:"eoa",balance:"0",nfts:"0",isActive:!0}:null;return{resolvedSourceAccount:{name:null!=(l=null==y?void 0:y.name)?l:"COA",address:null!=(d=null==y?void 0:y.address)?d:"",avatar:null==y?void 0:y.avatar,badges:null!=(u=null==y?void 0:y.badges)?u:["EVM","FLOW"]},resolvedDestinationAccount:{name:null!=(g=null==S?void 0:S.name)?g:"EOA",address:null!=(f=null==S?void 0:S.address)?f:"",avatar:null==S?void 0:S.avatar,badges:null!=(p=null==S?void 0:S.badges)?p:["EVM"]},resolvedSourceWalletAccount:m,resolvedDestWalletAccount:h}}var v=(null==q?void 0:q.parentAddress)||(null==q?void 0:q.address)||"",b=null!=(e=null==G||null==(t=G.profiles)?void 0:t.find(function(e){var t;return null==(t=e.accounts)?void 0:t.some(function(e){return e.address===v})}))?e:null==G||null==(n=G.profiles)?void 0:n[0],x=null!=(r=null==b?void 0:b.accounts)?r:[],T=x.find(function(e){return"evm"===e.type}),k=x.find(function(e){return"eoa"===e.type}),w=x.find(function(e){return"main"===e.type}),F=null!=(o=null!=T?T:"evm"===(null==q?void 0:q.type)?q:null)?o:w,C=null!=k?k:null;return{resolvedSourceAccount:{name:null!=(i=null==F?void 0:F.name)?i:"COA",address:null!=(a=null==F?void 0:F.address)?a:"",avatar:null==F?void 0:F.avatar,badges:["EVM","FLOW"]},resolvedDestinationAccount:{name:null!=(s=null==C?void 0:C.name)?s:"EOA",address:null!=(c=null==C?void 0:C.address)?c:"",avatar:null==C?void 0:C.avatar,badges:["EVM"]},resolvedSourceWalletAccount:F,resolvedDestWalletAccount:C}},[S,q,y,null==G?void 0:G.profiles]),X=H.resolvedSourceAccount,Z=H.resolvedDestinationAccount,J=H.resolvedSourceWalletAccount,ee=H.resolvedDestWalletAccount;var te;var ne;(0,g.useEffect)(function(){"in-progress"===F?B(!0):(B(!1),A(0))},[F,W]);var re=(0,g.useCallback)((0,d.default)(function*(){var e,n,r;if(t(a[13]).logger.info("[MigrationScreen] Start button pressed"),b&&(null!=(e=b.erc20)&&e.length||null!=(n=b.erc721)&&n.length||null!=(r=b.erc1155)&&r.length)){if(!X.address||!Z.address)return t(a[13]).logger.error("[MigrationScreen] Missing source or destination address"),void z(new Error("Missing account addresses"));C("in-progress"),O(!0),A(0),z(null),_(Date.now());try{var o=(0,t(a[13]).getCadenceService)(),i=X.address,s=Z.address;if(!i.startsWith("0x"))try{var c=yield o.getAddr(i);c&&(i=`0x${c}`)}catch(e){t(a[13]).logger.warn("[MigrationScreen] Failed to get COA address, using provided address",e)}i.startsWith("0x")||(i=`0x${i}`),s.startsWith("0x")||(s=`0x${s}`),t(a[13]).logger.info("[MigrationScreen] Starting migration transaction",{sender:i,receiver:s,assets:b});var l=yield(0,t(a[23]).migrationTransaction)(o,b,i,s,function(e,t,n){A(e),le(t)});t(a[13]).logger.info("[MigrationScreen] Migration transaction completed",l),A(100),setTimeout(function(){C("completed-all"),O(!1)},1e3)}catch(e){t(a[13]).logger.error("[MigrationScreen] Migration transaction failed",e),z(e),A(0),setTimeout(function(){C("completed-partial"),O(!1)},1e3)}}else t(a[13]).logger.warn("[MigrationScreen] No assets to migrate")}),[b,X.address,Z.address]),oe=(null!=(n=null==b||null==(r=b.erc20)?void 0:r.length)?n:0)+(null!=(o=null==b||null==(i=b.erc721)?void 0:i.length)?o:0)+(null!=(s=null==b||null==(c=b.erc1155)?void 0:c.length)?s:0),ie=20*Math.ceil(oe/100),ae=(0,g.useState)(0),se=(0,u.default)(ae,2),ce=se[0],le=se[1],de="in-progress"===F?Math.min(100*ce,oe):"completed-all"===F?oe:0,ue=(0,g.useState)(0),ge=(0,u.default)(ue,2),fe=ge[0],pe=ge[1];(0,g.useEffect)(function(){if("in-progress"===F&&W){var e=setInterval(function(){pe(function(e){return e+1})},1e3);return function(){return clearInterval(e)}}},[F,W]),(0,g.useEffect)(function(){"ready"===F&&(pe(0),le(0))},[F]);var me=Math.max(0,ie-fe),he=Math.floor(me/60),ve=me%60,ye="in-progress"===F&&me>0?he>0?`${he} min ${ve} sec remaining`:`${ve} sec remaining`:void 0;return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:[T&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:x(""),help:!1,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",pt:T?"$4":"$6",px:"$4",pb:"$4",style:{justifyContent:"space-between",overflow:"hidden"},children:[(0,p.jsxs)(t(a[17]).YStack,{width:"100%",items:"center",gap:"$6",style:{flexShrink:0},children:[("in-progress"===F||"ready"===F)&&(0,p.jsx)(t(a[17]).YStack,{width:"100%",items:"center",children:(0,p.jsx)(t(a[17]).Text,{fontSize:30,fontWeight:"700",color:"$text",width:"100%",style:{textAlign:"center"},children:x("migration.screen.title.migrating","Migrating your account")})}),(0,p.jsx)(t(a[17]).ConfirmationAnimationSection,{isPlaying:"in-progress"===F}),(0,p.jsxs)(t(a[17]).XStack,{items:"center",justify:"space-between",width:"100%",gap:"$2",px:"$2",style:{overflow:"hidden"},children:[J&&(0,p.jsx)(t(a[17]).YStack,{items:"center",gap:"$2",maxW:100,style:{minWidth:0,flexShrink:1,overflow:"hidden"},children:(be=(0,t(a[16]).transformAccountForDisplay)(J),(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(t(a[17]).Avatar,{src:null==be?void 0:be.avatarSrc,fallback:(null==be?void 0:be.avatarFallback)||"A",bgColor:null==be?void 0:be.avatarBgColor,size:36}),(0,p.jsxs)(t(a[17]).YStack,{items:"center",gap:"$1",width:"100%",style:{overflow:"hidden"},children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"600",color:"$text",numberOfLines:1,ellipsizeMode:"tail",style:{overflow:"hidden"},children:(null==be?void 0:be.name)||"COA"}),J.address&&(0,p.jsx)(t(a[17]).AddressText,{address:J.address,fontSize:"$2",color:"$textSecondary"}),(0,p.jsx)(t(a[17]).EVMBadge,{variant:"coa"})]})]}))}),(0,p.jsx)(t(a[17]).YStack,{width:90,items:"center",justify:"center",style:{flexShrink:0},children:(0,p.jsx)(t(a[17]).MigrationProgressIndicator,{isAnimating:"in-progress"===F&&R,width:90})}),ee&&(0,p.jsx)(t(a[17]).YStack,{items:"center",gap:"$2",maxW:100,style:{minWidth:0,flexShrink:1,overflow:"hidden"},children:(Se=(0,t(a[16]).transformAccountForDisplay)(ee),(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(t(a[17]).Avatar,{src:null==Se?void 0:Se.avatarSrc,fallback:(null==Se?void 0:Se.avatarFallback)||"A",bgColor:null==Se?void 0:Se.avatarBgColor,size:36}),(0,p.jsxs)(t(a[17]).YStack,{items:"center",gap:"$1",width:"100%",style:{overflow:"hidden"},children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"600",color:"$text",numberOfLines:1,ellipsizeMode:"tail",style:{overflow:"hidden"},children:(null==Se?void 0:Se.name)||"EOA"}),ee.address&&(0,p.jsx)(t(a[17]).AddressText,{address:ee.address,fontSize:"$2",color:"$textSecondary"}),(0,p.jsx)(t(a[17]).EVMBadge,{variant:"eoa"})]})]}))})]})]}),(0,p.jsxs)(t(a[17]).YStack,{width:"100%",items:"center",gap:"$4",style:{maxWidth:380},pb:"$4",children:["in-progress"===F&&(0,p.jsx)(t(a[17]).YStack,{width:"100%",gap:"$4",children:(0,p.jsx)(t(a[17]).MigrationProgressBar,{progress:$,currentStep:x("migration.screen.progress.currentStep","Migrating account"),timeEstimate:ye})}),("completed-all"===F||"completed-partial"===F)&&(0,p.jsx)(t(a[17]).YStack,{width:"100%",gap:"$4",children:(0,p.jsx)(t(a[17]).MigrationStatusMessage,{type:"completed-all"===F?"success":"warning",title:x("completed-all"===F?"migration.screen.status.allComplete.title":"migration.screen.status.partialComplete.title"),description:"completed-partial"===F?Y&&Y.message||x("migration.screen.status.partialComplete.description"):void 0})}),(0,p.jsx)(t(a[17]).YStack,{width:"100%",gap:"$4",children:(0,p.jsx)(t(a[17]).YStack,{bg:"$bg2",rounded:"$4",borderWidth:1,borderColor:"$borderGlass",p:"$4",width:"100%",children:"in-progress"===F?(0,p.jsxs)(t(a[17]).XStack,{items:"center",gap:"$1",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"600",color:"$text",children:de}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"400",color:"$textSecondary",children:"/"}),(0,p.jsxs)(t(a[17]).Text,{fontSize:"$3",fontWeight:"400",color:"$textSecondary",children:[oe," assets transferred"]})]}):(0,p.jsxs)(t(a[17]).XStack,{items:"center",gap:"$2",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"400",color:"$text",children:x("migration.screen.assets.label","Assets")}),oe>0&&(0,p.jsxs)(t(a[17]).Text,{fontSize:"$3",fontWeight:"400",color:"$textSecondary",children:["(",oe,")"]})]})})}),"in-progress"===F&&(0,p.jsx)(t(a[17]).YStack,{width:"100%",children:(0,p.jsx)(t(a[17]).MigrationInfoBanner,{title:x("migration.screen.warning.title"),description:x("migration.screen.warning.description")})}),"ready"===F&&(0,p.jsx)(t(a[17]).YStack,{width:"100%",pt:"$2",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,onPress:re,disabled:!(b&&(null!=(l=b.erc20)&&l.length||null!=(f=b.erc721)&&f.length||null!=(m=b.erc1155)&&m.length)),children:x("migration.screen.button.start")})}),("completed-all"===F||"completed-partial"===F)&&(0,p.jsx)(t(a[17]).YStack,{width:"100%",pt:"$2",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,onPress:"completed-all"===F?function(){t(a[13]).logger.info("[MigrationScreen] Done pressed"),t(a[13]).navigation.goBack()}:function(){t(a[13]).logger.info("[MigrationScreen] Review assets pressed")},children:x("completed-all"===F?"migration.screen.button.done":"migration.screen.button.review")})})]})]})]});var Se;var be},i.NFTDetailScreen=function(){var e,n=(0,t(a[12]).useTranslation)().t;b();var r="extension"===t(a[13]).bridge.getPlatform(),o=t(a[13]).bridge.getNetwork()||"mainnet",i=(0,t(a[15]).useSendStore)(t(a[15]).sendSelectors.fromAccount),s=(0,t(a[15]).useSendStore)(function(e){return e.selectedCollection}),c=(0,t(a[15]).useSendStore)(function(e){return e.selectedNFTs}),d=(0,t(a[15]).useSendStore)(function(e){return e.currentNFT}),u=(0,t(a[15]).useSendStore)(function(e){return e.setSelectedNFTs}),f=(0,t(a[15]).useSendStore)(function(e){return e.setCurrentStep}),m=s,h=null==i?void 0:i.address;(0,g.useEffect)(function(){f("nft-detail")},[f]);var v=(0,g.useMemo)(function(){return m&&h?t(a[15]).tokenQueryKeys.nftCollectionAll(h,m,o):null},[m,h,o]),y=(0,t(a[14]).useQuery)({queryKey:v||[],queryFn:function(e){var n=e.signal;return h&&m?t(a[15]).tokenQueries.fetchAllNFTsFromCollection(h,m,o,m.count,void 0,n):Promise.resolve([])},enabled:!!v,staleTime:3e5,refetchOnWindowFocus:!1,refetchOnReconnect:!1,retry:1,gcTime:6e5}),S=y.data,x=void 0===S?[]:S,T=y.isLoading,k=y.error,w=(0,g.useMemo)(function(){return d||(c&&c.length>0?c[0]:x.length>0?x[0]:null)},[c,x]),F=(0,g.useCallback)(function(e){var n,r,o=[],i=e;if(i.traits||i.attributes){var s=i.traits||i.attributes;Array.isArray(s)&&s.forEach(function(e){e&&"object"==typeof e&&e.trait_type&&e.value&&o.push({label:e.trait_type,value:e.value.toString()})})}if(null!=(n=i.postMedia)&&n.traits||null!=(r=i.postMedia)&&r.attributes){var c=i.postMedia.traits||i.postMedia.attributes;Array.isArray(c)&&c.forEach(function(e){e&&"object"==typeof e&&e.trait_type&&e.value&&o.push({label:e.trait_type,value:e.value.toString()})})}return["rarity","edition","series","creator","royalty"].forEach(function(e){i[e]&&"string"==typeof i[e]&&o.push({label:e.charAt(0).toUpperCase()+e.slice(1),value:i[e]})}),{id:e.id,name:e.name||"Untitled",image:(0,t(a[16]).getNFTCover)(e),collection:e.collectionName||(null==m?void 0:m.name)||"Unknown",description:e.description,contractName:e.contractName,contractAddress:e.contractAddress,collectionContractName:e.collectionContractName,properties:o.length>0?o:void 0,contractType:e.contractType,amount:e.amount}},[null==m?void 0:m.name]),C=(0,g.useCallback)(function(e){return{id:(0,t(a[16]).getNFTId)(e),name:e.name||"Untitled",image:(0,t(a[16]).getNFTCover)(e),collection:e.collectionName||(null==m?void 0:m.name)||"Unknown",amount:e.amount,contractType:e.contractType}},[null==m?void 0:m.name]),j=(0,g.useMemo)(function(){return w?F(w):null},[w,F]),N=(0,g.useMemo)(function(){return!(!w||!c)&&c.some(function(e){return(0,t(a[16]).getNFTId)(e)===(0,t(a[16]).getNFTId)(w)})},[w,c]),$=null!=c,A=(0,g.useCallback)(function(){if($&&w){var e=(0,t(a[16]).getNFTId)(w);if(c.some(function(n){return(0,t(a[16]).getNFTId)(n)===e})){var n=c.filter(function(n){return(0,t(a[16]).getNFTId)(n)!==e});u(n)}else if(c.length<9){var r=[].concat((0,l.default)(c),[w]);u(r)}else console.warn("Maximum 9 NFTs can be selected")}},[$,w,c,u]),E=(0,g.useCallback)(function(e){if(c){var n=c.filter(function(n){return(0,t(a[16]).getNFTId)(n)!==e});u(n)}},[c,u]),P=(0,g.useCallback)(function(){var e=t(a[15]).useSendStore.getState(),n=e.setTransactionType,r=e.setNFTQuantity;c&&c.forEach(function(e){"ERC1155"===e.contractType&&e.id&&(r(e.id,1),t(a[13]).logger.debug("[NFTDetailScreen] Initialized ERC1155 quantity:",{nftId:e.id,contractType:e.contractType,amount:e.amount}))}),c&&1===c.length?n("single-nft"):c&&c.length>1&&n("multiple-nfts"),f("send-to"),t(a[13]).navigation.navigate(t(a[18]).ScreenName.SEND_TO)},[c,f]),R=(0,g.useCallback)(function(e){},[]),B=(0,g.useMemo)(function(){return c?c.map(C):[]},[c,C]),I=(0,g.useMemo)(function(){if(i)return{name:i.name,avatar:i.avatar,address:i.address,emojiInfo:i.emojiInfo}},[i]);if(!m||!h)return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$6",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$6",fontWeight:"600",color:"$color",mb:"$3",textAlign:"center",children:n("nft.notFound.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",textAlign:"center",children:n("nft.notFound.message")})]})});if(T)return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsx)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$6",children:(0,p.jsxs)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",textAlign:"center",children:[n("messages.loading"),"..."]})})});if(k&&(null==(e=k.message)||!e.includes("aborted")))return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$6",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$6",fontWeight:"600",color:"$color",mb:"$3",textAlign:"center",children:n("errors.unknown")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",textAlign:"center",children:k.message||n("errors.failedToLoadNFTs")})]})});if(!w||!j)return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$6",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$6",fontWeight:"600",color:"$color",mb:"$3",textAlign:"center",children:n("nft.notFound.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",textAlign:"center",children:n("nft.notFound.message")})]})});return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,position:"relative",children:[r&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:n("send.title"),help:!0,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsx)(t(a[17]).NFTDetailView,{nft:j,selected:N,selectable:$,onToggleSelection:A,owner:I,showOwner:!!I}),$&&B.length>0&&(0,p.jsx)(t(a[17]).NFTSelectionBar,{selectedNFTs:B,onRemoveNFT:E,onNFTPress:R,onContinue:P,continueText:n("buttons.continue"),selectedCountText:n("nft.selectedCount",{count:B.length}),confirmText:n("nft.confirmSelection",{count:B.length}),isEditing:!1})]})})},i.NFTListScreen=function(){var e,n,r=(0,t(a[12]).useTranslation)().t,o=(0,g.useState)(""),i=(0,u.default)(o,2),s=i[0],f=i[1],m=(0,g.useState)([]),h=(0,u.default)(m,2),v=h[0],y=h[1],S=(0,g.useState)({}),b=(0,u.default)(S,2),x=b[0],T=b[1],k="extension"===t(a[13]).bridge.getPlatform(),w=t(a[13]).bridge.getNetwork()||"mainnet",F=(0,t(a[15]).useSendStore)(t(a[15]).sendSelectors.fromAccount),C=(0,t(a[15]).useSendStore)(function(e){return e.selectedCollection}),j=(0,t(a[15]).useSendStore)(function(e){return e.selectedNFTs}),N=(0,t(a[15]).useSendStore)(function(e){return e.setSelectedNFTs}),$=(0,t(a[15]).useSendStore)(function(e){return e.setCurrentStep}),A=(0,t(a[15]).useSendStore)(function(e){return e.setTransactionType}),E=(0,t(a[15]).useSendStore)(function(e){return e.setNFTQuantity}),P=(0,t(a[15]).useSendStore)(function(e){return e.setCurrentNFT}),R=C,B=(0,g.useMemo)(function(){var e=t(a[13]).bridge.getDebugAddress(),n=(null==F?void 0:F.address)||"";return t(a[16]).logger.debug("NFTListScreen currentAddress calculated:",{debugAddress:e,accountAddress:n,willUse:e||n}),e&&((0,t(a[16]).validateEvmAddress)(e)||(0,t(a[16]).validateFlowAddress)(e))?e.trim():n},[null==F?void 0:F.address]),I=(null==R?void 0:R.count)||0;(0,g.useEffect)(function(){$("select-tokens")},[$]),(0,g.useEffect)(function(){if(j&&j.length>0){var e=j.map(function(e){return(0,t(a[16]).getNFTId)(e)});y(e),1===e.length?A("single-nft"):e.length>1&&A("multiple-nfts")}else y([])},[j,A]);var M=(null==R?void 0:R.name)||"NFT Collection",W=(0,g.useMemo)(function(){return B&&R?t(a[15]).tokenQueryKeys.nftCollection(B,R,w):null},[null==R?void 0:R.id,null==R?void 0:R.contractName,null==R?void 0:R.name,B,w]),O=!!B&&!!R,L=(0,g.useState)(0),D=(0,u.default)(L,2),Y=D[0],z=D[1],V=(0,g.useRef)(z);V.current=z;var Q=(0,g.useCallback)((0,d.default)(function*(){return R?t(a[15]).tokenQueries.fetchAllNFTsFromCollection(B,R,w,R.count,function(e){V.current(e)}):[]}),[R,w,I]),_=(0,t(a[14]).useQuery)({queryKey:W?[].concat((0,l.default)(W),["all"]):[],queryFn:Q,enabled:O,staleTime:6e5,refetchOnWindowFocus:!1,refetchOnReconnect:!1,retry:1,gcTime:9e5}),K=_.data,q=void 0===K?[]:K,U=_.isLoading,G=_.error,H=_.refetch;(0,g.useEffect)(function(){U&&z(0)},[U]);var X=(0,g.useCallback)(function(e){return{id:(0,t(a[16]).getNFTId)(e),name:e.name||"Untitled",image:e.thumbnail||"",thumbnail:e.thumbnail||"",collection:e.collectionName||M,amount:e.amount,contractType:e.contractType}},[M]),Z=(0,g.useMemo)(function(){return q&&Array.isArray(q)?q.map(X):[]},[q,X]),J=(0,g.useMemo)(function(){return Array.isArray(Z)?Z.filter(function(e){return!s||e.name.toLowerCase().includes(s.toLowerCase())||e.collection&&e.collection.toLowerCase().includes(s.toLowerCase())||e.id.toLowerCase().includes(s.toLowerCase())}):[]},[Z,s]),ee=(0,g.useMemo)(function(){return q.filter(function(e){return v.includes((0,t(a[16]).getNFTId)(e))})},[v,q]),te=(0,g.useRef)([]);(0,g.useEffect)(function(){(ee.length!==te.current.length||ee.some(function(e,n){return!te.current[n]||(0,t(a[16]).getNFTId)(e)!==(0,t(a[16]).getNFTId)(te.current[n])}))&&(N(ee),te.current=ee)},[ee,N]);var ne=(0,g.useCallback)(function(e){y(function(n){var o=n.includes(e),i=q.find(function(n){return(0,t(a[16]).getNFTId)(n)===e}),s="ERC1155"===(null==i?void 0:i.contractType),c=q.filter(function(e){return n.includes((0,t(a[16]).getNFTId)(e))}),d=c.some(function(e){return"ERC1155"===e.contractType});if(o){var u=n.filter(function(t){return t!==e});return 1===u.length?A("single-nft"):u.length>1&&A("multiple-nfts"),u}if(s)return t(a[16]).logger.info("[NFTListScreen] ERC1155 NFT selected - clearing other selections",{nftId:e,nftName:null==i?void 0:i.name,previousSelections:n.length}),A("single-nft"),[e];if(d)return t(a[16]).logger.warn("[NFTListScreen] Cannot select other NFTs when ERC1155 is selected",{attemptedNftId:e,existingERC1155Count:c.filter(function(e){return"ERC1155"===e.contractType}).length}),n;if(n.length>=9)return t(a[16]).logger.warn(r("nft.maxSelectionReached")),n;var g=[].concat((0,l.default)(n),[e]);return 1===g.length?A("single-nft"):g.length>1&&A("multiple-nfts"),g})},[A,q]),re=(0,g.useCallback)(function(e){var n=(q||[]).find(function(n){return(0,t(a[16]).getNFTId)(n)===e});n?(P(n),t(a[13]).navigation.navigate(t(a[18]).ScreenName.NFT_DETAIL,{nft:n})):t(a[16]).logger.warn(r("nft.nftNotFound"),e)},[q]),oe=(0,g.useCallback)(function(e){y(function(t){return t.filter(function(t){return t!==e})})},[]),ie=(0,g.useCallback)(function(e,n){t(a[16]).logger.info("[NFTListScreen] ERC1155 quantity changed",{nftId:e,quantity:n}),T(function(t){return Object.assign({},t,(0,c.default)({},e,n))}),E(e,n)},[E]),ae=(0,g.useCallback)(function(){var e=(q||[]).filter(function(e){return v.includes((0,t(a[16]).getNFTId)(e))});if(1===e.length&&"ERC1155"===e[0].contractType){var n=(0,t(a[16]).getNFTId)(e[0]),r=x[n]||1;E(n,r),t(a[16]).logger.info("[NFTListScreen] Setting ERC1155 quantity in store",{nftId:n,quantity:r,nftName:e[0].name})}N(e),$("send-to"),t(a[13]).navigation.navigate(t(a[18]).ScreenName.SEND_TO)},[v,q,N,$,x,E]),se=(0,g.useCallback)(function(){H()},[H]),ce=(0,g.useMemo)(function(){return J.filter(function(e){return(v||[]).includes(e.id)})},[J,v]),le=(0,g.useMemo)(function(){return U?0===I?0:Y:(null==q?void 0:q.length)>0?100:0},[U,I,null==q?void 0:q.length,Y]);if(!R)return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$background",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$6",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$6",fontWeight:"600",color:"$color",mb:"$3",children:r("nft.noNFTsFound")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",children:r("nft.noCollectionSelected")})]})});if(!B)return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$background",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$6",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$6",fontWeight:"600",color:"$color",mb:"$3",children:r("errors.unknown")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",children:r("nft.noAccountSelected")})]})});var de=s?{title:r("nft.noSearchResults"),message:r("nft.noNFTsMatchSearch",{search:s})}:{title:r("nft.noNFTsFound"),message:r("nft.collectionEmpty")};return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,position:"relative",children:[k&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:r("send.title"),help:!0,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),R&&(0,p.jsx)(t(a[17]).YStack,{children:(0,p.jsx)(t(a[17]).CollectionHeader,{name:M,image:R.logoURI||R.logo,itemCount:(q||[]).length,isLoading:U})}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[(0,p.jsx)(t(a[17]).YStack,{pb:24,children:(0,p.jsx)(t(a[17]).SearchBar,{value:s,onChangeText:f,placeholder:r("common.Search"),width:"100%"})}),(0,p.jsx)(t(a[17]).YStack,{flex:1,children:(0,p.jsx)(t(a[17]).NFTGrid,{data:J,selectedIds:v,isLoading:U,loadingProgress:le,error:(null==G?void 0:G.message)||void 0,emptyTitle:de.title,emptyMessage:de.message,onNFTSelect:ne,onNFTPress:re,onRetry:se,retryText:r("buttons.retry"),clearSearchText:r("buttons.clearSearch"),onClearSearch:function(){return f("")},showClearSearch:!!s,accountEmoji:null==F||null==(e=F.emojiInfo)?void 0:e.emoji,accountAvatar:null==F?void 0:F.avatar,accountName:null==F?void 0:F.name,accountColor:null==F||null==(n=F.emojiInfo)?void 0:n.color,enableVirtualization:!0,itemsPerBatch:20,loadMoreThreshold:200,isExtension:k,totalCount:I})})]}),(0,p.jsx)(t(a[17]).NFTSelectionBar,{selectedNFTs:ce,onRemoveNFT:oe,onNFTPress:re,onContinue:ae,continueText:r("buttons.continue"),selectedCountText:r("nft.selectedCount",{count:ce.length}),confirmText:(ue=ce.reduce(function(e,t){return"ERC1155"===t.contractType?e+(x[t.id]||1):e+1},0),r("nft.confirmSelection",{count:ue})),isEditing:!1,onQuantityChange:ie,isExtension:k})]})});var ue},i.NetworkErrorFallback=void 0,i.NotificationPreferencesScreen=function(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=n.route,o=(0,t(a[12]).useTranslation)().t,i=g.default.useState(!0),s=(0,u.default)(i,2),c=s[0],l=s[1],f=(0,g.useMemo)(function(){var e;return null!=(e=null==t(a[13]).bridge.getSafeAreaInsets?void 0:t(a[13]).bridge.getSafeAreaInsets())?e:{top:0,bottom:0,left:0,right:0}},[]),m=(null==r||null==(e=r.params)?void 0:e.accountType)||"secure-enclave";g.default.useEffect(function(){var e=(function(){var e=(0,d.default)(function*(){try{if(t(a[13]).bridge.checkNotificationPermission)if(yield t(a[13]).bridge.checkNotificationPermission())return t(a[13]).logger.debug("[NotificationPreferencesScreen] Notification permission already granted, skipping screen"),void("recovery"===m?(t(a[13]).logger.debug("[NotificationPreferencesScreen] Recovery phrase flow, closing RN"),t(a[13]).bridge.closeRN()):(t(a[13]).logger.debug("[NotificationPreferencesScreen] Secure enclave flow, launching native backup screen"),t(a[13]).bridge.launchNativeScreen&&t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.BACKUP_OPTIONS)))}catch(e){t(a[13]).logger.warn("[NotificationPreferencesScreen] Failed to check existing permission:",e)}finally{l(!1)}});return function(){return e.apply(this,arguments)}})();e()},[m]);var h=(0,t(a[14]).useMutation)({mutationFn:k,onSuccess:function(e,n){t(a[13]).logger.debug("[NotificationPreferencesScreen] Notification permission result:",e),"recovery"===m?(t(a[13]).logger.debug("[NotificationPreferencesScreen] Recovery phrase flow, closing RN"),t(a[13]).bridge.closeRN()):(t(a[13]).logger.debug("[NotificationPreferencesScreen] Secure enclave flow, launching native backup screen"),t(a[13]).bridge.launchNativeScreen&&t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.BACKUP_OPTIONS))},onError:function(e,n){t(a[13]).logger.error("[NotificationPreferencesScreen] Failed to request notification permission:",e),"recovery"===m?(t(a[13]).logger.debug("[NotificationPreferencesScreen] Recovery phrase flow, closing RN"),t(a[13]).bridge.closeRN()):(t(a[13]).logger.debug("[NotificationPreferencesScreen] Secure enclave flow, launching native backup screen"),t(a[13]).bridge.launchNativeScreen&&t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.BACKUP_OPTIONS))}});if(c)return(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsx)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",children:(0,p.jsx)(t(a[17]).Text,{children:"Loading..."})})});return(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[(0,p.jsx)(t(a[17]).ScrollView,{flex:1,showsVerticalScrollIndicator:!1,contentContainerStyle:{flexGrow:1},children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,px:"$4",pt:f.top+20,children:[(0,p.jsxs)(t(a[17]).YStack,{mt:"$6",mb:"$6",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:28,fontWeight:"700",color:"$text",text:"center",children:o("onboarding.notificationPreferences.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",text:"center",px:"$2",children:o("onboarding.notificationPreferences.subtitle")})]}),(0,p.jsx)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",children:(0,p.jsx)(t(a[17]).Image,{source:t(a[17]).pushNotifications,width:375,height:492,objectFit:"contain"})})]})}),(0,p.jsxs)(t(a[17]).YStack,{px:"$4",children:[(0,p.jsx)(t(a[17]).YStack,{mb:"$3",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,onPress:function(){h.mutate(!0)},children:o("onboarding.notificationPreferences.enableButton")})}),(0,p.jsx)(t(a[17]).XStack,{justify:"center",pb:"$8",children:(0,p.jsx)(t(a[17]).Button,{variant:"ghost",onPress:function(){"recovery"===m?(t(a[13]).logger.debug("[NotificationPreferencesScreen] Recovery phrase flow, closing RN"),t(a[13]).bridge.closeRN()):(t(a[13]).logger.debug("[NotificationPreferencesScreen] Secure enclave flow, launching native backup screen"),t(a[13]).bridge.launchNativeScreen&&t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.BACKUP_OPTIONS))},children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"600",color:"$textSecondary",children:o("onboarding.notificationPreferences.maybeLater")})})})]})]})})},i.ProfileTypeSelectionScreen=function(){var e=(0,t(a[12]).useTranslation)().t;return(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[(0,p.jsx)(t(a[17]).ScrollView,{flex:1,showsVerticalScrollIndicator:!1,children:(0,p.jsxs)(t(a[17]).YStack,{px:"$4",pt:"$8",children:[(0,p.jsx)(t(a[17]).YStack,{mt:"$15",mb:"$6",children:(0,p.jsx)(t(a[17]).Text,{fontSize:30,fontWeight:"700",color:"$text",style:{textAlign:"center"},lineHeight:36,children:e("onboarding.profileType.welcomeTitle")})}),(0,p.jsx)(t(a[17]).YStack,{items:"center",mb:"$8",children:(0,p.jsx)(t(a[17]).ShieldAnimation,{width:300,height:375,autoPlay:!0,loop:!0})}),(0,p.jsx)(t(a[17]).YStack,{items:"center",mb:"$8",children:(0,p.jsxs)(t(a[17]).YStack,{px:"$4",items:"center",gap:"$2",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$5",fontWeight:"700",color:"$text",style:{textAlign:"center"},mb:"$2",children:e("onboarding.profileType.recoveryPhrase.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",style:{textAlign:"center"},lineHeight:17,children:e("onboarding.profileType.recoveryPhrase.description")})]})})]})}),(0,p.jsxs)(t(a[17]).YStack,{px:"$4",children:[(0,p.jsx)(t(a[17]).YStack,{mb:"$3",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,onPress:function(){t(a[13]).navigation.navigate(t(a[18]).ScreenName.RECOVERY_PHRASE)},children:e("onboarding.profileType.next")})}),(0,p.jsx)(t(a[17]).XStack,{justify:"center",pb:"$8",children:(0,p.jsx)(t(a[17]).Button,{variant:"ghost",onPress:function(){t(a[13]).navigation.navigate(t(a[18]).ScreenName.SECURE_ENCLAVE)},children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"600",color:"$textSecondary",children:e("onboarding.profileType.secureEnclaveProfile")})})})]})]})})},i.QueryProvider=void 0,i.ReceiveScreen=function(){var e=(0,t(a[12]).useTranslation)().t,n="extension"===t(a[13]).bridge.getPlatform(),r=(0,g.useState)(null),o=(0,u.default)(r,2),i=o[0],s=o[1],c=(0,g.useState)(!1),l=(0,u.default)(c,2),m=l[0],y=l[1],S=(0,g.useState)(""),b=(0,u.default)(S,2),x=b[0],T=b[1],k=(0,t(a[15]).useAllProfiles)(),w=(0,t(a[15]).useProfileStore)(function(e){return e.loadProfilesFromBridge}),F=(0,t(a[15]).useProfileStore)(function(e){return e.isLoading}),C=(0,t(a[15]).useProfileStore)(function(e){return e.error}),j=(0,g.useRef)(!1),N=(0,g.useRef)(null);(0,g.useEffect)(function(){j.current||F||C||(j.current=!0,w())},[F,w,C]);var $=t(a[13]).bridge.getSelectedAddress()||"",A=t(a[13]).bridge.getNetwork()||"mainnet",E=(0,g.useMemo)(function(){return k.flatMap(function(e){return e.accounts})},[k]),P=(0,g.useMemo)(function(){for(var e of k){var t=e.accounts.find(function(e){return e.address.toLowerCase()===$.toLowerCase()});if(t)return t}return null},[k,$]);(0,g.useEffect)(function(){P?(t(a[16]).logger.debug("Setting selected account:",P),s(P)):t(a[16]).logger.warn("No current account found. Bridge address:",$,"Profiles loaded:",k.length)},[P,s,$,k.length]);var R=(0,t(a[14]).useQuery)(Object.assign({queryKey:t(a[15]).tokenQueryKeys.balance((null==i?void 0:i.address)||"",A),queryFn:function(){return t(a[15]).tokenQueries.fetchBalance((null==i?void 0:i.address)||"",void 0,A)},enabled:!(null==i||!i.address),staleTime:3e4,refetchOnWindowFocus:!0,refetchOnReconnect:!0,refetchInterval:6e4},t(a[16]).retryConfigs.critical)).data,B=(0,g.useMemo)(function(){return null!=R&&R.displayBalance?R.displayBalance:"0 FLOW"},[R]),I=(0,g.useMemo)(function(){return"evm"===(null==i?void 0:i.type)},[i]),M=(0,g.useMemo)(function(){return E.map(function(e){return Object.assign({},e,{balance:e.address===(null==i?void 0:i.address)?B:e.balance||"0 FLOW"})})},[E,null==i?void 0:i.address,B]),W=(0,g.useCallback)(function(e){t(a[16]).logger.debug("Account selected:",e),s(e)},[s]),O=(0,g.useCallback)((function(){var n=(0,d.default)(function*(n){try{if((0,t(a[16]).isCOAAddress)(n))return T(n),void y(!0);if("extension"!==t(a[13]).bridge.getPlatform()&&"undefined"==typeof window){var r=globalThis.clipboard;null!=r&&r.setString&&r.setString(n)}else navigator.clipboard&&(yield navigator.clipboard.writeText(n));t(a[13]).toast.show({title:e("messages.addressCopied"),type:"success"}),t(a[16]).logger.debug("Address copied to clipboard:",n)}catch(n){t(a[16]).logger.error("Failed to copy address:",n),t(a[13]).toast.show({title:e("messages.failedToCopy"),type:"error"})}});return function(e){return n.apply(this,arguments)}})(),[e]),L=(0,g.useCallback)((0,d.default)(function*(){if(null!=i&&i.address)try{if(!N.current)return t(a[16]).logger.error("QR code ref not available"),void t(a[13]).toast.show({title:e("messages.failedToShare"),type:"error"});t(a[16]).logger.debug("Capturing QR code view...");var n=yield(0,t(a[21]).captureRef)(N,{format:"png",quality:1,result:"tmpfile"}),r={title:"Flow Wallet QR Code",message:`My Flow wallet address:\n${i.address}`,url:(f.Platform.OS,`file://${n}`),type:"image/png"};t(a[16]).logger.debug("Sharing QR code with react-native-share:",r),yield v.default.open(r),t(a[16]).logger.debug("QR code shared successfully")}catch(n){if(n&&"object"==typeof n&&"message"in n){var o=n.message;if(null!=o&&o.includes("User did not share")||null!=o&&o.includes("cancelled"))return void t(a[16]).logger.debug("User cancelled share")}t(a[16]).logger.error("Failed to share QR code:",n),t(a[13]).toast.show({title:e("messages.failedToShare"),type:"error"})}else t(a[16]).logger.warn("Cannot share QR code: missing address")}),[i,e]);return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",px:"$0",pb:"$0",children:[n&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:e("receive.title","Receive Assets"),help:!1,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",gap:"$4",pt:"$6",px:"$4",children:[!n&&i&&(0,p.jsx)(t(a[17]).YStack,{bg:"$bg1",rounded:"$4",p:16,gap:12,width:"100%",children:(0,p.jsx)(t(a[17]).AccountSelector,{currentAccount:Object.assign({},i,{balance:B}),accounts:M,onAccountSelect:W,title:"",showEditButton:E.length>1,actionIcon:"chevron",showCopyButton:!0,onCopyAddress:O})}),(0,p.jsxs)(t(a[17]).YStack,{bg:"$bg1",rounded:"$4",pt:"$4",pb:"$4",px:"$2",items:"center",gap:"$5",width:"100%",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:16,fontWeight:"700",color:"$text",lineHeight:19,children:e("receive.scanToReceive","Scan to receive")}),null!=i&&i.address?(0,p.jsx)(f.View,{ref:N,style:{padding:12,backgroundColor:"#FFFFFF",borderRadius:16,marginBottom:16,overflow:"hidden",alignItems:"center",justifyContent:"center"},children:(0,p.jsx)(h.default,{data:i.address,style:{width:323,height:323},padding:0,pieceBorderRadius:4,isPiecesGlued:!0,color:I?"#627EEA":"#00EF8B",outerEyesOptions:{borderRadius:[20,20,0,20],color:"#000000"},innerEyesOptions:{borderRadius:10,color:I?"#627EEA":"#00EF8B"}})}):(0,p.jsx)(t(a[17]).YStack,{items:"center",justify:"center",width:323,height:323,children:(0,p.jsx)(t(a[17]).Text,{color:"$textSecondary",children:e("receive.noQRCode")})}),I&&(0,p.jsx)(t(a[17]).YStack,{width:"100%",px:"$4",mt:-8,children:(0,p.jsx)(f.Text,{style:{width:"100%",fontSize:12,fontWeight:"400",lineHeight:16.8,color:"#8F8F8F",textAlign:"center"},children:e("receive.evmWarning")})})]}),(0,p.jsx)(t(a[17]).YStack,{pt:"$2",mb:"$10",width:"100%",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,disabled:!(null!=i&&i.address),onPress:L,children:e("receive.shareQRCode","Share QR Code")})})]}),(0,p.jsx)(t(a[17]).COAAddressCopyModal,{visible:m,address:x,onClose:function(){y(!1),T("")},onConfirm:(D=(0,d.default)(function*(){try{if("extension"!==t(a[13]).bridge.getPlatform()&&"undefined"==typeof window){var n=globalThis.clipboard;null!=n&&n.setString&&n.setString(x)}else navigator.clipboard&&(yield navigator.clipboard.writeText(x));t(a[13]).toast.show({title:e("messages.addressCopied"),type:"success"}),t(a[16]).logger.debug("COA address copied to clipboard:",x),y(!1),T("")}catch(n){t(a[16]).logger.error("Failed to copy COA address:",n),t(a[13]).toast.show({title:e("messages.failedToCopy"),type:"error"})}}),function(){return D.apply(this,arguments)})})]});var D},i.RecoveryPhraseScreen=function(){var e=(0,t(a[12]).useTranslation)().t,n=(0,t(a[17]).useTheme)(),r=(0,g.useState)(!1),o=(0,u.default)(r,2),i=o[0],s=o[1],c=(0,g.useState)(!1),l=(0,u.default)(c,2),f=l[0],m=l[1],h=(0,g.useState)(!0),v=(0,u.default)(h,2),y=v[0],S=v[1],b=(0,g.useState)(null),x=(0,u.default)(b,2),T=x[0],k=x[1],w=(0,g.useState)(null),F=(0,u.default)(w,2),C=F[0],j=F[1];(0,g.useEffect)(function(){var e=!0,n=(function(){var n=(0,d.default)(function*(){try{t(a[13]).logger.info("[RecoveryPhraseScreen] Starting mnemonic generation...");var n=yield t(a[13]).bridge.generateSeedPhrase(128),r=n.mnemonic.trim().split(/\s+/);if(t(a[13]).logger.info("[RecoveryPhraseScreen] Generated mnemonic with",r.length,"words"),12!==r.length)throw new Error(`Expected 12 words, got ${r.length}`);e&&k({phrase:r,mnemonic:n.mnemonic,accountKey:n.accountKey,drivepath:n.drivepath,evmAddress:n.evmAddress})}catch(n){t(a[13]).logger.error("[RecoveryPhraseScreen] Failed to generate mnemonic:",n),e&&j(n instanceof Error?n:new Error("Failed to generate recovery phrase"))}finally{e&&S(!1)}});return function(){return n.apply(this,arguments)}})();return n(),function(){e=!1}},[]),(0,g.useEffect)(function(){return t(a[13]).logger.info("[RecoveryPhraseScreen] Enabling screenshot protection"),t(a[13]).bridge.setScreenSecurityLevel&&t(a[13]).bridge.setScreenSecurityLevel("secure"),function(){t(a[13]).logger.info("[RecoveryPhraseScreen] Disabling screenshot protection"),t(a[13]).bridge.setScreenSecurityLevel&&t(a[13]).bridge.setScreenSecurityLevel("normal")}},[]);var N=(null==T?void 0:T.phrase)||[],$=(null==T?void 0:T.mnemonic)||"",A=y,E=(function(){var n=(0,d.default)(function*(){try{var n=N.join(" "),r=t(a[13]).bridge.getPlatform(),o=globalThis.clipboard;if("extension"!==r&&null!=o&&o.setString)o.setString(n),t(a[13]).logger.debug("Recovery phrase copied using RN Clipboard");else{if(!navigator.clipboard)throw new Error("No clipboard API available");yield navigator.clipboard.writeText(n),t(a[13]).logger.debug("Recovery phrase copied using Web Clipboard API")}s(!0),setTimeout(function(){return s(!1)},2e3),t(a[13]).toast.show({title:e("messages.copied"),type:"success"})}catch(n){t(a[13]).logger.error("Failed to copy recovery phrase:",n),t(a[13]).toast.show({title:e("messages.failedToCopy"),type:"error"})}});return function(){return n.apply(this,arguments)}})();if(C)return(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$4",gap:"$4",children:[(0,p.jsx)(t(a[17]).Text,{color:"$error",text:"center",fontSize:"$5",fontWeight:"700",children:e("onboarding.recoveryPhrase.error.title")}),(0,p.jsx)(t(a[17]).Text,{color:"$textSecondary",text:"center",fontSize:"$4",children:C instanceof Error?C.message:e("onboarding.recoveryPhrase.error.unknown")}),(0,p.jsx)(t(a[17]).Button,{onPress:function(){return t(a[13]).navigation.goBack()},children:(0,p.jsx)(t(a[17]).XStack,{gap:"$2",items:"center",px:"$4",py:"$2",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"600",children:e("common.goBack")})})})]})});return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(t(a[17]).AccountCreationLoadingState,{visible:A,title:e("onboarding.recoveryPhrase.generating.title",{defaultValue:"Generating\nrecovery phrase"})}),!A&&(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[(0,p.jsx)(t(a[17]).ScrollView,{flex:1,showsVerticalScrollIndicator:!1,children:(0,p.jsxs)(t(a[17]).YStack,{px:"$4",pt:"$4",children:[(0,p.jsxs)(t(a[17]).YStack,{items:"center",mb:"$6",gap:"$2",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$8",fontWeight:"700",color:"$text",text:"center",lineHeight:"$8",children:e("onboarding.recoveryPhrase.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",text:"center",lineHeight:"$4",maxW:280,children:e("onboarding.recoveryPhrase.description")})]}),(0,p.jsx)(t(a[17]).YStack,{width:320,bg:"$bgGlass",rounded:"$4",pt:"$6",pb:"$6",px:"$4.5",mb:"$4",self:"center",position:"relative",children:f?(0,p.jsx)(t(a[17]).YStack,{gap:"$5",children:Array.from({length:6},function(e,n){return(0,p.jsxs)(t(a[17]).XStack,{gap:"$10",justify:"space-between",children:[N[2*n]&&(0,p.jsxs)(t(a[17]).XStack,{gap:"$2",items:"center",flex:1,children:[(0,p.jsx)(t(a[17]).YStack,{width:"$8",height:"$8",bg:"$bgGlass",rounded:"$2",items:"center",justify:"center",shrink:0,children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$5",color:"$text",children:2*n+1})}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$text",children:N[2*n]})]}),N[2*n+1]&&(0,p.jsxs)(t(a[17]).XStack,{gap:"$2",items:"center",flex:1,children:[(0,p.jsx)(t(a[17]).YStack,{width:"$8",height:"$8",bg:"$bgGlass",rounded:"$2",items:"center",justify:"center",shrink:0,children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$5",color:"$text",children:2*n+2})}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$text",children:N[2*n+1]})]})]},n)})}):(0,p.jsx)(t(a[17]).YStack,{height:340,items:"center",justify:"center",cursor:"pointer",onPress:function(){m(!0)},children:(0,p.jsxs)(t(a[17]).YStack,{items:"center",gap:"$3",children:[(0,p.jsx)(t(a[17]).View,{width:42,height:40,bg:"$bgGlass",rounded:"$2",items:"center",justify:"center",children:(0,p.jsx)(t(a[22]).RevealPhrase,{size:20,color:n.iconGlass.val})}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"500",color:"$text",text:"center",children:e("onboarding.recoveryPhrase.clickToReveal")})]})})}),(0,p.jsx)(t(a[17]).XStack,{justify:"center",mb:"$4",children:(0,p.jsx)(t(a[17]).Button,{variant:"ghost",onPress:E,children:(0,p.jsxs)(t(a[17]).XStack,{gap:"$3",items:"center",children:[(0,p.jsx)(t(a[22]).Copy,{size:24,color:n.primary.val}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"700",style:{color:n.primary.val},children:e(i?"messages.copied":"onboarding.recoveryPhrase.copy")})]})})}),(0,p.jsx)(t(a[17]).WarningCard,{icon:(0,p.jsx)(t(a[22]).Warning,{size:24,color:n.iconGlass.val}),title:e("onboarding.recoveryPhrase.warning.title"),description:e("onboarding.recoveryPhrase.warning.description")})]})}),(0,p.jsx)(t(a[17]).YStack,{px:"$4",pb:"$6",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,disabled:!f,onPress:function(){t(a[13]).navigation.navigate("ConfirmRecoveryPhrase",{recoveryPhrase:N,mnemonic:$,accountKey:null==T?void 0:T.accountKey,drivepath:null==T?void 0:T.drivepath,evmAddress:null==T?void 0:T.evmAddress})},children:e("onboarding.recoveryPhrase.next")})})]})})]})},i.SecureEnclaveScreen=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.navigation,r=(0,t(a[12]).useTranslation)().t,o=(0,t(a[17]).useTheme)(),i=(0,g.useState)(!1),s=(0,u.default)(i,2),c=s[0],l=s[1],f=(0,g.useState)(!1),m=(0,u.default)(f,2),h=m[0],v=m[1],y=(0,g.useState)(void 0),S=(0,u.default)(y,2),b=S[0],x=S[1];(0,g.useLayoutEffect)(function(){n&&"object"==typeof n&&"setOptions"in n&&(h&&n.setOptions({headerLeft:function(){return null},gestureEnabled:!1}))},[h,n]),(0,g.useEffect)(function(){if(n&&"object"==typeof n&&"addListener"in n&&h)return n.addListener("beforeRemove",function(e){e.preventDefault(),t(a[13]).logger.info("[SecureEnclaveScreen] Blocked back navigation during account creation")})},[h,n]);var T=(function(){var e=(0,d.default)(function*(){l(!1),v(!0),x(0);try{var e=(0,t(a[16]).generateRandomUsername)();t(a[13]).logger.info("[SecureEnclaveScreen] Registering secure type account with username:",e),x(10);var n=yield null==t(a[13]).bridge.registerSecureTypeAccount?void 0:t(a[13]).bridge.registerSecureTypeAccount(e);if(null==n||!n.success||null==n||!n.txId)throw new Error((null==n?void 0:n.error)||"Failed to register secure type account");t(a[13]).logger.info("[SecureEnclaveScreen] Registration initiated, monitoring transaction:",{txId:n.txId,username:n.username}),t(a[13]).logger.info("[SecureEnclaveScreen] Waiting for transaction to seal:",{txId:n.txId});var r=yield(0,t(a[19]).profileService)().waitForAccountCreationTx(n.txId,function(e){x(20+Math.floor(.5*e))});t(a[13]).logger.info("[SecureEnclaveScreen] Transaction sealed, address created:",{flowAddress:r}),x(80);var o=yield null==t(a[13]).bridge.initSecureEnclaveWallet?void 0:t(a[13]).bridge.initSecureEnclaveWallet(n.txId);if(null==o||!o.success)throw new Error((null==o?void 0:o.error)||"Failed to initialize wallet");t(a[13]).logger.info("[SecureEnclaveScreen] Secure type account created successfully:",{address:o.address||r,username:n.username,txId:n.txId}),x(100)}catch(e){t(a[13]).logger.error("[SecureEnclaveScreen] Failed to register secure type account:",e),v(!1)}});return function(){return e.apply(this,arguments)}})(),k=(function(){var e=(0,d.default)(function*(){if((v(!1),t(a[13]).bridge.checkNotificationPermission)&&(yield t(a[13]).bridge.checkNotificationPermission()))return t(a[13]).logger.debug("[SecureEnclaveScreen] Notification permission already granted, launching native backup screen"),void(t(a[13]).bridge.launchNativeScreen&&t(a[13]).bridge.launchNativeScreen(t(a[18]).NativeScreenName.BACKUP_OPTIONS));t(a[13]).navigation.navigate(t(a[18]).ScreenName.NOTIFICATION_PREFERENCES)});return function(){return e.apply(this,arguments)}})();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(t(a[17]).OnboardingBackground,{children:(0,p.jsxs)(t(a[17]).ScrollView,{flex:1,showsVerticalScrollIndicator:!1,children:[(0,p.jsxs)(t(a[17]).YStack,{px:"$4",pt:"$4",children:[(0,p.jsx)(t(a[17]).YStack,{mb:"$6",children:(0,p.jsx)(t(a[17]).Text,{fontSize:30,fontWeight:"700",color:"$text",textAlign:"center",lineHeight:36,children:r("onboarding.secureEnclave.title")})}),(0,p.jsx)(t(a[17]).YStack,{alignItems:"center",mb:"$8",children:(0,p.jsx)(t(a[17]).ShieldAnimation,{width:300,height:375,autoPlay:!0,loop:!0})}),(0,p.jsx)(t(a[17]).YStack,{items:"center",mb:"$8",children:(0,p.jsxs)(t(a[17]).YStack,{w:"100%",maxW:320,items:"center",gap:"$2",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$5",fontWeight:"700",color:"$text",text:"center",mb:"$2",children:r("onboarding.secureEnclave.cardTitle")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",text:"center",lineHeight:17,px:"$2",children:r("onboarding.secureEnclave.cardDescription")})]})}),(0,p.jsxs)(t(a[17]).YStack,{gap:"$2",items:"center",mb:"$6",children:[(0,p.jsxs)(t(a[17]).XStack,{gap:"$2",items:"center",children:[(0,p.jsx)(t(a[22]).SecureEnclave,{size:16,color:o.primary.val}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$primary",children:r("onboarding.secureEnclave.features.secureEnclave")})]}),(0,p.jsxs)(t(a[17]).XStack,{gap:"$2",items:"center",children:[(0,p.jsx)(t(a[22]).HardwareGradeSecurity,{size:16,color:o.primary.val}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$primary",children:r("onboarding.secureEnclave.features.hardwareSecurity")})]}),(0,p.jsxs)(t(a[17]).XStack,{gap:"$2",items:"center",children:[(0,p.jsx)(t(a[22]).ShieldOff,{size:16,color:o.error.val}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$error",children:r("onboarding.secureEnclave.features.noEvm")})]})]})]}),(0,p.jsx)(t(a[17]).YStack,{px:"$4",pb:"$6",children:(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",fullWidth:!0,onPress:function(){l(!0)},children:r("onboarding.secureEnclave.next")})})]})}),(0,p.jsx)(t(a[17]).InfoDialog,{visible:c,onClose:function(){return l(!1)},children:(0,p.jsxs)(t(a[17]).YStack,{gap:"$4",items:"center",children:[(0,p.jsx)(t(a[17]).View,{w:24,h:24,bg:o.primary.val,rounded:999,items:"center",justify:"center",children:(0,p.jsx)(t(a[17]).View,{p:"$2",children:(0,p.jsx)(t(a[22]).Shield,{size:22,color:o.color.val})})}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$5",fontWeight:"700",color:"$text",text:"center",children:r("onboarding.secureEnclave.dialog.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",color:"$text",text:"center",lineHeight:20,children:r("onboarding.secureEnclave.dialog.description")}),(0,p.jsx)(t(a[17]).HoldToSendButton,{onPress:T,holdToSendText:r("onboarding.secureEnclave.dialog.holdToConfirm")})]})}),(0,p.jsx)(t(a[17]).AccountCreationLoadingState,{visible:h,title:r("onboarding.secureEnclave.creating.title"),statusText:r("onboarding.secureEnclave.creating.configuring"),progress:b,onComplete:k})]})},i.SelectTokensScreen=function(){var e=(0,t(a[12]).useTranslation)().t,n=g.default.useState("Tokens"),r=(0,u.default)(n,2),o=r[0],i=r[1];b();var s=(0,t(a[15]).useSendStore)(),c=s.setFromAccount,l=s.setSelectedToken,f=s.setTransactionType,m=s.setCurrentStep,h=s.clearTransactionData,v=s.setSelectedCollection,y=[e("tabs.tokens"),e("tabs.nfts")],S="extension"===t(a[13]).bridge.getPlatform(),x=t(a[13]).bridge.getSelectedAddress(),T=g.default.useState(null),k=(0,u.default)(T,2),w=k[0],F=k[1],C=t(a[13]).bridge.getNetwork()||"mainnet",j=g.default.useCallback((0,d.default)(function*(){try{var e=yield t(a[13]).bridge.getSelectedAccount();F(e),c(e)}catch(e){t(a[13]).logger.error("Failed to load current account:",e)}}),[]);g.default.useEffect(function(){x&&j()},[x,j]);var N=(0,t(a[15]).useWalletStore)(t(a[15]).walletSelectors.getAllAccounts),$=(0,t(a[15]).useWalletStore)(function(e){return e.loadAccountsFromBridge}),A=(0,t(a[15]).useWalletStore)(function(e){return e.isLoading}),E=g.default.useMemo(function(){var e=t(a[13]).bridge.getDebugAddress(),n=(null==w?void 0:w.address)||"";return t(a[13]).logger.debug("SelectTokensScreen effectiveAddress calculated:",{debugAddress:e,currentAddress:n,willUse:e||n}),e&&((0,t(a[16]).validateEvmAddress)(e)||(0,t(a[16]).validateFlowAddress)(e))?e.trim():n},[null==w?void 0:w.address]),P=(0,t(a[14]).useQuery)(Object.assign({queryKey:t(a[15]).tokenQueryKeys.tokens(E,C),queryFn:function(){return t(a[13]).logger.debug("SelectTokensScreen fetching tokens for address:",E),t(a[15]).tokenQueries.fetchTokens(E,C)},enabled:!!E&&"Tokens"===o,staleTime:0,refetchOnWindowFocus:!0,refetchOnReconnect:!0},t(a[16]).retryConfigs.critical)),R=P.data,B=void 0===R?[]:R,I=P.isLoading,M=P.error,W=P.refetch,O=(0,t(a[14]).useQuery)(Object.assign({queryKey:t(a[15]).tokenQueryKeys.nfts(E,C),queryFn:function(){return t(a[13]).logger.debug("SelectTokensScreen fetching NFTs for address:",E),t(a[15]).tokenQueries.fetchNFTCollections(E,C)},enabled:!!E&&"NFTs"===o,staleTime:3e5,refetchOnWindowFocus:!0,refetchOnReconnect:!0},t(a[16]).retryConfigs.standard)),L=O.data,D=void 0===L?[]:L,Y=O.isLoading,z=O.error,V=O.refetch,Q=(0,t(a[14]).useQuery)(Object.assign({queryKey:t(a[15]).tokenQueryKeys.balance(E,C),queryFn:function(){return t(a[13]).logger.debug("SelectTokensScreen fetching balance for address:",E),t(a[15]).tokenQueries.fetchBalance(E,void 0,C)},enabled:!!E,staleTime:3e4,refetchOnWindowFocus:!0,refetchOnReconnect:!0,refetchInterval:6e4},t(a[16]).retryConfigs.critical)),_=Q.data,K=(Q.isLoading,(0,t(a[14]).useQuery)(Object.assign({queryKey:["batchBalances",N.map(function(e){return e.address})],queryFn:function(){return t(a[15]).tokenQueries.fetchBatchFlowBalances(N.map(function(e){return e.address}))},enabled:N.length>0,staleTime:3e4,refetchOnWindowFocus:!0,refetchOnReconnect:!0,refetchInterval:6e4},t(a[16]).retryConfigs.critical))),q=K.data,U=(K.isLoading,(0,t(a[14]).useQuery)({queryKey:t(a[15]).accessibleAssetQueryKeys.allowTypes((null==w?void 0:w.parentAddress)||"",(null==w?void 0:w.address)||"",C),queryFn:function(){return t(a[15]).accessibleAssetQueries.fetchChildAccountAllowTypes((null==w?void 0:w.parentAddress)||"",(null==w?void 0:w.address)||"",C)},enabled:"child"===(null==w?void 0:w.type)&&!(null==w||!w.parentAddress)&&!(null==w||!w.address),staleTime:3e5,refetchOnWindowFocus:!0,refetchOnReconnect:!0})),G=U.data,H=U.refetch,X="child"===(null==w?void 0:w.type)?G:null;g.default.useEffect(function(){m("select-tokens")},[m]),g.default.useEffect(function(){0!==N.length||A||$()},[$,N.length,A]);var Z=function(e){var n=N.find(function(e){var t,n;return(null==(t=e.address)?void 0:t.toLowerCase())===(null==w||null==(n=w.address)?void 0:n.toLowerCase())});l(e),n&&c(n),f("tokens"),m("send-to"),t(a[13]).navigation.navigate(t(a[18]).ScreenName.SEND_TO)},J=function(e){if(v(e),w)c(w);else{var n=N.find(function(e){var t;return(null==(t=e.address)?void 0:t.toLowerCase())===(null==x?void 0:x.toLowerCase())});n&&c(n)}f("multiple-nfts"),t(a[13]).navigation.navigate(t(a[18]).ScreenName.NFT_LIST,{collection:e,address:E})},ee=(0,g.useCallback)(function(){W(),H()},[W,H]),te=(0,g.useCallback)(function(){V(),H()},[V,H]),ne=(0,g.useCallback)(function(){W(),V(),H()},[W,V,H]),re=B.filter(function(e){var t=parseFloat(e.displayBalance||e.balance||"0"),n=parseFloat(e.availableBalanceToUse||"0");return t>0||n>0}),oe=g.default.useMemo(function(){if(!q)return new Map;var e=new Map;return q.forEach(function(t){var n=(0,u.default)(t,2),r=n[0],o=n[1];e.set(r,o)}),e},[q]),ie=g.default.useMemo(function(){return N.map(function(e){return Object.assign({},e,{balance:oe.get(e.address)||e.balance||"0 FLOW"})})},[N,oe]);return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:[S&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:e("send.title"),help:!1,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[!S&&w&&(0,p.jsx)(t(a[17]).YStack,{bg:"$bg1",rounded:"$4",p:16,gap:12,children:(0,p.jsx)(t(a[17]).AccountSelector,{currentAccount:Object.assign({},w,{balance:(null==_?void 0:_.balance)||w.balance||"0 FLOW"}),accounts:ie,onAccountSelect:function(e){F(e),c(e),h(),ne()},title:e("send.fromAccount"),showEditButton:N.length>1})}),(0,p.jsx)(t(a[17]).YStack,{my:"$4",children:(0,p.jsx)(t(a[17]).SegmentedControl,{segments:y,value:"Tokens"===o?y[0]:y[1],onChange:function(e){return(t=e===y[0]?"Tokens":"NFTs")!==o&&h(),void i(t);var t}})}),(0,p.jsxs)(t(a[17]).ScrollView,{flex:1,showsVerticalScrollIndicator:!1,children:["Tokens"===o&&(0,p.jsx)(t(a[17]).YStack,{gap:"$4",children:I?(0,p.jsx)(p.Fragment,{children:[1,2,3,4,5].map(function(e){return(0,p.jsx)(t(a[17]).YStack,{p:"$3",height:72,children:(0,p.jsxs)(t(a[17]).XStack,{items:"center",gap:"$3",children:[(0,p.jsx)(t(a[17]).Skeleton,{width:"$12",height:"$12",borderRadius:"$6"}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,gap:"$2",children:[(0,p.jsx)(t(a[17]).Skeleton,{height:"$3",width:"60%"}),(0,p.jsx)(t(a[17]).Skeleton,{height:"$2",width:"40%"})]}),(0,p.jsxs)(t(a[17]).YStack,{items:"flex-end",gap:"$2",children:[(0,p.jsx)(t(a[17]).Skeleton,{height:"$3",width:"$20"}),(0,p.jsx)(t(a[17]).Skeleton,{height:"$2",width:"$18"})]})]})},`token-skeleton-${e}`)})}):M?(0,p.jsx)(t(a[17]).RefreshView,{type:"error",message:M.message||e("errors.failedToLoadTokens"),onRefresh:ee,refreshText:e("buttons.retry")}):0===re.length?(0,p.jsx)(t(a[17]).RefreshView,{type:"empty",message:e("messages.noTokensWithBalance"),onRefresh:ee,refreshText:e("buttons.refresh")}):(0,p.jsx)(t(a[17]).YStack,{gap:"$2",children:re.map(function(n,r){return(0,p.jsxs)(g.default.Fragment,{children:[(0,p.jsx)(t(a[17]).TokenCard,{token:n,currency:t(a[13]).bridge.getCurrency(),isVerified:n.isVerified,onPress:function(){return Z(n)},isAccessible:t(a[15]).accessibleAssetHelpers.isTokenAllowed(n,X),inaccessibleText:e("send.inaccessible")}),r0&&void 0!==arguments[0]?arguments[0]:{},s=i.assets,c=(0,t(a[12]).useTranslation)().t,l="extension"===t(a[13]).bridge.getPlatform(),f=t(a[13]).bridge.getNetwork()||"mainnet",m=(0,g.useState)(!1),h=(0,u.default)(m,2),v=h[0],y=h[1],S=(0,g.useState)(!0),b=(0,u.default)(S,2),x=b[0],T=b[1],k=(0,g.useState)(!1),w=(0,u.default)(k,2),F=w[0],C=w[1],j=(0,t(a[15]).useSendStore)(t(a[15]).sendSelectors.selectedNFTs),N=(0,t(a[15]).useSendStore)(t(a[15]).sendSelectors.fromAccount),$=(0,t(a[15]).useSendStore)(t(a[15]).sendSelectors.toAccount),A=(0,t(a[15]).useSendStore)(t(a[15]).sendSelectors.isLoading),E=(0,t(a[15]).useSendStore)(function(e){return e.setCurrentStep}),P=(0,t(a[15]).useSendStore)(function(e){return e.setSelectedNFTs}),R=(0,t(a[15]).useSendStore)(function(e){return e.executeTransaction}),B=(0,t(a[15]).useSendStore)(function(e){return e.getNFTQuantity}),I=(0,t(a[15]).useSendStore)(function(e){return e.selectedCollection}),M=(0,t(a[15]).useSendStore)(function(e){return e.setNFTQuantity}),W=j&&j.length>1,O=j&&1===j.length,L=(null==j?void 0:j[0])||null,D=(0,g.useState)(function(){if(L&&"ERC1155"===L.contractType){var e=L.id||"";return B(e)}return 1}),Y=(0,u.default)(D,2),z=Y[0],V=Y[1],Q="ERC1155"===(null==L?void 0:L.contractType),_="number"==typeof(null==L?void 0:L.amount)?L.amount:parseInt(null==L?void 0:L.amount)||1,K=(0,g.useMemo)(function(){return c(W?"send.sendNFTs":Q?"send.sendSNFTs":"send.sendNFTs")},[W,Q,c]);(0,g.useEffect)(function(){E("send-nft")},[E]),(0,g.useEffect)(function(){var e=(function(){var e=(0,d.default)(function*(){try{var e=yield null==t(a[13]).bridge.isFreeGasEnabled?void 0:t(a[13]).bridge.isFreeGasEnabled();T(null==e||e)}catch(e){T(!0)}});return function(){return e.apply(this,arguments)}})();e()},[]);var q=(0,g.useMemo)(function(){return Object.assign({},L,{id:(null==L?void 0:L.id)||"",name:(null==L?void 0:L.name)||c("nft.untitled"),thumbnail:L?(0,t(a[16]).getNFTCover)(L):"",collection:(null==L?void 0:L.collectionName)||c("nft.unknownCollection"),collectionContractName:null==L?void 0:L.collectionContractName,description:(null==L?void 0:L.description)||"",type:(null==L?void 0:L.type)||"flow",contractType:null==L?void 0:L.contractType,amount:_.toString()})},[L,_]),U=(0,g.useMemo)(function(){return(null==j?void 0:j.map(function(e){return Object.assign({},e,{id:e.id||"",name:e.name||c("nft.untitled"),thumbnail:(0,t(a[16]).getNFTCover)(e),collection:e.collectionName||c("nft.unknownCollection"),collectionContractName:e.collectionContractName,description:e.description||"",type:e.type||"flow"})}))||[]},[j]),G=(0,t(a[14]).useQuery)({queryKey:t(a[15]).storageQueryKeys.accountInfo(N||null),queryFn:function(){return t(a[15]).storageQueries.fetchAccountInfo(N||null)},enabled:!(null==N||!N.address)&&"main"===(null==N?void 0:N.type),staleTime:0}).data,H=null==j||null==(e=j[0])?void 0:e.flowIdentifier,X=(0,t(a[14]).useQuery)({queryKey:t(a[15]).storageQueryKeys.resourceCheck((null==$?void 0:$.address)||"",H||""),queryFn:function(){return t(a[15]).storageQueries.checkResourceCompatibility((null==$?void 0:$.address)||"",H||"")},enabled:!(null==$||!$.address||!H),staleTime:3e5}).data,Z=!(void 0===X||X),J=(0,t(a[14]).useQuery)({queryKey:t(a[15]).payerStatusQueryKeys.payerStatus(f),queryFn:function(){return t(a[15]).payerStatusQueries.fetchPayerStatus(f)},staleTime:0,enabled:!0,retry:t(a[16]).retryConfigs.critical.retry,retryDelay:t(a[16]).retryConfigs.critical.retryDelay}),ee=J.data,te=void 0===ee?null:ee,ne=(J.isLoading,J.error,Boolean(null==te||null==(n=te.surge)?void 0:n.active)),re=(null==te||null==(r=te.surge)?void 0:r.multiplier)||1,oe=(0,g.useMemo)(function(){var e=Number(re);return Number.isNaN(e)?"1":e.toFixed(2).replace(/\.?0+$/,"")},[re]),ie=(0,g.useMemo)(function(){var e,t=null==te||null==(e=te.surge)?void 0:e.maxFee;if(!t)return"~0.001 FLOW";var n=t<.01?4:t<.1?3:2;return`~${t.toFixed(n)} FLOW`},[null==te||null==(o=te.surge)?void 0:o.maxFee]),ae=!1,se=(0,g.useMemo)(function(){return N&&"main"===N.type&&G?t(a[15]).storageUtils.validateOtherTransaction(G,ae):{canProceed:!0,showWarning:!1,warningType:null}},[N,G,ae]),ce=se.showWarning,le=(0,g.useMemo)(function(){return c(t(a[15]).storageUtils.getStorageWarningMessageKey(se.warningType))},[se.warningType,c]),de=!j||0===j.length||!N||!$||A||!se.canProceed||Z,ue={tokenAmount:W?j.length.toString():Q?z.toString():"1",fiatAmount:"0.00",isTokenMode:!0,transactionFee:ie},ge=(0,g.useCallback)(function(){var e=t(a[15]).useSendStore.getState().selectedNFTs,n=(null==e?void 0:e[0])||null;if(t(a[16]).logger.debug("[SendSummaryScreen] Edit NFT pressed:",{currentSelectedNFT:n?{id:n.id,collectionName:n.collectionName,collectionContractName:n.collectionContractName,flowIdentifier:n.flowIdentifier,evmAddress:n.evmAddress,address:n.address}:null,fromAccount:null==N?void 0:N.address}),n&&N){var r=t(a[15]).useTokenQueryStore.getState(),o=[N.address];N.evmAddress&&o.push(N.evmAddress);var i=null;for(var s of o){var c=r.getNFTCollectionsForAddress(s);if(t(a[16]).logger.debug("[SendSummaryScreen] Searching for collection:",{address:s,collectionsFound:(null==c?void 0:c.length)||0}),c&&(i=c.find(function(e){var r=!1;return"flow"===e.type?r=e.flowIdentifier===n.flowIdentifier:"evm"===e.type&&(r=e.evmAddress===n.evmAddress),r&&t(a[16]).logger.debug("[SendSummaryScreen] Found matching collection:",{collectionName:e.name,collectionId:e.id,collectionType:e.type}),r})))break}if(i){(0,t(a[15]).useSendStore.getState().setSelectedCollection)(i)}else{t(a[16]).logger.warn("[SendSummaryScreen] No matching collection found, creating fallback");var l={id:n.collectionContractName||n.contractName||"",name:n.collectionName||"Unknown Collection",contractName:n.collectionContractName||n.contractName||"",address:n.contractAddress||n.address||"",evmAddress:n.evmAddress,flowIdentifier:n.flowIdentifier,path:null,nfts:[]};(0,t(a[15]).useSendStore.getState().setSelectedCollection)(l)}}t(a[13]).navigation.navigate(t(a[18]).ScreenName.NFT_LIST)},[N]),fe=(0,g.useCallback)(function(){t(a[13]).navigation.navigate(t(a[18]).ScreenName.SEND_TO)},[]),pe=(0,g.useCallback)(function(e){if(j){var n=j.filter(function(n){return(0,t(a[16]).getNFTId)(n)!==e});P(n),0===n.length&&t(a[13]).navigation.navigate(t(a[18]).ScreenName.NFT_LIST)}},[j,P]),me=(0,g.useCallback)(function(){Q?t(a[16]).logger.info("[SendSummaryScreen] Sending ERC1155 NFT with quantity:",{quantity:z,maxQuantity:_,nftId:null==L?void 0:L.id}):W?t(a[16]).logger.info("[SendSummaryScreen] Sending multiple NFTs:",{count:j.length}):t(a[16]).logger.info("[SendSummaryScreen] Sending single NFT"),ne?C(!0):y(!0)},[Q,z,_,L,W,j,ne]),he=(0,g.useCallback)(function(){C(!1)},[]),ve=(0,g.useCallback)(function(){C(!1),y(!0)},[]),ye=(0,g.useCallback)(function(){y(!1)},[]),Se=(0,g.useCallback)((0,d.default)(function*(){try{var e=yield R(),n=e&&"object"==typeof e&&"directEvm"in e&&!0===e.directEvm,r=n&&e&&"object"==typeof e&&"result"in e?e.result:e,o=t(a[13]).bridge.getPlatform();!r||o!==t(a[18]).Platform.iOS&&o!==t(a[18]).Platform.Android||t(a[13]).bridge.closeRN(),r&&n&&l&&t(a[13]).navigation.navigate("");var i=t(a[15]).useTokenQueryStore.getState();if(I&&N&&r){var s=t(a[13]).bridge.getNetwork(),d=N.address;i.invalidateNFTCollection(d,I,s)}}catch(e){t(a[16]).logger.error("[SendSummaryScreen] Transaction failed:",e),(0,t(a[16]).showError)(e,t(a[13]).bridge,c("send.failed"))}}),[R,I,N,l,t(a[13]).navigation]);if(!j||0===j.length)return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",px:"$6",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$6",fontWeight:"600",color:"$color",mb:"$3",text:"center",children:c("nft.notFound.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",color:"$textSecondary",text:"center",children:c("send.noNFTSelected")})]})});return(0,p.jsx)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[l&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:c("send.title"),help:!0,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsx)(t(a[17]).YStack,{flex:1,children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,gap:"$3",children:[(0,p.jsxs)(t(a[17]).YStack,{gap:"$1",bg:"$bg1",rounded:"$4",p:"$4",children:[N&&(0,p.jsx)(t(a[17]).AccountCard,{isSendTokensScreen:!l,account:(0,t(a[16]).transformAccountForCard)(N),title:c("send.fromAccount"),isLoading:!1}),(0,p.jsx)(t(a[17]).Separator,{mx:"$0",mt:"$4",mb:"$2",borderColor:"$border1",borderWidth:.5}),(0,p.jsx)(t(a[17]).SendSectionHeader,{title:K,onEditPress:ge,showEditButton:!0,editButtonText:c("send.change")}),(0,p.jsx)(t(a[17]).View,{mt:-8,mb:-8,children:W?(0,p.jsx)(t(a[17]).MultipleNFTsPreview,{nfts:U,onRemoveNFT:pe,maxVisibleThumbnails:3,expandable:!0,thumbnailSize:90,backgroundColor:"transparent",borderRadius:14.4,contentPadding:"$0",unnamedNFTText:c("nft.untitled"),unknownCollectionText:c("nft.unknownCollection"),noNFTsSelectedText:c("nft.noNFTsSelected")}):(0,p.jsx)(t(a[17]).NFTSendPreview,{nft:q,onEditPress:ge,showEditButton:!1,sectionTitle:"",backgroundColor:"transparent",borderRadius:0,contentPadding:"$0",imageSize:76})}),O&&Q&&(0,p.jsx)(t(a[17]).YStack,{gap:"$2",mb:"$3",children:(0,p.jsx)(t(a[17]).ERC1155QuantitySelector,{quantity:z,maxQuantity:_,onQuantityChange:function(e){t(a[16]).logger.info("[SendSummaryScreen] ERC1155 quantity changed:",{from:z,to:e,maxQuantity:_}),V(e),null!=L&&L.id&&M(L.id,e)},disabled:!1})})]}),(0,p.jsx)(t(a[17]).XStack,{position:"relative",height:0,children:(0,p.jsx)(t(a[17]).XStack,{width:"100%",position:"absolute",t:-30,justify:"center",z:10,children:(0,p.jsx)(t(a[17]).SendArrowDivider,{variant:"arrow",size:48})})}),$&&(0,p.jsx)(t(a[17]).YStack,{mt:"$1",children:(0,p.jsx)(t(a[17]).ToAccountSection,{account:$,title:c("send.toAccount"),isAccountIncompatible:Z,onEditPress:fe,showEditButton:!0,isLinked:"child"===$.type||!!$.parentAddress,incompatibleAccountText:c("account.compatibility.incompatible"),learnMoreText:c("account.compatibility.learnMore"),unknownAccountText:c("account.compatibility.unknown"),dialogTitle:c("account.compatibility.dialog.title"),dialogButtonText:c("account.compatibility.dialog.button"),dialogDescriptionMain:c("account.compatibility.dialog.descriptionMain"),dialogDescriptionSecondary:c("account.compatibility.dialog.descriptionSecondary")})}),(0,p.jsxs)(t(a[17]).YStack,{gap:"$3",mt:-16,children:[ne?(0,p.jsx)(t(a[17]).SurgeFeeConfirmationSection,{transactionFee:ie,surgeMultiplier:re,transactionFeeLabel:c("surge.modal.transactionFee"),surgeTitle:c("surge.modal.surgeActive"),description:c("surge.modal.description",{multiplier:oe})}):(0,p.jsx)(t(a[17]).TransactionFeeSection,{flowFee:ie,usdFee:"$0.02",isFree:x,showCovered:x,title:c("send.transactionFee"),backgroundColor:"transparent",borderRadius:16,contentPadding:0}),ce&&(0,p.jsx)(t(a[17]).StorageWarning,{message:le,showIcon:!0,title:c("storage.warning.title"),visible:!0})]})]})}),(0,p.jsx)(t(a[17]).YStack,{pt:"$4",mb:"$10",children:(0,p.jsx)(t(a[17]).YStack,{width:"100%",height:52,bg:de?"#6b7280":ne?"$warning":"$text",rounded:16,items:"center",justify:"center",borderWidth:1,borderColor:de?"$textMuted":"$text",opacity:de?.7:1,pressStyle:{opacity:.9},onPress:de?void 0:me,cursor:de?"not-allowed":"pointer",children:(0,p.jsx)(t(a[17]).Text,{"data-testid":"next",fontSize:"$4",fontWeight:"600",color:"$bg",children:c("common.next")})})}),(0,p.jsx)(t(a[17]).ConfirmationDrawer,{visible:v,transactionType:W?"multiple-nfts":"single-nft",selectedToken:null,sendStaticImage:null==s?void 0:s.sendStaticImage,selectedNFTs:W?U:L?[{id:L.id||"",name:L.name||c("nft.untitled"),thumbnail:L.thumbnail||"",collection:L.collectionName||c("nft.unknownCollection"),collectionContractName:L.collectionContractName||L.contractName||"",description:L.description||"",contractType:L.contractType,amount:_,selectedQuantity:Q?z:void 0}]:void 0,fromAccount:(0,t(a[16]).transformAccountForDisplay)(N),toAccount:(0,t(a[16]).transformAccountForDisplay)($),formData:ue,onConfirm:Se,onClose:ye,isExtension:l,summaryText:c("send.summary"),sendNFTsText:c("send.sendNFTs"),sendSNFTsText:c("send.sendSNFTs"),sendingText:c("send.sending"),confirmSendText:c("send.confirmSend"),holdToSendText:c("send.holdToSend"),unknownAccountText:c("send.unknownAccount")}),(0,p.jsx)(t(a[17]).SurgeModal,{visible:F,transactionFee:ie,multiplier:oe,title:c("surge.modal.title"),transactionFeeLabel:c("surge.modal.transactionFee"),surgeActiveText:c("surge.modal.surgeActive"),description:c("surge.modal.description",{multiplier:oe}),holdToAgreeText:c("surge.modal.holdToAgree"),onClose:he,onAgree:ve,isLoading:A})]})})},i.SendToScreen=function(){var e="extension"===t(a[13]).bridge.getPlatform(),n=(0,t(a[12]).useTranslation)().t,r=[{type:"accounts",title:n("send.myAccounts")},{type:"recent",title:n("send.recent")},{type:"contacts",title:n("send.addressBook")}],o=(0,t(a[15]).useSendStore)(),i=o.setToAccount,s=o.setFromAccount,c=o.fromAccount,l=(0,g.useState)(""),f=(0,u.default)(l,2),m=f[0],h=f[1],v=(0,g.useState)("accounts"),y=(0,u.default)(v,2),S=y[0],b=y[1],x=(0,g.useState)(null),T=(0,u.default)(x,2),k=T[0],w=T[1],F=(0,g.useState)(null),C=(0,u.default)(F,2),j=C[0],N=C[1],$=(0,g.useState)(!1),A=(0,u.default)($,2),E=A[0],P=A[1],R=(0,g.useState)(null),B=(0,u.default)(R,2),I=B[0],M=B[1],W=(0,g.useState)(!1),O=(0,u.default)(W,2),L=O[0],D=O[1],Y=(0,g.useState)(null),z=(0,u.default)(Y,2),V=z[0],Q=z[1],_=(0,g.useState)(!1),K=(0,u.default)(_,2),q=K[0],U=K[1],G=(0,g.useState)(""),H=(0,u.default)(G,2),X=H[0],Z=H[1],J=(0,g.useState)(!1),ee=(0,u.default)(J,2),te=ee[0],ne=ee[1],re=(0,g.useState)(""),oe=(0,u.default)(re,2),ie=oe[0],ae=oe[1],se=(0,g.useMemo)(function(){var e,t,n,r;if(!V)return"?";var o=null==(e=V.name)||null==(e=e.trim())?void 0:e[0];if(o)return o.toUpperCase();var i=null==(t=V.address)?void 0:t.replace(/^0x/,"");return null!=(n=null==i||null==(r=i[0])?void 0:r.toUpperCase())?n:"?"},[V]),ce=(0,t(a[15]).useSendStore)(function(e){return e.transactionType}),le=(0,t(a[15]).useSendStore)(function(e){return e.setCurrentStep});(0,g.useEffect)(function(){le("send-to")},[le]);var de=(0,t(a[15]).useAllProfiles)(),ue=(0,t(a[15]).useProfileStore)(function(e){return e.loadProfilesFromBridge}),ge=(0,t(a[15]).useAddressBookStore)(),fe=(0,t(a[15]).useProfileStore)(function(e){return e.isLoading}),pe=(0,t(a[15]).useProfileStore)(function(e){return e.error}),me=(0,g.useRef)(!1),he=t(a[13]).bridge.getSelectedAddress()||"",ve=(null==c?void 0:c.address)||he,ye=t(a[13]).bridge.getNetwork()||"mainnet";(0,g.useEffect)(function(){me.current||fe||pe||(me.current=!0,ue())},[fe,ue,pe]);var Se=(0,t(a[14]).useQuery)({queryKey:t(a[15]).addressBookQueryKeys.currentUserUid(),queryFn:function(){return ge.fetchCurrentUserUid()},staleTime:0,gcTime:0,refetchOnMount:"always",refetchOnReconnect:!0,refetchOnWindowFocus:!0}),be=Se.data,xe=Se.isLoading,Te=Se.error,ke=!xe&&!Te,we=null!=be?be:null,Fe=(0,t(a[14]).useQuery)({queryKey:t(a[15]).addressBookQueryKeys.recent(we),queryFn:function(){return ge.fetchRecent()},staleTime:0,gcTime:0,enabled:ke,refetchOnMount:"always",refetchOnReconnect:!0,refetchOnWindowFocus:!0}),Ce=Fe.data,je=void 0===Ce?[]:Ce,Ne=Fe.isLoading,$e=Fe.refetch,Ae=(0,t(a[14]).useQuery)({queryKey:t(a[15]).addressBookQueryKeys.contacts(we),queryFn:function(){return ge.fetchContacts()},staleTime:0,gcTime:0,enabled:ke,refetchOnMount:"always",refetchOnReconnect:!0,refetchOnWindowFocus:!0}),Ee=Ae.data,Pe=void 0===Ee?[]:Ee,Re=Ae.isLoading,Be=Ae.isFetching,Ie=Ae.error,Me=Ae.refetch,We=(0,g.useCallback)(function(){Promise.all([Me(),$e()])},[Me,$e]),Oe=(0,g.useMemo)(function(){return de.flatMap(function(e){return e.accounts.map(function(e){return e.address})})},[de]),Le=(0,t(a[14]).useQuery)(Object.assign({queryKey:["batchBalances",Oe],queryFn:function(){return t(a[15]).tokenQueries.fetchBatchFlowBalances(Oe)},enabled:Oe.length>0,staleTime:3e4,refetchOnWindowFocus:!0,refetchOnReconnect:!0,refetchInterval:6e4},t(a[16]).retryConfigs.critical)).data,De=void 0===Le?[]:Le,Ye=(0,t(a[14]).useQuery)({queryKey:["batchNFTCounts",Oe,ye],queryFn:function(){return t(a[15]).tokenQueries.fetchBatchNFTCounts(Oe,ye)},enabled:Oe.length>0,staleTime:3e5,refetchOnWindowFocus:!0,refetchOnReconnect:!0,refetchInterval:3e5}).data,ze=void 0===Ye?[]:Ye,Ve=(0,t(a[14]).useQuery)(Object.assign({queryKey:t(a[15]).tokenQueryKeys.balance(ve,ye),queryFn:function(){return t(a[15]).tokenQueries.fetchBalance(ve,void 0,ye)},enabled:!(null==c||!c.address),staleTime:3e4,refetchOnWindowFocus:!0,refetchOnReconnect:!0,refetchInterval:6e4},t(a[16]).retryConfigs.critical)).data,Qe=(0,g.useMemo)(function(){var e={},t=new Map;De.forEach(function(e){var n=(0,u.default)(e,2),r=n[0],o=n[1];t.set(r,o)});var n=new Map;return ze.forEach(function(e){var t=(0,u.default)(e,2),r=t[0],o=t[1];n.set(r,o)}),Oe.forEach(function(r){var o=t.get(r)||"0 FLOW",i=n.get(r)||0;e[r]={balance:o,nftCount:`${i}`}}),e},[De,ze,Oe]),_e=(0,g.useCallback)(function(e,t){if(!m||!m.trim())return!0;var n=m.toLowerCase().trim();return e.toLowerCase().includes(n)||t.toLowerCase().includes(n)},[m]),Ke=(0,g.useMemo)(function(){return je.map(function(e){return{id:e.id,name:e.name,address:e.address,avatar:e.avatar,type:"recent",emojiInfo:null,parentEmojiInfo:null}}).filter(function(e){return _e(e.name,e.address)})},[je,_e]),qe=(0,g.useMemo)(function(){return Pe.map(function(e){return{id:e.id,name:e.name,address:e.address,avatar:e.avatar,type:"contact",emojiInfo:null,parentEmojiInfo:null}}).filter(function(e){return _e(e.name,e.address)})},[Pe,Re,Ie,_e]),Ue=(0,g.useMemo)(function(){if(Ie)return Ie instanceof Error?Ie.message:String(Ie)},[Ie]),Ge=(0,g.useMemo)(function(){return new Set(Pe.map(function(e){var t;return null==(t=e.address)?void 0:t.toLowerCase()}))},[Pe]),He=(0,g.useCallback)(function(e){return Ge.has(null==e?void 0:e.toLowerCase())},[Ge]),Xe=(0,g.useCallback)(function(e){if(!("evm"===e.type||(0,t(a[16]).isCOAAddress)(e.address)))return!1;var n=(e.balance||"0").match(/^([\d,.]+)/),r=n?parseFloat(n[1].replace(/,/g,"")):0,o=parseInt(e.nfts||"0",10);return 0===r&&0===o},[]),Ze=(0,g.useMemo)(function(){return de.map(function(e){return Object.assign({},e,{accounts:e.accounts.map(function(e){var t=Qe[e.address],n=parseInt((null==t?void 0:t.nftCount)||"0",10);return Object.assign({},e,{balance:(null==t?void 0:t.balance)||"0 FLOW",nfts:`${n}`})}).filter(function(e){return!!_e(e.name||"",e.address)&&!Xe(e)})})}).filter(function(e){return e.accounts.length>0})},[de,Qe,_e,Xe]),Je=(0,g.useMemo)(function(){return de.flatMap(function(e){return e.accounts})},[de]),et=(0,g.useCallback)(function(e){var t=e.toLowerCase(),n=Je.some(function(e){return e.address.toLowerCase()===t}),r=je.some(function(e){return e.address.toLowerCase()===t}),o=Pe.some(function(e){return e.address.toLowerCase()===t});return!n&&!r&&!o},[Je,je,Pe]),tt=(0,g.useMemo)(function(){switch(S){case"recent":return Ke;case"contacts":return qe;default:return[]}},[S,Ke,qe]),nt=(0,g.useMemo)(function(){switch(S){case"accounts":return fe;case"recent":return Ne;case"contacts":return Re;default:return!1}},[S,fe,Ne,Re]),rt=(0,g.useCallback)(function(e){var t;return(null==(t=r.find(function(t){return t.type===e}))?void 0:t.title)||""},[r]),ot=(0,g.useCallback)(function(e){var t;return(null==(t=r.find(function(t){return t.title===e}))?void 0:t.type)||"accounts"},[r]),it=r.map(function(e){return e.title}),at=(0,g.useCallback)(function(e){var t=ot(e);b(t)},[ot]),st=(0,g.useCallback)((function(){var e=(0,d.default)(function*(e){var n,r;e.isEVM?r="evm":e.isLinked?r="child":"account"===e.type&&(r="main"),t(a[16]).logger.debug("fromAccount selected",c,Ve);var o=null==(n=e.emojiInfo)?void 0:n.emoji,l=o&&!o.startsWith("http")&&o.length<=4;if(i({id:e.id,name:e.name,address:e.address,avatar:l?void 0:e.avatar||"",emojiInfo:l?e.emojiInfo:void 0,parentEmoji:e.parentEmojiInfo,parentAddress:e.isLinked?e.address:void 0,isActive:!1,type:r}),c&&s(Object.assign({},c,{balance:(null==Ve?void 0:Ve.displayBalance)||"0 FLOW",nfts:null!=Ve&&Ve.nftCount?`${Ve.nftCount} NFTs`:"0 NFTs"})),"accounts"!==S)try{var d,u=t(a[19]).RecentRecipientsService.getInstance();yield u.addRecentRecipient({id:e.id,name:e.name,address:e.address,emoji:null==(d=e.emojiInfo)?void 0:d.emoji,avatar:e.avatar})}catch(e){console.warn("Failed to add recent recipient:",e),(0,t(a[16]).showError)(e,t(a[13]).bridge)}"single-nft"===ce||"multiple-nfts"===ce?t(a[13]).navigation.navigate(t(a[18]).ScreenName.SEND_SUMMARY,{address:e.address,recipient:e}):t(a[13]).navigation.navigate(t(a[18]).ScreenName.SEND_TOKENS,{address:e.address,recipient:e})});return function(t){return e.apply(this,arguments)}})(),[i,S,ce,c,Ve]),ct=(0,g.useCallback)((0,d.default)(function*(){I&&(yield st(I)),P(!1),M(null)}),[I,st]),lt=(0,g.useCallback)(function(){P(!1),M(null)},[]),dt=(0,g.useCallback)((function(){var e=(0,d.default)(function*(e){et(e.address)?(M(e),P(!0)):yield st(e)});return function(t){return e.apply(this,arguments)}})(),[et,st]),ut=(0,g.useCallback)(function(e){if(h(e),e&&e.trim()){var r=e.trim(),o=(0,t(a[16]).isValidFlowAddress)(r),i=(0,t(a[16]).isValidEthereumAddress)(r);if(o||i){var s=setTimeout(function(){var e,t,o,a,s,c,l,d=void 0;for(var u of de)if(d=u.accounts.find(function(e){return e.address.toLowerCase()===r.toLowerCase()||e.address===r}))break;var g={id:r,name:(null==(e=d)?void 0:e.name)||n("send.unknownAccount"),address:r,avatar:null!=(t=d)&&t.emojiInfo||null==(o=d)?void 0:o.avatar,emojiInfo:null==(a=d)?void 0:a.emojiInfo,parentEmojiInfo:(null==(s=d)?void 0:s.parentEmoji)||null,type:"account",isSelected:!1,isLinked:!!(null!=(c=d)&&c.parentAddress||"child"===(null==(l=d)?void 0:l.type)),isEVM:i,balance:"",showBalance:!1};dt(g)},300);return function(){return clearTimeout(s)}}}},[de,dt]),gt=(0,g.useCallback)((0,d.default)(function*(){try{var e=yield t(a[13]).bridge.scanQRCode();e&&ut(e)}catch(e){"SCAN_CANCELLED"!==e.code&&alert(`${n("common.error")}: ${n("errors.networkError")}`),(0,t(a[16]).showError)(e,t(a[13]).bridge)}}),[ut,n]),ft=(0,g.useCallback)(function(e){},[]),pt=(0,g.useCallback)((function(){var e=(0,d.default)(function*(e){try{if((0,t(a[16]).isCOAAddress)(e.address))return ae(e.address),void ne(!0);if("extension"!==t(a[13]).bridge.getPlatform()&&"undefined"==typeof window){var n=globalThis.clipboard;null!=n&&n.setString&&n.setString(e.address)}else navigator.clipboard&&(yield navigator.clipboard.writeText(e.address));w(`${e.name}::${e.address}`),N(e.id),setTimeout(function(){w(null),N(null)},1e3)}catch(e){t(a[16]).logger.error("Failed to copy address:",e),(0,t(a[16]).showError)(e,t(a[13]).bridge)}});return function(t){return e.apply(this,arguments)}})(),[n,t(a[13]).bridge]),mt=(0,g.useCallback)(function(e){t(a[16]).logger.debug("[SendToScreen] Adding recipient to address book:",e),Q(e),D(!0),Z(e.name||"")},[He]),ht=(0,g.useCallback)(function(){D(!1),Q(null),U(!1),Z("")},[]),vt=(0,g.useCallback)((0,d.default)(function*(){if(V&&!q)try{U(!0);var e=X.trim()||V.name||V.address;yield t(a[20]).AddressbookService.external({contactName:e,address:V.address,domain:"",domainType:0}),yield Me(),t(a[13]).toast.show({title:n("messages.addressBookAdded"),type:"success"})}catch(e){t(a[16]).logger.error("Failed to add to address book:",e),t(a[13]).toast.show({title:n("messages.failedToAddToAddressBook"),type:"error"})}finally{U(!1),D(!1),Q(null),Z("")}}),[V,q,X,Me]),yt=(0,g.useCallback)(function(e){return!(null==e||!e.address)&&("contact"!==e.type&&!He(e.address))},[He]),St=(function(){if(m&&m.trim())return{title:n("send.noSearchResults.title","No Results"),message:n("send.noSearchResults.message",`No accounts or contacts match "${m}"`)};switch(S){case"accounts":return{title:n("send.noAccounts.title"),message:n("send.noAccounts.message")};case"recent":return{title:n("send.noRecent.title"),message:n("send.noRecent.message")};case"contacts":return{title:n("send.noContacts.title"),message:n("send.noContacts.message")};default:return{message:n("send.noRecipients")}}})();return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:"$bgDrawer",px:"$0",pb:"$0",children:[e&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:n("send.sendTo.title","Send To"),help:!0,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),(0,p.jsx)(t(a[17]).SearchableTabLayout,{title:n("send.sendTo.title"),searchValue:m,searchPlaceholder:n("send.searchPasteAddress"),showScanButton:!e,onSearchChange:ut,onScanPress:gt,tabSegments:it,activeTab:rt(S),onTabChange:at,backgroundColor:"$bgDrawer",headerPaddingHorizontal:"$4",children:"accounts"===S?(0,p.jsx)(t(a[17]).ProfileList,{profiles:Ze,onAccountPress:dt,isLoading:nt,emptyTitle:St.title,emptyMessage:St.message,loadingText:n("messages.loadingProfiles"),isMobile:!e,currentAccount:null!=c?c:void 0}):"contacts"===S?Ue?(0,p.jsx)(t(a[17]).RecipientList,{data:[],isLoading:!1,emptyTitle:St.title,emptyMessage:St.message,error:Ue,retryButtonText:n("buttons.retry"),errorDefaultMessage:n("messages.failedToLoadRecipients"),onRetry:Me,shouldShowAddToAddressBook:yt}):Re?(0,p.jsx)(t(a[17]).RecipientList,{data:[],isLoading:!0,emptyTitle:St.title,emptyMessage:St.message,retryButtonText:n("buttons.retry"),errorDefaultMessage:n("messages.failedToLoadRecipients"),shouldShowAddToAddressBook:yt}):0===qe.length?(0,p.jsx)(t(a[17]).RecipientList,{data:[],isLoading:!1,emptyTitle:St.title,emptyMessage:St.message,retryButtonText:n("buttons.retry"),errorDefaultMessage:n("messages.failedToLoadRecipients"),shouldShowAddToAddressBook:yt}):(0,p.jsx)(t(a[17]).AddressBookList,{contacts:qe.map(function(e){return Object.assign({},e,{onPress:function(){return dt(e)},onEdit:function(){return ft(e)},onCopy:function(){return pt(e)}})}),groupByLetter:!0,copiedAddress:k,copiedId:j,copiedText:n("messages.copied"),isMobile:!e,refreshing:Be&&!Re,onRefresh:We}):(0,p.jsx)(t(a[17]).RecipientList,{data:tt,isLoading:nt,emptyTitle:St.title,emptyMessage:St.message,retryButtonText:n("buttons.retry"),errorDefaultMessage:n("messages.failedToLoadRecipients"),onItemPress:dt,onItemEdit:ft,onItemCopy:pt,onItemAddToAddressBook:mt,shouldShowAddToAddressBook:yt})}),(0,p.jsx)(t(a[17]).AddContactDialog,{visible:L,address:(null==V?void 0:V.address)||"",initial:se,contactName:X,isSubmitting:q,onContactNameChange:Z,onConfirm:vt,onClose:ht,title:n("send.newContactTitle"),nameLabel:n("send.contactNameLabel"),namePlaceholder:n("send.contactNamePlaceholder"),confirmLabel:n("send.addToAddressBookButton")}),(0,p.jsx)(t(a[17]).InfoDialog,{visible:E,title:n("send.confirmAddress"),buttonText:n("send.confirmAddress"),onButtonClick:ct,onClose:lt,children:(0,p.jsxs)(t(a[17]).YStack,{gap:"$5",self:"stretch",items:"center",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"300",lineHeight:20,letterSpacing:-.084,textAlign:"center",color:"$text",self:"stretch",children:n("send.firstTimeSendMessage")}),(0,p.jsx)(t(a[17]).YStack,{bg:"$cardBg",rounded:"$2",py:"$4",px:"$6",items:"center",justify:"center",self:"stretch",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$3",fontWeight:"600",lineHeight:16.8,letterSpacing:-.084,textAlign:"center",color:"$text",numberOfLines:1,ellipsizeMode:"middle",children:(null==I?void 0:I.address)||""})})]})}),(0,p.jsx)(t(a[17]).COAAddressCopyModal,{visible:te,address:ie,onClose:function(){ne(!1),ae("")},onConfirm:(bt=(0,d.default)(function*(){try{if("extension"!==t(a[13]).bridge.getPlatform()&&"undefined"==typeof window){var e=globalThis.clipboard;null!=e&&e.setString&&e.setString(ie)}else navigator.clipboard&&(yield navigator.clipboard.writeText(ie));ne(!1),ae("")}catch(e){t(a[16]).logger.error("Failed to copy COA address:",e),(0,t(a[16]).showError)(e,t(a[13]).bridge)}}),function(){return bt.apply(this,arguments)})})]});var bt},i.screensTranslations=i.screensI18n=i.initializeI18n=i.SendTokensScreen=void 0,i.useCopyToClipboard=j,i.useKeyRotation=$,i.useQueryClient=void 0;var c=s(t(a[1])),l=s(t(a[2])),d=s(t(a[3])),u=s(t(a[4])),g=(function(e,t){if("function"==typeof WeakMap)var n=new WeakMap,r=new WeakMap;return(function(e,t){if(!t&&e&&e.__esModule)return e;var o,i,a={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return a;if(o=t?r:n){if(o.has(e))return o.get(e);o.set(e,a)}for(var s in e)"default"!==s&&{}.hasOwnProperty.call(e,s)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,s))&&(i.get||i.set)?o(a,s,i):a[s]=e[s]);return a})(e,t)})(t(a[5])),f=t(a[6]),p=t(a[7]),m=s(t(a[8])),h=s(t(a[9])),v=s(t(a[10])),y=s(t(a[11]));var S=(0,g.createContext)(null),b=i.useQueryClient=function(){var e=(0,g.useContext)(S);if(!e)throw new Error("useQueryClient must be used within a QueryProvider");return e};i.QueryProvider=function(e){var n=e.children,r=e.queryClient,o=(0,g.useMemo)(function(){return r?((0,t(a[13]).setGlobalQueryClient)(r),r):(0,t(a[13]).getGlobalQueryClient)()},[r]);return(0,p.jsx)(S.Provider,{value:o,children:(0,p.jsx)(t(a[14]).QueryClientProvider,{client:o,children:n})})};i.SendTokensScreen=function(){var e,n,r,o=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).assets,i=(0,t(a[12]).useTranslation)().t,s="extension"===t(a[13]).bridge.getPlatform(),c=t(a[13]).bridge.getNetwork()||"mainnet",l=t(a[13]).bridge.getCurrency(),h=(0,g.useState)(!0),v=(0,u.default)(h,2),y=v[0],S=v[1],b=(0,t(a[15]).useSendStore)(),x=b.setSelectedToken,T=b.setSelectedNFTs,k=b.setTransactionType,w=b.transactionType,F=b.selectedToken,C=b.fromAccount,j=b.toAccount,N=b.updateFormData,$=b.executeTransaction,A=b.isLoading,E=b.setCurrentStep,P=(0,t(a[15]).useTokenStore)(),R=P.getTokensForAddress,B=P.fetchTokens,I=(0,t(a[15]).useWalletStore)(t(a[15]).walletSelectors.getAllAccounts),M=(0,t(a[15]).useWalletStore)(function(e){return e.loadAccountsFromBridge}),W=(0,t(a[15]).useWalletStore)(function(e){return e.isLoading}),O=(0,t(a[15]).useAddressBookStore)();(0,g.useEffect)(function(){E("send-tokens")},[E]),(0,g.useEffect)(function(){var e=(function(){var e=(0,d.default)(function*(){try{var e=yield null==t(a[13]).bridge.isFreeGasEnabled?void 0:t(a[13]).bridge.isFreeGasEnabled();S(null==e||e)}catch(e){S(!0)}});return function(){return e.apply(this,arguments)}})();e()},[]),(0,g.useEffect)(function(){ne(""),Ce("")},[F]),(0,g.useEffect)(function(){0!==I.length||W||M()},[M,I.length,W]);var L,D=(0,t(a[14]).useQuery)({queryKey:t(a[15]).payerStatusQueryKeys.payerStatus(c),queryFn:function(){return t(a[15]).payerStatusQueries.fetchPayerStatus(c)},staleTime:0,enabled:!0,retry:3,retryDelay:1e3}),Y=D.data,z=void 0===Y?null:Y,V=(D.isLoading,D.error,(0,t(a[14]).useQuery)(Object.assign({queryKey:["tokens",null==C?void 0:C.address,c],queryFn:(L=(0,d.default)(function*(){if(null==C||!C.address)return[];var e=R(C.address,c);return e&&0!==e.length||(yield B(C.address,c,!1)),R(C.address,c)||[]}),function(){return L.apply(this,arguments)}),staleTime:3e5,enabled:!(null==C||!C.address)},t(a[16]).retryConfigs.critical,{refetchOnWindowFocus:!0,refetchOnReconnect:!0}))),Q=V.data,_=void 0===Q?[]:Q,K=V.isLoading,q=V.error,U=(0,t(a[14]).useQuery)(Object.assign({queryKey:t(a[15]).storageQueryKeys.accountInfo(C||null),queryFn:function(){return t(a[15]).storageQueries.fetchAccountInfo(C||null)},enabled:!(null==C||!C.address)&&"main"===(null==C?void 0:C.type),staleTime:0},t(a[16]).retryConfigs.critical,{refetchOnWindowFocus:!0,refetchOnReconnect:!0})).data,G=(0,g.useMemo)(function(){if(null==F||!F.identifier)return"";var e=F.identifier;return e.includes(".Vault")?e:`${e}.Vault`},[null==F?void 0:F.identifier]),H=(0,t(a[14]).useQuery)(Object.assign({queryKey:t(a[15]).storageQueryKeys.resourceCheck((null==j?void 0:j.address)||"",G),queryFn:function(){return t(a[15]).storageQueries.checkResourceCompatibility((null==j?void 0:j.address)||"",G)},enabled:!(null==j||!j.address||!G),staleTime:3e5},t(a[16]).retryConfigs.minimal,{refetchOnWindowFocus:!1,refetchOnReconnect:!0})).data,X=!(void 0===H||H),Z="$bgDrawer",J=(0,g.useState)(""),ee=(0,u.default)(J,2),te=ee[0],ne=ee[1],re=(0,g.useState)(!0),oe=(0,u.default)(re,2),ie=oe[0],ae=oe[1],se=(0,g.useState)(!1),ce=(0,u.default)(se,2),le=ce[0],de=ce[1],ue=(0,g.useState)(!1),ge=(0,u.default)(ue,2),fe=ge[0],pe=ge[1],me=(0,g.useState)(!1),he=(0,u.default)(me,2),ve=he[0],ye=he[1],Se=Boolean(null==z||null==(e=z.surge)?void 0:e.active),be=(null==z||null==(n=z.surge)?void 0:n.multiplier)||1,xe=(0,g.useMemo)(function(){var e=Number(be);return Number.isNaN(e)?"1":e.toFixed(2).replace(/\.?0+$/,"")},[be]),Te=(0,g.useMemo)(function(){var e,t=null==z||null==(e=z.surge)?void 0:e.maxFee;if(!t)return"~0.001 FLOW";var n=t<.01?4:t<.1?3:2;return`~${t.toFixed(n)} FLOW`},[null==z||null==(r=z.surge)?void 0:r.maxFee]),ke=(0,g.useState)(""),we=(0,u.default)(ke,2),Fe=we[0],Ce=we[1],je=(0,g.useRef)(null),Ne=(0,g.useMemo)(function(){if(!C||"main"!==C.type||!U)return{canProceed:!0,showWarning:!1,warningType:null};var e=parseFloat(te)||0;return!!F&&(0,t(a[18]).isFlow)(F)?t(a[15]).storageUtils.validateFlowTokenTransaction(U,e):t(a[15]).storageUtils.validateOtherTransaction(U)},[C,U,te,F]),$e=Ne.showWarning,Ae=i(t(a[15]).storageUtils.getStorageWarningMessageKey(Ne.warningType)),Ee=(0,g.useCallback)(function(e){x(e),de(!1)},[x]),Pe=(0,g.useCallback)(function(e){var t=e.replace(/[^0-9.]/g,""),n=t.split(".");if(!(n.length>2)){if(2===n.length){if(ie&&n[1].length>((null==F?void 0:F.decimal)||8))return;if(!ie&&n[1].length>2)return}t.length>1&&"0"===t[0]&&"."!==t[1]?ne(t.substring(1)):ne(t)}},[F,ie,l.rate]),Re=(0,g.useCallback)(function(){if(null!=F&&F.priceInUSD){var e=new m.default(F.priceInUSD).times(new m.default(l.rate||1)),t=new m.default(te||"0");if(!e.isNaN()&&!t.isNaN()&&e.gt(0))if(ie){var n=t.times(e);ne(n.toFixed(2))}else{var r=t.div(e);ne(r.toFixed(F.decimal||8))}}ae(function(e){return!e})},[ie,te,F,l.rate]),Be=(0,g.useCallback)(function(){if(F){var e="0";F.availableBalanceToUse?e=(0,t(a[16]).extractNumericBalance)(F.availableBalanceToUse):F.displayBalance?e=(0,t(a[16]).extractNumericBalance)(F.displayBalance):F.balance&&(e=(0,t(a[16]).extractNumericBalance)(F.balance));var n=parseFloat(e);!isNaN(n)&&n>0?(ne(e),ae(!0)):t(a[16]).logger.warn("[SendTokensScreen] Max button clicked but no valid balance found:",{token:F.symbol,availableBalanceToUse:F.availableBalanceToUse,displayBalance:F.displayBalance,balance:F.balance,extractedBalance:e})}},[F]),Ie=(0,g.useCallback)(function(){var e;je.current&&("function"==typeof je.current.blur?je.current.blur():null!=(e=je.current.current)&&e.blur?je.current.current.blur():je.current._nativeTag&&je.current.blur&&je.current.blur());f.Keyboard.dismiss()},[]),Me=(0,g.useCallback)(function(){var e;null!=(e=je.current)&&e.blur&&je.current.blur(),f.Keyboard.dismiss(),Se?ye(!0):pe(!0)},[Se]),We=(0,g.useCallback)(function(){ye(!1)},[]),Oe=(0,g.useCallback)(function(){ye(!1),pe(!0)},[]),Le=(0,g.useCallback)(function(){de(!0)},[]),De=(0,g.useCallback)(function(){de(!1)},[]),Ye=(0,g.useCallback)(function(){pe(!1)},[]),ze=(0,g.useCallback)((0,d.default)(function*(){try{if(!(F&&C&&j&&te))throw new Error("Missing transaction data");x(F),T([]),k("tokens");var e,n=new m.default(te||"0"),r=F.decimal||8;if(ie)e=n.toFixed(r);else{var o=new m.default(F.priceInUSD||0).times(new m.default(l.rate||1));e=n.div(o).toFixed(r)}N({tokenAmount:e});var c=yield $(),d=c&&"object"==typeof c&&"directEvm"in c&&!0===c.directEvm,u=d&&c&&"object"==typeof c&&"result"in c?c.result:c;if(u&&j){try{var g={id:j.id||j.address,name:j.name,address:j.address,avatar:j.avatar||"",isFavorite:!1,createdAt:Date.now(),updatedAt:Date.now()};yield O.setRecentContact(g)}catch(e){t(a[16]).logger.error("\u274c [SendTokensScreen] Error setting recent contact:",e)}var f=t(a[13]).bridge.getPlatform();f!==t(a[18]).Platform.iOS&&f!==t(a[18]).Platform.Android||t(a[13]).bridge.closeRN(),d&&s&&t(a[13]).navigation.navigate("")}return u}catch(e){t(a[16]).logger.error("[SendTokensScreen] Transaction failed:",e),(0,t(a[16]).showError)(e,t(a[13]).bridge,i("send.failed"))}return null}),[w,F,C,j,te,x,T,k,N,$,O,s,t(a[13]).navigation]),Ve=(0,g.useMemo)(function(){if("tokens"===w){var e=new m.default(te||"0"),n=(0,t(a[16]).extractNumericBalance)((null==F?void 0:F.displayBalance)||(null==F?void 0:F.balance)||"0"),r=new m.default(n),o=e;if(!ie&&null!=F&&F.priceInUSD){var s=new m.default(F.priceInUSD).times(new m.default(l.rate||1));!s.isNaN()&&s.gt(0)&&(o=e.div(s))}return o.gt(r)?Ce(i("send.insufficient")):Ce(""),!F||!C||!j||e.lte(0)||o.gt(r)}return Ce(""),!C||!j},[w,F,C,j,te,ie,i]),Qe=(0,g.useMemo)(function(){return{tokenAmount:ie?te:null!=F&&F.priceInUSD?new m.default(te||"0").div(new m.default(F.priceInUSD).times(new m.default(l.rate||1))).toFixed(2):te,fiatAmount:ie&&null!=F&&F.priceInUSD?new m.default(te||"0").times(new m.default(F.priceInUSD).times(new m.default(l.rate||1))).toFixed(2):te,isTokenMode:ie,transactionFee:Te,surgeMultiplier:Se?be:void 0}},[w,te,null==F?void 0:F.priceInUSD,ie,Te,l.rate,Se,be]),_e=W&&0===I.length,Ke=(0,g.useMemo)(function(){return q?"Failed to load tokens. Please try refreshing.":0===_.length&&!K&&C?"No tokens available. Please ensure your wallet has tokens to send.":null},[q,_.length,K,C]);if(_e)return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:Z,children:[s&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:i("send.sendTo.title"),help:!0}),(0,p.jsx)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",p:"$4",children:(0,p.jsx)(t(a[17]).Text,{children:i("messages.loading")})})]});if(Ke)return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:Z,children:[s&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:i("send.sendTo.title"),help:!0}),(0,p.jsx)(t(a[17]).YStack,{flex:1,items:"center",justify:"center",p:"$4",children:(0,p.jsx)(t(a[17]).Text,{color:"$error",children:Ke})})]});var qe=(0,p.jsxs)(t(a[17]).YStack,{flex:1,children:[(0,p.jsxs)(t(a[17]).YStack,{flex:1,gap:"$3",children:[(0,p.jsxs)(t(a[17]).YStack,{gap:"$1",bg:"$bg1",rounded:"$4",p:"$4",children:[C?(0,p.jsx)(t(a[17]).AccountCard,{isSendTokensScreen:!s,account:(0,t(a[16]).transformAccountForCard)(C),title:i("send.fromAccount"),isLoading:!1}):(0,p.jsx)(t(a[17]).Text,{children:i("errors.addressNotFound")}),(0,p.jsx)(t(a[17]).Separator,{mx:"$0",mt:"$4",mb:"$2",borderColor:"$border1",borderWidth:.5}),(0,p.jsx)(t(a[17]).YStack,{gap:"$4",children:(0,p.jsx)(t(a[17]).TokenAmountInput,{selectedToken:F?{type:F.type,symbol:F.symbol,name:F.name,logoURI:F.logoURI,balance:(F.displayBalance||F.balance||"0").toString(),priceInUSD:F.priceInUSD?new m.default(F.priceInUSD).times(new m.default(l.rate||1)).toString():void 0,isVerified:F.isVerified}:void 0,amount:te,onAmountChange:Pe,isTokenMode:ie,onToggleInputMode:Re,onTokenSelectorPress:Le,onMaxPress:Be,placeholder:"0.00",showBalance:!0,showConverter:!0,disabled:!1,inputRef:je,currency:l,amountError:Fe,headerText:i("send.title")})})]}),(0,p.jsx)(t(a[17]).XStack,{position:"relative",height:0,mt:"$1",children:(0,p.jsx)(t(a[17]).XStack,{width:"100%",position:"absolute",t:-40,justify:"center",z:10,children:(0,p.jsx)(t(a[17]).SendArrowDivider,{variant:"arrow",size:48})})}),j&&(0,p.jsx)(t(a[17]).ToAccountSection,{account:j,fromAccount:C||void 0,isAccountIncompatible:X,onEditPress:function(){t(a[13]).navigation.goBack()},showEditButton:!0,title:i("send.toAccount"),isLinked:"child"===j.type||!!j.parentAddress,incompatibleAccountText:i("account.compatibility.incompatible"),learnMoreText:i("account.compatibility.learnMore"),unknownAccountText:i("account.compatibility.unknown"),dialogTitle:i("account.compatibility.dialog.title"),dialogButtonText:i("account.compatibility.dialog.button"),dialogDescriptionMain:i("account.compatibility.dialog.descriptionMain"),dialogDescriptionSecondary:i("account.compatibility.dialog.descriptionSecondary")}),(0,p.jsxs)(t(a[17]).YStack,{gap:"$3",children:[!Se&&(0,p.jsx)(t(a[17]).TransactionFeeSection,{flowFee:Te,usdFee:"$0.02",isFree:y,showCovered:y,title:i("send.transactionFee"),backgroundColor:"transparent",borderRadius:16,contentPadding:0}),Se&&(0,p.jsx)(t(a[17]).SurgeFeeConfirmationSection,{transactionFee:Te,surgeMultiplier:be,transactionFeeLabel:i("surge.modal.transactionFee"),surgeTitle:i("surge.modal.surgeActive"),description:i("surge.modal.description",{multiplier:xe})}),$e&&(0,p.jsx)(t(a[17]).StorageWarning,{message:Ae,showIcon:!0,title:i("storage.warning.title"),visible:!0})]})]}),(0,p.jsx)(t(a[17]).YStack,{pt:"$4",mb:"$10",children:(0,p.jsx)(t(a[17]).YStack,{"data-testid":"next",width:"100%",height:52,bg:Ve?"#6b7280":Se?"$warning":"$text",rounded:16,items:"center",justify:"center",borderWidth:1,borderColor:Ve?"#6b7280":"$text",opacity:Ve?.7:1,pressStyle:{opacity:.9},onPress:Ve?void 0:Me,cursor:Ve?"not-allowed":"pointer",children:(0,p.jsx)(t(a[17]).Text,{fontSize:"$4",fontWeight:"600",color:Ve?"$white":"$bg",children:i("common.next")})})}),(0,p.jsx)(t(a[17]).TokenSelectorModal,{visible:le,selectedToken:F,tokens:_,onTokenSelect:Ee,onClose:De,platform:"mobile",title:i("tabs.tokens"),currency:l,isExtension:s}),(0,p.jsx)(t(a[17]).ConfirmationDrawer,{visible:fe,transactionType:w,selectedToken:F,sendStaticImage:null==o?void 0:o.sendStaticImage,fromAccount:(0,t(a[16]).transformAccountForDisplay)(C),toAccount:j?(0,t(a[16]).transformAccountForDisplay)(j):null,formData:Qe,onConfirm:ze,onClose:Ye,isExtension:s,summaryText:i("send.summary"),sendTokensText:i("send.sendTokens"),sendNFTsText:i("send.sendNFTs"),sendingText:i("send.sending"),confirmSendText:i("send.confirmSend"),holdToSendText:i("send.holdToSend"),unknownAccountText:i("send.unknownAccount")}),(0,p.jsx)(t(a[17]).SurgeModal,{visible:ve,transactionFee:Te,multiplier:xe,title:i("surge.modal.title"),transactionFeeLabel:i("surge.modal.transactionFee"),surgeActiveText:i("surge.modal.surgeActive"),description:i("surge.modal.description",{multiplier:xe}),holdToAgreeText:i("surge.modal.holdToAgree"),onClose:We,onAgree:Oe,isLoading:A})]});return(0,p.jsxs)(t(a[17]).BackgroundWrapper,{backgroundColor:Z,children:[s&&(0,p.jsx)(t(a[17]).ExtensionHeader,{title:i("send.title"),help:!0,onGoBack:function(){return t(a[13]).navigation.goBack()},onNavigate:function(e){return t(a[13]).navigation.navigate(e)}}),s?qe:(0,p.jsx)(f.TouchableWithoutFeedback,{onPress:Ie,children:qe})]})};var x="https://wallet.flow.com/terms-of-serivce",T="https://wallet.flow.com/privacy-policy";var k=(function(){var e=(0,d.default)(function*(e){if(!e)return{granted:!1};if(t(a[13]).bridge.requestNotificationPermission&&t(a[13]).bridge.checkNotificationPermission)try{return yield t(a[13]).bridge.requestNotificationPermission(),{granted:yield t(a[13]).bridge.checkNotificationPermission()}}catch(e){return t(a[13]).logger.error("[NotificationPreferencesScreen] Failed to request notification permission:",e),{granted:!1}}return"undefined"!=typeof Notification&&Notification.requestPermission?{granted:"granted"===(yield Notification.requestPermission())}:{granted:!1}});return function(t){return e.apply(this,arguments)}})();var w=function(){for(var e=Array.from({length:12},function(e,t){return t+1}),t=[],n=0;n<3;n++){var r=Math.floor(Math.random()*e.length);t.push(e[r]),e.splice(r,1)}return t.sort(function(e,t){return e-t})};var F=i.screensTranslations={en:{translation:{navigation:{send:"Send",sendTo:"Send To",sending:"Sending",selectTokens:"Select Tokens",sendTokens:"Send Tokens",nftDetails:"NFT Details",colorDemo:"Color Demo",receive:"Receive Assets"},common:{cancel:"Cancel",confirm:"Confirm",back:"Back",goBack:"Go Back",close:"Close",done:"Done",next:"Next",previous:"Previous",loading:"Loading...",error:"Error",success:"Success",Search:"Search",retry:"Retry",recommended:"Recommended"},tabs:{tokens:"Tokens",nfts:"NFTs"},send:{tokens:"Tokens",nfts:"NFTs",myAccounts:"My Accounts",recent:"Recent",addressBook:"Address Book",sendTo:{title:"Send To"},toAccount:"To Account",errors:{amountExceedsBalance:"Amount exceeds available balance"},searchAddress:"Search address",searchPasteAddress:"Search / Paste address",selectedToken:"Selected Token",noAccounts:{title:"No Accounts",message:"You don't have any accounts yet."},noRecent:{title:"No Recent Recipients",message:"You haven't sent to anyone recently."},noContacts:{title:"No Contacts",message:"Your address book is empty."},noSearchResults:{title:"No Results",message:"No accounts or contacts match your search"},noRecipients:"No recipients found",selectToken:"Select Token",selectRecipient:"Select Recipient",enterAmount:"Enter Amount",reviewTransaction:"Review Transaction",transactionFee:"Transaction Fee",total:"Total",balance:"Balance",available:"Available",insufficient:"Insufficient Balance",recipient:"Recipient",from:"From",fromAccount:"From Account",to:"To",amount:"Amount",asset:"Asset",confirm:"Confirm Transaction",sending:"Sending...",sent:"Transaction Sent",failed:"Transaction Failed",searchRecipients:"Search recipients...",recentRecipients:"Recent Recipients",contactsList:"Contacts",enterAddress:"Enter Flow address",invalidAddress:"Invalid address",sameAddress:"Cannot send to the same address",selectNFTs:"Select NFTs",selectedNFTs:"Selected NFTs",nftDetails:"NFT Details",collectionName:"Collection",tokenId:"Token ID",properties:"Properties",description:"Description",creator:"Creator",title:"Send",inaccessible:"Inaccessible",confirmAddress:"Confirm address",firstTimeSendMessage:"We noticed this may be your first time sending to this address. Please confirm the destination address.",newContactTitle:"New contact",contactNameLabel:"Contact name",contactNamePlaceholder:"Enter a name",addToAddressBookButton:"Add to address book",sendSNFTs:"Send S/NFTs",sendNFTs:"Send NFTs",change:"Change",noNFTSelected:"No NFT selected. Please go back and select an NFT to send.",summary:"Summary",sendTokens:"Send Tokens",confirmSend:"Confirm send",holdToSend:"Hold to send",unknownAccount:"Unknown Account"},messages:{loading:"Loading...",noTokensWithBalance:"No tokens with balance",noNFTCollectionsForAccount:"No NFT collections found",loadingProfiles:"Loading profiles...",noProfiles:"No Profiles",noProfilesFound:"No profiles found",failedToLoadRecipients:"Failed to load recipients",copied:"Copied!",addressBookAdded:"Added to address book",failedToAddToAddressBook:"Failed to add to address book",addressCopied:"Address copied to clipboard",failedToCopy:"Failed to copy address",failedToShare:"Failed to share QR code"},receive:{title:"Receive Assets",receiveAccount:"Receive to Account",scanToReceive:"Scan to receive",shareQRCode:"Share QR Code",generatingQR:"Generating QR code...",noQRCode:"No QR code available",evmWarning:"Please ensure you only send assets to this address on the Flow EVM network. Assets sent to this address on other networks will be lost."},activity:{title:"Activity",empty:"No activity yet",emptyMessage:"Your transaction history will appear here",error:"Failed to load activity",errorMessage:"Please try again",status:{pending:"Pending",success:"Success",failed:"Failed",expired:"Expired"},sent:"Sent",received:"Received",today:"Today",yesterday:"Yesterday"},buttons:{retry:"Retry",refresh:"Refresh",continue:"Continue",clearSearch:"Clear Search"},errors:{networkError:"Network error occurred",invalidInput:"Invalid input",transactionFailed:"Transaction failed",insufficientFunds:"Insufficient funds",addressNotFound:"Address not found",nftNotFound:"NFT not found",tokenNotSupported:"Token not supported",unauthorized:"Unauthorized access",timeout:"Request timed out",unknown:"An unknown error occurred",failedToLoadTokens:"Failed to load tokens",failedToLoadNFTs:"Failed to load NFTs",transactionPayloadError:"Failed to create transaction payload",transactionExecutionError:"Transaction execution failed",generic:{title:"Something went wrong",message:"We encountered an unexpected error. Please try again.",button:"Retry",reportBug:"Report Bug"},network:{title:"Connection Error",message:"Unable to connect to the network. Please check your connection and try again.",button:"Retry",reportBug:"Report Bug"},critical:{title:"Critical Error",message:"A critical error occurred. Please restart the app.",button:"Restart",reportBug:"Report Bug"}},nft:{untitled:"Untitled",unknownCollection:"Unknown Collection",noNFTsSelected:"No NFTs selected",noSearchResults:"No Search Results",noNFTsMatchSearch:"No NFTs match '{{search}}'",noNFTsFound:"No NFTs Found",collectionEmpty:"This collection doesn't contain any NFTs",noCollectionSelected:"No collection selected. Please go back and select an NFT collection.",noAccountSelected:"No account address available. Please select an account.",maxSelectionReached:"Maximum 9 NFTs can be selected",nftNotFound:"NFT not found for ID:",selectedCount:"{{count}} Selected NFT",selectedCount_plural:"{{count}} Selected NFTs",confirmSelection:"Confirm {{count}} NFT",confirmSelection_plural:"Confirm {{count}} NFTs",itemCount:"{{count}} item",itemCount_plural:"{{count}} items",notFound:{title:"NFT Not Found",message:"The requested NFT could not be found or loaded"}},storage:{warning:{title:"Storage Warning",balance:"Your account is below the minimum FLOW balance required for its storage usage, which may cause subsequent transactions to fail.",storage:"This action may fail because it may reduce the amount of FLOW in your account below what is required to cover its storage usage.",storageAfterAction:"Account balance will fall below the minimum FLOW required for storage after this transaction, causing this transaction to fail."}},account:{compatibility:{incompatible:"Incompatible Account",learnMore:"Learn more",unknown:"Unknown Account",dialog:{title:"Account Compatibility",button:"Okay",descriptionMain:"Flow Wallet manages your EVM and your Cadence accounts on Flow. EVM accounts are compatible with EVM apps, and Cadence accounts are compatible with Cadence apps.",descriptionSecondary:"If an application is on EVM or Cadence, only compatible accounts will be available to connect."}}},surge:{title:"Surge price active",message:"Due to high network activity, transaction fees are elevated. Current network fees are 4x higher than usual.",modal:{title:"Are you really sure that you want to continue with surge pricing?",transactionFee:"Your transaction fee",surgeActive:"Surge price active",description:"Due to high network activity, transaction fees are elevated, and Flow Wallet is temporarily not paying for your gas. Current network fees are {{multiplier}}\xd7 higher than usual.",holdToAgree:"Hold to agree to surge pricing"}},onboarding:{flowWallet:"Flow Wallet",getStarted:{title:"Get started with Flow Wallet",subtitle:"Welcome to Flow Wallet\nCreate an account to get started.",createAccount:"Create a new account",signIn:"I already have an account",agreementText:"By using Flow Wallet you agree to the",termsOfService:"terms of service",and:"and",privacyPolicy:"privacy policy"},profileType:{welcomeTitle:"Welcome to\nFlow Wallet",recoveryPhrase:{title:"Secured by a Recovery Phrase",description:"A recovery phrase is a series of words generated that will secure your wallet."},secureEnclaveProfile:"Secure Enclave Profile",next:"Next"},importProfile:{title:"Import profile",subtitle:"Import your profile using a backup.",previousProfiles:{title:"Previous profiles",subtitle:"Found {{count}} profiles previously on this device"},deviceBackup:{title:"From Device Backup",subtitle:"Mobile or extension devices"},cloudBackup:{title:"From Cloud Multi-Backup",subtitle:"Google Drive, iCloud or DropBox."},recoveryPhrase:{title:"From Recovery Phrase",subtitle:"12 word recovery phrase."},anotherMethod:{title:"From another method",subtitle:""}},importOtherMethods:{title:"From other methods",subtitle:"Import profile using alternative methods",recoveryPhrase:{title:"Recovery phrase",subtitle:"12 word recovery phrase"},keyStore:{title:"Key store",subtitle:"Import keystore file (Blocto Backup)"},privateKey:{title:"Private key",subtitle:"Import with raw hex key"},googleDrive:{title:"Google Drive",subtitle:"From legacy Google Drive backup"},iCloud:{title:"iCloud",subtitle:"From legacy iCloud backup"}},confirmImportProfile:{title:"Confirm which profile to import",emptyTitle:"No profiles found",emptyMessage:"No previous profiles were found on this device",importButton:"Import profile"},secureEnclave:{title:"Advanced",cardTitle:"Secure Profile",cardDescription:"Using device keys with hardware-grade security, Flow Wallet in secure mode is an ultra-secure hardware wallet you can trust. Only available for Cadence accounts on Flow.",features:{secureEnclave:"Secure enclave",hardwareSecurity:"Hardware grade security",noEvm:"No EVM Support"},next:"Next",dialog:{title:"Are you an advanced user?",description:"Are you sure you want to create a Secure Profile? This will limit access to certain features and won't give you access to an EVM account on Flow.",holdToConfirm:"Hold to confirm"},creating:{title:"Creating\nyour account",configuring:"Configuring account"}},notificationPreferences:{headerTitle:"Notifications",title:"Get push notifications",subtitle:"Get notified when your transfers, swaps and approvals complete.",enableButton:"Turn on push notifications",maybeLater:"Maybe later"},backupOptions:{navTitle:"Backup",subtitle:"Select how you'd like to backup your account to finish creating your account. You can change this later in settings.",deviceBackup:{title:"Create device backup",description:"Use your device as a backup wallet to safeguard your digital assets"},cloudBackup:{title:"Create cloud backup",description:"Create a cloud backup with trusted providers like google drive and icloud"},recoveryPhrase:{title:"Create a recovery phrase backup",description:"Create a 12 word recovery phrase"},skipWarning:{title:"Proceed without a backup?",message:"Without a backup, you may lose access to your wallet if you lose your device. Are you sure you want to continue without setting up a backup?",confirm:"Continue without backup"}},recoveryPhrase:{navTitle:"Create account",title:"Recovery phrase",description:"Write down these words in the right order and store them somewhere safe.",clickToReveal:"Click to reveal phrase",copy:"Copy",next:"Next",warning:{title:"Do not share your secret phrase!",description:"If someone has your secret phrase,\nThey will have full control of your wallet."},error:{title:"Failed to Generate Recovery Phrase",unknown:"An unknown error occurred"}},confirmRecoveryPhrase:{navTitle:"Create account",title:"Confirm phrase",description:"Please select the word one by one referring to its order.",selectWord:"Select the word at #{{position}}",finish:"Finish",creating:{title:"Creating\nyour account",configuring:"Configuring account"},error:{title:"Account Creation Failed",generic:"Failed to create account. Please try again.",server:"Server error occurred. Please try again later.",validation:"Invalid account data. Please try again."}}},migration:{info:{title:"Migrate\nyour account",description:"Your assets will move from EVM to FLOW to improve security, control, and compatibility with upcoming platform updates.",descriptionLine1Prefix:"Your assets will move from",descriptionLine1To:"to",descriptionLine2:"to improve security, control, and compatibility with upcoming platform updates.",whatDoesThisMean:"What does this mean?",features:{control:"You'll have full control over your accounts and keys.",security:"Greater cross-chain account security.",compatibility:"Improved compatibility with future updates and integrations.",performance:"Smoother transactions and faster on-chain actions."},note:{title:"Please note: ",description:"The process takes about 2\u20133 minutes and your funds will remain secure throughout. Once migrated, your new EOA will replace your existing COA."},startMigration:"Start migration"},screen:{title:{inProgress:"Migrating\nyour account",completed:"Migration complete"},progress:{currentStep:"Transferring assets...",timeEstimate:"~2 min remaining"},status:{allComplete:{title:"Asset transfer complete"},partialComplete:{title:"Some assets could not be transferred",description:"Review the list and confirm the transfer of the remaining assets."}},assets:{label:"Assets"},warning:{title:"Important: ",description:"Do not close the app during migration. The process takes a few minutes."},button:{start:"Start migration",done:"Done",review:"Review assets"}}},backup:{tip:{writeDown:{title:"Write it down",description:"Write your recovery phrase on paper and store it in a secure location."},keepSecret:{title:"Keep it secret",description:"Never share your recovery phrase with anyone or enter it on any website."},noScreenshot:{title:"No screenshots",description:"Do not take screenshots or store your phrase digitally where it could be compromised."},warning:{title:"Important",description:"If you lose your recovery phrase, you will not be able to recover your wallet. Flow Wallet cannot help you recover it."},continue:"Continue"},mnemonic:{navTitle:"Create account",done:"Done",complete:"I've backed up my phrase"}},keyrotation:{tip:{title:"Upgrade\nyour account",description:"Flow Wallet needs to upgrade the security of your account to remove your previous Blocto keys",sectionTitle:"What does this mean?",fullControl:{title:"You'll have full control over your accounts and keys."},newKey:{title:"We'll create a new key to secure your account, removing Blocto's access."},newPhrase:{title:"We'll create a new recovery phrase which will secure your account going forward."},warning:{prefix:"Please note: ",bloctoDescription:"After this process completes, your recovery kit from Blocto will no longer secure access to your account. This is for your protection now that Blocto has ceased operations."},start:"Start",notNow:"Not now"},mnemonic:{title:"Recovery phrase",description:"Write down these words in the right order and store them somewhere safe.",clickToReveal:"Click to reveal phrase",copy:"Copy",upgrading:"Upgrading account...",warning:{title:"Do not share your recovery phrase!",description:"If someone has your recovery phrase, They will have full control of your wallet."},error:{title:"Invalid Recovery Phrase",description:"The recovery phrase is missing or invalid. Please try again."}},error:{seedGeneration:"Failed to generate recovery phrase",rotation:"Failed to upgrade account"},success:{rotation:"Account upgraded successfully!"}}}},es:{translation:{navigation:{send:"Enviar",sendTo:"Enviar a",sending:"Enviando",selectTokens:"Seleccionar Tokens",sendTokens:"Enviar Tokens",nftDetails:"Detalles NFT",colorDemo:"Demo de Colores",receive:"Recibir Activos"},common:{cancel:"Cancelar",confirm:"Confirmar",back:"Atr\xe1s",goBack:"Volver",close:"Cerrar",done:"Hecho",next:"Siguiente",previous:"Anterior",loading:"Cargando...",error:"Error",success:"\xc9xito",Search:"Buscar",recommended:"Recomendado",retry:"Reintentar"},tabs:{tokens:"Tokens",nfts:"NFTs"},send:{tokens:"Tokens",nfts:"NFTs",myAccounts:"Mis Cuentas",recent:"Reciente",addressBook:"Libreta de Direcciones",sendTo:{title:"Enviar a"},toAccount:"A Cuenta",searchAddress:"Buscar direcci\xf3n o contacto...",searchPasteAddress:"Buscar / Pegar direcci\xf3n",selectedToken:"Token Seleccionado",noAccounts:{title:"Sin Cuentas",message:"A\xfan no tienes ninguna cuenta."},noRecent:{title:"Sin Destinatarios Recientes",message:"No has enviado a nadie recientemente."},noContacts:{title:"Sin Contactos",message:"Tu libreta de direcciones est\xe1 vac\xeda."},noSearchResults:{title:"Sin Resultados",message:"Ninguna cuenta o contacto coincide con tu b\xfasqueda"},noRecipients:"No se encontraron destinatarios",selectToken:"Seleccionar Token",selectRecipient:"Seleccionar Destinatario",enterAmount:"Ingresar Cantidad",reviewTransaction:"Revisar Transacci\xf3n",transactionFee:"Tarifa de Transacci\xf3n",total:"Total",balance:"Saldo",available:"Disponible",insufficient:"Saldo Insuficiente",recipient:"Destinatario",from:"De",fromAccount:"De Cuenta",to:"Para",amount:"Cantidad",asset:"Activo",confirm:"Confirmar Transacci\xf3n",sending:"Enviando...",sent:"Transacci\xf3n Enviada",failed:"Transacci\xf3n Fallida",searchRecipients:"Buscar destinatarios...",recentRecipients:"Destinatarios Recientes",contactsList:"Contactos",enterAddress:"Ingresar direcci\xf3n Flow",invalidAddress:"Direcci\xf3n inv\xe1lida",sameAddress:"No se puede enviar a la misma direcci\xf3n",selectNFTs:"Seleccionar NFTs",selectedNFTs:"NFTs Seleccionados",nftDetails:"Detalles del NFT",collectionName:"Colecci\xf3n",tokenId:"ID del Token",properties:"Propiedades",description:"Descripci\xf3n",creator:"Creador",title:"Enviar",inaccessible:"Inaccesible",confirmAddress:"Confirmar direcci\xf3n",firstTimeSendMessage:"Notamos que esta puede ser la primera vez que env\xedas a esta direcci\xf3n. Por favor confirma la direcci\xf3n de destino.",newContactTitle:"Nuevo contacto",contactNameLabel:"Nombre del contacto",contactNamePlaceholder:"Ingresa un nombre",addToAddressBookButton:"Agregar a la libreta de direcciones",sendSNFTs:"Enviar S/NFTs",sendNFTs:"Enviar NFTs",change:"Cambiar",noNFTSelected:"No se seleccion\xf3 NFT. Por favor regresa y selecciona un NFT para enviar.",summary:"Resumen",sendTokens:"Enviar Tokens",confirmSend:"Confirmar env\xedo",holdToSend:"Mantener para enviar",unknownAccount:"Cuenta Desconocida",errors:{amountExceedsBalance:"La cantidad excede el saldo disponible"}},messages:{loading:"Cargando...",noTokensWithBalance:"No hay tokens con saldo",noNFTCollectionsForAccount:"No se encontraron colecciones NFT",loadingProfiles:"Cargando perfiles...",noProfiles:"Sin Perfiles",noProfilesFound:"No se encontraron perfiles",failedToLoadRecipients:"Error al cargar destinatarios",copied:"\xa1Copiado!",addressBookAdded:"A\xf1adido a la libreta de direcciones",failedToAddToAddressBook:"No se pudo a\xf1adir a la libreta de direcciones",addressCopied:"Direcci\xf3n copiada al portapapeles",failedToCopy:"Error al copiar la direcci\xf3n",failedToShare:"Error al compartir el c\xf3digo QR"},receive:{title:"Recibir Activos",receiveAccount:"Recibir en la Cuenta",scanToReceive:"Escanear para recibir",shareQRCode:"Compartir C\xf3digo QR",generatingQR:"Generando c\xf3digo QR...",noQRCode:"No hay c\xf3digo QR disponible",evmWarning:"Aseg\xfarese de enviar activos solo a esta direcci\xf3n en la red Flow EVM. Los activos enviados a esta direcci\xf3n en otras redes se perder\xe1n."},activity:{title:"Actividad",empty:"Sin actividad a\xfan",emptyMessage:"Tu historial de transacciones aparecer\xe1 aqu\xed",error:"Error al cargar la actividad",errorMessage:"Por favor, int\xe9ntalo de nuevo",status:{pending:"Pendiente",success:"\xc9xito",failed:"Fallido",expired:"Expirado"},sent:"Enviado",received:"Recibido",today:"Hoy",yesterday:"Ayer"},buttons:{retry:"Reintentar",refresh:"Actualizar",continue:"Continuar",clearSearch:"Limpiar B\xfasqueda"},errors:{networkError:"Ocurri\xf3 un error de red",invalidInput:"Entrada inv\xe1lida",transactionFailed:"La transacci\xf3n fall\xf3",insufficientFunds:"Fondos insuficientes",addressNotFound:"Direcci\xf3n no encontrada",nftNotFound:"NFT no encontrado",tokenNotSupported:"Token no soportado",unauthorized:"Acceso no autorizado",timeout:"Tiempo de espera agotado",unknown:"Ocurri\xf3 un error desconocido",failedToLoadTokens:"Error al cargar tokens",failedToLoadNFTs:"Error al cargar NFTs",transactionPayloadError:"Error al crear la carga de la transacci\xf3n",transactionExecutionError:"Error en la ejecuci\xf3n de la transacci\xf3n",generic:{title:"Algo sali\xf3 mal",message:"Encontramos un error inesperado. Por favor, int\xe9ntalo de nuevo.",button:"Intentar de nuevo",reportBug:"Reportar Error"},network:{title:"Problema de conexi\xf3n",message:"No se puede conectar a la red. Por favor, verifica tu conexi\xf3n e int\xe9ntalo de nuevo.",button:"Reintentar",reportBug:"Reportar Error"},critical:{title:"Error cr\xedtico",message:"Ocurri\xf3 un error cr\xedtico. Por favor, reinicia la aplicaci\xf3n.",button:"Reiniciar aplicaci\xf3n",reportBug:"Reportar Error"}},nft:{untitled:"Sin t\xedtulo",unknownCollection:"Colecci\xf3n desconocida",noNFTsSelected:"No se seleccionaron NFTs",noSearchResults:"Sin Resultados de B\xfasqueda",noNFTsMatchSearch:"Ning\xfan NFT coincide con '{{search}}'",noNFTsFound:"No se Encontraron NFTs",collectionEmpty:"Esta colecci\xf3n no contiene ning\xfan NFT",noCollectionSelected:"No se seleccion\xf3 colecci\xf3n. Por favor regresa y selecciona una colecci\xf3n de NFT.",noAccountSelected:"No hay direcci\xf3n de cuenta disponible. Por favor selecciona una cuenta.",maxSelectionReached:"Se pueden seleccionar m\xe1ximo 9 NFTs",nftNotFound:"NFT no encontrado para ID:",selectedCount:"{{count}} NFT Seleccionado",selectedCount_plural:"{{count}} NFTs Seleccionados",confirmSelection:"Confirmar {{count}} NFT",confirmSelection_plural:"Confirmar {{count}} NFTs",itemCount:"{{count}} elemento",itemCount_plural:"{{count}} elementos",notFound:{title:"NFT No Encontrado",message:"El NFT solicitado no se pudo encontrar o cargar"}},storage:{warning:{title:"Advertencia de Almacenamiento",balance:"Su cuenta est\xe1 por debajo del saldo m\xednimo de FLOW requerido para el uso de almacenamiento, lo que puede causar que fallen las transacciones posteriores.",storage:"Esta acci\xf3n puede fallar porque puede reducir la cantidad de FLOW en su cuenta por debajo de lo requerido para cubrir el uso de almacenamiento.",storageAfterAction:"El saldo de la cuenta caer\xe1 por debajo del FLOW m\xednimo requerido para el almacenamiento despu\xe9s de esta transacci\xf3n, causando que falle."}},account:{compatibility:{incompatible:"Cuenta Incompatible",learnMore:"Saber m\xe1s",unknown:"Cuenta Desconocida",dialog:{title:"Compatibilidad de Cuenta",button:"Entendido",descriptionMain:"Flow Wallet administra sus cuentas EVM y Cadence en Flow. Las cuentas EVM son compatibles con aplicaciones EVM, y las cuentas Cadence son compatibles con aplicaciones Cadence.",descriptionSecondary:"Si una aplicaci\xf3n est\xe1 en EVM o Cadence, solo las cuentas compatibles estar\xe1n disponibles para conectar."}}},surge:{title:"Precio de congesti\xf3n activo",message:"Debido a la alta actividad de la red, las tarifas de transacci\xf3n est\xe1n elevadas. Las tarifas de red actuales son 4 veces m\xe1s altas de lo habitual.",modal:{title:"\xbfEst\xe1s seguro de que quieres continuar con el precio de congesti\xf3n?",transactionFee:"Tu tarifa de transacci\xf3n",surgeActive:"Precio de congesti\xf3n activo",description:"Debido a la alta actividad de la red, las tarifas de transacci\xf3n est\xe1n elevadas, y Flow Wallet no est\xe1 pagando temporalmente por tu gas. Las tarifas de red actuales son {{multiplier}}\xd7 m\xe1s altas de lo habitual.",holdToAgree:"Mantener para continuar con el precio de congesti\xf3n"}},onboarding:{flowWallet:"Cartera Flow",getStarted:{title:"Comienza con Flow Wallet",subtitle:"Bienvenido a Flow Wallet\nCrea una cuenta para comenzar.",createAccount:"Crear una nueva cuenta",signIn:"Ya tengo una cuenta",agreementText:"Al usar Flow Wallet aceptas los",termsOfService:"t\xe9rminos de servicio",and:"y la",privacyPolicy:"pol\xedtica de privacidad"},profileType:{welcomeTitle:"Bienvenido a\nFlow Wallet",recoveryPhrase:{title:"Asegurado por una Frase de Recuperaci\xf3n",description:"Una frase de recuperaci\xf3n es una serie de palabras generadas que proteger\xe1n tu cartera."},secureEnclaveProfile:"Perfil Secure Enclave",next:"Siguiente"},importProfile:{title:"Importar perfil",subtitle:"Importa tu perfil usando una copia de seguridad.",previousProfiles:{title:"Perfiles anteriores",subtitle:"Se encontraron {{count}} perfiles previamente en este dispositivo"},deviceBackup:{title:"Desde Copia de Seguridad del Dispositivo",subtitle:"Dispositivos m\xf3viles o de extensi\xf3n"},cloudBackup:{title:"Desde Copia de Seguridad Multi-Nube",subtitle:"Google Drive, iCloud o DropBox."},recoveryPhrase:{title:"Desde Frase de Recuperaci\xf3n",subtitle:"Frase de recuperaci\xf3n de 12 palabras."},anotherMethod:{title:"Desde otro m\xe9todo",subtitle:""}},importOtherMethods:{title:"Desde otros m\xe9todos",subtitle:"Importar perfil usando m\xe9todos alternativos",recoveryPhrase:{title:"Frase de recuperaci\xf3n",subtitle:"Frase de recuperaci\xf3n de 12 palabras"},keyStore:{title:"Almac\xe9n de claves",subtitle:"Importar archivo keystore (Copia de Seguridad Blocto)"},privateKey:{title:"Clave privada",subtitle:"Importar con clave hexadecimal sin procesar"},googleDrive:{title:"Google Drive",subtitle:"Desde copia de seguridad heredada de Google Drive"},iCloud:{title:"iCloud",subtitle:"Desde copia de seguridad heredada de iCloud"}},confirmImportProfile:{title:"Confirmar qu\xe9 perfil importar",emptyTitle:"No se encontraron perfiles",emptyMessage:"No se encontraron perfiles anteriores en este dispositivo",importButton:"Importar perfil"},secureEnclave:{title:"Avanzado",cardTitle:"Perfil Seguro",cardDescription:"Utilizando claves de dispositivo con seguridad de grado de hardware, Flow Wallet en modo seguro es una cartera de hardware ultra segura en la que puedes confiar. Solo disponible para cuentas Cadence en Flow.",features:{secureEnclave:"Secure enclave",hardwareSecurity:"Seguridad de grado de hardware",noEvm:"Sin soporte EVM"},next:"Siguiente",dialog:{title:"\xbfEres un usuario avanzado?",description:"\xbfEst\xe1s seguro de que deseas crear un Perfil Seguro? Esto limitar\xe1 el acceso a ciertas funciones y no te dar\xe1 acceso a una cuenta EVM en Flow.",holdToConfirm:"Mant\xe9n para confirmar"},creating:{title:"Creando\ntu cuenta",configuring:"Configurando cuenta"}},notificationPreferences:{headerTitle:"Notificaciones",title:"Recibe notificaciones push",subtitle:"Recibe notificaciones cuando tus transferencias, intercambios y aprobaciones se completen.",enableButton:"Activar notificaciones push",maybeLater:"Quiz\xe1s m\xe1s tarde"},backupOptions:{navTitle:"Copia de seguridad",subtitle:"Selecciona c\xf3mo te gustar\xeda hacer una copia de seguridad de tu cuenta para terminar de crear tu cuenta. Puedes cambiar esto m\xe1s tarde en configuraci\xf3n.",deviceBackup:{title:"Crear copia de seguridad del dispositivo",description:"Usa tu dispositivo como cartera de respaldo para proteger tus activos digitales"},cloudBackup:{title:"Crear copia de seguridad en la nube",description:"Crea una copia de seguridad en la nube con proveedores de confianza como Google Drive e iCloud"},recoveryPhrase:{title:"Crear copia de seguridad con frase de recuperaci\xf3n",description:"Crea una frase de recuperaci\xf3n de 12 palabras"},skipWarning:{title:"\xbfContinuar sin copia de seguridad?",message:"Sin una copia de seguridad, puede perder el acceso a su billetera si pierde su dispositivo. \xbfEst\xe1 seguro de que desea continuar sin configurar una copia de seguridad?",confirm:"Continuar sin copia de seguridad"}},recoveryPhrase:{navTitle:"Cuenta multicadena",title:"Frase de recuperaci\xf3n",description:"Escribe estas palabras en el orden correcto y gu\xe1rdalas en un lugar seguro.",clickToReveal:"Haz clic para revelar la frase",copy:"Copiar",next:"Siguiente",warning:{title:"\xa1No compartas tu frase secreta!",description:"Si alguien tiene tu frase secreta,\nTendr\xe1 control total de tu cartera."},error:{title:"Error al generar la frase de recuperaci\xf3n",unknown:"Ocurri\xf3 un error desconocido"}},confirmRecoveryPhrase:{navTitle:"Cuenta multicadena",title:"Confirmar frase",description:"Por favor selecciona las palabras una por una seg\xfan su orden.",selectWord:"Selecciona la palabra en #{{position}}",finish:"Finalizar",creating:{title:"Creando\ntu cuenta",configuring:"Configurando cuenta"},error:{title:"Error al crear la cuenta",generic:"No se pudo crear la cuenta. Por favor, int\xe9ntalo de nuevo.",server:"Ocurri\xf3 un error en el servidor. Por favor, int\xe9ntalo m\xe1s tarde.",validation:"Datos de cuenta inv\xe1lidos. Por favor, int\xe9ntalo de nuevo."}}},backup:{tip:{writeDown:{title:"Escr\xedbelo",description:"Escribe tu frase de recuperaci\xf3n en papel y gu\xe1rdala en un lugar seguro."},keepSecret:{title:"Mantenlo en secreto",description:"Nunca compartas tu frase de recuperaci\xf3n con nadie ni la ingreses en ning\xfan sitio web."},noScreenshot:{title:"Sin capturas de pantalla",description:"No tomes capturas de pantalla ni almacenes tu frase digitalmente donde pueda ser comprometida."},warning:{title:"Importante",description:"Si pierdes tu frase de recuperaci\xf3n, no podr\xe1s recuperar tu cartera. Flow Wallet no puede ayudarte a recuperarla."},continue:"Continuar"},mnemonic:{navTitle:"Crear cuenta",done:"Hecho",complete:"He respaldado mi frase"}},keyrotation:{tip:{title:"Actualiza\ntu cuenta",description:"Flow Wallet necesita actualizar la seguridad de tu cuenta para eliminar tus claves anteriores de Blocto",sectionTitle:"\xbfQu\xe9 significa esto?",fullControl:{title:"Tendr\xe1s control total sobre tus cuentas y claves."},newKey:{title:"Crearemos una nueva clave para asegurar tu cuenta, eliminando el acceso de Blocto."},newPhrase:{title:"Crearemos una nueva frase de recuperaci\xf3n que asegurar\xe1 tu cuenta en adelante."},warning:{prefix:"Ten en cuenta: ",bloctoDescription:"Despu\xe9s de que este proceso se complete, tu kit de recuperaci\xf3n de Blocto ya no asegurar\xe1 el acceso a tu cuenta. Esto es para tu protecci\xf3n ahora que Blocto ha cesado operaciones."},start:"Comenzar",notNow:"Ahora no"},mnemonic:{title:"Frase de recuperaci\xf3n",description:"Escribe estas palabras en el orden correcto y gu\xe1rdalas en un lugar seguro.",clickToReveal:"Haz clic para revelar la frase",copy:"Copiar",upgrading:"Actualizando cuenta...",warning:{title:"\xa1No compartas tu frase de recuperaci\xf3n!",description:"Si alguien tiene tu frase de recuperaci\xf3n, tendr\xe1 control total de tu cartera."},error:{title:"Frase de Recuperaci\xf3n Inv\xe1lida",description:"La frase de recuperaci\xf3n falta o es inv\xe1lida. Por favor, int\xe9ntalo de nuevo."}},error:{seedGeneration:"Error al generar la frase de recuperaci\xf3n",rotation:"Error al actualizar la cuenta"},success:{rotation:"\xa1Cuenta actualizada exitosamente!"}}}},zh:{translation:{navigation:{send:"\u53d1\u9001",sendTo:"\u53d1\u9001\u81f3",sending:"\u53d1\u9001\u4e2d",selectTokens:"\u9009\u62e9\u4ee3\u5e01",sendTokens:"\u53d1\u9001\u4ee3\u5e01",nftDetails:"NFT\u8be6\u60c5",colorDemo:"\u989c\u8272\u6f14\u793a",receive:"\u63a5\u6536\u8d44\u4ea7"},common:{cancel:"\u53d6\u6d88",confirm:"\u786e\u8ba4",back:"\u8fd4\u56de",goBack:"\u8fd4\u56de",close:"\u5173\u95ed",done:"\u5b8c\u6210",next:"\u4e0b\u4e00\u6b65",previous:"\u4e0a\u4e00\u6b65",loading:"\u52a0\u8f7d\u4e2d...",error:"\u9519\u8bef",success:"\u6210\u529f",Search:"\u641c\u7d22",recommended:"\u63a8\u8350",retry:"\u91cd\u8bd5"},tabs:{tokens:"\u4ee3\u5e01",nfts:"NFT"},send:{tokens:"\u4ee3\u5e01",nfts:"NFT",myAccounts:"\u6211\u7684\u8d26\u6237",recent:"\u6700\u8fd1",addressBook:"\u5730\u5740\u7c3f",sendTo:{title:"\u53d1\u9001\u81f3"},toAccount:"\u81f3\u8d26\u6237",searchAddress:"\u641c\u7d22\u5730\u5740\u6216\u8054\u7cfb\u4eba...",searchPasteAddress:"\u641c\u7d22 / \u7c98\u8d34\u5730\u5740",selectedToken:"\u5df2\u9009\u4ee3\u5e01",noAccounts:{title:"\u65e0\u8d26\u6237",message:"\u60a8\u8fd8\u6ca1\u6709\u4efb\u4f55\u8d26\u6237\u3002"},noRecent:{title:"\u65e0\u6700\u8fd1\u6536\u4ef6\u4eba",message:"\u60a8\u6700\u8fd1\u6ca1\u6709\u53d1\u9001\u7ed9\u4efb\u4f55\u4eba\u3002"},noContacts:{title:"\u65e0\u8054\u7cfb\u4eba",message:"\u60a8\u7684\u5730\u5740\u7c3f\u4e3a\u7a7a\u3002"},noSearchResults:{title:"\u65e0\u7ed3\u679c",message:"\u6ca1\u6709\u8d26\u6237\u6216\u8054\u7cfb\u4eba\u5339\u914d\u60a8\u7684\u641c\u7d22"},noRecipients:"\u672a\u627e\u5230\u6536\u4ef6\u4eba",selectToken:"\u9009\u62e9\u4ee3\u5e01",selectRecipient:"\u9009\u62e9\u6536\u4ef6\u4eba",enterAmount:"\u8f93\u5165\u91d1\u989d",reviewTransaction:"\u5ba1\u67e5\u4ea4\u6613",transactionFee:"\u4ea4\u6613\u8d39",total:"\u603b\u8ba1",balance:"\u4f59\u989d",available:"\u53ef\u7528",insufficient:"\u4f59\u989d\u4e0d\u8db3",recipient:"\u6536\u4ef6\u4eba",from:"\u4ece",fromAccount:"\u4ece\u8d26\u6237",to:"\u81f3",amount:"\u91d1\u989d",asset:"\u8d44\u4ea7",confirm:"\u786e\u8ba4\u4ea4\u6613",sending:"\u53d1\u9001\u4e2d...",sent:"\u4ea4\u6613\u5df2\u53d1\u9001",failed:"\u4ea4\u6613\u5931\u8d25",searchRecipients:"\u641c\u7d22\u6536\u4ef6\u4eba...",recentRecipients:"\u6700\u8fd1\u6536\u4ef6\u4eba",contactsList:"\u8054\u7cfb\u4eba",enterAddress:"\u8f93\u5165Flow\u5730\u5740",invalidAddress:"\u65e0\u6548\u5730\u5740",sameAddress:"\u4e0d\u80fd\u53d1\u9001\u5230\u540c\u4e00\u5730\u5740",selectNFTs:"\u9009\u62e9NFT",selectedNFTs:"\u5df2\u9009\u62e9\u7684NFT",nftDetails:"NFT\u8be6\u60c5",collectionName:"\u96c6\u5408",tokenId:"\u4ee3\u5e01ID",properties:"\u5c5e\u6027",description:"\u63cf\u8ff0",creator:"\u521b\u5efa\u8005",title:"\u53d1\u9001",inaccessible:"\u4e0d\u53ef\u8bbf\u95ee",confirmAddress:"\u786e\u8ba4\u5730\u5740",firstTimeSendMessage:"\u6211\u4eec\u6ce8\u610f\u5230\u8fd9\u53ef\u80fd\u662f\u60a8\u7b2c\u4e00\u6b21\u5411\u6b64\u5730\u5740\u53d1\u9001\u3002\u8bf7\u786e\u8ba4\u76ee\u6807\u5730\u5740\u3002",newContactTitle:"\u65b0\u5efa\u8054\u7cfb\u4eba",contactNameLabel:"\u8054\u7cfb\u4eba\u59d3\u540d",contactNamePlaceholder:"\u8bf7\u8f93\u5165\u59d3\u540d",addToAddressBookButton:"\u6dfb\u52a0\u5230\u5730\u5740\u7c3f",sendSNFTs:"\u53d1\u9001S/NFT",sendNFTs:"\u53d1\u9001NFT",change:"\u66f4\u6539",noNFTSelected:"\u672a\u9009\u62e9NFT\u3002\u8bf7\u8fd4\u56de\u5e76\u9009\u62e9\u8981\u53d1\u9001\u7684NFT\u3002",summary:"\u6458\u8981",sendTokens:"\u53d1\u9001\u4ee3\u5e01",confirmSend:"\u786e\u8ba4\u53d1\u9001",holdToSend:"\u957f\u6309\u53d1\u9001",unknownAccount:"\u672a\u77e5\u8d26\u6237",errors:{amountExceedsBalance:"\u91d1\u989d\u8d85\u51fa\u53ef\u7528\u4f59\u989d"}},messages:{loading:"\u52a0\u8f7d\u4e2d...",noTokensWithBalance:"\u65e0\u4f59\u989d\u4ee3\u5e01",noNFTCollectionsForAccount:"\u672a\u627e\u5230NFT\u6536\u85cf",loadingProfiles:"\u52a0\u8f7d\u914d\u7f6e\u6587\u4ef6\u4e2d...",noProfiles:"\u65e0\u914d\u7f6e\u6587\u4ef6",noProfilesFound:"\u672a\u627e\u5230\u914d\u7f6e\u6587\u4ef6",failedToLoadRecipients:"\u65e0\u6cd5\u52a0\u8f7d\u6536\u4ef6\u4eba",copied:"\u5df2\u590d\u5236\uff01",addressBookAdded:"\u5df2\u6dfb\u52a0\u5230\u5730\u5740\u7c3f",failedToAddToAddressBook:"\u6dfb\u52a0\u5230\u5730\u5740\u7c3f\u5931\u8d25",addressCopied:"\u5730\u5740\u5df2\u590d\u5236\u5230\u526a\u8d34\u677f",failedToCopy:"\u65e0\u6cd5\u590d\u5236\u5730\u5740",failedToShare:"\u65e0\u6cd5\u5206\u4eab\u4e8c\u7ef4\u7801"},receive:{title:"\u63a5\u6536\u8d44\u4ea7",receiveAccount:"\u63a5\u6536\u5230\u8d26\u6237",scanToReceive:"\u626b\u63cf\u63a5\u6536",shareQRCode:"\u5206\u4eab\u4e8c\u7ef4\u7801",generatingQR:"\u751f\u6210\u4e8c\u7ef4\u7801\u4e2d...",noQRCode:"\u4e8c\u7ef4\u7801\u4e0d\u53ef\u7528",evmWarning:"\u8bf7\u786e\u4fdd\u4ec5\u5728Flow EVM\u7f51\u7edc\u4e0a\u5411\u6b64\u5730\u5740\u53d1\u9001\u8d44\u4ea7\u3002\u53d1\u9001\u5230\u5176\u4ed6\u7f51\u7edc\u4e0a\u6b64\u5730\u5740\u7684\u8d44\u4ea7\u5c06\u4f1a\u4e22\u5931\u3002"},activity:{title:"\u6d3b\u52a8",empty:"\u6682\u65e0\u6d3b\u52a8",emptyMessage:"\u60a8\u7684\u4ea4\u6613\u5386\u53f2\u5c06\u663e\u793a\u5728\u8fd9\u91cc",error:"\u52a0\u8f7d\u6d3b\u52a8\u5931\u8d25",errorMessage:"\u8bf7\u91cd\u8bd5",status:{pending:"\u5904\u7406\u4e2d",success:"\u6210\u529f",failed:"\u5931\u8d25",expired:"\u5df2\u8fc7\u671f"},sent:"\u5df2\u53d1\u9001",received:"\u5df2\u63a5\u6536",today:"\u4eca\u5929",yesterday:"\u6628\u5929"},buttons:{retry:"\u91cd\u8bd5",refresh:"\u5237\u65b0",continue:"\u7ee7\u7eed",clearSearch:"\u6e05\u9664\u641c\u7d22"},errors:{networkError:"\u7f51\u7edc\u9519\u8bef",invalidInput:"\u8f93\u5165\u65e0\u6548",transactionFailed:"\u4ea4\u6613\u5931\u8d25",insufficientFunds:"\u8d44\u91d1\u4e0d\u8db3",addressNotFound:"\u5730\u5740\u672a\u627e\u5230",nftNotFound:"NFT\u672a\u627e\u5230",tokenNotSupported:"\u4e0d\u652f\u6301\u7684\u4ee3\u5e01",unauthorized:"\u672a\u6388\u6743\u8bbf\u95ee",timeout:"\u8bf7\u6c42\u8d85\u65f6",unknown:"\u53d1\u751f\u672a\u77e5\u9519\u8bef",failedToLoadTokens:"\u52a0\u8f7d\u4ee3\u5e01\u5931\u8d25",failedToLoadNFTs:"\u52a0\u8f7dNFT\u5931\u8d25",transactionPayloadError:"\u521b\u5efa\u4ea4\u6613\u8f7d\u8377\u5931\u8d25",transactionExecutionError:"\u4ea4\u6613\u6267\u884c\u5931\u8d25",generic:{title:"\u51fa\u73b0\u95ee\u9898",message:"\u9047\u5230\u4e86\u610f\u5916\u9519\u8bef\u3002\u8bf7\u91cd\u8bd5\u3002",button:"\u91cd\u8bd5",reportBug:"Reportar Error"},network:{title:"\u8fde\u63a5\u95ee\u9898",message:"\u65e0\u6cd5\u8fde\u63a5\u5230\u7f51\u7edc\u3002\u8bf7\u68c0\u67e5\u60a8\u7684\u8fde\u63a5\u540e\u91cd\u8bd5\u3002",button:"\u91cd\u8bd5",reportBug:"Reportar Error"},critical:{title:"\u4e25\u91cd\u9519\u8bef",message:"\u53d1\u751f\u4e86\u4e25\u91cd\u9519\u8bef\u3002\u8bf7\u91cd\u65b0\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\u3002",button:"\u91cd\u542f\u5e94\u7528",reportBug:"Reportar Error"}},nft:{untitled:"\u65e0\u6807\u9898",unknownCollection:"\u672a\u77e5\u6536\u85cf",noNFTsSelected:"\u672a\u9009\u62e9NFT",noSearchResults:"\u65e0\u641c\u7d22\u7ed3\u679c",noNFTsMatchSearch:"\u6ca1\u6709NFT\u4e0e'{{search}}'\u5339\u914d",noNFTsFound:"\u672a\u627e\u5230NFT",collectionEmpty:"\u6b64\u6536\u85cf\u4e0d\u5305\u542b\u4efb\u4f55NFT",noCollectionSelected:"\u672a\u9009\u62e9\u6536\u85cf\u3002\u8bf7\u8fd4\u56de\u5e76\u9009\u62e9\u4e00\u4e2aNFT\u6536\u85cf\u3002",noAccountSelected:"\u65e0\u53ef\u7528\u8d26\u6237\u5730\u5740\u3002\u8bf7\u9009\u62e9\u4e00\u4e2a\u8d26\u6237\u3002",maxSelectionReached:"\u6700\u591a\u53ef\u9009\u62e99\u4e2aNFT",nftNotFound:"\u672a\u627e\u5230NFT ID:",selectedCount:"\u5df2\u9009\u62e9 {{count}} \u4e2aNFT",confirmSelection:"\u786e\u8ba4 {{count}} \u4e2aNFT",itemCount:"{{count}}\u9879",notFound:{title:"\u672a\u627e\u5230NFT",message:"\u65e0\u6cd5\u627e\u5230\u6216\u52a0\u8f7d\u8bf7\u6c42\u7684NFT"},confirmSelection_plural:"\u786e\u8ba4 {{count}} \u4e2aNFT",itemCount_plural:"{{count}} \u4e2a\u7269\u54c1",selectedCount_plural:"\u5df2\u9009\u62e9 {{count}} \u4e2aNFT"},storage:{warning:{title:"\u5b58\u50a8\u8b66\u544a",balance:"\u60a8\u7684\u8d26\u6237FLOW\u4f59\u989d\u4f4e\u4e8e\u5b58\u50a8\u4f7f\u7528\u6240\u9700\u7684\u6700\u4f4e\u8981\u6c42\uff0c\u8fd9\u53ef\u80fd\u4f1a\u5bfc\u81f4\u540e\u7eed\u4ea4\u6613\u5931\u8d25\u3002",storage:"\u6b64\u64cd\u4f5c\u53ef\u80fd\u4f1a\u5931\u8d25\uff0c\u56e0\u4e3a\u5b83\u53ef\u80fd\u4f1a\u5c06\u60a8\u8d26\u6237\u4e2d\u7684FLOW\u6570\u91cf\u51cf\u5c11\u5230\u4f4e\u4e8e\u8986\u76d6\u5176\u5b58\u50a8\u4f7f\u7528\u6240\u9700\u7684\u6570\u91cf\u3002",storageAfterAction:"\u6b64\u6b21\u4ea4\u6613\u540e\uff0c\u8d26\u6237\u4f59\u989d\u5c06\u4f4e\u4e8e\u5b58\u50a8\u6240\u9700\u7684\u6700\u4f4eFLOW\u6570\u91cf\uff0c\u4f1a\u5bfc\u81f4\u6b64\u6b21\u4ea4\u6613\u5931\u8d25\u3002"}},account:{compatibility:{incompatible:"\u4e0d\u517c\u5bb9\u8d26\u6237",learnMore:"\u4e86\u89e3\u66f4\u591a",unknown:"\u672a\u77e5\u8d26\u6237",dialog:{title:"\u8d26\u6237\u517c\u5bb9\u6027",button:"\u786e\u5b9a",descriptionMain:"Flow \u94b1\u5305\u7ba1\u7406\u60a8\u5728 Flow \u4e0a\u7684 EVM \u548c Cadence \u8d26\u6237\u3002EVM \u8d26\u6237\u4e0e EVM \u5e94\u7528\u517c\u5bb9\uff0cCadence \u8d26\u6237\u4e0e Cadence \u5e94\u7528\u517c\u5bb9\u3002",descriptionSecondary:"\u5982\u679c\u5e94\u7528\u662f\u57fa\u4e8e EVM \u6216 Cadence\uff0c\u53ea\u6709\u517c\u5bb9\u7684\u8d26\u6237\u53ef\u7528\u4e8e\u8fde\u63a5\u3002"}}},surge:{title:"\u7f51\u7edc\u62e5\u5835\u4ef7\u683c\u6fc0\u6d3b",message:"\u7531\u4e8e\u7f51\u7edc\u6d3b\u52a8\u9891\u7e41\uff0c\u4ea4\u6613\u8d39\u7528\u5df2\u63d0\u9ad8\u3002\u5f53\u524d\u7f51\u7edc\u8d39\u7528\u6bd4\u5e73\u65f6\u9ad8 4 \u500d\u3002",modal:{title:"\u60a8\u786e\u5b9a\u8981\u7ee7\u7eed\u4f7f\u7528\u6fc0\u589e\u5b9a\u4ef7\u5417\uff1f",transactionFee:"\u60a8\u7684\u4ea4\u6613\u8d39\u7528",surgeActive:"\u6fc0\u589e\u4ef7\u683c\u6fc0\u6d3b",description:"\u7531\u4e8e\u7f51\u7edc\u6d3b\u52a8\u9891\u7e41\uff0c\u4ea4\u6613\u8d39\u7528\u5df2\u63d0\u9ad8\uff0cFlow Wallet \u6682\u65f6\u4e0d\u4e3a\u60a8\u652f\u4ed8 gas \u8d39\u7528\u3002\u5f53\u524d\u7f51\u7edc\u8d39\u7528\u6bd4\u5e73\u65f6\u9ad8 {{multiplier}} \u500d\u3002",holdToAgree:"\u6309\u4f4f\u540c\u610f\u6fc0\u589e\u5b9a\u4ef7"}},onboarding:{flowWallet:"Flow \u94b1\u5305",getStarted:{title:"\u5f00\u59cb\u4f7f\u7528 Flow \u94b1\u5305",subtitle:"\u6b22\u8fce\u4f7f\u7528 Flow \u94b1\u5305\n\u521b\u5efa\u8d26\u6237\u4ee5\u5f00\u59cb\u4f7f\u7528\u3002",createAccount:"\u521b\u5efa\u65b0\u8d26\u6237",signIn:"\u6211\u5df2\u7ecf\u6709\u8d26\u6237",agreementText:"\u4f7f\u7528 Flow \u94b1\u5305\u5373\u8868\u793a\u60a8\u540c\u610f",termsOfService:"\u670d\u52a1\u6761\u6b3e",and:"\u548c",privacyPolicy:"\u9690\u79c1\u653f\u7b56"},profileType:{welcomeTitle:"\u6b22\u8fce\u4f7f\u7528\nFlow \u94b1\u5305",recoveryPhrase:{title:"\u7531\u6062\u590d\u77ed\u8bed\u4fdd\u62a4",description:"\u6062\u590d\u77ed\u8bed\u662f\u751f\u6210\u7684\u4e00\u7cfb\u5217\u5355\u8bcd\uff0c\u7528\u4e8e\u4fdd\u62a4\u60a8\u7684\u94b1\u5305\u3002"},secureEnclaveProfile:"\u5b89\u5168\u98de\u5730\u914d\u7f6e\u6587\u4ef6",next:"\u4e0b\u4e00\u6b65"},secureEnclave:{title:"\u9ad8\u7ea7",cardTitle:"\u5b89\u5168\u914d\u7f6e\u6587\u4ef6",cardDescription:"Flow \u94b1\u5305\u5728\u5b89\u5168\u6a21\u5f0f\u4e0b\u4f7f\u7528\u5177\u6709\u786c\u4ef6\u7ea7\u5b89\u5168\u6027\u7684\u8bbe\u5907\u5bc6\u94a5\uff0c\u662f\u60a8\u53ef\u4ee5\u4fe1\u8d56\u7684\u8d85\u5b89\u5168\u786c\u4ef6\u94b1\u5305\u3002\u4ec5\u9002\u7528\u4e8e Flow \u4e0a\u7684 Cadence \u8d26\u6237\u3002",features:{secureEnclave:"\u5b89\u5168\u98de\u5730",hardwareSecurity:"\u786c\u4ef6\u7ea7\u5b89\u5168",noEvm:"\u4e0d\u652f\u6301 EVM"},next:"\u4e0b\u4e00\u6b65",dialog:{title:"\u60a8\u662f\u9ad8\u7ea7\u7528\u6237\u5417\uff1f",description:"\u60a8\u786e\u5b9a\u8981\u521b\u5efa\u5b89\u5168\u914d\u7f6e\u6587\u4ef6\u5417\uff1f\u8fd9\u5c06\u9650\u5236\u5bf9\u67d0\u4e9b\u529f\u80fd\u7684\u8bbf\u95ee\uff0c\u5e76\u4e14\u4e0d\u4f1a\u8ba9\u60a8\u8bbf\u95ee Flow \u4e0a\u7684 EVM \u8d26\u6237\u3002",holdToConfirm:"\u957f\u6309\u786e\u8ba4"},creating:{title:"\u6b63\u5728\u521b\u5efa\n\u60a8\u7684\u8d26\u6237",configuring:"\u914d\u7f6e\u8d26\u6237\u4e2d"}},notificationPreferences:{headerTitle:"\u901a\u77e5",title:"\u83b7\u53d6\u63a8\u9001\u901a\u77e5",subtitle:"\u5728\u60a8\u7684\u8f6c\u8d26\u3001\u4ea4\u6362\u548c\u6279\u51c6\u5b8c\u6210\u65f6\u83b7\u5f97\u901a\u77e5\u3002",enableButton:"\u5f00\u542f\u63a8\u9001\u901a\u77e5",maybeLater:"\u7a0d\u540e\u518d\u8bf4"},backupOptions:{navTitle:"\u5907\u4efd",subtitle:"\u9009\u62e9\u60a8\u60f3\u8981\u5982\u4f55\u5907\u4efd\u8d26\u6237\u4ee5\u5b8c\u6210\u8d26\u6237\u521b\u5efa\u3002\u60a8\u7a0d\u540e\u53ef\u4ee5\u5728\u8bbe\u7f6e\u4e2d\u66f4\u6539\u3002",deviceBackup:{title:"\u521b\u5efa\u8bbe\u5907\u5907\u4efd",description:"\u4f7f\u7528\u60a8\u7684\u8bbe\u5907\u4f5c\u4e3a\u5907\u4efd\u94b1\u5305\u4ee5\u4fdd\u62a4\u60a8\u7684\u6570\u5b57\u8d44\u4ea7"},cloudBackup:{title:"\u521b\u5efa\u4e91\u5907\u4efd",description:"\u4f7f\u7528\u8c37\u6b4c\u4e91\u7aef\u786c\u76d8\u548ciCloud\u7b49\u53ef\u4fe1\u63d0\u4f9b\u5546\u521b\u5efa\u4e91\u5907\u4efd"},recoveryPhrase:{title:"\u521b\u5efa\u6062\u590d\u77ed\u8bed\u5907\u4efd",description:"\u521b\u5efa\u4e00\u4e2a12\u4e2a\u5355\u8bcd\u7684\u6062\u590d\u77ed\u8bed"},skipWarning:{title:"\u5728\u6ca1\u6709\u5907\u4efd\u7684\u60c5\u51b5\u4e0b\u7ee7\u7eed\uff1f",message:"\u5982\u679c\u6ca1\u6709\u5907\u4efd\uff0c\u5982\u679c\u60a8\u4e22\u5931\u8bbe\u5907\uff0c\u60a8\u53ef\u80fd\u4f1a\u5931\u53bb\u5bf9\u94b1\u5305\u7684\u8bbf\u95ee\u6743\u9650\u3002\u60a8\u786e\u5b9a\u8981\u5728\u4e0d\u8bbe\u7f6e\u5907\u4efd\u7684\u60c5\u51b5\u4e0b\u7ee7\u7eed\u5417\uff1f",confirm:"\u5728\u6ca1\u6709\u5907\u4efd\u7684\u60c5\u51b5\u4e0b\u7ee7\u7eed"}},recoveryPhrase:{navTitle:"\u591a\u94fe\u8d26\u6237",title:"\u6062\u590d\u77ed\u8bed",description:"\u6309\u6b63\u786e\u987a\u5e8f\u5199\u4e0b\u8fd9\u4e9b\u5355\u8bcd\uff0c\u5e76\u5c06\u5176\u5b58\u653e\u5728\u5b89\u5168\u7684\u5730\u65b9\u3002",clickToReveal:"\u70b9\u51fb\u663e\u793a\u77ed\u8bed",copy:"\u590d\u5236",next:"\u4e0b\u4e00\u6b65",warning:{title:"\u4e0d\u8981\u5206\u4eab\u60a8\u7684\u79d8\u5bc6\u77ed\u8bed\uff01",description:"\u5982\u679c\u6709\u4eba\u83b7\u5f97\u4e86\u60a8\u7684\u79d8\u5bc6\u77ed\u8bed\uff0c\n\u4ed6\u4eec\u5c06\u5b8c\u5168\u63a7\u5236\u60a8\u7684\u94b1\u5305\u3002"},error:{title:"\u6062\u590d\u77ed\u8bed\u751f\u6210\u5931\u8d25",unknown:"\u53d1\u751f\u672a\u77e5\u9519\u8bef"}},confirmRecoveryPhrase:{navTitle:"\u591a\u94fe\u8d26\u6237",title:"\u786e\u8ba4\u77ed\u8bed",description:"\u8bf7\u6839\u636e\u987a\u5e8f\u9010\u4e00\u9009\u62e9\u5355\u8bcd\u3002",selectWord:"\u9009\u62e9\u4f4d\u7f6e #{{position}} \u7684\u5355\u8bcd",finish:"\u5b8c\u6210",creating:{title:"\u6b63\u5728\u521b\u5efa\n\u60a8\u7684\u8d26\u6237",configuring:"\u914d\u7f6e\u8d26\u6237\u4e2d"},error:{title:"\u8d26\u6237\u521b\u5efa\u5931\u8d25",generic:"\u521b\u5efa\u8d26\u6237\u5931\u8d25\u3002\u8bf7\u91cd\u8bd5\u3002",server:"\u670d\u52a1\u5668\u9519\u8bef\u3002\u8bf7\u7a0d\u540e\u91cd\u8bd5\u3002",validation:"\u65e0\u6548\u7684\u8d26\u6237\u6570\u636e\u3002\u8bf7\u91cd\u8bd5\u3002"}},importProfile:{title:"\u5bfc\u5165\u4e2a\u4eba\u8d44\u6599",subtitle:"\u4f7f\u7528\u5907\u4efd\u5bfc\u5165\u60a8\u7684\u4e2a\u4eba\u8d44\u6599\u3002",previousProfiles:{title:"\u4e4b\u524d\u7684\u4e2a\u4eba\u8d44\u6599",subtitle:"\u5728\u6b64\u8bbe\u5907\u4e0a\u53d1\u73b0{{count}}\u4e2a\u4e4b\u524d\u7684\u4e2a\u4eba\u8d44\u6599"},deviceBackup:{title:"\u8bbe\u5907\u5907\u4efd",subtitle:"\u901a\u8fc7\u7269\u7406\u8bbf\u95ee\u53e6\u4e00\u90e8\u624b\u673a\u6765\u5bfc\u5165\u60a8\u7684\u4e2a\u4eba\u8d44\u6599\u3002"},cloudBackup:{title:"\u4e91\u591a\u91cd\u5907\u4efd",subtitle:"\u4eceGoogle Drive\u548ciCloud\u7b49\u4e91\u670d\u52a1\u63d0\u4f9b\u5546\u5bfc\u5165\u3002"},recoveryPhrase:{title:"\u4ece\u6062\u590d\u77ed\u8bed",subtitle:"12\u4e2a\u5355\u8bcd\u7684\u6062\u590d\u77ed\u8bed\u3002"},otherMethod:{title:"\u4ece\u5176\u4ed6\u65b9\u5f0f",subtitle:"\u4f7f\u7528\u5bc6\u94a5\u5e93\u3001\u79c1\u94a5\u6216\u6062\u590d\u77ed\u8bed\u5bfc\u5165\u60a8\u7684\u4e2a\u4eba\u8d44\u6599\u3002"}},importOtherMethods:{title:"\u4ece\u5176\u4ed6\u65b9\u5f0f",subtitle:"\u9009\u62e9\u5bfc\u5165\u4e2a\u4eba\u8d44\u6599\u7684\u65b9\u5f0f\u3002",recoveryPhrase:{title:"\u6062\u590d\u77ed\u8bed",subtitle:"12\u4e2a\u5355\u8bcd\u7684\u6062\u590d\u77ed\u8bed"},keyStore:{title:"\u5bc6\u94a5\u5e93",subtitle:"\u5bc6\u94a5\u5e93\u6587\u4ef6\u662f\u60a8\u4ee5\u5bc6\u7801\u52a0\u5bc6\u7684\u6587\u4ef6\u5f62\u5f0f\u7684\u94b1\u5305\u3002"},privateKey:{title:"\u79c1\u94a5",subtitle:"\u7c98\u8d34\u60a8\u7684\u8d26\u6237\u79c1\u94a5\u3002"},googleDrive:{title:"Google Drive",subtitle:"\u4eceGoogle Drive\u5bfc\u5165\u5907\u4efd\u3002"},iCloud:{title:"iCloud",subtitle:"\u4eceiCloud\u5bfc\u5165\u5907\u4efd\u3002"}},confirmImportProfile:{title:"\u786e\u8ba4\u8981\u5bfc\u5165\u7684\u4e2a\u4eba\u8d44\u6599",emptyTitle:"\u672a\u627e\u5230\u4e2a\u4eba\u8d44\u6599",emptyMessage:"\u6b64\u8bbe\u5907\u4e0a\u672a\u627e\u5230\u4e4b\u524d\u7684\u4e2a\u4eba\u8d44\u6599",importButton:"\u5bfc\u5165\u4e2a\u4eba\u8d44\u6599"}},backup:{tip:{writeDown:{title:"\u5199\u4e0b\u6765",description:"\u5c06\u60a8\u7684\u6062\u590d\u77ed\u8bed\u5199\u5728\u7eb8\u4e0a\u5e76\u5b58\u653e\u5728\u5b89\u5168\u7684\u5730\u65b9\u3002"},keepSecret:{title:"\u4fdd\u5bc6",description:"\u6c38\u8fdc\u4e0d\u8981\u4e0e\u4efb\u4f55\u4eba\u5206\u4eab\u60a8\u7684\u6062\u590d\u77ed\u8bed\u6216\u5728\u4efb\u4f55\u7f51\u7ad9\u4e0a\u8f93\u5165\u5b83\u3002"},noScreenshot:{title:"\u4e0d\u8981\u622a\u56fe",description:"\u4e0d\u8981\u622a\u56fe\u6216\u4ee5\u6570\u5b57\u65b9\u5f0f\u5b58\u50a8\u60a8\u7684\u77ed\u8bed\uff0c\u56e0\u4e3a\u5b83\u53ef\u80fd\u4f1a\u88ab\u6cc4\u9732\u3002"},warning:{title:"\u91cd\u8981",description:"\u5982\u679c\u60a8\u4e22\u5931\u4e86\u6062\u590d\u77ed\u8bed\uff0c\u60a8\u5c06\u65e0\u6cd5\u6062\u590d\u60a8\u7684\u94b1\u5305\u3002Flow Wallet \u65e0\u6cd5\u5e2e\u52a9\u60a8\u6062\u590d\u3002"},continue:"\u7ee7\u7eed"},mnemonic:{navTitle:"\u521b\u5efa\u8d26\u6237",done:"\u5b8c\u6210",complete:"\u6211\u5df2\u5907\u4efd\u6211\u7684\u77ed\u8bed"}},keyrotation:{tip:{title:"\u5347\u7ea7\n\u60a8\u7684\u8d26\u6237",description:"Flow Wallet\u9700\u8981\u5347\u7ea7\u60a8\u8d26\u6237\u7684\u5b89\u5168\u6027\u4ee5\u79fb\u9664\u60a8\u4ee5\u524d\u7684Blocto\u5bc6\u94a5",sectionTitle:"\u8fd9\u610f\u5473\u7740\u4ec0\u4e48\uff1f",fullControl:{title:"\u60a8\u5c06\u5b8c\u5168\u63a7\u5236\u60a8\u7684\u8d26\u6237\u548c\u5bc6\u94a5\u3002"},newKey:{title:"\u6211\u4eec\u5c06\u521b\u5efa\u4e00\u4e2a\u65b0\u5bc6\u94a5\u6765\u4fdd\u62a4\u60a8\u7684\u8d26\u6237\uff0c\u79fb\u9664Blocto\u7684\u8bbf\u95ee\u6743\u9650\u3002"},newPhrase:{title:"\u6211\u4eec\u5c06\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6062\u590d\u77ed\u8bed\uff0c\u4ee5\u4fbf\u5c06\u6765\u4fdd\u62a4\u60a8\u7684\u8d26\u6237\u3002"},warning:{prefix:"\u8bf7\u6ce8\u610f\uff1a",bloctoDescription:"\u6b64\u8fc7\u7a0b\u5b8c\u6210\u540e\uff0c\u60a8\u6765\u81eaBlocto\u7684\u6062\u590d\u5957\u4ef6\u5c06\u4e0d\u518d\u4fdd\u62a4\u5bf9\u60a8\u8d26\u6237\u7684\u8bbf\u95ee\u3002\u8fd9\u662f\u4e3a\u4e86\u5728Blocto\u505c\u6b62\u8fd0\u8425\u540e\u4fdd\u62a4\u60a8\u3002"},start:"\u5f00\u59cb",notNow:"\u6682\u4e0d"},mnemonic:{title:"\u6062\u590d\u77ed\u8bed",description:"\u6309\u6b63\u786e\u987a\u5e8f\u5199\u4e0b\u8fd9\u4e9b\u5355\u8bcd\uff0c\u5e76\u5c06\u5176\u5b58\u653e\u5728\u5b89\u5168\u7684\u5730\u65b9\u3002",clickToReveal:"\u70b9\u51fb\u663e\u793a\u77ed\u8bed",copy:"\u590d\u5236",upgrading:"\u6b63\u5728\u5347\u7ea7\u8d26\u6237...",warning:{title:"\u4e0d\u8981\u5206\u4eab\u60a8\u7684\u6062\u590d\u77ed\u8bed\uff01",description:"\u5982\u679c\u6709\u4eba\u83b7\u5f97\u4e86\u60a8\u7684\u6062\u590d\u77ed\u8bed\uff0c\u4ed6\u4eec\u5c06\u5b8c\u5168\u63a7\u5236\u60a8\u7684\u94b1\u5305\u3002"},error:{title:"\u65e0\u6548\u7684\u6062\u590d\u77ed\u8bed",description:"\u6062\u590d\u77ed\u8bed\u7f3a\u5931\u6216\u65e0\u6548\u3002\u8bf7\u91cd\u8bd5\u3002"}},error:{seedGeneration:"\u751f\u6210\u6062\u590d\u77ed\u8bed\u5931\u8d25",rotation:"\u5347\u7ea7\u8d26\u6237\u5931\u8d25"},success:{rotation:"\u8d26\u6237\u5347\u7ea7\u6210\u529f\uff01"}}}},ru:{translation:{navigation:{send:"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c",sendTo:"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c",sending:"\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430",selectTokens:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0442\u043e\u043a\u0435\u043d\u044b",sendTokens:"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043a\u0435\u043d\u044b",nftDetails:"\u0414\u0435\u0442\u0430\u043b\u0438 NFT",colorDemo:"\u0414\u0435\u043c\u043e \u0446\u0432\u0435\u0442\u043e\u0432",receive:"\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u044b"},common:{cancel:"\u041e\u0442\u043c\u0435\u043d\u0430",confirm:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c",back:"\u041d\u0430\u0437\u0430\u0434",goBack:"\u0412\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f",close:"\u0417\u0430\u043a\u0440\u044b\u0442\u044c",done:"\u0413\u043e\u0442\u043e\u0432\u043e",next:"\u0414\u0430\u043b\u0435\u0435",previous:"\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439",loading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430...",error:"\u041e\u0448\u0438\u0431\u043a\u0430",success:"\u0423\u0441\u043f\u0435\u0448\u043d\u043e",Search:"\u041f\u043e\u0438\u0441\u043a",recommended:"\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f",retry:"\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c"},tabs:{tokens:"\u0422\u043e\u043a\u0435\u043d\u044b",nfts:"NFT"},send:{tokens:"\u0422\u043e\u043a\u0435\u043d\u044b",nfts:"NFT",myAccounts:"\u041c\u043e\u0438 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u044b",recent:"\u041d\u0435\u0434\u0430\u0432\u043d\u0438\u0435",addressBook:"\u0410\u0434\u0440\u0435\u0441\u043d\u0430\u044f \u043a\u043d\u0438\u0433\u0430",sendTo:{title:"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c"},toAccount:"\u041d\u0430 \u0430\u043a\u043a\u0430\u0443\u043d\u0442",searchAddress:"\u041f\u043e\u0438\u0441\u043a \u0430\u0434\u0440\u0435\u0441\u0430",searchPasteAddress:"\u041f\u043e\u0438\u0441\u043a / \u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441",selectedToken:"\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0442\u043e\u043a\u0435\u043d",noAccounts:{title:"\u041d\u0435\u0442 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432",message:"\u0423 \u0432\u0430\u0441 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432."},noRecent:{title:"\u041d\u0435\u0442 \u043d\u0435\u0434\u0430\u0432\u043d\u0438\u0445 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u0435\u0439",message:"\u0412\u044b \u043d\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u043b\u0438 \u043d\u0438\u043a\u043e\u043c\u0443 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f."},noContacts:{title:"\u041d\u0435\u0442 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432",message:"\u0412\u0430\u0448\u0430 \u0430\u0434\u0440\u0435\u0441\u043d\u0430\u044f \u043a\u043d\u0438\u0433\u0430 \u043f\u0443\u0441\u0442\u0430."},noSearchResults:{title:"\u041d\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432",message:"\u041d\u0438 \u043e\u0434\u0438\u043d \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0438\u043b\u0438 \u043a\u043e\u043d\u0442\u0430\u043a\u0442 \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u0430\u0448\u0435\u043c\u0443 \u043f\u043e\u0438\u0441\u043a\u0443"},noRecipients:"\u041f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b",selectToken:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0442\u043e\u043a\u0435\u043d",selectRecipient:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044f",enterAmount:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0443\u043c\u043c\u0443",reviewTransaction:"\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e",transactionFee:"\u041a\u043e\u043c\u0438\u0441\u0441\u0438\u044f \u0437\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e",total:"\u0418\u0442\u043e\u0433\u043e",balance:"\u0411\u0430\u043b\u0430\u043d\u0441",available:"\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e",insufficient:"\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0440\u0435\u0434\u0441\u0442\u0432",recipient:"\u041f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044c",from:"\u041e\u0442",fromAccount:"\u0421 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430",to:"\u041a\u043e\u043c\u0443",amount:"\u0421\u0443\u043c\u043c\u0430",asset:"\u0410\u043a\u0442\u0438\u0432",confirm:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e",sending:"\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430...",sent:"\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430",failed:"\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u043d\u0435 \u0443\u0434\u0430\u043b\u0430\u0441\u044c",searchRecipients:"\u041f\u043e\u0438\u0441\u043a \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u0435\u0439...",recentRecipients:"\u041d\u0435\u0434\u0430\u0432\u043d\u0438\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u0438",contactsList:"\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u044b",enterAddress:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 Flow \u0430\u0434\u0440\u0435\u0441",invalidAddress:"\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441",sameAddress:"\u041d\u0435\u043b\u044c\u0437\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0442\u043e\u0442 \u0436\u0435 \u0430\u0434\u0440\u0435\u0441",selectNFTs:"\u0412\u044b\u0431\u0440\u0430\u0442\u044c NFT",selectedNFTs:"\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 NFT",nftDetails:"\u0414\u0435\u0442\u0430\u043b\u0438 NFT",collectionName:"\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f",tokenId:"ID \u0442\u043e\u043a\u0435\u043d\u0430",properties:"\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430",description:"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435",creator:"\u0421\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c",title:"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c",inaccessible:"\u041d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e",confirmAddress:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441",firstTimeSendMessage:"\u041c\u044b \u0437\u0430\u043c\u0435\u0442\u0438\u043b\u0438, \u0447\u0442\u043e \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u0430\u0448 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0430\u0434\u0440\u0435\u0441. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.",newContactTitle:"\u041d\u043e\u0432\u044b\u0439 \u043a\u043e\u043d\u0442\u0430\u043a\u0442",contactNameLabel:"\u0418\u043c\u044f \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0430",contactNamePlaceholder:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0438\u043c\u044f",addToAddressBookButton:"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u0443\u044e \u043a\u043d\u0438\u0433\u0443",sendSNFTs:"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c S/NFT",sendNFTs:"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c NFT",change:"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c",noNFTSelected:"NFT \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0435\u0440\u043d\u0438\u0442\u0435\u0441\u044c \u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 NFT \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438.",summary:"\u0421\u0432\u043e\u0434\u043a\u0430",sendTokens:"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043a\u0435\u043d\u044b",confirmSend:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443",holdToSend:"\u0423\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439\u0442\u0435 \u0434\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438",unknownAccount:"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442",errors:{amountExceedsBalance:"\u0421\u0443\u043c\u043c\u0430 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u0431\u0430\u043b\u0430\u043d\u0441"}},messages:{loading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430...",noTokensWithBalance:"\u041d\u0435\u0442 \u0442\u043e\u043a\u0435\u043d\u043e\u0432 \u0441 \u0431\u0430\u043b\u0430\u043d\u0441\u043e\u043c",noNFTCollectionsForAccount:"\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 NFT \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b",loadingProfiles:"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u0439...",noProfiles:"\u041d\u0435\u0442 \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u0439",noProfilesFound:"\u041f\u0440\u043e\u0444\u0438\u043b\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b",failedToLoadRecipients:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u0435\u0439",copied:"\u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u043e!",addressBookAdded:"\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u0443\u044e \u043a\u043d\u0438\u0433\u0443",failedToAddToAddressBook:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u0443\u044e \u043a\u043d\u0438\u0433\u0443",addressCopied:"\u0410\u0434\u0440\u0435\u0441 \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d \u0432 \u0431\u0443\u0444\u0435\u0440 \u043e\u0431\u043c\u0435\u043d\u0430",failedToCopy:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441",failedToShare:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f QR-\u043a\u043e\u0434\u043e\u043c"},receive:{title:"\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u044b",receiveAccount:"\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430 \u0441\u0447\u0435\u0442",scanToReceive:"\u0421\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f",shareQRCode:"\u041f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f QR-\u043a\u043e\u0434\u043e\u043c",generatingQR:"\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f QR-\u043a\u043e\u0434\u0430...",noQRCode:"QR-\u043a\u043e\u0434 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d",evmWarning:"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0435 \u0430\u043a\u0442\u0438\u0432\u044b \u043d\u0430 \u044d\u0442\u043e\u0442 \u0430\u0434\u0440\u0435\u0441 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0441\u0435\u0442\u0438 Flow EVM. \u0410\u043a\u0442\u0438\u0432\u044b, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0430\u0434\u0440\u0435\u0441 \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0435\u0442\u044f\u0445, \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u044b."},activity:{title:"\u0410\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c",empty:"\u041f\u043e\u043a\u0430 \u043d\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438",emptyMessage:"\u0412\u0430\u0448\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0437\u0434\u0435\u0441\u044c",error:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c",errorMessage:"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430",status:{pending:"\u0412 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435",success:"\u0423\u0441\u043f\u0435\u0448\u043d\u043e",failed:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c",expired:"\u0418\u0441\u0442\u0435\u043a\u043b\u043e"},sent:"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e",received:"\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043e",today:"\u0421\u0435\u0433\u043e\u0434\u043d\u044f",yesterday:"\u0412\u0447\u0435\u0440\u0430"},buttons:{retry:"\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c",refresh:"\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c",continue:"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c",clearSearch:"\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u043f\u043e\u0438\u0441\u043a"},errors:{networkError:"\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u0441\u0435\u0442\u0435\u0432\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430",invalidInput:"\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0432\u0432\u043e\u0434",transactionFailed:"\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \u043d\u0435 \u0443\u0434\u0430\u043b\u0430\u0441\u044c",insufficientFunds:"\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0440\u0435\u0434\u0441\u0442\u0432",addressNotFound:"\u0410\u0434\u0440\u0435\u0441 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d",nftNotFound:"NFT \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d",tokenNotSupported:"\u0422\u043e\u043a\u0435\u043d \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f",unauthorized:"\u041d\u0435\u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f",timeout:"\u041f\u0440\u0435\u0432\u044b\u0448\u0435\u043d\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f",unknown:"\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430",failedToLoadTokens:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0442\u043e\u043a\u0435\u043d\u044b",failedToLoadNFTs:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c NFT",transactionPayloadError:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438",transactionExecutionError:"\u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438",generic:{title:"\u0427\u0442\u043e-\u0442\u043e \u043f\u043e\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a",message:"\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430.",button:"\u041f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u043d\u043e\u0432\u0430",reportBug:"Reportar Error"},network:{title:"\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0441 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c",message:"\u041d\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a \u0441\u0435\u0442\u0438. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0432\u0430\u0448\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430.",button:"\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c",reportBug:"Reportar Error"},critical:{title:"\u041a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430",message:"\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435.",button:"\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435",reportBug:"Reportar Error"}},nft:{untitled:"\u0411\u0435\u0437 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f",unknownCollection:"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f",noNFTsSelected:"NFT \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u044b",noSearchResults:"\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u043e\u0438\u0441\u043a\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442",noNFTsMatchSearch:"NFT \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 '{{search}}'",noNFTsFound:"NFT \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b",collectionEmpty:"\u042d\u0442\u0430 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 NFT",noCollectionSelected:"\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u0430. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0435\u0440\u043d\u0438\u0442\u0435\u0441\u044c \u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e NFT.",noAccountSelected:"\u0410\u0434\u0440\u0435\u0441 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442.",maxSelectionReached:"\u041c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c 9 NFT",nftNotFound:"NFT \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u0434\u043b\u044f ID:",selectedCount_one:"\u0412\u044b\u0431\u0440\u0430\u043d {{count}} NFT",selectedCount_few:"\u0412\u044b\u0431\u0440\u0430\u043d\u043e {{count}} NFT",selectedCount_many:"\u0412\u044b\u0431\u0440\u0430\u043d\u043e {{count}} NFT",selectedCount_other:"\u0412\u044b\u0431\u0440\u0430\u043d\u043e {{count}} NFT",confirmSelection_one:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c {{count}} NFT",confirmSelection_few:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c {{count}} NFT",confirmSelection_many:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c {{count}} NFT",confirmSelection_other:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c {{count}} NFT",itemCount_one:"{{count}} \u044d\u043b\u0435\u043c\u0435\u043d\u0442",itemCount_few:"{{count}} \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430",itemCount_many:"{{count}} \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432",itemCount_other:"{{count}} \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432",notFound:{title:"NFT \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d",message:"\u0417\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c\u044b\u0439 NFT \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0430\u0439\u0434\u0435\u043d \u0438\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d"},confirmSelection:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c {{count}} NFT",confirmSelection_plural:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c {{count}} NFT",itemCount:"{{count}} \u044d\u043b\u0435\u043c\u0435\u043d\u0442",itemCount_plural:"{{count}} \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432",selectedCount:"\u0412\u044b\u0431\u0440\u0430\u043d {{count}} NFT",selectedCount_plural:"\u0412\u044b\u0431\u0440\u0430\u043d\u043e {{count}} NFT"},storage:{warning:{title:"\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435",balance:"\u0412\u0430\u0448 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u043d\u0438\u0436\u0435 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0431\u0430\u043b\u0430\u043d\u0441\u0430 FLOW, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430, \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u0441\u0431\u043e\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439.",storage:"\u042d\u0442\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0443\u0434\u0430\u0442\u044c\u0441\u044f, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e FLOW \u043d\u0430 \u0432\u0430\u0448\u0435\u043c \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435 \u043d\u0438\u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u0434\u043b\u044f \u043f\u043e\u043a\u0440\u044b\u0442\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430.",storageAfterAction:"\u0411\u0430\u043b\u0430\u043d\u0441 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0443\u043f\u0430\u0434\u0435\u0442 \u043d\u0438\u0436\u0435 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e FLOW, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0433\u043e \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u0441\u0431\u043e\u044e \u044d\u0442\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438."}},account:{compatibility:{incompatible:"\u041d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442",learnMore:"\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435",unknown:"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442",dialog:{title:"\u0421\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430",button:"\u041f\u043e\u043d\u044f\u0442\u043d\u043e",descriptionMain:"Flow Wallet \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0430\u0448\u0438\u043c\u0438 EVM \u0438 Cadence \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430\u043c\u0438 \u0432 Flow. EVM \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u044b \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b \u0441 EVM \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438, \u0430 Cadence \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u044b \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b \u0441 Cadence \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438.",descriptionSecondary:"\u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 EVM \u0438\u043b\u0438 Cadence, \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u044b \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f."}}},surge:{title:"\u0410\u043a\u0442\u0438\u0432\u043d\u0430 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u0430\u044f \u0446\u0435\u043d\u0430",message:"\u0418\u0437-\u0437\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0441\u0435\u0442\u0438 \u043a\u043e\u043c\u0438\u0441\u0441\u0438\u0438 \u0437\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u044b. \u0422\u0435\u043a\u0443\u0449\u0438\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043a\u043e\u043c\u0438\u0441\u0441\u0438\u0438 \u0432 4 \u0440\u0430\u0437\u0430 \u0432\u044b\u0448\u0435 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e.",modal:{title:"\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0441 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u043e\u0439 \u0446\u0435\u043d\u043e\u0439?",transactionFee:"\u0412\u0430\u0448\u0430 \u043a\u043e\u043c\u0438\u0441\u0441\u0438\u044f \u0437\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e",surgeActive:"\u0410\u043a\u0442\u0438\u0432\u043d\u0430 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u0430\u044f \u0446\u0435\u043d\u0430",description:"\u0418\u0437-\u0437\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0441\u0435\u0442\u0438 \u043a\u043e\u043c\u0438\u0441\u0441\u0438\u0438 \u0437\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u044b. Flow Wallet \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043d\u0435 \u043e\u043f\u043b\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u0432\u0430\u0448 \u0433\u0430\u0437. \u0422\u0435\u043a\u0443\u0449\u0438\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043a\u043e\u043c\u0438\u0441\u0441\u0438\u0438 \u0432 {{multiplier}}\xd7 \u0432\u044b\u0448\u0435 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e.",holdToAgree:"\u0423\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439\u0442\u0435 \u0434\u043b\u044f \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u044f \u0441 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u043d\u043e\u0439 \u0446\u0435\u043d\u043e\u0439"}},onboarding:{flowWallet:"\u041a\u043e\u0448\u0435\u043b\u0435\u043a Flow",getStarted:{title:"\u041d\u0430\u0447\u043d\u0438\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 Flow Wallet",subtitle:"\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u0432 Flow Wallet\n\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0447\u0430\u0442\u044c.",createAccount:"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442",signIn:"\u0423 \u043c\u0435\u043d\u044f \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442",agreementText:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Flow Wallet, \u0432\u044b \u0441\u043e\u0433\u043b\u0430\u0448\u0430\u0435\u0442\u0435\u0441\u044c \u0441",termsOfService:"\u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c\u0438 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f",and:"\u0438",privacyPolicy:"\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438"},profileType:{welcomeTitle:"\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u0432\nFlow Wallet",recoveryPhrase:{title:"\u0417\u0430\u0449\u0438\u0449\u0435\u043d\u043e \u0444\u0440\u0430\u0437\u043e\u0439 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",description:"\u0424\u0440\u0430\u0437\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u2014 \u044d\u0442\u043e \u0441\u0435\u0440\u0438\u044f \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0430\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0432\u0430\u0448\u0435\u0433\u043e \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430."},secureEnclaveProfile:"\u041f\u0440\u043e\u0444\u0438\u043b\u044c Secure Enclave",next:"\u0414\u0430\u043b\u0435\u0435"},secureEnclave:{title:"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438",cardTitle:"\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c",cardDescription:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u043b\u044e\u0447\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0441 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e, Flow Wallet \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u2014 \u044d\u0442\u043e \u0441\u0432\u0435\u0440\u0445\u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u044b\u0439 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0439 \u043a\u043e\u0448\u0435\u043b\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u043e\u0432\u0435\u0440\u044f\u0442\u044c. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432 Cadence \u0432 Flow.",features:{secureEnclave:"Secure enclave",hardwareSecurity:"\u0410\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0430\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c",noEvm:"\u0411\u0435\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 EVM"},next:"\u0414\u0430\u043b\u0435\u0435",dialog:{title:"\u0412\u044b \u043e\u043f\u044b\u0442\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c?",description:"\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c? \u042d\u0442\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c \u0438 \u043d\u0435 \u0434\u0430\u0441\u0442 \u0432\u0430\u043c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443 EVM \u0432 Flow.",holdToConfirm:"\u0423\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0439\u0442\u0435 \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f"},creating:{title:"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435\n\u0432\u0430\u0448\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430",configuring:"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430"}},notificationPreferences:{headerTitle:"\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f",title:"\u041f\u043e\u043b\u0443\u0447\u0430\u0439\u0442\u0435 push-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f",subtitle:"\u041f\u043e\u043b\u0443\u0447\u0430\u0439\u0442\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432, \u043e\u0431\u043c\u0435\u043d\u043e\u0432 \u0438 \u043e\u0434\u043e\u0431\u0440\u0435\u043d\u0438\u0439.",enableButton:"\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c push-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f",maybeLater:"\u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u043f\u043e\u0437\u0436\u0435"},backupOptions:{navTitle:"\u0420\u0435\u0437\u0435\u0440\u0432\u043d\u0430\u044f \u043a\u043e\u043f\u0438\u044f",subtitle:"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435, \u043a\u0430\u043a \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u0441\u0432\u043e\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u043e \u043f\u043e\u0437\u0436\u0435 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445.",deviceBackup:{title:"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435",description:"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0441\u0432\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0432\u0430\u0448\u0438\u0445 \u0446\u0438\u0444\u0440\u043e\u0432\u044b\u0445 \u0430\u043a\u0442\u0438\u0432\u043e\u0432"},cloudBackup:{title:"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u0432 \u043e\u0431\u043b\u0430\u043a\u0435",description:"\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u0432 \u043e\u0431\u043b\u0430\u043a\u0435 \u0441 \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430\u043c\u0438, \u0442\u0430\u043a\u0438\u043c\u0438 \u043a\u0430\u043a Google Drive \u0438 iCloud"},recoveryPhrase:{title:"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u0441 \u0444\u0440\u0430\u0437\u043e\u0439 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",description:"\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0440\u0430\u0437\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0437 12 \u0441\u043b\u043e\u0432"},skipWarning:{title:"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0431\u0435\u0437 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0439 \u043a\u043e\u043f\u0438\u0438?",message:"\u0411\u0435\u0437 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0439 \u043a\u043e\u043f\u0438\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u0432\u043e\u0435\u043c\u0443 \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0443, \u0435\u0441\u043b\u0438 \u043f\u043e\u0442\u0435\u0440\u044f\u0435\u0442\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e. \u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0431\u0435\u0437 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0439 \u043a\u043e\u043f\u0438\u0438?",confirm:"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0431\u0435\u0437 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0439 \u043a\u043e\u043f\u0438\u0438"}},recoveryPhrase:{navTitle:"\u041c\u0443\u043b\u044c\u0442\u0438\u0447\u0435\u0439\u043d \u0430\u043a\u043a\u0430\u0443\u043d\u0442",title:"\u0424\u0440\u0430\u0437\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",description:"\u0417\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u044d\u0442\u0438 \u0441\u043b\u043e\u0432\u0430 \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0438\u0445 \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435.",clickToReveal:"\u041d\u0430\u0436\u043c\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0444\u0440\u0430\u0437\u0443",copy:"\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c",next:"\u0414\u0430\u043b\u0435\u0435",warning:{title:"\u041d\u0435 \u0434\u0435\u043b\u0438\u0442\u0435\u0441\u044c \u0441\u0432\u043e\u0435\u0439 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0444\u0440\u0430\u0437\u043e\u0439!",description:"\u0415\u0441\u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u0432\u0430\u0448\u0443 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0444\u0440\u0430\u0437\u0443,\n\u041e\u043d\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u0432\u0430\u0448\u0438\u043c \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u043e\u043c."},error:{title:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0444\u0440\u0430\u0437\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",unknown:"\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430"}},confirmRecoveryPhrase:{navTitle:"\u041c\u0443\u043b\u044c\u0442\u0438\u0447\u0435\u0439\u043d \u0430\u043a\u043a\u0430\u0443\u043d\u0442",title:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0444\u0440\u0430\u0437\u0443",description:"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u043b\u043e\u0432\u0430 \u043e\u0434\u043d\u043e \u0437\u0430 \u0434\u0440\u0443\u0433\u0438\u043c, \u0441\u0441\u044b\u043b\u0430\u044f\u0441\u044c \u043d\u0430 \u0438\u0445 \u043f\u043e\u0440\u044f\u0434\u043e\u043a.",selectWord:"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u043b\u043e\u0432\u043e \u043f\u043e\u0434 \u043d\u043e\u043c\u0435\u0440\u043e\u043c #{{position}}",finish:"\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c",creating:{title:"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435\n\u0432\u0430\u0448\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430",configuring:"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430"},error:{title:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442",generic:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430.",server:"\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043f\u043e\u0437\u0436\u0435.",validation:"\u041d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430."}},importProfile:{title:"\u0418\u043c\u043f\u043e\u0440\u0442 \u043f\u0440\u043e\u0444\u0438\u043b\u044f",subtitle:"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0441\u0432\u043e\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0439 \u043a\u043e\u043f\u0438\u0438.",previousProfiles:{title:"\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u0438",subtitle:"\u041d\u0430\u0439\u0434\u0435\u043d\u043e {{count}} \u043f\u0440\u043e\u0444\u0438\u043b\u044f \u0440\u0430\u043d\u0435\u0435 \u043d\u0430 \u044d\u0442\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435"},deviceBackup:{title:"\u0420\u0435\u0437\u0435\u0440\u0432\u043d\u0430\u044f \u043a\u043e\u043f\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430",subtitle:"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0441\u0432\u043e\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0443."},cloudBackup:{title:"\u041c\u0443\u043b\u044c\u0442\u0438-\u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0430\u044f \u043a\u043e\u043f\u0438\u044f \u0432 \u043e\u0431\u043b\u0430\u043a\u0435",subtitle:"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0438\u0437 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Google Drive \u0438 iCloud."},recoveryPhrase:{title:"\u0418\u0437 \u0444\u0440\u0430\u0437\u044b \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",subtitle:"\u0424\u0440\u0430\u0437\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0437 12 \u0441\u043b\u043e\u0432."},anotherMethod:{title:"\u0421 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430",subtitle:"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0441\u0432\u043e\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430, \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0438\u043b\u0438 \u0444\u0440\u0430\u0437\u044b \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f."}},importOtherMethods:{title:"\u0421 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430",subtitle:"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u043f\u043e\u0441\u043e\u0431 \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f.",recoveryPhrase:{title:"\u0424\u0440\u0430\u0437\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",subtitle:"\u0424\u0440\u0430\u0437\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0437 12 \u0441\u043b\u043e\u0432"},keyStore:{title:"\u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435",subtitle:"\u0424\u0430\u0439\u043b \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u2014 \u044d\u0442\u043e \u0432\u0430\u0448 \u043a\u043e\u0448\u0435\u043b\u0435\u043a \u0432 \u0432\u0438\u0434\u0435 \u0444\u0430\u0439\u043b\u0430, \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u043e\u043b\u0435\u043c."},privateKey:{title:"\u041f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447",subtitle:"\u0412\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u0432\u043e\u0439 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430."},googleDrive:{title:"Google Drive",subtitle:"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u0438\u0437 Google Drive."},iCloud:{title:"iCloud",subtitle:"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u0438\u0437 iCloud."}},confirmImportProfile:{title:"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u043a\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c",emptyTitle:"\u041f\u0440\u043e\u0444\u0438\u043b\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b",emptyMessage:"\u041d\u0430 \u044d\u0442\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u0438",importButton:"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0444\u0438\u043b\u044c"}},backup:{tip:{writeDown:{title:"\u0417\u0430\u043f\u0438\u0448\u0438\u0442\u0435",description:"\u0417\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0432\u0430\u0448\u0443 \u0444\u0440\u0430\u0437\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0443\u043c\u0430\u0433\u0435 \u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0435\u0451 \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435."},keepSecret:{title:"\u0414\u0435\u0440\u0436\u0438\u0442\u0435 \u0432 \u0441\u0435\u043a\u0440\u0435\u0442\u0435",description:"\u041d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0434\u0435\u043b\u0438\u0442\u0435\u0441\u044c \u0441\u0432\u043e\u0435\u0439 \u0444\u0440\u0430\u0437\u043e\u0439 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441 \u043a\u0435\u043c-\u043b\u0438\u0431\u043e \u0438 \u043d\u0435 \u0432\u0432\u043e\u0434\u0438\u0442\u0435 \u0435\u0451 \u043d\u0430 \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u0441\u0430\u0439\u0442\u0430\u0445."},noScreenshot:{title:"\u0411\u0435\u0437 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u043e\u0432",description:"\u041d\u0435 \u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u044b \u0438 \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0444\u0440\u0430\u0437\u0443 \u0432 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u043c \u0432\u0438\u0434\u0435, \u0433\u0434\u0435 \u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430."},warning:{title:"\u0412\u0430\u0436\u043d\u043e",description:"\u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u0442\u0435\u0440\u044f\u0435\u0442\u0435 \u0444\u0440\u0430\u0437\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u0432\u044b \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u043a\u043e\u0448\u0435\u043b\u0435\u043a. Flow Wallet \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c \u0435\u0451 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c."},continue:"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c"},mnemonic:{navTitle:"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442",done:"\u0413\u043e\u0442\u043e\u0432\u043e",complete:"\u042f \u0441\u043e\u0437\u0434\u0430\u043b \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u0441\u0432\u043e\u0435\u0439 \u0444\u0440\u0430\u0437\u044b"}},keyrotation:{tip:{title:"\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u0435\n\u0432\u0430\u0448 \u0430\u043a\u043a\u0430\u0443\u043d\u0442",description:"Flow Wallet \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0432\u0430\u0448\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430, \u0447\u0442\u043e\u0431\u044b \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0430\u0448\u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u043a\u043b\u044e\u0447\u0438 Blocto",sectionTitle:"\u0427\u0442\u043e \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442?",fullControl:{title:"\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u0441\u0432\u043e\u0438\u043c\u0438 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430\u043c\u0438 \u0438 \u043a\u043b\u044e\u0447\u0430\u043c\u0438."},newKey:{title:"\u041c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u044b\u0439 \u043a\u043b\u044e\u0447 \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0432\u0430\u0448\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430, \u0443\u0434\u0430\u043b\u0438\u0432 \u0434\u043e\u0441\u0442\u0443\u043f Blocto."},newPhrase:{title:"\u041c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u0443\u044e \u0444\u0440\u0430\u0437\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0449\u0438\u0449\u0430\u0442\u044c \u0432\u0430\u0448 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c."},warning:{prefix:"\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: ",bloctoDescription:"\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0432\u0430\u0448 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0442 Blocto \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0432\u0430\u0448\u0435\u043c\u0443 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443. \u042d\u0442\u043e \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0439 \u0437\u0430\u0449\u0438\u0442\u044b \u0442\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 Blocto \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u043b \u0441\u0432\u043e\u044e \u0434\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c."},start:"\u041d\u0430\u0447\u0430\u0442\u044c",notNow:"\u041d\u0435 \u0441\u0435\u0439\u0447\u0430\u0441"},mnemonic:{title:"\u0424\u0440\u0430\u0437\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",description:"\u0417\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u044d\u0442\u0438 \u0441\u043b\u043e\u0432\u0430 \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0438\u0445 \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435.",clickToReveal:"\u041d\u0430\u0436\u043c\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0444\u0440\u0430\u0437\u0443",copy:"\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c",upgrading:"\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430...",warning:{title:"\u041d\u0435 \u0434\u0435\u043b\u0438\u0442\u0435\u0441\u044c \u0441\u0432\u043e\u0435\u0439 \u0444\u0440\u0430\u0437\u043e\u0439 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f!",description:"\u0415\u0441\u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u0432\u0430\u0448\u0443 \u0444\u0440\u0430\u0437\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043e\u043d\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u0432\u0430\u0448\u0438\u043c \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u043e\u043c."},error:{title:"\u041d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0444\u0440\u0430\u0437\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",description:"\u0424\u0440\u0430\u0437\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u043b\u0438 \u043d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430."}},error:{seedGeneration:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0444\u0440\u0430\u0437\u0443 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f",rotation:"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442"},success:{rotation:"\u0410\u043a\u043a\u0430\u0443\u043d\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d!"}}}},jp:{translation:{navigation:{send:"\u9001\u4fe1",sendTo:"\u9001\u4fe1\u5148",sending:"\u9001\u4fe1\u4e2d",selectTokens:"\u30c8\u30fc\u30af\u30f3\u3092\u9078\u629e",sendTokens:"\u30c8\u30fc\u30af\u30f3\u3092\u9001\u4fe1",nftDetails:"NFT\u8a73\u7d30",colorDemo:"\u30ab\u30e9\u30fc\u30c7\u30e2",receive:"\u8cc7\u7523\u3092\u53d7\u3051\u53d6\u308b"},common:{cancel:"\u30ad\u30e3\u30f3\u30bb\u30eb",confirm:"\u78ba\u8a8d",back:"\u623b\u308b",goBack:"\u623b\u308b",close:"\u9589\u3058\u308b",done:"\u5b8c\u4e86",next:"\u6b21\u3078",previous:"\u524d\u3078",loading:"\u8aad\u307f\u8fbc\u307f\u4e2d...",error:"\u30a8\u30e9\u30fc",success:"\u6210\u529f",Search:"\u691c\u7d22",recommended:"\u304a\u3059\u3059\u3081",retry:"\u518d\u8a66\u884c"},tabs:{tokens:"\u30c8\u30fc\u30af\u30f3",nfts:"NFT"},send:{tokens:"\u30c8\u30fc\u30af\u30f3",nfts:"NFT",myAccounts:"\u30de\u30a4\u30a2\u30ab\u30a6\u30f3\u30c8",recent:"\u6700\u8fd1",addressBook:"\u30a2\u30c9\u30ec\u30b9\u5e33",sendTo:{title:"\u9001\u4fe1\u5148"},toAccount:"\u9001\u4fe1\u5148\u30a2\u30ab\u30a6\u30f3\u30c8",searchAddress:"\u30a2\u30c9\u30ec\u30b9\u3092\u691c\u7d22",searchPasteAddress:"\u30a2\u30c9\u30ec\u30b9\u3092\u691c\u7d22 / \u8cbc\u308a\u4ed8\u3051",selectedToken:"\u9078\u629e\u3055\u308c\u305f\u30c8\u30fc\u30af\u30f3",noAccounts:{title:"\u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u3042\u308a\u307e\u305b\u3093",message:"\u307e\u3060\u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},noRecent:{title:"\u6700\u8fd1\u306e\u53d7\u4fe1\u8005\u304c\u3044\u307e\u305b\u3093",message:"\u6700\u8fd1\u9001\u4fe1\u3057\u305f\u76f8\u624b\u304c\u3044\u307e\u305b\u3093\u3002"},noContacts:{title:"\u9023\u7d61\u5148\u304c\u3042\u308a\u307e\u305b\u3093",message:"\u30a2\u30c9\u30ec\u30b9\u5e33\u304c\u7a7a\u3067\u3059\u3002"},noSearchResults:{title:"\u7d50\u679c\u304c\u3042\u308a\u307e\u305b\u3093",message:"\u691c\u7d22\u306b\u4e00\u81f4\u3059\u308b\u30a2\u30ab\u30a6\u30f3\u30c8\u3084\u9023\u7d61\u5148\u304c\u3042\u308a\u307e\u305b\u3093"},noRecipients:"\u53d7\u4fe1\u8005\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",selectToken:"\u30c8\u30fc\u30af\u30f3\u3092\u9078\u629e",selectRecipient:"\u53d7\u4fe1\u8005\u3092\u9078\u629e",enterAmount:"\u91d1\u984d\u3092\u5165\u529b",reviewTransaction:"\u53d6\u5f15\u3092\u78ba\u8a8d",transactionFee:"\u53d6\u5f15\u624b\u6570\u6599",total:"\u5408\u8a08",balance:"\u6b8b\u9ad8",available:"\u5229\u7528\u53ef\u80fd",insufficient:"\u6b8b\u9ad8\u4e0d\u8db3",recipient:"\u53d7\u4fe1\u8005",from:"\u9001\u4fe1\u8005",fromAccount:"\u9001\u4fe1\u5143\u30a2\u30ab\u30a6\u30f3\u30c8",to:"\u9001\u4fe1\u5148",amount:"\u91d1\u984d",asset:"\u30a2\u30bb\u30c3\u30c8",confirm:"\u53d6\u5f15\u3092\u78ba\u8a8d",sending:"\u9001\u4fe1\u4e2d...",sent:"\u53d6\u5f15\u304c\u9001\u4fe1\u3055\u308c\u307e\u3057\u305f",failed:"\u53d6\u5f15\u304c\u5931\u6557\u3057\u307e\u3057\u305f",searchRecipients:"\u53d7\u4fe1\u8005\u3092\u691c\u7d22...",recentRecipients:"\u6700\u8fd1\u306e\u53d7\u4fe1\u8005",contactsList:"\u9023\u7d61\u5148",enterAddress:"Flow\u30a2\u30c9\u30ec\u30b9\u3092\u5165\u529b",invalidAddress:"\u7121\u52b9\u306a\u30a2\u30c9\u30ec\u30b9",sameAddress:"\u540c\u3058\u30a2\u30c9\u30ec\u30b9\u306b\u306f\u9001\u4fe1\u3067\u304d\u307e\u305b\u3093",selectNFTs:"NFT\u3092\u9078\u629e",selectedNFTs:"\u9078\u629e\u3055\u308c\u305fNFT",nftDetails:"NFT\u8a73\u7d30",collectionName:"\u30b3\u30ec\u30af\u30b7\u30e7\u30f3",tokenId:"\u30c8\u30fc\u30af\u30f3ID",properties:"\u30d7\u30ed\u30d1\u30c6\u30a3",description:"\u8aac\u660e",creator:"\u4f5c\u6210\u8005",title:"\u9001\u4fe1",inaccessible:"\u30a2\u30af\u30bb\u30b9\u4e0d\u53ef",confirmAddress:"\u30a2\u30c9\u30ec\u30b9\u3092\u78ba\u8a8d",firstTimeSendMessage:"\u3053\u306e\u30a2\u30c9\u30ec\u30b9\u3078\u306e\u9001\u4fe1\u306f\u521d\u56de\u306e\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u9001\u4fe1\u5148\u30a2\u30c9\u30ec\u30b9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002",newContactTitle:"\u65b0\u3057\u3044\u9023\u7d61\u5148",contactNameLabel:"\u9023\u7d61\u5148\u540d",contactNamePlaceholder:"\u540d\u524d\u3092\u5165\u529b",addToAddressBookButton:"\u30a2\u30c9\u30ec\u30b9\u5e33\u306b\u8ffd\u52a0",sendSNFTs:"S/NFT\u3092\u9001\u4fe1",sendNFTs:"NFT\u3092\u9001\u4fe1",change:"\u5909\u66f4",noNFTSelected:"NFT\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u623b\u3063\u3066\u9001\u4fe1\u3059\u308bNFT\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002",summary:"\u6982\u8981",sendTokens:"\u30c8\u30fc\u30af\u30f3\u3092\u9001\u4fe1",confirmSend:"\u9001\u4fe1\u3092\u78ba\u8a8d",holdToSend:"\u9577\u62bc\u3057\u3067\u9001\u4fe1",unknownAccount:"\u4e0d\u660e\u306a\u30a2\u30ab\u30a6\u30f3\u30c8",errors:{amountExceedsBalance:"\u91d1\u984d\u304c\u5229\u7528\u53ef\u80fd\u6b8b\u9ad8\u3092\u8d85\u3048\u3066\u3044\u307e\u3059"}},messages:{loading:"\u8aad\u307f\u8fbc\u307f\u4e2d...",noTokensWithBalance:"\u6b8b\u9ad8\u306e\u3042\u308b\u30c8\u30fc\u30af\u30f3\u304c\u3042\u308a\u307e\u305b\u3093",noNFTCollectionsForAccount:"NFT\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",loadingProfiles:"\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u8aad\u307f\u8fbc\u307f\u4e2d...",noProfiles:"\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093",noProfilesFound:"\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",failedToLoadRecipients:"\u53d7\u4fe1\u8005\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f",copied:"\u30b3\u30d4\u30fc\u3057\u307e\u3057\u305f\uff01",addressBookAdded:"\u30a2\u30c9\u30ec\u30b9\u5e33\u306b\u8ffd\u52a0\u3057\u307e\u3057\u305f",failedToAddToAddressBook:"\u30a2\u30c9\u30ec\u30b9\u5e33\u3078\u306e\u8ffd\u52a0\u306b\u5931\u6557\u3057\u307e\u3057\u305f",addressCopied:"\u30a2\u30c9\u30ec\u30b9\u3092\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3057\u305f",failedToCopy:"\u30a2\u30c9\u30ec\u30b9\u306e\u30b3\u30d4\u30fc\u306b\u5931\u6557\u3057\u307e\u3057\u305f",failedToShare:"QR\u30b3\u30fc\u30c9\u306e\u5171\u6709\u306b\u5931\u6557\u3057\u307e\u3057\u305f"},receive:{title:"\u8cc7\u7523\u3092\u53d7\u3051\u53d6\u308b",receiveAccount:"\u53d7\u3051\u53d6\u308b\u30a2\u30ab\u30a6\u30f3\u30c8",scanToReceive:"\u30b9\u30ad\u30e3\u30f3\u3057\u3066\u53d7\u3051\u53d6\u308b",shareQRCode:"QR\u30b3\u30fc\u30c9\u3092\u5171\u6709",generatingQR:"QR\u30b3\u30fc\u30c9\u751f\u6210\u4e2d...",noQRCode:"QR\u30b3\u30fc\u30c9\u304c\u5229\u7528\u3067\u304d\u307e\u305b\u3093",evmWarning:"Flow EVM\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u3067\u306e\u307f\u3001\u3053\u306e\u30a2\u30c9\u30ec\u30b9\u306b\u8cc7\u7523\u3092\u9001\u4fe1\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4ed6\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u3067\u3053\u306e\u30a2\u30c9\u30ec\u30b9\u306b\u9001\u4fe1\u3055\u308c\u305f\u8cc7\u7523\u306f\u5931\u308f\u308c\u307e\u3059\u3002"},activity:{title:"\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3",empty:"\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u304c\u3042\u308a\u307e\u305b\u3093",emptyMessage:"\u53d6\u5f15\u5c65\u6b74\u304c\u3053\u3053\u306b\u8868\u793a\u3055\u308c\u307e\u3059",error:"\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f",errorMessage:"\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044",status:{pending:"\u51e6\u7406\u4e2d",success:"\u6210\u529f",failed:"\u5931\u6557",expired:"\u671f\u9650\u5207\u308c"},sent:"\u9001\u4fe1\u6e08\u307f",received:"\u53d7\u4fe1\u6e08\u307f",today:"\u4eca\u65e5",yesterday:"\u6628\u65e5"},buttons:{retry:"\u518d\u8a66\u884c",refresh:"\u66f4\u65b0",continue:"\u7d9a\u884c",clearSearch:"\u691c\u7d22\u3092\u30af\u30ea\u30a2"},errors:{networkError:"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f",invalidInput:"\u7121\u52b9\u306a\u5165\u529b",transactionFailed:"\u53d6\u5f15\u304c\u5931\u6557\u3057\u307e\u3057\u305f",insufficientFunds:"\u6b8b\u9ad8\u4e0d\u8db3",addressNotFound:"\u30a2\u30c9\u30ec\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",nftNotFound:"NFT\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",tokenNotSupported:"\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u30c8\u30fc\u30af\u30f3",unauthorized:"\u8a8d\u8a3c\u3055\u308c\u3066\u3044\u307e\u305b\u3093",timeout:"\u30ea\u30af\u30a8\u30b9\u30c8\u304c\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3057\u307e\u3057\u305f",unknown:"\u4e0d\u660e\u306a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f",failedToLoadTokens:"\u30c8\u30fc\u30af\u30f3\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f",failedToLoadNFTs:"NFT\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f",transactionPayloadError:"\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u30da\u30a4\u30ed\u30fc\u30c9\u306e\u4f5c\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f",transactionExecutionError:"\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u5b9f\u884c\u306b\u5931\u6557\u3057\u307e\u3057\u305f",generic:{title:"\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f",message:"\u4e88\u671f\u3057\u306a\u3044\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002",button:"\u518d\u8a66\u884c",reportBug:"Reportar Error"},network:{title:"\u63a5\u7d9a\u306e\u554f\u984c",message:"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3002\u63a5\u7d9a\u3092\u78ba\u8a8d\u3057\u3066\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002",button:"\u518d\u8a66\u884c",reportBug:"Reportar Error"},critical:{title:"\u91cd\u5927\u306a\u30a8\u30e9\u30fc",message:"\u91cd\u5927\u306a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u30a2\u30d7\u30ea\u3092\u518d\u8d77\u52d5\u3057\u3066\u304f\u3060\u3055\u3044\u3002",button:"\u30a2\u30d7\u30ea\u3092\u518d\u8d77\u52d5",reportBug:"Reportar Error"}},nft:{untitled:"\u7121\u984c",unknownCollection:"\u4e0d\u660e\u306a\u30b3\u30ec\u30af\u30b7\u30e7\u30f3",noNFTsSelected:"NFT\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093",noSearchResults:"\u691c\u7d22\u7d50\u679c\u304c\u3042\u308a\u307e\u305b\u3093",noNFTsMatchSearch:"'{{search}}'\u306b\u4e00\u81f4\u3059\u308bNFT\u304c\u3042\u308a\u307e\u305b\u3093",noNFTsFound:"NFT\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",collectionEmpty:"\u3053\u306e\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u306b\u306fNFT\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093",noCollectionSelected:"\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u623b\u3063\u3066NFT\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002",noAccountSelected:"\u5229\u7528\u53ef\u80fd\u306a\u30a2\u30ab\u30a6\u30f3\u30c8\u30a2\u30c9\u30ec\u30b9\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002",maxSelectionReached:"\u6700\u59279\u500b\u306eNFT\u3092\u9078\u629e\u3067\u304d\u307e\u3059",nftNotFound:"NFT ID\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093:",selectedCount:"{{count}} \u500b\u306eNFT\u3092\u9078\u629e\u4e2d",confirmSelection:"{{count}} \u500b\u306eNFT\u3092\u78ba\u8a8d",itemCount:"{{count}}\u500b\u306e\u30a2\u30a4\u30c6\u30e0",notFound:{title:"NFT\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",message:"\u8981\u6c42\u3055\u308c\u305fNFT\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u304b\u3001\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f"},confirmSelection_plural:"{{count}} \u500b\u306eNFT\u3092\u78ba\u8a8d",itemCount_plural:"{{count}} \u500b\u306e\u30a2\u30a4\u30c6\u30e0",selectedCount_plural:"\u9078\u629e\u3055\u308c\u305f{{count}} \u500b\u306eNFT"},storage:{warning:{title:"\u30b9\u30c8\u30ec\u30fc\u30b8\u8b66\u544a",balance:"\u30a2\u30ab\u30a6\u30f3\u30c8\u306eFLOW\u6b8b\u9ad8\u304c\u30b9\u30c8\u30ec\u30fc\u30b8\u4f7f\u7528\u306b\u5fc5\u8981\u306a\u6700\u5c0f\u8981\u4ef6\u3092\u4e0b\u56de\u3063\u3066\u304a\u308a\u3001\u5f8c\u7d9a\u306e\u53d6\u5f15\u304c\u5931\u6557\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002",storage:"\u3053\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u306f\u3001\u30a2\u30ab\u30a6\u30f3\u30c8\u5185\u306eFLOW\u91cf\u3092\u30b9\u30c8\u30ec\u30fc\u30b8\u4f7f\u7528\u3092\u30ab\u30d0\u30fc\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u91cf\u3092\u4e0b\u56de\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u305f\u3081\u3001\u5931\u6557\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002",storageAfterAction:"\u3053\u306e\u53d6\u5f15\u5f8c\u3001\u30a2\u30ab\u30a6\u30f3\u30c8\u6b8b\u9ad8\u306f\u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u5fc5\u8981\u306a\u6700\u5c0fFLOW\u91cf\u3092\u4e0b\u56de\u308a\u3001\u3053\u306e\u53d6\u5f15\u304c\u5931\u6557\u3057\u307e\u3059\u3002"}},account:{compatibility:{incompatible:"\u4e92\u63db\u6027\u306e\u306a\u3044\u30a2\u30ab\u30a6\u30f3\u30c8",learnMore:"\u8a73\u7d30\u3092\u898b\u308b",unknown:"\u4e0d\u660e\u306a\u30a2\u30ab\u30a6\u30f3\u30c8",dialog:{title:"\u30a2\u30ab\u30a6\u30f3\u30c8\u4e92\u63db\u6027",button:"\u4e86\u89e3",descriptionMain:"Flow\u30a6\u30a9\u30ec\u30c3\u30c8\u306f\u3001Flow\u4e0a\u306eEVM\u30a2\u30ab\u30a6\u30f3\u30c8\u3068Cadence\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u7ba1\u7406\u3057\u307e\u3059\u3002EVM\u30a2\u30ab\u30a6\u30f3\u30c8\u306fEVM\u30a2\u30d7\u30ea\u3068\u4e92\u63db\u6027\u304c\u3042\u308a\u3001Cadence\u30a2\u30ab\u30a6\u30f3\u30c8\u306fCadence\u30a2\u30d7\u30ea\u3068\u4e92\u63db\u6027\u304c\u3042\u308a\u307e\u3059\u3002",descriptionSecondary:"\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304cEVM\u307e\u305f\u306fCadence\u30d9\u30fc\u30b9\u306e\u5834\u5408\u3001\u4e92\u63db\u6027\u306e\u3042\u308b\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u307f\u304c\u63a5\u7d9a\u306b\u5229\u7528\u3067\u304d\u307e\u3059\u3002"}}},surge:{title:"\u30b5\u30fc\u30b8\u4fa1\u683c\u304c\u30a2\u30af\u30c6\u30a3\u30d6",message:"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u9ad8\u8ca0\u8377\u306b\u3088\u308a\u3001\u53d6\u5f15\u624b\u6570\u6599\u304c\u4e0a\u6607\u3057\u3066\u3044\u307e\u3059\u3002\u73fe\u5728\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u624b\u6570\u6599\u306f\u901a\u5e38\u306e4\u500d\u3067\u3059\u3002",modal:{title:"\u30b5\u30fc\u30b8\u4fa1\u683c\u3092\u7d9a\u884c\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b\uff1f",transactionFee:"\u53d6\u5f15\u624b\u6570\u6599",surgeActive:"\u30b5\u30fc\u30b8\u4fa1\u683c\u304c\u30a2\u30af\u30c6\u30a3\u30d6",description:"\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u9ad8\u8ca0\u8377\u306b\u3088\u308a\u3001\u53d6\u5f15\u624b\u6570\u6599\u304c\u4e0a\u6607\u3057\u3066\u3044\u307e\u3059\u3002Flow\u30a6\u30a9\u30ec\u30c3\u30c8\u306f\u4e00\u6642\u7684\u306b\u30ac\u30b9\u6599\u91d1\u3092\u652f\u6255\u3063\u3066\u3044\u307e\u305b\u3093\u3002\u73fe\u5728\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u624b\u6570\u6599\u306f\u901a\u5e38\u306e{{multiplier}}\u500d\u3067\u3059\u3002",holdToAgree:"\u30b5\u30fc\u30b8\u4fa1\u683c\u3092\u7d9a\u884c\u3059\u308b\u306b\u306f\u9577\u62bc\u3057\u3057\u3066\u304f\u3060\u3055\u3044"}},onboarding:{flowWallet:"Flow \u30a6\u30a9\u30ec\u30c3\u30c8",getStarted:{title:"Flow \u30a6\u30a9\u30ec\u30c3\u30c8\u3092\u59cb\u3081\u308b",subtitle:"Flow \u30a6\u30a9\u30ec\u30c3\u30c8\u3078\u3088\u3046\u3053\u305d\n\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210\u3057\u3066\u59cb\u3081\u307e\u3057\u3087\u3046\u3002",createAccount:"\u65b0\u3057\u3044\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210",signIn:"\u65e2\u306b\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u304a\u6301\u3061\u3067\u3059",agreementText:"Flow \u30a6\u30a9\u30ec\u30c3\u30c8\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001",termsOfService:"\u5229\u7528\u898f\u7d04",and:"\u3068",privacyPolicy:"\u30d7\u30e9\u30a4\u30d0\u30b7\u30fc\u30dd\u30ea\u30b7\u30fc"},profileType:{welcomeTitle:"\u3088\u3046\u3053\u305d\nFlow \u30a6\u30a9\u30ec\u30c3\u30c8",recoveryPhrase:{title:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3067\u4fdd\u8b77",description:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u306f\u3001\u30a6\u30a9\u30ec\u30c3\u30c8\u3092\u4fdd\u8b77\u3059\u308b\u305f\u3081\u306b\u751f\u6210\u3055\u308c\u305f\u4e00\u9023\u306e\u5358\u8a9e\u3067\u3059\u3002"},secureEnclaveProfile:"\u30bb\u30ad\u30e5\u30a2\u30a8\u30f3\u30af\u30ec\u30fc\u30d6\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb",next:"\u6b21\u3078"},importProfile:{title:"\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u3092\u30a4\u30f3\u30dd\u30fc\u30c8",subtitle:"\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u4f7f\u7528\u3057\u3066\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002",previousProfiles:{title:"\u4ee5\u524d\u306e\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb",subtitle:"\u3053\u306e\u30c7\u30d0\u30a4\u30b9\u3067\u4ee5\u524d\u306b{{count}}\u500b\u306e\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f"},deviceBackup:{title:"\u30c7\u30d0\u30a4\u30b9\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u304b\u3089",subtitle:"\u5225\u306e\u643a\u5e2f\u96fb\u8a71\u3078\u306e\u7269\u7406\u7684\u306a\u30a2\u30af\u30bb\u30b9\u3092\u4f7f\u7528\u3057\u3066\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002"},cloudBackup:{title:"\u30af\u30e9\u30a6\u30c9\u30de\u30eb\u30c1\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u304b\u3089",subtitle:"Google Drive\u3084iCloud\u306a\u3069\u306e\u30af\u30e9\u30a6\u30c9\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u304b\u3089\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002"},recoveryPhrase:{title:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u304b\u3089",subtitle:"12\u5358\u8a9e\u306e\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3002"},anotherMethod:{title:"\u5225\u306e\u65b9\u6cd5\u304b\u3089",subtitle:"\u30ad\u30fc\u30b9\u30c8\u30a2\u3001\u79d8\u5bc6\u9375\u3001\u307e\u305f\u306f\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3092\u4f7f\u7528\u3057\u3066\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002"}},importOtherMethods:{title:"\u5225\u306e\u65b9\u6cd5\u304b\u3089",subtitle:"\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b\u65b9\u6cd5\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002",recoveryPhrase:{title:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba",subtitle:"12\u5358\u8a9e\u306e\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba"},keyStore:{title:"\u30ad\u30fc\u30b9\u30c8\u30a2",subtitle:"\u30ad\u30fc\u30b9\u30c8\u30a2\u30d5\u30a1\u30a4\u30eb\u306f\u3001\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u6697\u53f7\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u306e\u30a6\u30a9\u30ec\u30c3\u30c8\u3067\u3059\u3002"},privateKey:{title:"\u79d8\u5bc6\u9375",subtitle:"\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u79d8\u5bc6\u9375\u3092\u8cbc\u308a\u4ed8\u3051\u307e\u3059\u3002"},googleDrive:{title:"Google Drive",subtitle:"Google Drive\u304b\u3089\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002"},iCloud:{title:"iCloud",subtitle:"iCloud\u304b\u3089\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002"}},confirmImportProfile:{title:"\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u3092\u78ba\u8a8d",emptyTitle:"\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093",emptyMessage:"\u3053\u306e\u30c7\u30d0\u30a4\u30b9\u306b\u4ee5\u524d\u306e\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f",importButton:"\u30d7\u30ed\u30d5\u30a3\u30fc\u30eb\u3092\u30a4\u30f3\u30dd\u30fc\u30c8"},secureEnclave:{title:"\u9ad8\u5ea6\u306a\u8a2d\u5b9a",cardTitle:"\u30bb\u30ad\u30e5\u30a2\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb",cardDescription:"\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u30b0\u30ec\u30fc\u30c9\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3092\u5099\u3048\u305f\u30c7\u30d0\u30a4\u30b9\u30ad\u30fc\u3092\u4f7f\u7528\u3057\u3001\u30bb\u30ad\u30e5\u30a2\u30e2\u30fc\u30c9\u306eFlow \u30a6\u30a9\u30ec\u30c3\u30c8\u306f\u4fe1\u983c\u3067\u304d\u308b\u8d85\u30bb\u30ad\u30e5\u30a2\u306a\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u30a6\u30a9\u30ec\u30c3\u30c8\u3067\u3059\u3002Flow\u4e0a\u306eCadence\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u307f\u3067\u5229\u7528\u53ef\u80fd\u3067\u3059\u3002",features:{secureEnclave:"\u30bb\u30ad\u30e5\u30a2\u30a8\u30f3\u30af\u30ec\u30fc\u30d6",hardwareSecurity:"\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u30b0\u30ec\u30fc\u30c9\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3",noEvm:"EVM\u30b5\u30dd\u30fc\u30c8\u306a\u3057"},next:"\u6b21\u3078",dialog:{title:"\u4e0a\u7d1a\u30e6\u30fc\u30b6\u30fc\u3067\u3059\u304b?",description:"\u30bb\u30ad\u30e5\u30a2\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?\u3053\u308c\u306b\u3088\u308a\u7279\u5b9a\u306e\u6a5f\u80fd\u3078\u306e\u30a2\u30af\u30bb\u30b9\u304c\u5236\u9650\u3055\u308c\u3001Flow\u4e0a\u306eEVM\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3059\u3002",holdToConfirm:"\u9577\u62bc\u3057\u3057\u3066\u78ba\u8a8d"},creating:{title:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\n\u4f5c\u6210\u4e2d",configuring:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u8a2d\u5b9a\u4e2d"}},notificationPreferences:{headerTitle:"\u901a\u77e5",title:"\u30d7\u30c3\u30b7\u30e5\u901a\u77e5\u3092\u53d7\u3051\u53d6\u308b",subtitle:"\u8ee2\u9001\u3001\u30b9\u30ef\u30c3\u30d7\u3001\u627f\u8a8d\u304c\u5b8c\u4e86\u3057\u305f\u3068\u304d\u306b\u901a\u77e5\u3092\u53d7\u3051\u53d6\u308a\u307e\u3059\u3002",enableButton:"\u30d7\u30c3\u30b7\u30e5\u901a\u77e5\u3092\u30aa\u30f3\u306b\u3059\u308b",maybeLater:"\u5f8c\u3067"},backupOptions:{navTitle:"\u30d0\u30c3\u30af\u30a2\u30c3\u30d7",subtitle:"\u30a2\u30ab\u30a6\u30f3\u30c8\u4f5c\u6210\u3092\u5b8c\u4e86\u3059\u308b\u305f\u3081\u306b\u3001\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u65b9\u6cd5\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u308c\u306f\u5f8c\u3067\u8a2d\u5b9a\u3067\u5909\u66f4\u3067\u304d\u307e\u3059\u3002",deviceBackup:{title:"\u30c7\u30d0\u30a4\u30b9\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u4f5c\u6210",description:"\u30c7\u30d0\u30a4\u30b9\u3092\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30a6\u30a9\u30ec\u30c3\u30c8\u3068\u3057\u3066\u4f7f\u7528\u3057\u3001\u30c7\u30b8\u30bf\u30eb\u8cc7\u7523\u3092\u4fdd\u8b77\u3057\u307e\u3059"},cloudBackup:{title:"\u30af\u30e9\u30a6\u30c9\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u4f5c\u6210",description:"Google Drive\u3084iCloud\u306a\u3069\u306e\u4fe1\u983c\u3067\u304d\u308b\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3067\u30af\u30e9\u30a6\u30c9\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u4f5c\u6210\u3057\u307e\u3059"},recoveryPhrase:{title:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u4f5c\u6210",description:"12\u5358\u8a9e\u306e\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3092\u4f5c\u6210\u3057\u307e\u3059"},skipWarning:{title:"\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u306a\u3057\u3067\u7d9a\u884c\u3057\u307e\u3059\u304b\uff1f",message:"\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u304c\u306a\u3044\u3068\u3001\u30c7\u30d0\u30a4\u30b9\u3092\u7d1b\u5931\u3057\u305f\u5834\u5408\u306b\u30a6\u30a9\u30ec\u30c3\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u304f\u306a\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u8a2d\u5b9a\u305b\u305a\u306b\u7d9a\u884c\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b\uff1f",confirm:"\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u306a\u3057\u3067\u7d9a\u884c"}},recoveryPhrase:{navTitle:"\u30de\u30eb\u30c1\u30c1\u30a7\u30fc\u30f3\u30a2\u30ab\u30a6\u30f3\u30c8",title:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba",description:"\u3053\u308c\u3089\u306e\u5358\u8a9e\u3092\u6b63\u3057\u3044\u9806\u5e8f\u3067\u66f8\u304d\u7559\u3081\u3001\u5b89\u5168\u306a\u5834\u6240\u306b\u4fdd\u7ba1\u3057\u3066\u304f\u3060\u3055\u3044\u3002",clickToReveal:"\u30af\u30ea\u30c3\u30af\u3057\u3066\u30d5\u30ec\u30fc\u30ba\u3092\u8868\u793a",copy:"\u30b3\u30d4\u30fc",next:"\u6b21\u3078",warning:{title:"\u79d8\u5bc6\u306e\u30d5\u30ec\u30fc\u30ba\u3092\u5171\u6709\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044!",description:"\u8ab0\u304b\u304c\u3042\u306a\u305f\u306e\u79d8\u5bc6\u306e\u30d5\u30ec\u30fc\u30ba\u3092\u624b\u306b\u5165\u308c\u308b\u3068\u3001\n\u3042\u306a\u305f\u306e\u30a6\u30a9\u30ec\u30c3\u30c8\u3092\u5b8c\u5168\u306b\u5236\u5fa1\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002"},error:{title:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u306e\u751f\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f",unknown:"\u4e0d\u660e\u306a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f"}},confirmRecoveryPhrase:{navTitle:"\u30de\u30eb\u30c1\u30c1\u30a7\u30fc\u30f3\u30a2\u30ab\u30a6\u30f3\u30c8",title:"\u30d5\u30ec\u30fc\u30ba\u3092\u78ba\u8a8d",description:"\u9806\u5e8f\u3092\u53c2\u7167\u3057\u3066\u3001\u5358\u8a9e\u30921\u3064\u305a\u3064\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002",selectWord:"#{{position}} \u306e\u5358\u8a9e\u3092\u9078\u629e",finish:"\u5b8c\u4e86",creating:{title:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\n\u4f5c\u6210\u4e2d",configuring:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u8a2d\u5b9a\u4e2d"},error:{title:"\u30a2\u30ab\u30a6\u30f3\u30c8\u4f5c\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f",generic:"\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u4f5c\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002",server:"\u30b5\u30fc\u30d0\u30fc\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u5f8c\u3067\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002",validation:"\u7121\u52b9\u306a\u30a2\u30ab\u30a6\u30f3\u30c8\u30c7\u30fc\u30bf\u3067\u3059\u3002\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002"}}},backup:{tip:{writeDown:{title:"\u66f8\u304d\u7559\u3081\u308b",description:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3092\u7d19\u306b\u66f8\u304d\u7559\u3081\u3001\u5b89\u5168\u306a\u5834\u6240\u306b\u4fdd\u7ba1\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},keepSecret:{title:"\u79d8\u5bc6\u306b\u3059\u308b",description:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3092\u8ab0\u3068\u3082\u5171\u6709\u305b\u305a\u3001\u3069\u306e\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u306b\u3082\u5165\u529b\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002"},noScreenshot:{title:"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u3092\u64ae\u3089\u306a\u3044",description:"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u3092\u64ae\u3063\u305f\u308a\u3001\u30d5\u30ec\u30fc\u30ba\u3092\u30c7\u30b8\u30bf\u30eb\u5f62\u5f0f\u3067\u4fdd\u5b58\u3057\u305f\u308a\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002\u6f0f\u6d29\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002"},warning:{title:"\u91cd\u8981",description:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3092\u7d1b\u5931\u3059\u308b\u3068\u3001\u30a6\u30a9\u30ec\u30c3\u30c8\u3092\u5fa9\u5143\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3059\u3002Flow Wallet\u306f\u5fa9\u5143\u306e\u304a\u624b\u4f1d\u3044\u304c\u3067\u304d\u307e\u305b\u3093\u3002"},continue:"\u7d9a\u884c"},mnemonic:{navTitle:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210",done:"\u5b8c\u4e86",complete:"\u30d5\u30ec\u30fc\u30ba\u3092\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3057\u307e\u3057\u305f"}},keyrotation:{tip:{title:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\n\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9",description:"Flow Wallet\u306f\u3001\u4ee5\u524d\u306eBlocto\u30ad\u30fc\u3092\u524a\u9664\u3059\u308b\u305f\u3081\u306b\u3001\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3092\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059",sectionTitle:"\u3053\u308c\u306f\u3069\u3046\u3044\u3046\u610f\u5473\u3067\u3059\u304b\uff1f",fullControl:{title:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3068\u30ad\u30fc\u3092\u5b8c\u5168\u306b\u5236\u5fa1\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002"},newKey:{title:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4fdd\u8b77\u3059\u308b\u305f\u3081\u306b\u65b0\u3057\u3044\u30ad\u30fc\u3092\u4f5c\u6210\u3057\u3001Blocto\u306e\u30a2\u30af\u30bb\u30b9\u3092\u524a\u9664\u3057\u307e\u3059\u3002"},newPhrase:{title:"\u4eca\u5f8c\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4fdd\u8b77\u3059\u308b\u65b0\u3057\u3044\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002"},warning:{prefix:"\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044: ",bloctoDescription:"\u3053\u306e\u30d7\u30ed\u30bb\u30b9\u304c\u5b8c\u4e86\u3059\u308b\u3068\u3001Blocto\u306e\u30ea\u30ab\u30d0\u30ea\u30fc\u30ad\u30c3\u30c8\u306f\u30a2\u30ab\u30a6\u30f3\u30c8\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u4fdd\u8b77\u3057\u306a\u304f\u306a\u308a\u307e\u3059\u3002\u3053\u308c\u306f\u3001Blocto\u304c\u904b\u55b6\u3092\u505c\u6b62\u3057\u305f\u305f\u3081\u3001\u3042\u306a\u305f\u306e\u4fdd\u8b77\u306e\u305f\u3081\u3067\u3059\u3002"},start:"\u958b\u59cb",notNow:"\u5f8c\u3067"},mnemonic:{title:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba",description:"\u3053\u308c\u3089\u306e\u5358\u8a9e\u3092\u6b63\u3057\u3044\u9806\u5e8f\u3067\u66f8\u304d\u7559\u3081\u3001\u5b89\u5168\u306a\u5834\u6240\u306b\u4fdd\u7ba1\u3057\u3066\u304f\u3060\u3055\u3044\u3002",clickToReveal:"\u30af\u30ea\u30c3\u30af\u3057\u3066\u30d5\u30ec\u30fc\u30ba\u3092\u8868\u793a",copy:"\u30b3\u30d4\u30fc",upgrading:"\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u4e2d...",warning:{title:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3092\u5171\u6709\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044\uff01",description:"\u8ab0\u304b\u304c\u3042\u306a\u305f\u306e\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u3092\u624b\u306b\u5165\u308c\u308b\u3068\u3001\u3042\u306a\u305f\u306e\u30a6\u30a9\u30ec\u30c3\u30c8\u3092\u5b8c\u5168\u306b\u5236\u5fa1\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002"},error:{title:"\u7121\u52b9\u306a\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba",description:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u304b\u7121\u52b9\u3067\u3059\u3002\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002"}},error:{seedGeneration:"\u30ea\u30ab\u30d0\u30ea\u30fc\u30d5\u30ec\u30fc\u30ba\u306e\u751f\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f",rotation:"\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u306b\u5931\u6557\u3057\u307e\u3057\u305f"},success:{rotation:"\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u306b\u6210\u529f\u3057\u307e\u3057\u305f\uff01"}}}}};y.default.use(t(a[12]).initReactI18next).init({resources:F,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});i.initializeI18n=function(e){var t=e&&Object.keys(F).includes(e)?e:"en";return y.default.changeLanguage(t)};var C=i.screensI18n=y.default;i.GenericErrorFallback=function(e){var n=e.error,r=e.resetError,o=e.onReportBug,i=(0,f.useColorScheme)();return(0,p.jsx)(t(a[17]).TamaguiProvider,{config:t(a[17]).tamaguiConfig,defaultTheme:"dark"===i?"dark":"light",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,backgroundColor:"$background",children:[(0,p.jsx)(t(a[17]).XStack,{justifyContent:"flex-end",alignItems:"flex-start",paddingTop:"$6",paddingRight:"$1",backgroundColor:"$background",children:(0,p.jsx)(t(a[17]).IconButton,{icon:(0,p.jsx)(t(a[22]).X,{color:"#FFFFFF",size:24}),variant:"ghost",size:"medium",onPress:function(){t(a[13]).bridge.closeRN()}})}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,justifyContent:"space-between",alignItems:"center",paddingHorizontal:"$4",paddingBottom:"$4",children:[(0,p.jsxs)(t(a[17]).YStack,{justifyContent:"center",alignItems:"center",width:"304",gap:"$3",marginTop:"$20",children:[(0,p.jsx)(t(a[17]).YStack,{width:"$16",height:"$16",borderRadius:"$16",backgroundColor:"$error",alignItems:"center",justifyContent:"center",marginBottom:"$2",children:(0,p.jsx)(t(a[22]).AlertTriangle,{size:32,color:"#FFFFFF"})}),(0,p.jsx)(t(a[17]).Text,{fontSize:16,fontWeight:"600",color:"$color",textAlign:"center",children:C.t("errors.generic.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:14,color:"$textSecondary",textAlign:"center",children:C.t("errors.generic.message")}),(0,p.jsx)(t(a[17]).YStack,{width:"100%",height:"$49",backgroundColor:"$bg2",borderRadius:"$4",overflow:"hidden",marginTop:"$4",children:(0,p.jsx)(t(a[17]).ScrollView,{children:(0,p.jsxs)(t(a[17]).YStack,{padding:"$4",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:12,fontFamily:"monospace",color:"$error",marginBottom:"$2",children:n.message}),n.stack&&(0,p.jsx)(t(a[17]).Text,{fontSize:12,fontFamily:"monospace",color:"$textSecondary",children:n.stack})]})})})]}),(0,p.jsxs)(t(a[17]).YStack,{width:"100%",gap:"$3",children:[(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",onPress:r,fullWidth:!0,children:C.t("errors.generic.button")}),o&&(0,p.jsx)(t(a[17]).Button,{variant:"secondary",size:"large",onPress:function(){return o(n)},fullWidth:!0,children:C.t("errors.generic.reportBug")})]})]})]})})},i.NetworkErrorFallback=function(e){var n=e.error,r=e.resetError,o=e.onReportBug,i=(0,f.useColorScheme)();return(0,p.jsx)(t(a[17]).TamaguiProvider,{config:t(a[17]).tamaguiConfig,defaultTheme:"dark"===i?"dark":"light",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,backgroundColor:"$background",children:[(0,p.jsx)(t(a[17]).XStack,{justifyContent:"flex-end",alignItems:"flex-start",paddingTop:"$6",paddingRight:"$1",backgroundColor:"$background",children:(0,p.jsx)(t(a[17]).IconButton,{icon:(0,p.jsx)(t(a[22]).X,{color:"#FFFFFF",size:24}),variant:"ghost",size:"medium",onPress:function(){t(a[13]).bridge.closeRN()}})}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,justifyContent:"space-between",alignItems:"center",paddingHorizontal:"$4",paddingBottom:"$4",children:[(0,p.jsxs)(t(a[17]).YStack,{justifyContent:"center",alignItems:"center",width:"304",gap:"$3",marginTop:"$20",children:[(0,p.jsx)(t(a[17]).YStack,{width:"$16",height:"$16",borderRadius:"$16",backgroundColor:"$error",alignItems:"center",justifyContent:"center",marginBottom:"$2",children:(0,p.jsx)(t(a[22]).WifiOff,{size:32,color:"#FFFFFF"})}),(0,p.jsx)(t(a[17]).Text,{fontSize:16,fontWeight:"600",color:"$color",textAlign:"center",children:C.t("errors.network.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:14,color:"$textSecondary",textAlign:"center",children:C.t("errors.network.message")}),(0,p.jsx)(t(a[17]).YStack,{width:"100%",height:"$49",backgroundColor:"$bg2",borderRadius:"$4",overflow:"hidden",marginTop:"$4",children:(0,p.jsx)(t(a[17]).ScrollView,{children:(0,p.jsx)(t(a[17]).YStack,{padding:"$4",children:(0,p.jsx)(t(a[17]).Text,{fontSize:12,fontFamily:"monospace",color:"$error",children:n.message})})})})]}),(0,p.jsxs)(t(a[17]).YStack,{width:"100%",gap:"$3",children:[(0,p.jsx)(t(a[17]).Button,{variant:"inverse",size:"large",onPress:r,fullWidth:!0,children:C.t("errors.network.button")}),o&&(0,p.jsx)(t(a[17]).Button,{variant:"secondary",size:"large",onPress:function(){return o(n)},fullWidth:!0,children:C.t("errors.network.reportBug")})]})]})]})})},i.CriticalErrorFallback=function(e){var n=e.error,r=e.resetError,o=e.onReportBug,i=(0,f.useColorScheme)();return(0,p.jsx)(t(a[17]).TamaguiProvider,{config:t(a[17]).tamaguiConfig,defaultTheme:"dark"===i?"dark":"light",children:(0,p.jsxs)(t(a[17]).YStack,{flex:1,backgroundColor:"$background",children:[(0,p.jsx)(t(a[17]).XStack,{justifyContent:"flex-end",alignItems:"flex-start",paddingTop:"$6",paddingRight:"$1",backgroundColor:"$background",children:(0,p.jsx)(t(a[17]).IconButton,{icon:(0,p.jsx)(t(a[22]).X,{color:"#FFFFFF",size:24}),variant:"ghost",size:"medium",onPress:function(){t(a[13]).bridge.closeRN()}})}),(0,p.jsxs)(t(a[17]).YStack,{flex:1,justifyContent:"space-between",alignItems:"center",paddingHorizontal:"$4",paddingBottom:"$4",children:[(0,p.jsxs)(t(a[17]).YStack,{justifyContent:"center",alignItems:"center",width:"304",gap:"$3",marginTop:"$20",children:[(0,p.jsx)(t(a[17]).YStack,{width:"$16",height:"$16",borderRadius:"$16",backgroundColor:"$error",alignItems:"center",justifyContent:"center",marginBottom:"$2",children:(0,p.jsx)(t(a[22]).WarningOctagonFill,{size:32,color:"#FFFFFF"})}),(0,p.jsx)(t(a[17]).Text,{fontSize:16,fontWeight:"600",color:"$color",textAlign:"center",children:C.t("errors.critical.title")}),(0,p.jsx)(t(a[17]).Text,{fontSize:14,color:"$textSecondary",textAlign:"center",children:C.t("errors.critical.message")}),(0,p.jsx)(t(a[17]).YStack,{width:"100%",height:"$49",backgroundColor:"$bg2",borderRadius:"$4",overflow:"hidden",marginTop:"$4",children:(0,p.jsx)(t(a[17]).ScrollView,{children:(0,p.jsxs)(t(a[17]).YStack,{padding:"$4",children:[(0,p.jsx)(t(a[17]).Text,{fontSize:12,fontFamily:"monospace",color:"$error",marginBottom:"$2",children:n.message}),n.stack&&(0,p.jsx)(t(a[17]).Text,{fontSize:12,fontFamily:"monospace",color:"$textSecondary",children:n.stack})]})})})]}),(0,p.jsxs)(t(a[17]).YStack,{width:"100%",gap:"$3",children:[(0,p.jsx)(t(a[17]).Button,{variant:"destructive",size:"large",onPress:r,fullWidth:!0,children:C.t("errors.critical.button")}),o&&(0,p.jsx)(t(a[17]).Button,{variant:"secondary",size:"large",onPress:function(){return o(n)},fullWidth:!0,children:C.t("errors.critical.reportBug")})]})]})]})})};function j(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.resetDelay,r=void 0===n?2e3:n,o=e.successMessageKey,i=void 0===o?"messages.copied":o,s=e.errorMessageKey,c=void 0===s?"messages.failedToCopy":s,l=(0,t(a[12]).useTranslation)().t,f=(0,g.useState)(!1),p=(0,u.default)(f,2),m=p[0],h=p[1],v=(0,g.useCallback)((function(){var e=(0,d.default)(function*(e){try{var n=t(a[13]).bridge.getPlatform(),o=globalThis.clipboard;if("extension"!==n&&null!=o&&o.setString)o.setString(e),t(a[13]).logger.debug("Text copied using RN Clipboard");else{if(!navigator.clipboard)throw new Error("No clipboard API available");yield navigator.clipboard.writeText(e),t(a[13]).logger.debug("Text copied using Web Clipboard API")}return h(!0),setTimeout(function(){return h(!1)},r),t(a[13]).toast.show({title:l(i),type:"success"}),!0}catch(e){return t(a[13]).logger.error("Failed to copy to clipboard:",e),t(a[13]).toast.show({title:l(c),type:"error"}),!1}});return function(t){return e.apply(this,arguments)}})(),[r,i,c,l]);return{copied:m,copy:v}}var N=128;function $(){var e=(0,t(a[12]).useTranslation)().t,n=(0,g.useState)({step:"idle",isLoading:!1,error:null,newKeyInfo:null,rotationResult:null}),r=(0,u.default)(n,2),o=r[0],i=r[1],s=(0,g.useRef)(null),c=(0,g.useCallback)(function(){return s.current||(s.current=t(a[19]).KeyRotationService.getInstance(t(a[13]).bridge)),s.current},[]),l=(0,g.useCallback)((0,d.default)(function*(){i(function(e){return Object.assign({},e,{step:"generating",isLoading:!0,error:null})});try{t(a[13]).logger.info("[useKeyRotation] Generating new seed key");var n=yield t(a[13]).bridge.createSeedKey(N);if(!n||!n.seedphrase)throw new Error("Failed to generate seed key: No key info returned");return t(a[13]).logger.info("[useKeyRotation] Seed key generated successfully"),i(function(e){return Object.assign({},e,{step:"idle",isLoading:!1,newKeyInfo:n})}),n}catch(n){var r=n instanceof Error?n.message:"Unknown error generating seed key";return t(a[13]).logger.error("[useKeyRotation] Failed to generate seed key",{error:r}),i(function(e){return Object.assign({},e,{step:"error",isLoading:!1,error:r})}),t(a[13]).toast.show({title:e("keyrotation.error.seedGeneration",{defaultValue:"Failed to generate recovery phrase"}),type:"error"}),null}}),[e]),f=(0,g.useCallback)((function(){var n=(0,d.default)(function*(n,r){i(function(e){return Object.assign({},e,{step:"rotating",isLoading:!0,error:null})});try{t(a[13]).logger.info("[useKeyRotation] Starting key rotation",{address:n});var o=c(),s=yield o.rotateKey(n,r);return t(a[13]).logger.info("[useKeyRotation] Key rotation successful",{txId:s.txId}),i(function(e){return Object.assign({},e,{step:"success",isLoading:!1,rotationResult:s})}),t(a[13]).toast.show({title:e("keyrotation.success.rotation",{defaultValue:"Account upgraded successfully!"}),type:"success"}),s}catch(n){var l=n instanceof Error?n.message:"Unknown error during key rotation";return t(a[13]).logger.error("[useKeyRotation] Key rotation failed",{error:l}),i(function(e){return Object.assign({},e,{step:"error",isLoading:!1,error:l})}),t(a[13]).toast.show({title:e("keyrotation.error.rotation",{defaultValue:"Failed to upgrade account"}),message:l,type:"error"}),null}});return function(e,t){return n.apply(this,arguments)}})(),[c,e]),p=(0,g.useCallback)(function(){i({step:"idle",isLoading:!1,error:null,newKeyInfo:null,rotationResult:null})},[]),m=(0,g.useCallback)(function(){var e;return null!=(e=o.newKeyInfo)&&e.seedphrase?o.newKeyInfo.seedphrase.split(" ").filter(function(e){return e.length>0}):[]},[o.newKeyInfo]);return Object.assign({},o,{generateSeedKey:l,executeRotation:f,reset:p,getSeedPhraseWords:m})}function A(e){return e?e.split(" ").filter(function(e){return e.length>0}):[]}},2062,[1,9,32,367,10,128,28,258,1377,2063,2105,2116,777,1393,2117,1389,2,794,8,1913,1394,2140,1140,null]); __d(function(g,r,i,a,m,e,d){"use strict";var t=r(d[0]);Object.defineProperty(e,"__esModule",{value:!0});var o={SVGGradient:!0,useQRCodeData:!0,isCoordsOfOuterEyes:!0,isCoordsOfInnerEyes:!0,isCoordsOfTopRightOuterEye:!0,isCoordsOfTopRightInnerEye:!0,isCoordsOfTopLeftOuterEye:!0,isCoordsOfTopLeftInnerEye:!0,isCoordsOfBottomLeftOuterEye:!0,isCoordsOfBottomLeftInnerEye:!0};Object.defineProperty(e,"SVGGradient",{enumerable:!0,get:function(){return f.default}}),e.default=void 0,Object.defineProperty(e,"isCoordsOfBottomLeftInnerEye",{enumerable:!0,get:function(){return r(d[1]).isCoordsOfBottomLeftInnerEye}}),Object.defineProperty(e,"isCoordsOfBottomLeftOuterEye",{enumerable:!0,get:function(){return r(d[1]).isCoordsOfBottomLeftOuterEye}}),Object.defineProperty(e,"isCoordsOfInnerEyes",{enumerable:!0,get:function(){return r(d[1]).isCoordsOfInnerEyes}}),Object.defineProperty(e,"isCoordsOfOuterEyes",{enumerable:!0,get:function(){return r(d[1]).isCoordsOfOuterEyes}}),Object.defineProperty(e,"isCoordsOfTopLeftInnerEye",{enumerable:!0,get:function(){return r(d[1]).isCoordsOfTopLeftInnerEye}}),Object.defineProperty(e,"isCoordsOfTopLeftOuterEye",{enumerable:!0,get:function(){return r(d[1]).isCoordsOfTopLeftOuterEye}}),Object.defineProperty(e,"isCoordsOfTopRightInnerEye",{enumerable:!0,get:function(){return r(d[1]).isCoordsOfTopRightInnerEye}}),Object.defineProperty(e,"isCoordsOfTopRightOuterEye",{enumerable:!0,get:function(){return r(d[1]).isCoordsOfTopRightOuterEye}}),Object.defineProperty(e,"useQRCodeData",{enumerable:!0,get:function(){return s.default}}),r(d[2]);var n=t(r(d[3])),f=t(r(d[4]));Object.keys(r(d[5])).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(o,t)||t in e&&e[t]===r(d[5])[t]||Object.defineProperty(e,t,{enumerable:!0,get:function(){return r(d[5])[t]}}))}),Object.keys(r(d[6])).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(o,t)||t in e&&e[t]===r(d[6])[t]||Object.defineProperty(e,t,{enumerable:!0,get:function(){return r(d[6])[t]}}))});var s=t(r(d[7]));e.default=n.default},2063,[1,2064,2066,2067,2101,2104,2065,2068]); __d(function(g,_r,_i,a,m,e,d){"use strict";var $=_r(d[0]);Object.defineProperty(e,"__esModule",{value:!0}),e.consoleError=function($){console.error('QRCode error: '+$)},e.consoleWarn=function($){console.warn('QRCode warning: '+$)},e.convertBorderRadiusMap=o,e.convertMultiValueToNumber=E,e.getInnerEyePathData=function($,n,r){var t=_r(d[4]).OUTER_EYE_SIZE_IN_BITS*n,E=_r(d[4]).INNER_EYE_SIZE_IN_BITS*n,o=2*n;if('topLeft'===$)return`\n M${o} ${o}\n ${o+E} ${o}\n ${o+E} ${o+E}\n ${o} ${o+E} z\n `;if('topRight'===$)return`\n M${r-t+o} ${o}\n ${r-o} ${o}\n ${r-o} ${o+E}\n ${r-t+o} ${o+E} z\n `;if('bottomLeft'===$)return`\n M${o} ${r-t+o}\n ${o+E} ${r-t+o}\n ${o+E} ${r-o}\n ${o} ${r-o} z\n `;return''},e.getOuterEyePathData=function($,n,r){var t=_r(d[4]).OUTER_EYE_SIZE_IN_BITS*n;if('topLeft'===$)return`\n M0 0\n ${t} 0\n ${t} ${t}\n 0 ${t} z\n M${n} ${n}\n ${t-n} ${n}\n ${t-n} ${t-n}\n ${n} ${t-n} z\n `;if('topRight'===$)return`\n M${r-t} 0\n ${r} 0\n ${r} ${t}\n ${r-t} ${t} z\n M${r-t+n} ${n}\n ${r-n} ${n}\n ${r-n} ${t-n}\n ${r-t+n} ${t-n} z\n `;if('bottomLeft'===$)return`\n M0 ${r-t}\n ${t} ${r-t}\n ${t} ${r}\n 0 ${r} z\n M${n} ${r-t+n}\n ${t-n} ${r-t+n}\n ${t-n} ${r-n}\n ${n} ${r-n} z\n `;return''},e.getPieceLiquidPathData=function($,n,r,t){var o=$*r,_=n*r,u=E(t,r),i=u>r?r:u;return`\n M${o} ${_}\n L${o+i} ${_}\n A${i} ${i} 0 0 0 ${o} ${_+i} z`},e.getPieceRoundedSquarePathData=function($){var r=$.x,t=$.y,E=$.size,_=$.cornerType,u=$.borderRadius,i=$.isGlued,I=$.isLiquid,f=$.bitMatrix,S=r*E,T=t*E,c='cut'===_,L=u?o(u,E):[],s=(0,n.default)(L,4),O=s[0],N=void 0===O?0:O,R=s[1],A=void 0===R?0:R,v=s[2],l=void 0===v?0:v,B=s[3],Y=void 0===B?0:B,Z=function($){return c?'L':`A${$} ${$} 0 0 1`};if(i){var M,y,U,z;1===(null==(M=f[t])?void 0:M[r-1])&&(N=0,Y=0),1===(null==(y=f[t-1])?void 0:y[r])&&(N=0,A=0),1===(null==(U=f[t])?void 0:U[r+1])&&(A=0,l=0),1===(null==(z=f[t+1])?void 0:z[r])&&(Y=0,l=0)}if(I){var p,h,P,b;1===(null==(p=f[t-1])?void 0:p[r-1])&&(N=0),1===(null==(h=f[t-1])?void 0:h[r+1])&&(A=0),1===(null==(P=f[t+1])?void 0:P[r+1])&&(l=0),1===(null==(b=f[t+1])?void 0:b[r-1])&&(Y=0)}return`\n M${S} ${T+N}\n ${Z(N)} ${S+N} ${T}\n L${S+E-A} ${T}\n ${Z(A)} ${S+E} ${T+A}\n L${S+E} ${T+E-l}\n ${Z(l)} ${S+E-l} ${T+E}\n L${S+Y} ${T+E}\n ${Z(Y)} ${S} ${T+E-Y}\n z\n `},e.getPieceSquarePathData=function($,n,r){var t=$*r,E=n*r;return`\n M${t} ${E}\n ${t+r} ${E}\n ${t+r} ${E+r}\n ${t} ${E+r}\n z\n `},e.getRoundedInnerEyePathData=function($,r,t,E){var _=_r(d[4]).OUTER_EYE_SIZE_IN_BITS*t,u=_r(d[4]).INNER_EYE_SIZE_IN_BITS*t,i=2*t,I=o(r,3*t)||[],f=(0,n.default)(I,4),S=f[0],T=void 0===S?0:S,c=f[1],L=void 0===c?0:c,s=f[2],O=void 0===s?0:s,N=f[3],R=void 0===N?0:N;if('topLeft'===$)return`\n M${i} ${i+T}\n A${T} ${T} 0 0 1 ${i+T} ${i}\n L${i+u-L} ${i}\n A${L} ${L} 0 0 1 ${i+u} ${i+L}\n L${i+u} ${i+u-O}\n A${O} ${O} 0 0 1 ${i+u-O} ${i+u}\n L${i+R} ${i+u} \n A${R} ${R} 0 0 1 ${i} ${i+u-R} z\n `;if('topRight'===$)return`\n M${E-_+i} ${i+T}\n A${T} ${T} 0 0 1 ${E-_+i+T} ${i}\n L${E-i-L} ${i}\n A${L} ${L} 0 0 1 ${E-i} ${i+L}\n L${E-i} ${i+u-O}\n A${O} ${O} 0 0 1 ${E-i-O} ${i+u}\n L${E-_+i+R} ${i+u} \n A${R} ${R} 0 0 1 ${E-_+i} ${i+u-R} z\n `;if('bottomLeft'===$)return`\n M${i} ${E-_+i+T}\n A${T} ${T} 0 0 1 ${i+T} ${E-_+i}\n L${i+u-L} ${E-_+i}\n A${L} ${L} 0 0 1 ${i+u} ${E-_+i+L}\n L${i+u} ${E-i-O}\n A${O} ${O} 0 0 1 ${i+u-O} ${E-i}\n L${i+R} ${E-i} \n A${R} ${R} 0 0 1 ${i} ${E-i-R} z\n `;return''},e.getRoundedOuterEyePathData=function($,r,t,E){var _=_r(d[4]).OUTER_EYE_SIZE_IN_BITS*t,u=o(r,7*t)||[],i=(0,n.default)(u,4),I=i[0],f=void 0===I?0:I,S=i[1],T=void 0===S?0:S,c=i[2],L=void 0===c?0:c,s=i[3],O=void 0===s?0:s,N=t=1&&$<6&&n>=1&&n<6||$>=r-6&&$=1&&n<6||$>=1&&$<6&&n>=r-6&&n=0&&$<_r(d[4]).OUTER_EYE_SIZE_IN_BITS&&0===n||$>=0&&$<_r(d[4]).OUTER_EYE_SIZE_IN_BITS&&n===_r(d[4]).OUTER_EYE_SIZE_IN_BITS-1||n>0&&n<_r(d[4]).OUTER_EYE_SIZE_IN_BITS-1&&0===$||n>0&&n<_r(d[4]).OUTER_EYE_SIZE_IN_BITS-1&&$===_r(d[4]).OUTER_EYE_SIZE_IN_BITS-1}function u($,n,r){return $>=r-_r(d[4]).OUTER_EYE_SIZE_IN_BITS&&$=r-_r(d[4]).OUTER_EYE_SIZE_IN_BITS&&$0&&n<_r(d[4]).OUTER_EYE_SIZE_IN_BITS-1&&$===r-_r(d[4]).OUTER_EYE_SIZE_IN_BITS||n>0&&n<_r(d[4]).OUTER_EYE_SIZE_IN_BITS-1&&$===r-1}function i($,n,r){return $>=0&&$<_r(d[4]).OUTER_EYE_SIZE_IN_BITS&&n===r-_r(d[4]).OUTER_EYE_SIZE_IN_BITS||$>=0&&$<_r(d[4]).OUTER_EYE_SIZE_IN_BITS&&n===r-1||n>r-_r(d[4]).OUTER_EYE_SIZE_IN_BITS&&nr-_r(d[4]).OUTER_EYE_SIZE_IN_BITS&&n=2&&$<_r(d[4]).INNER_EYE_SIZE_IN_BITS+2&&n>=2&&n<_r(d[4]).INNER_EYE_SIZE_IN_BITS+2}function f($,n,r){return $>=r-_r(d[4]).OUTER_EYE_SIZE_IN_BITS+2&&$=2&&n<_r(d[4]).INNER_EYE_SIZE_IN_BITS+2}function S($,n,r){return $>=2&&$<_r(d[4]).INNER_EYE_SIZE_IN_BITS+2&&n>=r-_r(d[4]).OUTER_EYE_SIZE_IN_BITS+2&&n Date: Thu, 12 Feb 2026 10:44:58 +0800 Subject: [PATCH 3/6] feat: build data for migration --- FRW.xcodeproj/project.pbxproj | 46 ++++++++-- .../Bridge/BridgeModels+Extension.swift | 36 ++++++++ FRW/Foundation/Bridge/RCTNativeFRWBridge.mm | 16 ++++ .../Bridge/TurboModule+CoaToEoa.swift | 91 +++++++++++++++++++ FRW/Foundation/Bridge/TurboModuleSwift.swift | 6 ++ .../EVM/ViewModel/EVMEnableViewModel.swift | 6 +- FRW/Modules/NFT/NFTModel/NFTModel.swift | 7 ++ .../Wallet/SideMenu/SideMenuView.swift | 4 +- .../Wallet/SideMenu/SideMenuViewModel.swift | 41 ++++++++- .../Manager/Wallet/WalletManager.swift | 3 + FRW/Services/Token/TokenBalanceHandler.swift | 2 +- 11 files changed, 243 insertions(+), 15 deletions(-) create mode 100644 FRW/Foundation/Bridge/BridgeModels+Extension.swift create mode 100644 FRW/Foundation/Bridge/TurboModule+CoaToEoa.swift diff --git a/FRW.xcodeproj/project.pbxproj b/FRW.xcodeproj/project.pbxproj index 2d218042..e85488c2 100644 --- a/FRW.xcodeproj/project.pbxproj +++ b/FRW.xcodeproj/project.pbxproj @@ -1628,6 +1628,8 @@ 4E9059302B1792F10029FC66 /* SyncAddDeviceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E90592E2B1792F10029FC66 /* SyncAddDeviceView.swift */; }; 4E9182622EB89C63008FD73A /* AdaptiveHostingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E9182612EB89C63008FD73A /* AdaptiveHostingController.swift */; }; 4E9182632EB89C63008FD73A /* AdaptiveHostingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E9182612EB89C63008FD73A /* AdaptiveHostingController.swift */; }; + 4E93A3822F339D7F00C9ED7B /* BridgeModels+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E93A3812F339D7D00C9ED7B /* BridgeModels+Extension.swift */; }; + 4E93A3832F339D7F00C9ED7B /* BridgeModels+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E93A3812F339D7D00C9ED7B /* BridgeModels+Extension.swift */; }; 4E947C922BBEB2E300E87A85 /* web3swift in Frameworks */ = {isa = PBXBuildFile; productRef = 4E947C912BBEB2E300E87A85 /* web3swift */; }; 4E952F4A2EE2B59F00175DAA /* NativeScreenName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E952F492EE2B59F00175DAA /* NativeScreenName.swift */; }; 4E952F4B2EE2B59F00175DAA /* NativeScreenName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E952F492EE2B59F00175DAA /* NativeScreenName.swift */; }; @@ -1781,6 +1783,8 @@ 4EBDF2C92BFB9F3700E56968 /* SelectCollectionViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EBDF2C72BFB9F3700E56968 /* SelectCollectionViewModel.swift */; }; 4EBE49262AA1B732000FFFFE /* AppUpdateManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EBE49252AA1B732000FFFFE /* AppUpdateManager.swift */; }; 4EBE49272AA1B732000FFFFE /* AppUpdateManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EBE49252AA1B732000FFFFE /* AppUpdateManager.swift */; }; + 4EC1269E2F39E06700D2467B /* TurboModule+CoaToEoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EC1269D2F39E06700D2467B /* TurboModule+CoaToEoa.swift */; }; + 4EC1269F2F39E06700D2467B /* TurboModule+CoaToEoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EC1269D2F39E06700D2467B /* TurboModule+CoaToEoa.swift */; }; 4EC212F22C45E7F5008469F1 /* MoveAccountsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EC212F12C45E7F5008469F1 /* MoveAccountsView.swift */; }; 4EC212F32C45E7F5008469F1 /* MoveAccountsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EC212F12C45E7F5008469F1 /* MoveAccountsView.swift */; }; 4EC26FCA2BFCAF5C001330DF /* EVMAssetProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EC26FC92BFCAF5C001330DF /* EVMAssetProvider.swift */; }; @@ -3230,6 +3234,7 @@ 4E8E3F882D8306C7000916A6 /* SearchBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchBar.swift; sourceTree = ""; }; 4E90592E2B1792F10029FC66 /* SyncAddDeviceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyncAddDeviceView.swift; sourceTree = ""; }; 4E9182612EB89C63008FD73A /* AdaptiveHostingController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdaptiveHostingController.swift; sourceTree = ""; }; + 4E93A3812F339D7D00C9ED7B /* BridgeModels+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "BridgeModels+Extension.swift"; sourceTree = ""; }; 4E952F492EE2B59F00175DAA /* NativeScreenName.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeScreenName.swift; sourceTree = ""; }; 4E95322E2CD2082F00AAECD1 /* AddCustomTokenView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddCustomTokenView.swift; sourceTree = ""; }; 4E9532312CD2089C00AAECD1 /* AddCustomTokenViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddCustomTokenViewModel.swift; sourceTree = ""; }; @@ -3312,6 +3317,7 @@ 4EBDF2C42BFB9E9400E56968 /* SelectCollectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectCollectionView.swift; sourceTree = ""; }; 4EBDF2C72BFB9F3700E56968 /* SelectCollectionViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectCollectionViewModel.swift; sourceTree = ""; }; 4EBE49252AA1B732000FFFFE /* AppUpdateManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppUpdateManager.swift; sourceTree = ""; }; + 4EC1269D2F39E06700D2467B /* TurboModule+CoaToEoa.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TurboModule+CoaToEoa.swift"; sourceTree = ""; }; 4EC212F12C45E7F5008469F1 /* MoveAccountsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoveAccountsView.swift; sourceTree = ""; }; 4EC26FC92BFCAF5C001330DF /* EVMAssetProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EVMAssetProvider.swift; sourceTree = ""; }; 4EC26FCF2BFE315A001330DF /* MoveSingleNFTView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoveSingleNFTView.swift; sourceTree = ""; }; @@ -4810,7 +4816,9 @@ 4E33F7D42E42423F00B3D62F /* RNTokenModel.swift */, 4EECEB202E323F29008E21B6 /* RNEncoder.swift */, 1575765D2E322E6A00D7D8C4 /* BridgeModels.swift */, + 4E93A3812F339D7D00C9ED7B /* BridgeModels+Extension.swift */, 15A87E902E26D9E100F0E550 /* TurboModuleSwift.swift */, + 4EC1269D2F39E06700D2467B /* TurboModule+CoaToEoa.swift */, 4EC758402EEAC16F00B9012E /* TurboModule+Onboard.swift */, 15A87E8D2E26D9CF00F0E550 /* RCTNativeFRWBridge.mm */, 1594792C2E282F7000F2B7A6 /* RCTNativeFRWBridge.h */, @@ -8095,10 +8103,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-resources-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-resources-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-resources.sh\"\n"; @@ -8151,10 +8163,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-resources-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-resources-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-resources.sh\"\n"; @@ -8168,10 +8184,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-frameworks.sh\"\n"; @@ -8203,10 +8223,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-resources-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-resources-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-resources.sh\"\n"; @@ -8282,10 +8306,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-frameworks.sh\"\n"; @@ -8340,10 +8368,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-frameworks.sh\"\n"; @@ -8965,6 +8997,7 @@ 4EA0D0A72A7A5AED004C6A19 /* FRWAPI+ChildAccount.swift in Sources */, 4EC279FE2EEFA35800F5DC71 /* DocumentPicker.swift in Sources */, 57312EC62CFD2833009A344A /* Threading.swift in Sources */, + 4E93A3832F339D7F00C9ED7B /* BridgeModels+Extension.swift in Sources */, 4E03BE1A2C731F3500EF04DC /* ViewsInLoginModule.swift in Sources */, 1596A8D42E1AD76200E85303 /* ReactNativeViewController.swift in Sources */, 154E31572DA56A1D008A495F /* WalletManager+Getter.swift in Sources */, @@ -9081,6 +9114,7 @@ 6A06CB0728AA25F400C81BE1 /* NFTUIKitListDataSource.swift in Sources */, 6AAD4E6A28BC6E9900AEAB1F /* TransactionModels.swift in Sources */, 4E411DBF2CB91C3A005AD540 /* MoveComponentView.swift in Sources */, + 4EC1269E2F39E06700D2467B /* TurboModule+CoaToEoa.swift in Sources */, 159DEC9328C67DB900493E9F /* NFTDetailPageViewModel.swift in Sources */, 4E5885452A6FDF00007CACCC /* SPQRMaskView.swift in Sources */, 4EFBE5D12BC7D4AA0012968A /* ConfettiManager.swift in Sources */, @@ -10066,6 +10100,7 @@ 15C58B6F2868A4EE00BD4FC6 /* VBaseButtonState.swift in Sources */, 4EC279FD2EEFA35800F5DC71 /* DocumentPicker.swift in Sources */, 57312EC52CFD2833009A344A /* Threading.swift in Sources */, + 4E93A3822F339D7F00C9ED7B /* BridgeModels+Extension.swift in Sources */, 4E03BE192C731F3500EF04DC /* ViewsInLoginModule.swift in Sources */, 1596A8D12E1AD76200E85303 /* ReactNativeViewController.swift in Sources */, 154E31562DA56A1D008A495F /* WalletManager+Getter.swift in Sources */, @@ -10182,6 +10217,7 @@ 159DEC9228C67DB900493E9F /* NFTDetailPageViewModel.swift in Sources */, 15C58BA52868A4EE00BD4FC6 /* TabBar.swift in Sources */, 4E411DC02CB91C3A005AD540 /* MoveComponentView.swift in Sources */, + 4EC1269F2F39E06700D2467B /* TurboModule+CoaToEoa.swift in Sources */, 4E5885442A6FDF00007CACCC /* SPQRMaskView.swift in Sources */, 15C58BA62868A4EE00BD4FC6 /* Logger.swift in Sources */, 4EFBE5D02BC7D4AA0012968A /* ConfettiManager.swift in Sources */, @@ -10944,10 +10980,7 @@ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; - OTHER_LDFLAGS = ( - "$(inherited)", - " ", - ); + OTHER_LDFLAGS = "$(inherited) "; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG"; @@ -11012,10 +11045,7 @@ MARKETING_VERSION = 3.1.0; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; - OTHER_LDFLAGS = ( - "$(inherited)", - " ", - ); + OTHER_LDFLAGS = "$(inherited) "; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; SWIFT_COMPILATION_MODE = wholemodule; diff --git a/FRW/Foundation/Bridge/BridgeModels+Extension.swift b/FRW/Foundation/Bridge/BridgeModels+Extension.swift new file mode 100644 index 00000000..c2eb0de1 --- /dev/null +++ b/FRW/Foundation/Bridge/BridgeModels+Extension.swift @@ -0,0 +1,36 @@ +// +// BridgeModels+Extension.swift +// FRW +// +// Created by cat on 2/4/26. +// + +extension RNBridge { + struct TransactionDatas: Codable { + let addresses: [String] + let values: [String] + let datas: [[Int]] + } + + struct Erc20Asset: Codable { + let address: String + let amount: String + } + + struct Erc721Asset: Codable { + let address: String + let id: String + } + + struct Erc1155Asset: Codable { + let address: String + let id: String + let amount: String + } + + struct MigrationAssetsData: Codable { + let erc20: [Erc20Asset] + let erc721: [Erc721Asset] + let erc1155: [Erc1155Asset] + } +} diff --git a/FRW/Foundation/Bridge/RCTNativeFRWBridge.mm b/FRW/Foundation/Bridge/RCTNativeFRWBridge.mm index c20314dd..b0ab49ae 100644 --- a/FRW/Foundation/Bridge/RCTNativeFRWBridge.mm +++ b/FRW/Foundation/Bridge/RCTNativeFRWBridge.mm @@ -183,6 +183,20 @@ - (void)getSelectedAccount:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRej } +- (void)getMigrationAssets:(NSString *)sourceAddress + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject { + [TurboModuleSwift getMigrationAssetsWithSourceAddress:sourceAddress + completionHandler:^(NSDictionary * _Nullable result, + NSError * _Nullable error) { + if (error) { + reject(@"migration_assets_error", error.localizedDescription, error); + } else { + resolve(result); + } + }]; +} + - (NSDictionary *)getCurrency { return [TurboModuleSwift getCurrency]; } @@ -388,4 +402,6 @@ - (void)getV4RegistrationSignatures:(NSString *)mnemonic resolve:(RCTPromiseReso }]; } + + @end diff --git a/FRW/Foundation/Bridge/TurboModule+CoaToEoa.swift b/FRW/Foundation/Bridge/TurboModule+CoaToEoa.swift new file mode 100644 index 00000000..a243aa2d --- /dev/null +++ b/FRW/Foundation/Bridge/TurboModule+CoaToEoa.swift @@ -0,0 +1,91 @@ +// +// TurboModule+CoaToEoa.swift +// FRW +// +// Created by cat on 2/9/26. +// + +import Foundation + +// fetch balance and nft count for coa +extension TurboModuleSwift { + static func fetchAmountForCoa(address: String) async throws -> RNBridge.MigrationAssetsData? { + + guard let addr = FWAddressDector.create(address: address), addr.type == .evm else { + return nil + } + let evmProvider = TokenBalanceHandler() + let tokenList = try await evmProvider.getFTBalance(address: addr) + let collectionList = try await evmProvider.getNFTCollections(address: addr) + + let erc20: [RNBridge.Erc20Asset] = tokenList.compactMap { model in + guard let addr = model.getAddress(), let amount = model.balanceInFLOW else { + return nil + } + guard amount.count > 0, amount != "0" else { + return nil + } + return RNBridge.Erc20Asset(address: addr, amount: amount) + } + + let erc721: [RNBridge.Erc721Asset] = collectionList.flatMap { model -> [RNBridge.Erc721Asset] in + let contractType = model.collection.ERCType + guard contractType == .erc721 else { + return [] + } + guard let rawAddr = model.collection.evmAddress else { + return [] + } + let addr = rawAddr.addHexPrefix() + guard addr.hasPrefix("0x"), let list = model.ids, !list.isEmpty else { + return [] + } + let assets: [RNBridge.Erc721Asset] = list.compactMap { nftId in + let trimmed = nftId.trimmingCharacters(in: .whitespacesAndNewlines) + guard !trimmed.isEmpty else { + return nil + } + return RNBridge.Erc721Asset(address: addr, id: trimmed) + } + return assets + } + + let erc1155: [RNBridge.Erc1155Asset] = collectionList.flatMap { model -> [RNBridge.Erc1155Asset] in + let contractType = model.collection.ERCType + guard contractType == .erc1155 else { + return [] + } + guard let rawAddr = model.collection.evmAddress else { + return [] + } + let addr = rawAddr.addHexPrefix() + guard addr.hasPrefix("0x"), let list = model.ids, !list.isEmpty else { + return [] + } + var orderedIds: [String] = [] + var counts: [String: Int] = [:] + list.forEach { nftId in + let trimmed = nftId.trimmingCharacters(in: .whitespacesAndNewlines) + guard !trimmed.isEmpty else { + return + } + if counts[trimmed] == nil { + orderedIds.append(trimmed) + counts[trimmed] = 1 + } else { + counts[trimmed, default: 0] += 1 + } + } + let assets: [RNBridge.Erc1155Asset] = orderedIds.compactMap { nftId -> RNBridge.Erc1155Asset? in + guard let count = counts[nftId], count > 0 else { + return nil + } + return RNBridge.Erc1155Asset(address: addr, id: nftId, amount: "\(count)") + } + return assets + } + + let data = RNBridge.MigrationAssetsData(erc20: erc20, erc721: erc721, erc1155: erc1155) + return data + } +} diff --git a/FRW/Foundation/Bridge/TurboModuleSwift.swift b/FRW/Foundation/Bridge/TurboModuleSwift.swift index 220ff3c0..69bf1996 100644 --- a/FRW/Foundation/Bridge/TurboModuleSwift.swift +++ b/FRW/Foundation/Bridge/TurboModuleSwift.swift @@ -466,6 +466,12 @@ extension TurboModuleSwift { let result = response?.getLastRate() ?? 0 return result } + + @objc + static func getMigrationAssets(sourceAddress: String) async throws -> [String: Any] { + let model = try await TurboModuleSwift.fetchAmountForCoa(address: sourceAddress) + return try model.toDictionary() + } @objc static func getWalletProfiles() async throws -> [String: Any] { diff --git a/FRW/Modules/EVM/ViewModel/EVMEnableViewModel.swift b/FRW/Modules/EVM/ViewModel/EVMEnableViewModel.swift index a497422b..cbd3238c 100644 --- a/FRW/Modules/EVM/ViewModel/EVMEnableViewModel.swift +++ b/FRW/Modules/EVM/ViewModel/EVMEnableViewModel.swift @@ -37,8 +37,10 @@ class EVMEnableViewModel: ObservableObject { try await WalletManager.shared.enableCOA() try await WalletManager.shared.mainAccount?.fetchAccount() await ProfileManager.shared.refreshCurrentProfileAccounts() - if let address = await WalletManager.shared.coa?.address { - await WalletManager.shared.changeSelectedAccount(address: address, type: .coa) + + if let parentAddress = await WalletManager.shared.getPrimaryWalletAddress(), + let account = await WalletManager.shared.coa?.toWalletAccount(parentAddress: parentAddress) { + await WalletManager.shared.switchSelectedAccount(account) } state = .enabled Router.pop() diff --git a/FRW/Modules/NFT/NFTModel/NFTModel.swift b/FRW/Modules/NFT/NFTModel/NFTModel.swift index c546a916..07449e2f 100644 --- a/FRW/Modules/NFT/NFTModel/NFTModel.swift +++ b/FRW/Modules/NFT/NFTModel/NFTModel.swift @@ -101,6 +101,13 @@ extension NFTCollectionInfo { struct SocialItem: Codable, Hashable { let url: String? } + + var ERCType: FlowProvider.ABIType { + guard let value = contractType?.lowercased() else { + return .erc721 + } + return FlowProvider.ABIType(rawValue: value) ?? .erc721 + } } // MARK: - ContractPath diff --git a/FRW/Modules/Wallet/SideMenu/SideMenuView.swift b/FRW/Modules/Wallet/SideMenu/SideMenuView.swift index 00347920..bc9808a4 100644 --- a/FRW/Modules/Wallet/SideMenu/SideMenuView.swift +++ b/FRW/Modules/Wallet/SideMenu/SideMenuView.swift @@ -156,7 +156,7 @@ struct SideMenuView: View { } } - if shouldShowMigrationCard { + if vm.shouldShowMigrationCard { migrationInfoCard .padding(.top, 8) .padding(.bottom, 8) @@ -363,6 +363,4 @@ struct SideMenuView: View { private var showSwitchUserAlert = false private let cPadding = 12.0 - - private var shouldShowMigrationCard: Bool = false } diff --git a/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift b/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift index c3247bd6..c2f670fe 100644 --- a/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift +++ b/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift @@ -30,6 +30,7 @@ class SideMenuViewModel: ObservableObject { @Published var hasCoa: Bool = true @Published var currentAccount: SideMenuItem? = nil @Published var allAccounts: [[SideMenuItem]] = [[.mock()],[.mock()],[.mock()]] + @Published var shouldShowMigrationCard: Bool = false private var cancellableSet = Set() @@ -74,6 +75,7 @@ class SideMenuViewModel: ObservableObject { }) if let address = wallet.selectedAccount?.hexAddr { refreshAccount(address: address) + updateMigrationCardVisibility(for: currentAccount) } } @@ -102,8 +104,9 @@ class SideMenuViewModel: ObservableObject { } func updateCurrentAccount(_ selectedAccount: SideMenuItem) { - WalletManager.shared.changeSelectedAccount(address: selectedAccount.account.address, type: selectedAccount.account.FWAccountType) + WalletManager.shared.switchSelectedAccount(selectedAccount.account) NotificationCenter.default.post(name: .toggleSideMenu) + updateMigrationCardVisibility(for: selectedAccount) } func switchAccountMoreAction() { @@ -126,4 +129,40 @@ class SideMenuViewModel: ObservableObject { refreshProfile(profile: profile) } + private func updateMigrationCardVisibility(for item: SideMenuItem?) { + guard let item else { + shouldShowMigrationCard = false + return + } + guard item.account.type == .coa else { + shouldShowMigrationCard = false + return + } + + guard let list = wallet.EOAs, list.count > 0 else { + shouldShowMigrationCard = false + return + } + + let address = item.account.address.lowercased() + guard let group = allAccounts.first(where: { accounts in + accounts.contains { $0.account.address.lowercased() == address } + }) else { + shouldShowMigrationCard = false + return + } + + guard let coaAccount = group.first(where: { account in + account.account.type == .coa + }) else { + shouldShowMigrationCard = false + return + } + let balance = coaAccount.account.assets.balance ?? 0 + let nftCount = coaAccount.account.assets.nftCount ?? 0 + withAnimation(.easeInOut) { + self.shouldShowMigrationCard = balance > 0 || nftCount > 0 + } + } + } diff --git a/FRW/Services/Manager/Wallet/WalletManager.swift b/FRW/Services/Manager/Wallet/WalletManager.swift index 5139ab0a..964819da 100644 --- a/FRW/Services/Manager/Wallet/WalletManager.swift +++ b/FRW/Services/Manager/Wallet/WalletManager.swift @@ -448,6 +448,8 @@ extension WalletManager { // MARK: - Child Account extension WalletManager { + + func changeSelectedAccount(address: String, type: FWAccount.AccountType) { UIFeedbackGenerator.impactOccurred(.selectionChanged) guard let fwAddress = FWAddressDector.create(address: address) else { @@ -485,6 +487,7 @@ extension WalletManager { if let account = walletEntity?.accounts?[currentNetwork]?.first(where: { account in account.hexAddr == selectingAccount.address }) { + checkBloctoKeyAndPresentBackupTip(address: fwAddress.hexAddr) mainAccount = account loadLinkedAccounts() } diff --git a/FRW/Services/Token/TokenBalanceHandler.swift b/FRW/Services/Token/TokenBalanceHandler.swift index 26b64962..7f054c8b 100644 --- a/FRW/Services/Token/TokenBalanceHandler.swift +++ b/FRW/Services/Token/TokenBalanceHandler.swift @@ -101,7 +101,7 @@ class TokenBalanceHandler: ObservableObject { address: FWAddress, network: Flow.ChainID = currentNetwork ) async throws -> [NFTCollection] { - let provider = await generateProvider(address: address, network: network) + let provider = await generateProvider(address: address, network: network) return try await provider.getNFTCollections(address: address) } From 4aefdbe36fa44458bf1b88a99c9312c5872eb14e Mon Sep 17 00:00:00 2001 From: cat Date: Fri, 13 Feb 2026 17:32:50 +0800 Subject: [PATCH 4/6] feat: add check erc20 for coa --- FRW.xcodeproj/project.pbxproj | 34 ++------- .../Bridge/TurboModule+CoaToEoa.swift | 4 +- .../Wallet/SideMenu/SideMenuViewModel.swift | 12 +-- .../WalletAccount/WalletAccount+Bridge.swift | 2 +- .../WalletAccount/WalletAccount+Helpers.swift | 11 ++- .../WalletAccount/WalletAccount+Mock.swift | 9 +-- .../Wallet/WalletAccount/WalletAccount.swift | 22 ++++-- .../Services/ProfileFetchService.swift | 73 ++++++++++++++++++- 8 files changed, 116 insertions(+), 51 deletions(-) diff --git a/FRW.xcodeproj/project.pbxproj b/FRW.xcodeproj/project.pbxproj index f6cc868a..794e3e8f 100644 --- a/FRW.xcodeproj/project.pbxproj +++ b/FRW.xcodeproj/project.pbxproj @@ -8103,14 +8103,10 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-resources-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-resources-${CONFIGURATION}-output-files.xcfilelist", ); - outputPaths = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-resources.sh\"\n"; @@ -8163,14 +8159,10 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-resources-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-resources-${CONFIGURATION}-output-files.xcfilelist", ); - outputPaths = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-resources.sh\"\n"; @@ -8184,14 +8176,10 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); - outputPaths = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-frameworks.sh\"\n"; @@ -8223,14 +8211,10 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-resources-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-resources-${CONFIGURATION}-output-files.xcfilelist", ); - outputPaths = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRWTests/Pods-FRWTests-resources.sh\"\n"; @@ -8306,14 +8290,10 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); - outputPaths = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRW-dev/Pods-FRW-dev-frameworks.sh\"\n"; @@ -8368,14 +8348,10 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); - outputPaths = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FRW/Pods-FRW-frameworks.sh\"\n"; @@ -10980,7 +10956,10 @@ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; - OTHER_LDFLAGS = "$(inherited) "; + OTHER_LDFLAGS = ( + "$(inherited)", + " ", + ); REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG"; @@ -11045,7 +11024,10 @@ MARKETING_VERSION = 3.1.1; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; - OTHER_LDFLAGS = "$(inherited) "; + OTHER_LDFLAGS = ( + "$(inherited)", + " ", + ); REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; SWIFT_COMPILATION_MODE = wholemodule; diff --git a/FRW/Foundation/Bridge/TurboModule+CoaToEoa.swift b/FRW/Foundation/Bridge/TurboModule+CoaToEoa.swift index a243aa2d..de4f9c97 100644 --- a/FRW/Foundation/Bridge/TurboModule+CoaToEoa.swift +++ b/FRW/Foundation/Bridge/TurboModule+CoaToEoa.swift @@ -19,10 +19,10 @@ extension TurboModuleSwift { let collectionList = try await evmProvider.getNFTCollections(address: addr) let erc20: [RNBridge.Erc20Asset] = tokenList.compactMap { model in - guard let addr = model.getAddress(), let amount = model.balanceInFLOW else { + guard let addr = model.getAddress(), !addr.isEmpty else { return nil } - guard amount.count > 0, amount != "0" else { + guard let amount = model.balanceInFLOW, amount.count > 0, amount != "0" else { return nil } return RNBridge.Erc20Asset(address: addr, amount: amount) diff --git a/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift b/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift index c2f670fe..804d4e22 100644 --- a/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift +++ b/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift @@ -130,17 +130,18 @@ class SideMenuViewModel: ObservableObject { } private func updateMigrationCardVisibility(for item: SideMenuItem?) { + shouldShowMigrationCard = false + guard let coaMigration = RemoteConfigManager.shared.config?.features.coaMigration, coaMigration else { + return + } guard let item else { - shouldShowMigrationCard = false return } guard item.account.type == .coa else { - shouldShowMigrationCard = false return } guard let list = wallet.EOAs, list.count > 0 else { - shouldShowMigrationCard = false return } @@ -148,20 +149,19 @@ class SideMenuViewModel: ObservableObject { guard let group = allAccounts.first(where: { accounts in accounts.contains { $0.account.address.lowercased() == address } }) else { - shouldShowMigrationCard = false return } guard let coaAccount = group.first(where: { account in account.account.type == .coa }) else { - shouldShowMigrationCard = false return } let balance = coaAccount.account.assets.balance ?? 0 let nftCount = coaAccount.account.assets.nftCount ?? 0 + let erc20Count = coaAccount.account.assets.erc20Balance ?? 0 withAnimation(.easeInOut) { - self.shouldShowMigrationCard = balance > 0 || nftCount > 0 + self.shouldShowMigrationCard = balance > 0 || nftCount > 0 || erc20Count > 0 } } diff --git a/FRW/Modules/Wallet/WalletAccount/WalletAccount+Bridge.swift b/FRW/Modules/Wallet/WalletAccount/WalletAccount+Bridge.swift index c214cbf0..1b6becef 100644 --- a/FRW/Modules/Wallet/WalletAccount/WalletAccount+Bridge.swift +++ b/FRW/Modules/Wallet/WalletAccount/WalletAccount+Bridge.swift @@ -70,7 +70,7 @@ extension RNBridge.WalletAccount { let nftStr = nfts, let balance = Double(balanceStr), let nftCount = Int(nftStr) { - return .loaded(balance: balance, nftCount: nftCount) + return .loaded(balance: balance, nftCount: nftCount, erc20Balance: 0) } return .notLoaded }() diff --git a/FRW/Modules/Wallet/WalletAccount/WalletAccount+Helpers.swift b/FRW/Modules/Wallet/WalletAccount/WalletAccount+Helpers.swift index f9da90e2..dec46cfc 100644 --- a/FRW/Modules/Wallet/WalletAccount/WalletAccount+Helpers.swift +++ b/FRW/Modules/Wallet/WalletAccount/WalletAccount+Helpers.swift @@ -15,15 +15,22 @@ extension WalletAccount { /// - Parameters: /// - balance: Optional new balance value /// - nftCount: Optional new NFT count + /// - erc20Balance: Optional new ERC-20 balance sum (display units) /// - Returns: New WalletAccount with updated assets - func copyWith(balance: Double? = nil, nftCount: Int? = nil) -> WalletAccount { + func copyWith(balance: Double? = nil, nftCount: Int? = nil, erc20Balance: Double? = nil) -> WalletAccount { let currentBalance = assets.balance ?? 0 let currentNFTCount = assets.nftCount ?? 0 + let currentErc20Balance = assets.erc20Balance ?? 0 let newBalance = balance ?? currentBalance let newNFTCount = nftCount ?? currentNFTCount + let newErc20Balance = erc20Balance ?? currentErc20Balance - let newAssets: AssetData = .loaded(balance: newBalance, nftCount: newNFTCount) + let newAssets: AssetData = .loaded( + balance: newBalance, + nftCount: newNFTCount, + erc20Balance: newErc20Balance + ) return WalletAccount( id: id, diff --git a/FRW/Modules/Wallet/WalletAccount/WalletAccount+Mock.swift b/FRW/Modules/Wallet/WalletAccount/WalletAccount+Mock.swift index 5442e81f..75cd47da 100644 --- a/FRW/Modules/Wallet/WalletAccount/WalletAccount+Mock.swift +++ b/FRW/Modules/Wallet/WalletAccount/WalletAccount+Mock.swift @@ -32,7 +32,7 @@ extension WalletAccount { childInfo: nil, parent: nil, isActive: isActive, - assets: .loaded(balance: balance, nftCount: nftCount) + assets: .loaded(balance: balance, nftCount: nftCount, erc20Balance: 0) ) } @@ -58,7 +58,7 @@ extension WalletAccount { let assets: AssetData if let balance, let nftCount { - assets = .loaded(balance: balance, nftCount: nftCount) + assets = .loaded(balance: balance, nftCount: nftCount, erc20Balance: 0) } else { assets = .notLoaded } @@ -107,7 +107,7 @@ extension WalletAccount { childInfo: nil, parent: parent, isActive: isActive, - assets: .loaded(balance: balance, nftCount: nftCount) + assets: .loaded(balance: balance, nftCount: nftCount, erc20Balance: 0) ) } @@ -132,8 +132,7 @@ extension WalletAccount { childInfo: nil, parent: nil, isActive: isActive, - assets: .loaded(balance: balance, nftCount: nftCount) + assets: .loaded(balance: balance, nftCount: nftCount, erc20Balance: 0) ) } } - diff --git a/FRW/Modules/Wallet/WalletAccount/WalletAccount.swift b/FRW/Modules/Wallet/WalletAccount/WalletAccount.swift index 7e2a5254..d87ba7e5 100644 --- a/FRW/Modules/Wallet/WalletAccount/WalletAccount.swift +++ b/FRW/Modules/Wallet/WalletAccount/WalletAccount.swift @@ -60,16 +60,21 @@ struct WalletAccount: Codable { enum AssetData { case notLoaded case loading - case loaded(balance: Double, nftCount: Int) + case loaded(balance: Double, nftCount: Int, erc20Balance: Double) case error(Error) var balance: Double? { - if case .loaded(let balance, _) = self { return balance } + if case .loaded(let balance, _, _) = self { return balance } return nil } var nftCount: Int? { - if case .loaded(_, let count) = self { return count } + if case .loaded(_, let count, _) = self { return count } + return nil + } + + var erc20Balance: Double? { + if case .loaded(_, _, let erc20Balance) = self { return erc20Balance } return nil } @@ -87,10 +92,10 @@ extension WalletAccount { /// Hidden when it has no balance and no NFTs var isHidden: Bool { guard type == .coa else { return false } - guard case .loaded(let balance, let nftCount) = assets else { + guard case .loaded(let balance, let nftCount, let erc20Balance) = assets else { return false // Don't hide if data not loaded yet } - return balance == 0 && nftCount == 0 + return balance == 0 && nftCount == 0 && erc20Balance == 0 } /// Formatted balance display string @@ -146,6 +151,7 @@ extension WalletAccount.AssetData: Codable { case state case balance case nftCount + case erc20Balance } private enum State: String, Codable { @@ -163,10 +169,11 @@ extension WalletAccount.AssetData: Codable { try container.encode(State.notLoaded, forKey: .state) case .loading: try container.encode(State.loading, forKey: .state) - case .loaded(let balance, let nftCount): + case .loaded(let balance, let nftCount, let erc20Balance): try container.encode(State.loaded, forKey: .state) try container.encode(balance, forKey: .balance) try container.encode(nftCount, forKey: .nftCount) + try container.encode(erc20Balance, forKey: .erc20Balance) case .error: // Encode error state but don't persist error details try container.encode(State.error, forKey: .state) @@ -185,7 +192,8 @@ extension WalletAccount.AssetData: Codable { case .loaded: let balance = try container.decode(Double.self, forKey: .balance) let nftCount = try container.decode(Int.self, forKey: .nftCount) - self = .loaded(balance: balance, nftCount: nftCount) + let erc20Balance = try container.decodeIfPresent(Double.self, forKey: .erc20Balance) ?? 0 + self = .loaded(balance: balance, nftCount: nftCount, erc20Balance: erc20Balance) case .error: // Decode error state as notLoaded (errors are temporary and shouldn't be persisted) self = .notLoaded diff --git a/FRW/Services/Manager/ProfileManager/Services/ProfileFetchService.swift b/FRW/Services/Manager/ProfileManager/Services/ProfileFetchService.swift index 21d1abe5..8a719e9c 100644 --- a/FRW/Services/Manager/ProfileManager/Services/ProfileFetchService.swift +++ b/FRW/Services/Manager/ProfileManager/Services/ProfileFetchService.swift @@ -74,7 +74,36 @@ final class ProfileFetchService: ProfileFetchServiceProtocol { return profile.updatingAccounts(to: updatedGroups) } } + + func fetchERC20Balances(for profiles: [ProfileModel]) async throws -> [ProfileModel] { + let coaAddresses = profiles.flatMap { profile in + profile.accounts.flatMap { $0 } + .filter { $0.type == .coa } + .compactMap { $0.address } + } + + guard !coaAddresses.isEmpty else { return profiles } + let erc20Balances = await fetchERC20DisplayBalancesForAddresses(coaAddresses) + let nonZeroCount = erc20Balances.values.filter { $0 > 0 }.count + let totalErc20Balance = erc20Balances.values.reduce(0, +) + log.debug("[ProfileFetch] ERC20 summary: \(nonZeroCount)/\(coaAddresses.count) non-zero, total=\(totalErc20Balance)") + + return profiles.map { profile in + let updatedGroups = profile.accounts.map { group in + group.map { account in + guard account.type == .coa, + let erc20Balance = erc20Balances[account.address] + else { + return account + } + return account.copyWith(erc20Balance: erc20Balance) + } + } + return profile.updatingAccounts(to: updatedGroups) + } + } + func fetchNFTCounts(for profiles: [ProfileModel]) async throws -> [ProfileModel] { // Collect all COA addresses let coaAddresses = profiles.flatMap { profile in @@ -106,14 +135,17 @@ final class ProfileFetchService: ProfileFetchServiceProtocol { } func fetchAllAccountInfo(for profiles: [ProfileModel]) async throws -> [ProfileModel] { - // Pipeline: Accounts → Balances → NFTs + // Pipeline: Accounts → Balances → ERC20 → NFTs let withAccounts = try await fetchAccounts(for: profiles) log.debug("[ProfileFetch] Fetched accounts for \(withAccounts.count) profiles") let withBalances = try await fetchBalances(for: withAccounts) log.debug("[ProfileFetch] Fetched balances") - let withNFTs = try await fetchNFTCounts(for: withBalances) + let withERC20 = try await fetchERC20Balances(for: withBalances) + log.debug("[ProfileFetch] Fetched ERC20 balances") + + let withNFTs = try await fetchNFTCounts(for: withERC20) log.debug("[ProfileFetch] Fetched NFT counts") return withNFTs @@ -188,6 +220,7 @@ final class ProfileFetchService: ProfileFetchServiceProtocol { return list } + private func fetchNFTCountsForAddresses(_ addresses: [String]) async -> [String: Int] { await withTaskGroup(of: (String, Int)?.self) { group in let tokenProvider = await EVMTokenBalanceProvider() @@ -217,4 +250,40 @@ final class ProfileFetchService: ProfileFetchServiceProtocol { return results } } + + private func fetchERC20DisplayBalancesForAddresses(_ addresses: [String]) async -> [String: Double] { + await withTaskGroup(of: (String, Double)?.self) { group in + for address in addresses { + group.addTask { + guard let fwAddress = FWAddressDector.create(address: address) else { + return nil + } + do { + let tokens = try await TokenBalanceHandler.shared.getFTBalance(address: fwAddress) + let sum = tokens.reduce(Decimal.zero) { partial, token in + guard let display = token.displayBalance, + let value = Decimal(string: display), + value > 0 + else { + return partial + } + return partial + value + } + return (address, sum.doubleValue) + } catch { + log.warning("[ProfileFetch] ERC20 fetch failed for \(address): \(error)") + return nil + } + } + } + + var results: [String: Double] = [:] + for await result in group { + if let (address, sum) = result { + results[address] = sum + } + } + return results + } + } } From fbeba0c364dbf2ffa887c6e08500ba6a6fe83362 Mon Sep 17 00:00:00 2001 From: cat Date: Fri, 13 Feb 2026 17:56:26 +0800 Subject: [PATCH 5/6] feat: remove animation --- FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift b/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift index 804d4e22..94e040c7 100644 --- a/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift +++ b/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift @@ -160,9 +160,7 @@ class SideMenuViewModel: ObservableObject { let balance = coaAccount.account.assets.balance ?? 0 let nftCount = coaAccount.account.assets.nftCount ?? 0 let erc20Count = coaAccount.account.assets.erc20Balance ?? 0 - withAnimation(.easeInOut) { - self.shouldShowMigrationCard = balance > 0 || nftCount > 0 || erc20Count > 0 - } + self.shouldShowMigrationCard = balance > 0 || nftCount > 0 || erc20Count > 0 } } From 43ce9cb91752548e12f6cbf7910cfc882f7489a9 Mon Sep 17 00:00:00 2001 From: cat Date: Fri, 13 Feb 2026 20:10:59 +0800 Subject: [PATCH 6/6] feat: update coa asset after migration --- FRW/Foundation/Bridge/RCTNativeFRWBridge.mm | 11 +++++++++++ FRW/Foundation/Bridge/TurboModuleSwift.swift | 13 +++++++++++++ FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift | 10 ++++------ .../Services/ProfileFetchService.swift | 3 ++- 4 files changed, 30 insertions(+), 7 deletions(-) diff --git a/FRW/Foundation/Bridge/RCTNativeFRWBridge.mm b/FRW/Foundation/Bridge/RCTNativeFRWBridge.mm index b0ab49ae..c1803055 100644 --- a/FRW/Foundation/Bridge/RCTNativeFRWBridge.mm +++ b/FRW/Foundation/Bridge/RCTNativeFRWBridge.mm @@ -197,6 +197,17 @@ - (void)getMigrationAssets:(NSString *)sourceAddress }]; } +- (void)refreshCoaAfterMigration:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject { + [TurboModuleSwift refreshCoaAfterMigrationWithCompletionHandler:^(NSError * _Nullable error) { + if (error) { + reject(@"refresh_coa_after_migration_error", error.localizedDescription, error); + } else { + resolve(nil); + } + }]; +} + - (NSDictionary *)getCurrency { return [TurboModuleSwift getCurrency]; } diff --git a/FRW/Foundation/Bridge/TurboModuleSwift.swift b/FRW/Foundation/Bridge/TurboModuleSwift.swift index 69bf1996..752054d2 100644 --- a/FRW/Foundation/Bridge/TurboModuleSwift.swift +++ b/FRW/Foundation/Bridge/TurboModuleSwift.swift @@ -472,6 +472,19 @@ extension TurboModuleSwift { let model = try await TurboModuleSwift.fetchAmountForCoa(address: sourceAddress) return try model.toDictionary() } + + @objc + static func refreshCoaAfterMigration() async throws { + async let refreshProfile: Void = ProfileManager.shared.refreshCurrentProfileAccounts() + async let refreshWallet: Void = { + do { + try await WalletManager.shared.fetchWalletDatas() + } catch { + log.warning("[Migration] Refresh wallet data failed: \(error)") + } + }() + _ = await (refreshProfile, refreshWallet) + } @objc static func getWalletProfiles() async throws -> [String: Any] { diff --git a/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift b/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift index 94e040c7..687a08e0 100644 --- a/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift +++ b/FRW/Modules/Wallet/SideMenu/SideMenuViewModel.swift @@ -98,9 +98,7 @@ class SideMenuViewModel: ObservableObject { } } log.debug("[Profile] find current account:\(result?.account)") - withAnimation(.easeInOut) { - currentAccount = result - } + currentAccount = result } func updateCurrentAccount(_ selectedAccount: SideMenuItem) { @@ -131,9 +129,9 @@ class SideMenuViewModel: ObservableObject { private func updateMigrationCardVisibility(for item: SideMenuItem?) { shouldShowMigrationCard = false - guard let coaMigration = RemoteConfigManager.shared.config?.features.coaMigration, coaMigration else { - return - } +// guard let coaMigration = RemoteConfigManager.shared.config?.features.coaMigration, coaMigration else { +// return +// } guard let item else { return } diff --git a/FRW/Services/Manager/ProfileManager/Services/ProfileFetchService.swift b/FRW/Services/Manager/ProfileManager/Services/ProfileFetchService.swift index 8a719e9c..30e98cd6 100644 --- a/FRW/Services/Manager/ProfileManager/Services/ProfileFetchService.swift +++ b/FRW/Services/Manager/ProfileManager/Services/ProfileFetchService.swift @@ -259,7 +259,8 @@ final class ProfileFetchService: ProfileFetchServiceProtocol { return nil } do { - let tokens = try await TokenBalanceHandler.shared.getFTBalance(address: fwAddress) + // Force refresh to avoid stale cache after migration + let tokens = try await TokenBalanceHandler.shared.fetchUserTokens(address: fwAddress) let sum = tokens.reduce(Decimal.zero) { partial, token in guard let display = token.displayBalance, let value = Decimal(string: display),