cake_wallet/lib/exchange/exchange_provider_description.dart

55 lines
2 KiB
Dart
Raw Normal View History

2021-12-24 12:37:24 +00:00
import 'package:cw_core/enumerable_item.dart';
2020-01-04 19:31:52 +00:00
2023-02-06 19:20:43 +00:00
class ExchangeProviderDescription extends EnumerableItem<int> with Serializable<int> {
const ExchangeProviderDescription(
{required String title, required int raw, required this.image, this.horizontalLogo = false})
2020-01-08 12:26:34 +00:00
: super(title: title, raw: raw);
final bool horizontalLogo;
final String image;
2023-02-06 19:20:43 +00:00
static const xmrto =
ExchangeProviderDescription(title: 'XMR.TO', raw: 0, image: 'assets/images/xmrto.png');
2020-01-04 19:31:52 +00:00
static const changeNow =
ExchangeProviderDescription(title: 'ChangeNOW', raw: 1, image: 'assets/images/changenow.png');
static const morphToken =
ExchangeProviderDescription(title: 'MorphToken', raw: 2, image: 'assets/images/morph.png');
2023-02-06 19:20:43 +00:00
static const sideShift =
ExchangeProviderDescription(title: 'SideShift', raw: 3, image: 'assets/images/sideshift.png');
2023-02-06 19:20:43 +00:00
static const simpleSwap = ExchangeProviderDescription(
title: 'SimpleSwap', raw: 4, image: 'assets/images/simpleSwap.png');
static const trocador =
ExchangeProviderDescription(title: 'Trocador', raw: 5, image: 'assets/images/trocador.png');
static const exolix =
ExchangeProviderDescription(title: 'Exolix', raw: 6, image: 'assets/images/exolix.png');
static const thorChain =
ExchangeProviderDescription(title: 'ThorChain' , raw: 8, image: 'assets/images/thorchain.png');
static const all = ExchangeProviderDescription(title: 'All trades', raw: 7, image: '');
2022-10-12 17:09:57 +00:00
static ExchangeProviderDescription deserialize({required int raw}) {
2020-01-04 19:31:52 +00:00
switch (raw) {
case 0:
return xmrto;
case 1:
return changeNow;
case 2:
return morphToken;
case 3:
return sideShift;
case 4:
return simpleSwap;
case 5:
2023-02-06 19:20:43 +00:00
return trocador;
case 6:
return exolix;
case 8:
return thorChain;
case 7:
return all;
2020-01-04 19:31:52 +00:00
default:
2022-10-12 17:09:57 +00:00
throw Exception('Unexpected token: $raw for ExchangeProviderDescription deserialize');
2020-01-04 19:31:52 +00:00
}
}
}