chain network name display fixed
This commit is contained in:
@@ -83,7 +83,9 @@ String fxSideToValue(FxSide side) {
|
||||
}
|
||||
|
||||
ChainNetwork chainNetworkFromValue(String? value) {
|
||||
switch (value) {
|
||||
final raw = value ?? '';
|
||||
final normalized = _normalizeChainNetwork(raw);
|
||||
switch (normalized) {
|
||||
case 'ethereum_mainnet':
|
||||
return ChainNetwork.ethereumMainnet;
|
||||
case 'arbitrum_one':
|
||||
@@ -95,7 +97,7 @@ ChainNetwork chainNetworkFromValue(String? value) {
|
||||
case 'unspecified':
|
||||
return ChainNetwork.unspecified;
|
||||
default:
|
||||
throw ArgumentError('Unknown ChainNetwork value: $value');
|
||||
throw ArgumentError('Unknown ChainNetwork value: $raw');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,6 +116,19 @@ String chainNetworkToValue(ChainNetwork chain) {
|
||||
}
|
||||
}
|
||||
|
||||
String _normalizeChainNetwork(String value) {
|
||||
final trimmed = value.trim();
|
||||
if (trimmed.isEmpty) {
|
||||
return 'unspecified';
|
||||
}
|
||||
final lower = trimmed.toLowerCase();
|
||||
const prefix = 'chain_network_';
|
||||
if (lower.startsWith(prefix)) {
|
||||
return lower.substring(prefix.length);
|
||||
}
|
||||
return lower;
|
||||
}
|
||||
|
||||
InsufficientNetPolicy insufficientNetPolicyFromValue(String? value) {
|
||||
switch (value) {
|
||||
case 'block_posting':
|
||||
|
||||
20
frontend/pshared/lib/data/mapper/wallet/asset.dart
Normal file
20
frontend/pshared/lib/data/mapper/wallet/asset.dart
Normal file
@@ -0,0 +1,20 @@
|
||||
import 'package:pshared/data/dto/wallet/asset.dart';
|
||||
import 'package:pshared/data/mapper/payment/enums.dart';
|
||||
import 'package:pshared/models/wallet/wallet.dart';
|
||||
|
||||
|
||||
extension WalletAssetDTOMapper on WalletAssetDTO {
|
||||
WalletAsset toDomain() => WalletAsset(
|
||||
chain: chainNetworkFromValue(chain),
|
||||
tokenSymbol: tokenSymbol,
|
||||
contractAddress: contractAddress,
|
||||
);
|
||||
}
|
||||
|
||||
extension WalletAssetMapper on WalletAsset {
|
||||
WalletAssetDTO toDTO() => WalletAssetDTO(
|
||||
chain: chainNetworkToValue(chain),
|
||||
tokenSymbol: tokenSymbol,
|
||||
contractAddress: contractAddress,
|
||||
);
|
||||
}
|
||||
@@ -1,21 +1,17 @@
|
||||
import 'package:pshared/data/dto/wallet/balance.dart';
|
||||
import 'package:pshared/data/dto/wallet/wallet.dart';
|
||||
import 'package:pshared/data/mapper/wallet/asset.dart';
|
||||
import 'package:pshared/data/mapper/wallet/balance.dart';
|
||||
import 'package:pshared/data/mapper/wallet/money.dart';
|
||||
import 'package:pshared/models/describable.dart';
|
||||
import 'package:pshared/models/wallet/wallet.dart';
|
||||
|
||||
|
||||
extension WalletDTOMapper on WalletDTO {
|
||||
WalletModel toDomain({WalletBalanceDTO? balance}) => WalletModel(
|
||||
walletRef: walletRef,
|
||||
organizationRef: organizationRef,
|
||||
ownerRef: ownerRef,
|
||||
asset: WalletAsset(
|
||||
chain: asset.chain,
|
||||
tokenSymbol: asset.tokenSymbol,
|
||||
contractAddress: asset.contractAddress,
|
||||
),
|
||||
asset: asset.toDomain(),
|
||||
depositAddress: depositAddress,
|
||||
status: status,
|
||||
metadata: metadata,
|
||||
@@ -24,7 +20,7 @@ extension WalletDTOMapper on WalletDTO {
|
||||
balance: balance?.toDomain(),
|
||||
availableMoney: balance?.available?.toDomain(),
|
||||
describable: newDescribable(
|
||||
name: name.isNotEmpty ? name : (metadata?['name'] ?? 'Crypto Wallet'),
|
||||
name: name.isNotEmpty ? name : (metadata?['name']?.toString() ?? ''),
|
||||
description: (description != null && description!.isNotEmpty)
|
||||
? description
|
||||
: metadata?['description'],
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import 'package:pshared/models/describable.dart';
|
||||
import 'package:pshared/models/payment/chain_network.dart';
|
||||
import 'package:pshared/models/wallet/balance.dart';
|
||||
import 'package:pshared/models/wallet/money.dart';
|
||||
import 'package:pshared/models/describable.dart';
|
||||
|
||||
|
||||
class WalletAsset {
|
||||
final String chain;
|
||||
final ChainNetwork chain;
|
||||
final String tokenSymbol;
|
||||
final String contractAddress;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user