CW-1175-Implement-swaps.xyz-swap-provider (#2526)

* Integrate SwapsXYZ

* Remove print

* enhance SwapsXyz EVM token swap handling

* Disable fixed rate support in SwapsXyz provider

* enable fixed rate swap

* fix timestamp parsing

* remove sender and recipient address from fetchRate

* Improve SwapsXYZ trade approval logic

* fix trade ID overflow

* add Base chain support for  swaps xyz

* Update lib/view_model/exchange/exchange_trade_view_model.dart

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>

* add missing support for Base

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
This commit is contained in:
Serhii
2025-10-20 23:22:01 +02:00
committed by GitHub
co-authored by Omar Hatem
parent 697ec0ab82
commit ee0996f535
37 changed files with 1557 additions and 77 deletions
+15 -3
View File
@@ -21,7 +21,8 @@ abstract class TradeFilterStoreBase with Store {
displayLetsExchange = true,
displayStealthEx = true,
displayXOSwap = true,
displaySwapTrade = true;
displaySwapTrade = true,
displaySwapXyz = true;
@observable
bool displayXMRTO;
@@ -62,6 +63,9 @@ abstract class TradeFilterStoreBase with Store {
@observable
bool displaySwapTrade;
@observable
bool displaySwapXyz;
@computed
bool get displayAllTrades =>
displayChangeNow &&
@@ -74,7 +78,8 @@ abstract class TradeFilterStoreBase with Store {
displayLetsExchange &&
displayStealthEx &&
displayXOSwap &&
displaySwapTrade;
displaySwapTrade &&
displaySwapXyz;
@action
void toggleDisplayExchange(ExchangeProviderDescription provider) {
@@ -118,6 +123,9 @@ abstract class TradeFilterStoreBase with Store {
case ExchangeProviderDescription.swapTrade:
displaySwapTrade = !displaySwapTrade;
break;
case ExchangeProviderDescription.swapsXyz:
displaySwapXyz = !displaySwapXyz;
break;
case ExchangeProviderDescription.all:
if (displayAllTrades) {
displayChangeNow = false;
@@ -133,6 +141,7 @@ abstract class TradeFilterStoreBase with Store {
displayStealthEx = false;
displayXOSwap = false;
displaySwapTrade = false;
displaySwapXyz = false;
} else {
displayChangeNow = true;
displaySideShift = true;
@@ -147,6 +156,7 @@ abstract class TradeFilterStoreBase with Store {
displayStealthEx = true;
displayXOSwap = true;
displaySwapTrade = true;
displaySwapXyz = true;
}
break;
}
@@ -180,7 +190,9 @@ abstract class TradeFilterStoreBase with Store {
item.trade.provider == ExchangeProviderDescription.letsExchange) ||
(displayStealthEx && item.trade.provider == ExchangeProviderDescription.stealthEx) ||
(displayXOSwap && item.trade.provider == ExchangeProviderDescription.xoSwap) ||
(displaySwapTrade && item.trade.provider == ExchangeProviderDescription.swapTrade))
(displaySwapTrade && item.trade.provider == ExchangeProviderDescription.swapTrade) ||
(displaySwapXyz &&
item.trade.provider == ExchangeProviderDescription.swapsXyz))
.toList()
: _trades;
}