Skip to content

Commit 85335af

Browse files
authored
Merge pull request #2783 from KomodoPlatform/release/hot-fix-trezor-login
chore(re-land release): 0.9.1 reenable Dex
2 parents 333c20d + 617fe36 commit 85335af

File tree

65 files changed

+1412
-653
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+1412
-653
lines changed

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
# Komodo Wallet v0.9.1 Release Notes
2+
3+
This is a hotfix release that addresses critical issues with Trezor hardware wallet login functionality.
4+
5+
## 🐛 Bug Fixes
6+
7+
- **Trezor Login Issues** - Fixed critical bugs in the Trezor hardware wallet login flow that were preventing users from accessing their wallets.
8+
9+
**Full Changelog**: [0.9.0...0.9.1](https://github.com/KomodoPlatform/komodo-wallet/compare/0.9.0...0.9.1)
10+
11+
---
12+
113
# Komodo Wallet v0.9.0 Release Notes
214

315
We are excited to announce Komodo Wallet v0.9.0. This release introduces HD wallet functionality, cross-platform fiat on-ramp improvements, a new feedback provider, and numerous bug fixes and dependency upgrades.

app_theme/lib/src/dark/theme_global_dark.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ ThemeData get themeGlobalDark {
7070
fontFamily: 'Manrope',
7171
scaffoldBackgroundColor: colorScheme.onSurface,
7272
cardColor: colorScheme.surface,
73-
cardTheme: CardTheme(
73+
cardTheme: CardThemeData(
7474
color: colorScheme.surface,
7575
shape: const RoundedRectangleBorder(
7676
borderRadius: BorderRadius.all(Radius.circular(18)),
@@ -83,7 +83,7 @@ ThemeData get themeGlobalDark {
8383
iconTheme: IconThemeData(color: colorScheme.primary),
8484
progressIndicatorTheme:
8585
ProgressIndicatorThemeData(color: colorScheme.primary),
86-
dialogTheme: const DialogTheme(
86+
dialogTheme: const DialogThemeData(
8787
backgroundColor: Color.fromRGBO(14, 16, 27, 1),
8888
shape: RoundedRectangleBorder(
8989
borderRadius: BorderRadius.all(
@@ -144,7 +144,7 @@ ThemeData get themeGlobalDark {
144144
padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 4),
145145
),
146146
),
147-
tabBarTheme: TabBarTheme(
147+
tabBarTheme: TabBarThemeData(
148148
labelColor: textColor,
149149
indicator: UnderlineTabIndicator(
150150
borderSide: BorderSide(

app_theme/lib/src/light/theme_global_light.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ ThemeData get themeGlobalLight {
5454
fontFamily: 'Manrope',
5555
scaffoldBackgroundColor: colorScheme.onSurface,
5656
cardColor: colorScheme.surface,
57-
cardTheme: CardTheme(
57+
cardTheme: CardThemeData(
5858
color: colorScheme.surface,
5959
shape: const RoundedRectangleBorder(
6060
borderRadius: BorderRadius.all(Radius.circular(18)),
@@ -67,7 +67,7 @@ ThemeData get themeGlobalLight {
6767
iconTheme: IconThemeData(color: colorScheme.primary),
6868
progressIndicatorTheme:
6969
ProgressIndicatorThemeData(color: colorScheme.primary),
70-
dialogTheme: const DialogTheme(
70+
dialogTheme: const DialogThemeData(
7171
backgroundColor: Color.fromRGBO(255, 255, 255, 1),
7272
shape: RoundedRectangleBorder(
7373
borderRadius: BorderRadius.all(
@@ -152,7 +152,7 @@ ThemeData get themeGlobalLight {
152152
padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 4),
153153
),
154154
),
155-
tabBarTheme: TabBarTheme(
155+
tabBarTheme: TabBarThemeData(
156156
labelColor: textColor,
157157
indicator: UnderlineTabIndicator(
158158
borderSide: BorderSide(

assets/translations/en.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,8 @@
270270
"cancelAll": "Cancel all",
271271
"type": "Type",
272272
"sell": "Sell",
273+
"sellCrypto": "Sell Crypto",
274+
"sellCryptoDescription": "Select a cryptocurrency to sell through our integrated Bitrefill service.",
273275
"buy": "Buy",
274276
"changingWalletPassword": "Changing your wallet password",
275277
"changingWalletPasswordDescription": "This password will be used for logging in to your wallet",
@@ -639,7 +641,7 @@
639641
"decimals": "Decimals",
640642
"onlySendToThisAddress": "Only send {} to this address",
641643
"scanTheQrCode": "Scan the QR code on any mobile device wallet",
642-
"swapAddress": "Swap Address",
644+
"tradingAddress": "Trading Address",
643645
"addresses": "Addresses",
644646
"creating": "Creating",
645647
"createAddress": "Create Address",
@@ -671,5 +673,7 @@
671673
"previewWithdrawal": "Preview Withdrawal",
672674
"createNewAddress": "Create New Address",
673675
"searchAddresses": "Search addresses",
674-
"chart": "Chart"
676+
"chart": "Chart",
677+
"tradingDisabledTooltip": "Trading features are currently disabled",
678+
"tradingDisabled": "Trading is currently unavailable"
675679
}

docs/FLUTTER_VERSION.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Supported Flutter Version
44

5-
This project supports Flutter `3.29.2` (latest stable release). We aim to keep the project up-to-date with the most recent stable Flutter versions.
5+
This project supports Flutter `3.29.2`. We aim to keep the project up-to-date with the latest `stable` Flutter release.
66

77
## Recommended Approach: Multiple Flutter Versions
88

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#
2+
# Generated file, do not edit.
3+
#
4+
5+
import lldb
6+
7+
def handle_new_rx_page(frame: lldb.SBFrame, bp_loc, extra_args, intern_dict):
8+
"""Intercept NOTIFY_DEBUGGER_ABOUT_RX_PAGES and touch the pages."""
9+
base = frame.register["x0"].GetValueAsAddress()
10+
page_len = frame.register["x1"].GetValueAsUnsigned()
11+
12+
# Note: NOTIFY_DEBUGGER_ABOUT_RX_PAGES will check contents of the
13+
# first page to see if handled it correctly. This makes diagnosing
14+
# misconfiguration (e.g. missing breakpoint) easier.
15+
data = bytearray(page_len)
16+
data[0:8] = b'IHELPED!'
17+
18+
error = lldb.SBError()
19+
frame.GetThread().GetProcess().WriteMemory(base, data, error)
20+
if not error.Success():
21+
print(f'Failed to write into {base}[+{page_len}]', error)
22+
return
23+
24+
def __lldb_init_module(debugger: lldb.SBDebugger, _):
25+
target = debugger.GetDummyTarget()
26+
# Caveat: must use BreakpointCreateByRegEx here and not
27+
# BreakpointCreateByName. For some reasons callback function does not
28+
# get carried over from dummy target for the later.
29+
bp = target.BreakpointCreateByRegex("^NOTIFY_DEBUGGER_ABOUT_RX_PAGES$")
30+
bp.SetScriptCallbackFunction('{}.handle_new_rx_page'.format(__name__))
31+
bp.SetAutoContinue(True)
32+
print("-- LLDB integration loaded --")
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#
2+
# Generated file, do not edit.
3+
#
4+
5+
command script import --relative-to-command-file flutter_lldb_helper.py

lib/app_config/app_config.dart

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,18 @@ final Uri discordSupportChannelUrl = Uri.parse(
1919
'https://discord.com/channels/412898016371015680/429676282196787200');
2020
final Uri discordInviteUrl = Uri.parse('https://komodoplatform.com/discord');
2121

22-
// Temporary feature flag to allow merging of the PR
23-
// TODO: Remove this flag after the feature is finalized
22+
/// Const to define if Bitrefill integration is enabled in the app.
2423
const bool isBitrefillIntegrationEnabled = false;
2524

26-
/// Const to define if trading is enabled in the app. Trading is only permitted
27-
/// with test coins for development purposes while the regulatory compliance
28-
/// framework is being developed.
25+
/// Const to define whether to show trading warning dialogs and notices.
26+
/// This can be used to control the display of trading-related warnings
27+
/// throughout the application.
2928
///
30-
///! You are solely responsible for any losses/damage that may occur. Komodo
31-
///! Platform does not condone the use of this app for trading purposes and
32-
///! unequivocally forbids it.
33-
const bool kIsWalletOnly = !kDebugMode;
29+
///! You are solely responsible for any losses/damage that may occur due to
30+
///! compliance issues, bugs, or other unforeseen circumstances. Komodo
31+
///! Platform and its legal entities do not condone the use of this app for
32+
///! trading purposes where it is not legally compliant.
33+
const bool kShowTradingWarning = false;
3434

3535
const Duration kPerformanceLogInterval = Duration(minutes: 1);
3636

lib/bloc/app_bloc_root.dart

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@ import 'package:web_dex/bloc/settings/settings_bloc.dart';
4545
import 'package:web_dex/bloc/settings/settings_repository.dart';
4646
import 'package:web_dex/bloc/system_health/system_clock_repository.dart';
4747
import 'package:web_dex/bloc/system_health/system_health_bloc.dart';
48+
import 'package:web_dex/bloc/trading_status/trading_status_bloc.dart';
4849
import 'package:web_dex/bloc/taker_form/taker_bloc.dart';
50+
import 'package:web_dex/bloc/trading_status/trading_status_repository.dart';
4951
import 'package:web_dex/bloc/transaction_history/transaction_history_bloc.dart';
5052
import 'package:web_dex/bloc/transaction_history/transaction_history_repo.dart';
5153
import 'package:web_dex/bloc/trezor_bloc/trezor_repo.dart';
@@ -177,6 +179,7 @@ class AppBlocRoot extends StatelessWidget {
177179
RepositoryProvider(
178180
create: (_) => KmdRewardsBloc(coinsRepository, mm2Api),
179181
),
182+
RepositoryProvider(create: (_) => TradingStatusRepository()),
180183
],
181184
child: MultiBlocProvider(
182185
providers: [
@@ -194,7 +197,7 @@ class AppBlocRoot extends StatelessWidget {
194197
komodoDefiSdk,
195198
)..add(
196199
const PriceChartStarted(
197-
symbols: ['KMD'],
200+
symbols: ['BTC'],
198201
period: Duration(days: 30),
199202
),
200203
),
@@ -287,6 +290,12 @@ class AppBlocRoot extends StatelessWidget {
287290
),
288291
),
289292
),
293+
BlocProvider<TradingStatusBloc>(
294+
lazy: false,
295+
create: (context) => TradingStatusBloc(
296+
context.read<TradingStatusRepository>(),
297+
)..add(TradingStatusCheckRequested()),
298+
),
290299
BlocProvider<SystemHealthBloc>(
291300
create: (_) => SystemHealthBloc(SystemClockRepository(), mm2Api)
292301
..add(SystemHealthPeriodicCheckStarted()),

lib/bloc/bitrefill/bloc/bitrefill_bloc.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class BitrefillBloc extends Bloc<BitrefillEvent, BitrefillState> {
2828
emit(const BitrefillLoadInProgress());
2929
final String url = _bitrefillRepository.embeddedBitrefillUrl(
3030
coinAbbr: event.coin?.abbr,
31-
refundAddress: event.coin?.address,
31+
refundAddress: event.refundAddress ?? event.coin?.address,
3232
);
3333

3434
final List<String> supportedCoins =

0 commit comments

Comments
 (0)