Skip to content

Commit

Permalink
Merge branch 'master' into direct-payment-api
Browse files Browse the repository at this point in the history
  • Loading branch information
justinenerio authored Jan 24, 2025
2 parents 3b009da + 740ae7e commit 44e5aa6
Show file tree
Hide file tree
Showing 9 changed files with 83 additions and 44 deletions.
5 changes: 5 additions & 0 deletions packages/espressocash_app/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## 1.140.0

- **FIX**: passing correct partner (#1672).
- **FEAT**: add brij logging (#1673).

## 1.139.1

- **FIX**: pass partner to brij (#1671).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import 'package:uuid/uuid.dart';

import '../../../../../config.dart';
import '../../../../../data/db/db.dart';
import '../../../../../utils/errors.dart';
import '../../../../accounts/auth_scope.dart';
import '../../../../accounts/models/ec_wallet.dart';
import '../../../../analytics/analytics_manager.dart';
Expand All @@ -25,6 +26,7 @@ import '../../../../tokens/token.dart';
import '../../../../transactions/models/tx_results.dart';
import '../../../../transactions/services/resign_tx.dart';
import '../../../../transactions/services/tx_sender.dart';
import '../../../services/extensions.dart';
import '../models/brij_order_status.dart';

@Singleton(scope: authScope)
Expand Down Expand Up @@ -60,17 +62,24 @@ class BrijOffRampOrderService implements Disposable {
OffRampOrderStatus.refunded,
OffRampOrderStatus.rejected,
]) &
tbl.partner.equalsValue(RampPartner.brij),
tbl.partner.isInValues([RampPartner.brij, RampPartner.scalexBrij]),
);

final orders = await query.get();

for (final order in orders) {
if (order.partner != RampPartner.brij) {
continue;
switch (order.partner) {
case RampPartner.kado:
case RampPartner.coinflow:
case RampPartner.scalex:
case RampPartner.guardarian:
case RampPartner.rampNetwork:
case RampPartner.moneygram:
continue;
case RampPartner.brij:
case RampPartner.scalexBrij:
_subscribe(order.id);
}

_subscribe(order.id);
}
}

Expand All @@ -80,6 +89,10 @@ class BrijOffRampOrderService implements Disposable {
.watchSingleOrNull()
.whereNotNull()
.asyncExpand<OffRampOrderRowsCompanion?>((order) {
logMessage(
message: 'BrijOffRampOrderStatusChange',
data: order.toSentry(),
);
switch (order.status) {
case OffRampOrderStatus.waitingPartnerReview:
_waitingPartnerReviewWatcher(order);
Expand Down Expand Up @@ -156,10 +169,11 @@ class BrijOffRampOrderService implements Disposable {
AsyncResult<String> create({
required CryptoAmount submittedAmount,
required FiatAmount receiveAmount,
required String partnerAuthPk,
required RampPartner partner,
}) =>
tryEitherAsync((_) async {
{
final partnerAuthPk = partner.partnerPK ?? '';
await _kycRepository.grantPartnerAccess(partnerAuthPk);

final user = await _kycRepository.fetchUser();
Expand Down Expand Up @@ -194,7 +208,7 @@ class BrijOffRampOrderService implements Disposable {
created: DateTime.now(),
humanStatus: '',
machineStatus: '',
partner: RampPartner.brij,
partner: partner,
status: OffRampOrderStatus.waitingPartnerReview,
transaction: '',
depositAddress: '',
Expand All @@ -210,7 +224,7 @@ class BrijOffRampOrderService implements Disposable {
);

_analytics.rampInitiated(
partnerName: RampPartner.brij.name,
partnerName: partner.name,
rampType: RampType.offRamp.name,
amount: submittedAmount.value.toString(),
countryCode: countryCode,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import 'package:rxdart/rxdart.dart';
import 'package:uuid/uuid.dart';

import '../../../../../data/db/db.dart';
import '../../../../../utils/errors.dart';
import '../../../../accounts/auth_scope.dart';
import '../../../../analytics/analytics_manager.dart';
import '../../../../currency/models/amount.dart';
Expand All @@ -17,6 +18,7 @@ import '../../../../kyc_sharing/utils/kyc_utils.dart';
import '../../../../ramp_partner/models/ramp_partner.dart';
import '../../../../ramp_partner/models/ramp_type.dart';
import '../../../../tokens/token.dart';
import '../../../services/extensions.dart';
import '../models/brij_order_status.dart';

@Singleton(scope: authScope)
Expand Down Expand Up @@ -45,17 +47,24 @@ class BrijOnRampOrderService implements Disposable {
OnRampOrderStatus.completed,
OnRampOrderStatus.failure,
]) &
tbl.partner.equalsValue(RampPartner.brij),
tbl.partner.isInValues([RampPartner.brij, RampPartner.scalexBrij]),
);

final orders = await query.get();

for (final order in orders) {
if (order.partner != RampPartner.brij) {
continue;
switch (order.partner) {
case RampPartner.kado:
case RampPartner.coinflow:
case RampPartner.scalex:
case RampPartner.guardarian:
case RampPartner.rampNetwork:
case RampPartner.moneygram:
continue;
case RampPartner.brij:
case RampPartner.scalexBrij:
_subscribe(order.id);
}

_subscribe(order.id);
}
}

Expand All @@ -65,6 +74,10 @@ class BrijOnRampOrderService implements Disposable {
.watchSingleOrNull()
.whereNotNull()
.asyncExpand<OnRampOrderRowsCompanion?>((order) {
logMessage(
message: 'BrijOnRampOrderStatusChange',
data: order.toSentry(),
);
switch (order.status) {
case OnRampOrderStatus.waitingPartnerReview:
_waitingPartnerReviewWatcher(order);
Expand Down Expand Up @@ -99,10 +112,11 @@ class BrijOnRampOrderService implements Disposable {
AsyncResult<String> create({
required FiatAmount submittedAmount,
required CryptoAmount receiveAmount,
required String partnerAuthPk,
required RampPartner partner,
}) =>
tryEitherAsync((_) async {
{
final partnerAuthPk = partner.partnerPK ?? '';
await _kycRepository.grantPartnerAccess(partnerAuthPk);

final orderId = await _kycRepository.createOnRampOrder(
Expand All @@ -123,7 +137,7 @@ class BrijOnRampOrderService implements Disposable {
isCompleted: false,
created: DateTime.now(),
txHash: '',
partner: RampPartner.brij,
partner: partner,
receiveAmount: receiveAmount.value,
status: OnRampOrderStatus.waitingPartnerReview,
bankAccount: null,
Expand All @@ -140,7 +154,7 @@ class BrijOnRampOrderService implements Disposable {
final countryCode = _kycSharingService.value?.countryCode;

_analytics.rampInitiated(
partnerName: RampPartner.brij.name,
partnerName: partner.name,
rampType: RampType.onRamp.name,
amount: submittedAmount.value.toString(),
countryCode: countryCode ?? '',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ extension BuildContextExt on BuildContext {
.create(
receiveAmount: equivalentAmount,
submittedAmount: submittedAmount as FiatAmount,
partnerAuthPk: partner.partnerPK ?? '',
partner: partner,
)
.then(
(order) => order.fold(
Expand Down Expand Up @@ -226,7 +226,7 @@ extension BuildContextExt on BuildContext {
.create(
receiveAmount: equivalentAmount,
submittedAmount: submittedAmount,
partnerAuthPk: partner.partnerPK ?? '',
partner: partner,
)
.then(
(order) => order.fold(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import '../../../../transactions/services/resign_tx.dart';
import '../../../../transactions/services/tx_confirm.dart';
import '../../../../transactions/services/tx_sender.dart';
import '../../../data/my_database_ext.dart';
import '../../../services/extensions.dart';
import '../../../services/off_ramp_order_service.dart';
import '../data/allbridge_client.dart';
import '../data/allbridge_dto.dart' hide TransactionStatus;
Expand Down Expand Up @@ -105,7 +106,7 @@ class MoneygramOffRampOrderService implements Disposable {
.asyncExpand<OffRampOrderRowsCompanion?>((order) {
logMessage(
message: 'MGOffRampOrderStatusChange',
data: order.toSentry,
data: order.toSentry(),
);

switch (order.status) {
Expand Down Expand Up @@ -845,18 +846,3 @@ class MoneygramOffRampOrderService implements Disposable {
}

const _minimumInitBalance = 1.5; // 1.5 XLM

extension on OffRampOrderRow {
Map<String, dynamic> get toSentry {
final json = toJson();

const filter = ['transaction', 'slot'];

json.removeWhere(
(key, value) =>
value == null || value == '' || filter.contains(key) || value == 0.0,
);

return json;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import '../../../../stellar/service/stellar_client.dart';
import '../../../../tokens/token.dart';
import '../../../../transactions/models/tx_results.dart';
import '../../../../transactions/services/tx_confirm.dart';
import '../../../services/extensions.dart';
import '../data/allbridge_client.dart';
import '../data/allbridge_dto.dart' hide TransactionStatus;
import '../data/dto.dart';
Expand Down Expand Up @@ -92,7 +93,7 @@ class MoneygramOnRampOrderService implements Disposable {
.asyncExpand<OnRampOrderRowsCompanion?>((order) {
logMessage(
message: 'MGOnRampOrderStatusChange',
data: order.toSentry,
data: order.toSentry(),
);

switch (order.status) {
Expand Down Expand Up @@ -487,10 +488,3 @@ class MoneygramOnRampOrderService implements Disposable {
}

const _minimumInitBalance = 1.5; // 1.5 XLM

extension on OnRampOrderRow {
Map<String, dynamic> get toSentry => toJson()
..removeWhere(
(key, value) => value == null || value == '' || value == 0.0,
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import '../../../data/db/db.dart';

extension OffRampOrderRowExt on OffRampOrderRow {
Map<String, dynamic> toSentry() {
final json = toJson();

const filter = ['transaction', 'slot'];

json.removeWhere(
(key, value) =>
value == null || value == '' || filter.contains(key) || value == 0.0,
);

return json;
}
}

extension OnRampOrderRowExt on OnRampOrderRow {
Map<String, dynamic> toSentry() => toJson()
..removeWhere(
(key, value) => value == null || value == '' || value == 0.0,
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,10 @@ class OnRampOrderService implements Disposable {
) as FiatAmount,
);

final submittedAmount = row.partner == RampPartner.brij
final isFiat = row.partner == RampPartner.brij ||
row.partner == RampPartner.scalexBrij;

final submittedAmount = isFiat
? FiatAmount(
value: row.amount,
fiatCurrency: currencyFromString(row.fiatSymbol ?? 'USD'),
Expand Down
2 changes: 1 addition & 1 deletion packages/espressocash_app/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: espressocash_app
description: Espresso Cash mobile wallet for Solana
publish_to: "none"
version: 1.139.1
version: 1.140.0

environment:
sdk: ">=3.4.0 <4.0.0"
Expand Down

0 comments on commit 44e5aa6

Please sign in to comment.