dev
dart 142 lines 4.19 KB
Raw
1 part of 'trade_legacy.dart';
2
3 class TradeLegacyAdapter extends TypeAdapter<TradeLegacy> {
4 @override
5 final int typeId = TradeLegacy.typeId;
6
7 @override
8 TradeLegacy read(BinaryReader reader) {
9 final numOfFields = reader.readByte();
10 final fields = <int, dynamic>{};
11 for (int i = 0; i < numOfFields; i++) {
12 try {
13 fields[reader.readByte()] = reader.read();
14 } catch (_) {}
15 }
16
17 return TradeLegacy(
18 id: fields[0] == null ? '' : fields[0] as String,
19 amount: fields[7] == null ? '' : fields[7] as String,
20 receiveAmount: fields[23] as String?,
21 createdAt: fields[5] as DateTime?,
22 expiredAt: fields[6] as DateTime?,
23 inputAddress: fields[8] as String?,
24 extraId: fields[9] as String?,
25 outputTransaction: fields[10] as String?,
26 refundAddress: fields[11] as String?,
27 walletId: fields[12] as String?,
28 payoutAddress: fields[13] as String?,
29 password: fields[14] as String?,
30 providerId: fields[15] as String?,
31 providerName: fields[16] as String?,
32 fromWalletAddress: fields[17] as String?,
33 memo: fields[18] as String?,
34 txId: fields[19] as String?,
35 isRefund: fields[20] as bool?,
36 isSendAll: fields[21] as bool?,
37 router: fields[22] as String?,
38 userCurrencyFromRaw: fields[24] as String?,
39 userCurrencyToRaw: fields[25] as String?,
40 needToRegisterInSwapXyz: fields[26] as bool?,
41 sourceTokenAddress: fields[27] as String?,
42 sourceTokenDecimals: fields[28] as int?,
43 routerData: fields[29] as String?,
44 routerValue: fields[30] as String?,
45 routerChainId: fields[31] as int?,
46 sourceTokenAmountRaw: fields[32] as String?,
47 requiresTokenApproval: fields[33] as bool?,
48 chainId: fields[34] as int?,
49 fee: fields[35] as double?,
50 )
51 ..providerRaw = fields[1] == null ? 0 : fields[1] as int
52 ..fromRaw = (fields[2] as int?) ?? -1
53 ..toRaw = (fields[3] as int?) ?? -1
54 ..stateRaw = fields[4] == null ? '' : fields[4] as String;
55 }
56
57 @override
58 void write(BinaryWriter writer, TradeLegacy obj) {
59 writer
60 ..writeByte(36)
61 ..writeByte(0)
62 ..write(obj.id)
63 ..writeByte(1)
64 ..write(obj.providerRaw)
65 ..writeByte(2)
66 ..write(obj.fromRaw)
67 ..writeByte(3)
68 ..write(obj.toRaw)
69 ..writeByte(4)
70 ..write(obj.stateRaw)
71 ..writeByte(5)
72 ..write(obj.createdAt)
73 ..writeByte(6)
74 ..write(obj.expiredAt)
75 ..writeByte(7)
76 ..write(obj.amount)
77 ..writeByte(8)
78 ..write(obj.inputAddress)
79 ..writeByte(9)
80 ..write(obj.extraId)
81 ..writeByte(10)
82 ..write(obj.outputTransaction)
83 ..writeByte(11)
84 ..write(obj.refundAddress)
85 ..writeByte(12)
86 ..write(obj.walletId)
87 ..writeByte(13)
88 ..write(obj.payoutAddress)
89 ..writeByte(14)
90 ..write(obj.password)
91 ..writeByte(15)
92 ..write(obj.providerId)
93 ..writeByte(16)
94 ..write(obj.providerName)
95 ..writeByte(17)
96 ..write(obj.fromWalletAddress)
97 ..writeByte(18)
98 ..write(obj.memo)
99 ..writeByte(19)
100 ..write(obj.txId)
101 ..writeByte(20)
102 ..write(obj.isRefund)
103 ..writeByte(21)
104 ..write(obj.isSendAll)
105 ..writeByte(22)
106 ..write(obj.router)
107 ..writeByte(23)
108 ..write(obj.receiveAmount)
109 ..writeByte(24)
110 ..write(obj.userCurrencyFromRaw)
111 ..writeByte(25)
112 ..write(obj.userCurrencyToRaw)
113 ..writeByte(26)
114 ..write(obj.needToRegisterInSwapXyz)
115 ..writeByte(27)
116 ..write(obj.sourceTokenAddress)
117 ..writeByte(28)
118 ..write(obj.sourceTokenDecimals)
119 ..writeByte(29)
120 ..write(obj.routerData)
121 ..writeByte(30)
122 ..write(obj.routerValue)
123 ..writeByte(31)
124 ..write(obj.routerChainId)
125 ..writeByte(32)
126 ..write(obj.sourceTokenAmountRaw)
127 ..writeByte(33)
128 ..write(obj.requiresTokenApproval)
129 ..writeByte(34)
130 ..write(obj.chainId)
131 ..writeByte(35)
132 ..write(obj.fee);
133 }
134
135 @override
136 int get hashCode => typeId.hashCode;
137
138 @override
139 bool operator ==(Object other) =>
140 identical(this, other) ||
141 other is TradeLegacyAdapter && runtimeType == other.runtimeType && typeId == other.typeId;
142 }