Skip to content

Commit 1d15d2b

Browse files
committed
Enable autoswap by default
1 parent d359687 commit 1d15d2b

25 files changed

Lines changed: 1213 additions & 153 deletions

File tree

lib/core/storage/database_seeds.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,23 +77,25 @@ class DatabaseSeeds {
7777
.insert(
7878
const AutoSwapRow(
7979
id: 1,
80-
enabled: false,
80+
enabled: true,
8181
balanceThresholdSats: 1000000,
8282
feeThresholdPercent: 3.0,
8383
blockTillNextExecution: false,
8484
alwaysBlock: false,
85+
showWarning: true,
8586
),
8687
);
8788
await db
8889
.into(db.autoSwap)
8990
.insert(
9091
const AutoSwapRow(
9192
id: 2,
92-
enabled: false,
93+
enabled: true,
9394
balanceThresholdSats: 1000000,
9495
feeThresholdPercent: 3.0,
9596
blockTillNextExecution: false,
9697
alwaysBlock: false,
98+
showWarning: true,
9799
),
98100
);
99101
}

lib/core/storage/migrations/schema_10_to_11.dart

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,19 @@ class Schema10To11 {
99
final settings = schema11.settings;
1010
await m.addColumn(settings, settings.themeMode);
1111

12+
final autoSwap = schema11.autoSwap;
13+
await m.addColumn(autoSwap, autoSwap.showWarning);
14+
1215
final db = m.database as SqliteDatabase;
1316
await db.managers.settings.update(
14-
(f) => f(
15-
id: const Value(1),
16-
themeMode: const Value('system'),
17-
),
17+
(f) => f(id: const Value(1), themeMode: const Value('system')),
1818
);
19+
20+
final autoSwapRows = await db.select(db.autoSwap).get();
21+
for (final row in autoSwapRows) {
22+
await db
23+
.update(db.autoSwap)
24+
.replace(row.copyWith(enabled: true, showWarning: true));
25+
}
1926
}
2027
}

lib/core/storage/schemas/bull_database/drift_schema_v11.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

lib/core/storage/sqlite_database.steps.dart

Lines changed: 59 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3918,20 +3918,21 @@ final class Schema11 extends i0.VersionedSchema {
39183918
),
39193919
alias: null,
39203920
);
3921-
late final Shape13 autoSwap = Shape13(
3921+
late final Shape22 autoSwap = Shape22(
39223922
source: i0.VersionedTable(
39233923
entityName: 'auto_swap',
39243924
withoutRowId: false,
39253925
isStrict: false,
39263926
tableConstraints: [],
39273927
columns: [
39283928
_column_31,
3929-
_column_87,
3929+
_column_115,
39303930
_column_88,
39313931
_column_89,
39323932
_column_90,
39333933
_column_91,
39343934
_column_101,
3935+
_column_116,
39353936
],
39363937
attachedDatabase: database,
39373938
),
@@ -3959,7 +3960,7 @@ final class Schema11 extends i0.VersionedSchema {
39593960
),
39603961
alias: null,
39613962
);
3962-
late final Shape22 prices = Shape22(
3963+
late final Shape23 prices = Shape23(
39633964
source: i0.VersionedTable(
39643965
entityName: 'prices',
39653966
withoutRowId: false,
@@ -3969,8 +3970,6 @@ final class Schema11 extends i0.VersionedSchema {
39693970
],
39703971
columns: [
39713972
_column_31,
3972-
_column_115,
3973-
_column_116,
39743973
_column_117,
39753974
_column_118,
39763975
_column_119,
@@ -3979,6 +3978,8 @@ final class Schema11 extends i0.VersionedSchema {
39793978
_column_122,
39803979
_column_123,
39813980
_column_124,
3981+
_column_125,
3982+
_column_126,
39823983
],
39833984
attachedDatabase: database,
39843985
),
@@ -4023,6 +4024,49 @@ i1.GeneratedColumn<String> _column_114(String aliasedName) =>
40234024

40244025
class Shape22 extends i0.VersionedTable {
40254026
Shape22({required super.source, required super.alias}) : super.aliased();
4027+
i1.GeneratedColumn<int> get id =>
4028+
columnsByName['id']! as i1.GeneratedColumn<int>;
4029+
i1.GeneratedColumn<bool> get enabled =>
4030+
columnsByName['enabled']! as i1.GeneratedColumn<bool>;
4031+
i1.GeneratedColumn<int> get balanceThresholdSats =>
4032+
columnsByName['balance_threshold_sats']! as i1.GeneratedColumn<int>;
4033+
i1.GeneratedColumn<double> get feeThresholdPercent =>
4034+
columnsByName['fee_threshold_percent']! as i1.GeneratedColumn<double>;
4035+
i1.GeneratedColumn<bool> get blockTillNextExecution =>
4036+
columnsByName['block_till_next_execution']! as i1.GeneratedColumn<bool>;
4037+
i1.GeneratedColumn<bool> get alwaysBlock =>
4038+
columnsByName['always_block']! as i1.GeneratedColumn<bool>;
4039+
i1.GeneratedColumn<String> get recipientWalletId =>
4040+
columnsByName['recipient_wallet_id']! as i1.GeneratedColumn<String>;
4041+
i1.GeneratedColumn<bool> get showWarning =>
4042+
columnsByName['show_warning']! as i1.GeneratedColumn<bool>;
4043+
}
4044+
4045+
i1.GeneratedColumn<bool> _column_115(String aliasedName) =>
4046+
i1.GeneratedColumn<bool>(
4047+
'enabled',
4048+
aliasedName,
4049+
false,
4050+
type: i1.DriftSqlType.bool,
4051+
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
4052+
'CHECK ("enabled" IN (0, 1))',
4053+
),
4054+
defaultValue: const CustomExpression('1'),
4055+
);
4056+
i1.GeneratedColumn<bool> _column_116(String aliasedName) =>
4057+
i1.GeneratedColumn<bool>(
4058+
'show_warning',
4059+
aliasedName,
4060+
false,
4061+
type: i1.DriftSqlType.bool,
4062+
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
4063+
'CHECK ("show_warning" IN (0, 1))',
4064+
),
4065+
defaultValue: const CustomExpression('1'),
4066+
);
4067+
4068+
class Shape23 extends i0.VersionedTable {
4069+
Shape23({required super.source, required super.alias}) : super.aliased();
40264070
i1.GeneratedColumn<int> get id =>
40274071
columnsByName['id']! as i1.GeneratedColumn<int>;
40284072
i1.GeneratedColumn<String> get fromCurrency =>
@@ -4047,70 +4091,70 @@ class Shape22 extends i0.VersionedTable {
40474091
columnsByName['created_at']! as i1.GeneratedColumn<String>;
40484092
}
40494093

4050-
i1.GeneratedColumn<String> _column_115(String aliasedName) =>
4094+
i1.GeneratedColumn<String> _column_117(String aliasedName) =>
40514095
i1.GeneratedColumn<String>(
40524096
'from_currency',
40534097
aliasedName,
40544098
false,
40554099
type: i1.DriftSqlType.string,
40564100
);
4057-
i1.GeneratedColumn<String> _column_116(String aliasedName) =>
4101+
i1.GeneratedColumn<String> _column_118(String aliasedName) =>
40584102
i1.GeneratedColumn<String>(
40594103
'to_currency',
40604104
aliasedName,
40614105
false,
40624106
type: i1.DriftSqlType.string,
40634107
);
4064-
i1.GeneratedColumn<String> _column_117(String aliasedName) =>
4108+
i1.GeneratedColumn<String> _column_119(String aliasedName) =>
40654109
i1.GeneratedColumn<String>(
40664110
'interval',
40674111
aliasedName,
40684112
false,
40694113
type: i1.DriftSqlType.string,
40704114
);
4071-
i1.GeneratedColumn<double> _column_118(String aliasedName) =>
4115+
i1.GeneratedColumn<double> _column_120(String aliasedName) =>
40724116
i1.GeneratedColumn<double>(
40734117
'market_price',
40744118
aliasedName,
40754119
true,
40764120
type: i1.DriftSqlType.double,
40774121
);
4078-
i1.GeneratedColumn<double> _column_119(String aliasedName) =>
4122+
i1.GeneratedColumn<double> _column_121(String aliasedName) =>
40794123
i1.GeneratedColumn<double>(
40804124
'price',
40814125
aliasedName,
40824126
true,
40834127
type: i1.DriftSqlType.double,
40844128
);
4085-
i1.GeneratedColumn<String> _column_120(String aliasedName) =>
4129+
i1.GeneratedColumn<String> _column_122(String aliasedName) =>
40864130
i1.GeneratedColumn<String>(
40874131
'price_currency',
40884132
aliasedName,
40894133
true,
40904134
type: i1.DriftSqlType.string,
40914135
);
4092-
i1.GeneratedColumn<int> _column_121(String aliasedName) =>
4136+
i1.GeneratedColumn<int> _column_123(String aliasedName) =>
40934137
i1.GeneratedColumn<int>(
40944138
'precision',
40954139
aliasedName,
40964140
true,
40974141
type: i1.DriftSqlType.int,
40984142
);
4099-
i1.GeneratedColumn<double> _column_122(String aliasedName) =>
4143+
i1.GeneratedColumn<double> _column_124(String aliasedName) =>
41004144
i1.GeneratedColumn<double>(
41014145
'index_price',
41024146
aliasedName,
41034147
true,
41044148
type: i1.DriftSqlType.double,
41054149
);
4106-
i1.GeneratedColumn<double> _column_123(String aliasedName) =>
4150+
i1.GeneratedColumn<double> _column_125(String aliasedName) =>
41074151
i1.GeneratedColumn<double>(
41084152
'user_price',
41094153
aliasedName,
41104154
true,
41114155
type: i1.DriftSqlType.double,
41124156
);
4113-
i1.GeneratedColumn<String> _column_124(String aliasedName) =>
4157+
i1.GeneratedColumn<String> _column_126(String aliasedName) =>
41144158
i1.GeneratedColumn<String>(
41154159
'created_at',
41164160
aliasedName,

lib/core/storage/tables/auto_swap.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ import 'package:drift/drift.dart';
33
@DataClassName('AutoSwapRow')
44
class AutoSwap extends Table {
55
IntColumn get id => integer().autoIncrement()();
6-
BoolColumn get enabled => boolean().withDefault(const Constant(false))();
6+
BoolColumn get enabled => boolean().withDefault(const Constant(true))();
77
IntColumn get balanceThresholdSats => integer()();
88
RealColumn get feeThresholdPercent => real()();
99
BoolColumn get blockTillNextExecution =>
1010
boolean().withDefault(const Constant(false))();
1111
BoolColumn get alwaysBlock => boolean().withDefault(const Constant(false))();
1212
TextColumn get recipientWalletId => text().nullable()();
13+
BoolColumn get showWarning => boolean().withDefault(const Constant(true))();
1314
}

lib/core/swaps/data/datasources/boltz_storage_datasource.dart

Lines changed: 35 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,15 @@ class BoltzStorageDatasource {
3030
blockTillNextExecution: Value(settings.blockTillNextExecution),
3131
alwaysBlock: Value(settings.alwaysBlock),
3232
recipientWalletId: Value(settings.recipientWalletId),
33+
showWarning: Value(settings.showWarning),
3334
),
3435
);
3536
}
3637

3738
Future<AutoSwapModel> getAutoSwapSettings() async {
38-
final settings =
39-
await (_localSwapStorage.select(_localSwapStorage.autoSwap)
40-
..where((tbl) => tbl.id.equals(1))).getSingle();
39+
final settings = await (_localSwapStorage.select(
40+
_localSwapStorage.autoSwap,
41+
)..where((tbl) => tbl.id.equals(1))).getSingle();
4142
return AutoSwapModel.fromSqlite(settings);
4243
}
4344

@@ -53,14 +54,15 @@ class BoltzStorageDatasource {
5354
blockTillNextExecution: Value(settings.blockTillNextExecution),
5455
alwaysBlock: Value(settings.alwaysBlock),
5556
recipientWalletId: Value(settings.recipientWalletId),
57+
showWarning: Value(settings.showWarning),
5658
),
5759
);
5860
}
5961

6062
Future<AutoSwapModel> getAutoSwapSettingsTestnet() async {
61-
final settings =
62-
await (_localSwapStorage.select(_localSwapStorage.autoSwap)
63-
..where((tbl) => tbl.id.equals(2))).getSingle();
63+
final settings = await (_localSwapStorage.select(
64+
_localSwapStorage.autoSwap,
65+
)..where((tbl) => tbl.id.equals(2))).getSingle();
6466
return AutoSwapModel.fromSqlite(settings);
6567
}
6668

@@ -73,10 +75,9 @@ class BoltzStorageDatasource {
7375
}
7476

7577
Future<SwapModel?> fetch(String swapId) async {
76-
final swap =
77-
await _localSwapStorage.managers.swaps
78-
.filter((f) => f.id(swapId))
79-
.getSingleOrNull();
78+
final swap = await _localSwapStorage.managers.swaps
79+
.filter((f) => f.id(swapId))
80+
.getSingleOrNull();
8081
if (swap == null) return null;
8182
return SwapModel.fromSqlite(swap);
8283
}
@@ -112,36 +113,34 @@ class BoltzStorageDatasource {
112113
}
113114

114115
Future<List<SwapModel>> fetchAll({String? walletId, bool? isTestnet}) async {
115-
final all =
116-
await _localSwapStorage.managers.swaps.filter((f) {
117-
Expression<bool> expr = const Constant(true);
118-
119-
if (walletId != null) {
120-
expr =
121-
expr &
122-
(f.sendWalletId.equals(walletId) |
123-
f.receiveWalletId.equals(walletId));
124-
}
125-
126-
if (isTestnet != null) {
127-
expr = expr & f.isTestnet.equals(isTestnet);
128-
}
129-
130-
return expr;
131-
}).get();
116+
final all = await _localSwapStorage.managers.swaps.filter((f) {
117+
Expression<bool> expr = const Constant(true);
118+
119+
if (walletId != null) {
120+
expr =
121+
expr &
122+
(f.sendWalletId.equals(walletId) |
123+
f.receiveWalletId.equals(walletId));
124+
}
125+
126+
if (isTestnet != null) {
127+
expr = expr & f.isTestnet.equals(isTestnet);
128+
}
129+
130+
return expr;
131+
}).get();
132132
return all.map((e) => SwapModel.fromSqlite(e)).toList();
133133
}
134134

135135
Future<SwapModel?> fetchByTxId(String txId) async {
136-
final swap =
137-
await _localSwapStorage.managers.swaps
138-
.filter(
139-
(f) =>
140-
f.sendTxid.equals(txId) |
141-
f.receiveTxid.equals(txId) |
142-
f.refundTxid.equals(txId),
143-
)
144-
.getSingleOrNull();
136+
final swap = await _localSwapStorage.managers.swaps
137+
.filter(
138+
(f) =>
139+
f.sendTxid.equals(txId) |
140+
f.receiveTxid.equals(txId) |
141+
f.refundTxid.equals(txId),
142+
)
143+
.getSingleOrNull();
145144
if (swap == null) return null;
146145
return SwapModel.fromSqlite(swap);
147146
}

0 commit comments

Comments
 (0)