@swapkit/helpers 1.0.0-rc.0 → 1.0.0-rc.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,47 +6,50 @@ describe('SwapKitNumber', () => {
6
6
  describe('constructors', () => {
7
7
  test('creates numbers correctly', () => {
8
8
  const skNumber1 = new SwapKitNumber(1);
9
- expect(skNumber1.value).toBe('1');
10
- expect(skNumber1.bigIntValue).toBe(100000000n);
9
+ expect(skNumber1.getValue('string')).toBe('1');
10
+ expect(skNumber1.getValue('number')).toBe(1);
11
+ expect(skNumber1.getBaseValue('bigint')).toBe(100000000n);
11
12
 
12
13
  const skNumber2 = new SwapKitNumber('1');
13
- expect(skNumber2.value).toBe('1');
14
- expect(skNumber2.bigIntValue).toBe(100000000n);
14
+ expect(skNumber2.getValue('string')).toBe('1');
15
+ expect(skNumber2.getBaseValue('bigint')).toBe(100000000n);
15
16
 
17
+ /**
18
+ * because by default we have 8 decimals - it will be rounded to 0 on base value
19
+ */
16
20
  const skNumber3 = new SwapKitNumber('0.0000000001');
17
- expect(skNumber3.value).toBe('0.0000000001');
18
- expect(skNumber3.bigIntValue).toBe(1n);
19
-
20
- const skNumber4 = new SwapKitNumber(0.000000001);
21
- expect(skNumber4.value).toBe('0.000000001');
22
- expect(skNumber4.bigIntValue).toBe(1n);
23
-
24
- const skNumber6 = new SwapKitNumber({ value: 0.1005, decimal: 3 });
25
- expect(skNumber6.value).toBe('0.101');
26
- expect(skNumber6.bigIntValue).toBe(10050000n);
27
-
28
- const skNumber7 = new SwapKitNumber({ value: -0.1005, decimal: 3 });
29
- expect(skNumber7.value).toBe('-0.101');
30
- expect(skNumber7.bigIntValue).toBe(-10050000n);
31
- expect(skNumber7.decimal).toBe(3);
32
- expect(skNumber7.unsafeNumber).toBe(0);
33
- expect(skNumber7.decimalMultiplier).toBe(100000000n);
34
- expect(skNumber7.toString()).toBe('-0.101');
21
+ expect(skNumber3.getValue('string')).toBe('0.0000000001');
22
+ expect(skNumber3.getBaseValue('bigint')).toBe(0n);
23
+
24
+ const skNumber4 = new SwapKitNumber({ value: '0.0000000001', decimal: 10 });
25
+ expect(skNumber4.getValue('string')).toBe('0.0000000001');
26
+ expect(skNumber4.getBaseValue('bigint')).toBe(1n);
27
+
28
+ const skNumber5 = new SwapKitNumber({ value: 0.1005, decimal: 3 });
29
+ expect(skNumber5.getValue('string')).toBe('0.101');
30
+ expect(skNumber5.getBaseValue('bigint')).toBe(100n);
31
+
32
+ const skNumber6 = new SwapKitNumber({ value: -0.1005, decimal: 3 });
33
+ expect(skNumber6.getValue('string')).toBe('-0.101');
34
+ expect(skNumber6.getBaseValue('bigint')).toBe(-100n);
35
+ expect(skNumber6.decimal).toBe(3);
36
+ expect(skNumber6.getValue('number')).toBe(-0.101);
37
+ expect(skNumber6.decimalMultiplier).toBe(100000000n);
35
38
  });
36
39
 
37
40
  test('creates SwapKitInstance from BigInt: (12.345678901234, decimals: 12)', () => {
38
41
  const skNumber = SwapKitNumber.fromBigInt(12345678901234n, 12);
39
42
 
40
- expect(skNumber.value).toBe('12.345678901234');
41
- expect(skNumber.bigIntValue).toBe(12345678901234n);
43
+ expect(skNumber.getValue('string')).toBe('12.345678901234');
44
+ expect(skNumber.getBaseValue('bigint')).toBe(12345678901234n);
42
45
  });
43
46
  });
44
47
 
45
48
  describe('shiftDecimals', () => {
46
49
  test('shifts up and bumps number', () => {
47
50
  const skNumber = new SwapKitNumber(1);
48
- expect(skNumber.value).toBe('1');
49
- expect(skNumber.bigIntValue).toBe(100000000n);
51
+ expect(skNumber.getValue('string')).toBe('1');
52
+ expect(skNumber.getBaseValue('bigint')).toBe(100000000n);
50
53
 
51
54
  const shiftedSkNumber = SwapKitNumber.shiftDecimals({
52
55
  value: skNumber,
@@ -54,14 +57,14 @@ describe('SwapKitNumber', () => {
54
57
  to: 8,
55
58
  });
56
59
 
57
- expect(shiftedSkNumber.value).toBe('100');
58
- expect(shiftedSkNumber.bigIntValue).toBe(10000000000n);
60
+ expect(shiftedSkNumber.getValue('string')).toBe('100');
61
+ expect(shiftedSkNumber.getBaseValue('bigint')).toBe(10000000000n);
59
62
  });
60
63
 
61
- test.skip('shifts down and rounds down number', () => {
64
+ test('shifts down and rounds down number', () => {
62
65
  const skNumber = new SwapKitNumber(2.12345678);
63
- expect(skNumber.value).toBe('2.12345678');
64
- expect(skNumber.bigIntValue).toBe(212345678n);
66
+ expect(skNumber.getValue('string')).toBe('2.12345678');
67
+ expect(skNumber.getBaseValue('bigint')).toBe(212345678n);
65
68
 
66
69
  const shiftedSkNumber = SwapKitNumber.shiftDecimals({
67
70
  value: skNumber,
@@ -69,8 +72,84 @@ describe('SwapKitNumber', () => {
69
72
  to: 6,
70
73
  });
71
74
 
72
- expect(shiftedSkNumber.value).toBe('2.123456');
73
- expect(shiftedSkNumber.bigIntValue).toBe(2123456n);
75
+ expect(shiftedSkNumber.getValue('string')).toBe('2.123456');
76
+ expect(shiftedSkNumber.getBaseValue('bigint')).toBe(2123456n);
77
+ });
78
+ });
79
+
80
+ describe('getValue', () => {
81
+ describe('string', () => {
82
+ test('returns string value', () => {
83
+ const skNumber = new SwapKitNumber(1);
84
+ expect(skNumber.getValue('string')).toBe('1');
85
+ });
86
+
87
+ test('returns string value with decimals', () => {
88
+ const skNumber = new SwapKitNumber(0.01);
89
+ expect(skNumber.getValue('string')).toBe('0.01');
90
+ });
91
+ });
92
+
93
+ describe('number', () => {
94
+ test('returns number value', () => {
95
+ const skNumber = new SwapKitNumber(1);
96
+ expect(skNumber.getValue('number')).toBe(1);
97
+ });
98
+
99
+ test('returns number value with decimals', () => {
100
+ const skNumber = new SwapKitNumber(0.01);
101
+ expect(skNumber.getValue('number')).toBe(0.01);
102
+ });
103
+ });
104
+
105
+ describe('bigint', () => {
106
+ test('returns bigint value', () => {
107
+ const skNumber = new SwapKitNumber(1);
108
+ expect(skNumber.getBaseValue('bigint')).toBe(100000000n);
109
+ });
110
+ });
111
+ });
112
+
113
+ describe('toSignificant', () => {
114
+ describe('normal cases', () => {
115
+ test('returns first significant number of digits', () => {
116
+ const usdLikeNumber = new SwapKitNumber(1234.5678);
117
+ expect(usdLikeNumber.toSignificant(2)).toBe('1200');
118
+ expect(usdLikeNumber.toSignificant(3)).toBe('1230');
119
+ expect(usdLikeNumber.toSignificant(4)).toBe('1234');
120
+ expect(usdLikeNumber.toSignificant(5)).toBe('1234.5');
121
+ expect(usdLikeNumber.toSignificant(6)).toBe('1234.56');
122
+ expect(usdLikeNumber.toSignificant(7)).toBe('1234.567');
123
+ expect(usdLikeNumber.toSignificant(8)).toBe('1234.5678');
124
+
125
+ const btcLikeNumber = new SwapKitNumber(0.00005678);
126
+ expect(btcLikeNumber.toSignificant(2)).toBe('0.000056');
127
+ expect(btcLikeNumber.toSignificant(3)).toBe('0.0000567');
128
+ expect(btcLikeNumber.toSignificant(4)).toBe('0.00005678');
129
+ expect(btcLikeNumber.toSignificant(5)).toBe('0.00005678');
130
+ expect(btcLikeNumber.toSignificant(8)).toBe('0.00005678');
131
+ });
132
+ });
133
+
134
+ describe('custom decimals', () => {
135
+ test('returns first significant number of digits', () => {
136
+ const usdLikeNumber = new SwapKitNumber({ value: 1234.5678, decimal: 2 });
137
+ expect(usdLikeNumber.toSignificant(2)).toBe('1200');
138
+ expect(usdLikeNumber.toSignificant(3)).toBe('1230');
139
+ expect(usdLikeNumber.toSignificant(4)).toBe('1234');
140
+ expect(usdLikeNumber.toSignificant(5)).toBe('1234.5');
141
+ expect(usdLikeNumber.toSignificant(6)).toBe('1234.57');
142
+ expect(usdLikeNumber.toSignificant(7)).toBe('1234.57');
143
+ expect(usdLikeNumber.toSignificant(8)).toBe('1234.57');
144
+
145
+ const ethLikeNumber = new SwapKitNumber({ value: 0.00005678, decimal: 18 });
146
+ expect(ethLikeNumber.toSignificant(2)).toBe('0.000056');
147
+ expect(ethLikeNumber.toSignificant(3)).toBe('0.0000567');
148
+ expect(ethLikeNumber.toSignificant(4)).toBe('0.00005678');
149
+ expect(ethLikeNumber.toSignificant(5)).toBe('0.00005678');
150
+ expect(ethLikeNumber.toSignificant(8)).toBe('0.00005678');
151
+ expect(ethLikeNumber.toSignificant(18)).toBe('0.00005678');
152
+ });
74
153
  });
75
154
  });
76
155
 
@@ -81,23 +160,23 @@ describe('SwapKitNumber', () => {
81
160
  const skNumber3 = new SwapKitNumber('0.5');
82
161
  const result = skNumber1.add(skNumber2, skNumber3);
83
162
 
84
- expect(result.value).toBe('15.5');
85
- expect(result.bigIntValue).toBe(1550000000n);
163
+ expect(result.getValue('string')).toBe('15.5');
164
+ expect(result.getBaseValue('bigint')).toBe(1550000000n);
86
165
  });
87
166
 
88
167
  test('adds different type numbers correctly', () => {
89
168
  const skNumber1 = new SwapKitNumber(10);
90
169
  const result = skNumber1.add(6, '0.5');
91
170
 
92
- expect(result.value).toBe('16.5');
93
- expect(result.bigIntValue).toBe(1650000000n);
171
+ expect(result.getValue('string')).toBe('16.5');
172
+ expect(result.getBaseValue('bigint')).toBe(1650000000n);
94
173
  });
95
174
 
96
175
  test('adds large decimal numbers correctly', () => {
97
176
  const skNumber1 = new SwapKitNumber(0.0000000001);
98
177
  const result = skNumber1.add(6.000000000001, '0.0000000000000005');
99
- expect(result.value).toBe('6.0000000001010005');
100
- expect(result.bigIntValue).toBe(60000000001010005n);
178
+ expect(result.getValue('string')).toBe('6.0000000001010005');
179
+ expect(result.getBaseValue('bigint')).toBe(600000000n);
101
180
  });
102
181
  });
103
182
 
@@ -108,16 +187,16 @@ describe('SwapKitNumber', () => {
108
187
  const skNumber3 = new SwapKitNumber(0.5);
109
188
  const result = skNumber1.sub(skNumber2, skNumber3);
110
189
 
111
- expect(result.value).toBe('4.5');
112
- expect(result.bigIntValue).toBe(450000000n);
190
+ expect(result.getValue('string')).toBe('4.5');
191
+ expect(result.getBaseValue('bigint')).toBe(450000000n);
113
192
  });
114
193
 
115
194
  test('subtracts different type numbers correctly', () => {
116
195
  const skNumber1 = new SwapKitNumber(10);
117
196
  const result = skNumber1.sub(6, '0.5');
118
197
 
119
- expect(result.value).toBe('3.5');
120
- expect(result.bigIntValue).toBe(350000000n);
198
+ expect(result.getValue('string')).toBe('3.5');
199
+ expect(result.getBaseValue('bigint')).toBe(350000000n);
121
200
  });
122
201
 
123
202
  test('can process negative results', () => {
@@ -125,10 +204,10 @@ describe('SwapKitNumber', () => {
125
204
  const result0 = skNumber1.sub(10);
126
205
  const resultMinus = result0.sub('10');
127
206
 
128
- expect(result0.value).toBe('0');
129
- expect(resultMinus.value).toBe('-10');
130
- expect(result0.bigIntValue).toBe(0n);
131
- expect(resultMinus.bigIntValue).toBe(-1000000000n);
207
+ expect(result0.getValue('string')).toBe('0');
208
+ expect(resultMinus.getValue('string')).toBe('-10');
209
+ expect(result0.getBaseValue('bigint')).toBe(0n);
210
+ expect(resultMinus.getBaseValue('bigint')).toBe(-1000000000n);
132
211
  });
133
212
  });
134
213
 
@@ -139,36 +218,36 @@ describe('SwapKitNumber', () => {
139
218
  const skNumber3 = new SwapKitNumber(0.5);
140
219
  const result = skNumber1.mul(skNumber2, skNumber3);
141
220
 
142
- expect(result.value).toBe('25');
143
- expect(result.bigIntValue).toBe(2500000000n);
221
+ expect(result.getValue('string')).toBe('25');
222
+ expect(result.getBaseValue('bigint')).toBe(2500000000n);
144
223
  });
145
224
 
146
225
  test('multiplies different type numbers correctly', () => {
147
226
  const skNumber1 = new SwapKitNumber(10);
148
227
  const result = skNumber1.mul(6, '0.5');
149
228
 
150
- expect(result.value).toBe('30');
151
- expect(result.bigIntValue).toBe(3000000000n);
229
+ expect(result.getValue('string')).toBe('30');
230
+ expect(result.getBaseValue('bigint')).toBe(3000000000n);
152
231
  });
153
232
 
154
233
  test('multiplies numbers correctly if decimals of SKN is lower than number multiplied with', () => {
155
234
  const skNumber1 = new SwapKitNumber({ value: 1000000, decimal: 4 });
156
235
  const result = skNumber1.mul('0.00001');
157
236
 
158
- expect(result.value).toBe('10');
159
- expect(result.bigIntValue).toBe(1000000000n);
237
+ expect(result.getValue('string')).toBe('10');
238
+ expect(result.getBaseValue('bigint')).toBe(100000n);
160
239
  });
161
240
 
162
241
  test('should correctly round the result of multiplication', () => {
163
- const skNumber1 = new SwapKitNumber({ decimal: 2, value: 1.23 });
242
+ const skNumber1 = new SwapKitNumber({ decimal: 3, value: 1.23 });
164
243
  const skNumber2 = new SwapKitNumber({ decimal: 4, value: 4.56 });
165
244
 
166
245
  const result = skNumber1.mul(skNumber2);
167
246
 
168
247
  // The exact result of 1.23 * 4.56 is 5.6088
169
248
  // If we round it to 2 decimal places, we should get 5.61
170
- expect(result.value).toBe('5.61');
171
- expect(result.bigIntValue).toBe(560880000n);
249
+ expect(result.getValue('string')).toBe('5.609');
250
+ expect(result.getBaseValue('bigint')).toBe(5608n);
172
251
 
173
252
  const skNumber3 = new SwapKitNumber({ decimal: 2, value: 1.23 });
174
253
  const skNumber4 = new SwapKitNumber(-1.234567891);
@@ -177,8 +256,8 @@ describe('SwapKitNumber', () => {
177
256
 
178
257
  // The exact result of 1.23 * -1.234567891 is -1,518518505
179
258
  // If we round it to 2 decimal places, we should get 5.61
180
- expect(result2.value).toBe('-1.52');
181
- expect(result2.bigIntValue).toBe(-1518518505n);
259
+ expect(result2.getValue('string')).toBe('-1.52');
260
+ expect(result2.getBaseValue('bigint')).toBe(-151n);
182
261
  });
183
262
  });
184
263
 
@@ -189,38 +268,38 @@ describe('SwapKitNumber', () => {
189
268
  const skNumber3 = new SwapKitNumber(0.5);
190
269
  const result = skNumber1.div(skNumber2, skNumber3);
191
270
 
192
- expect(result.value).toBe('4');
193
- expect(result.bigIntValue).toBe(400000000n);
271
+ expect(result.getValue('string')).toBe('4');
272
+ expect(result.getBaseValue('bigint')).toBe(400000000n);
194
273
 
195
274
  const skNumber4 = new SwapKitNumber(10.12);
196
275
  const result2 = skNumber4.div(0.0001);
197
276
 
198
- expect(result2.value).toBe('101200');
199
- expect(result2.bigIntValue).toBe(10120000000000n);
277
+ expect(result2.getValue('string')).toBe('101200');
278
+ expect(result2.getBaseValue('bigint')).toBe(10120000000000n);
200
279
  });
201
280
 
202
281
  test('divides different type numbers correctly', () => {
203
282
  const skNumber1 = new SwapKitNumber(20);
204
283
  const result = skNumber1.div(5, '0.5');
205
284
 
206
- expect(result.value).toBe('8');
207
- expect(result.bigIntValue).toBe(800000000n);
285
+ expect(result.getValue('string')).toBe('8');
286
+ expect(result.getBaseValue('bigint')).toBe(800000000n);
208
287
  });
209
288
 
210
289
  test('divides different type numbers correctly when decimal is set', () => {
211
290
  const skNumber1 = new SwapKitNumber({ value: '1.2', decimal: 2 });
212
291
  const result = skNumber1.div(0.001);
213
292
 
214
- expect(result.value).toBe('1200');
215
- expect(result.bigIntValue).toBe(120000000000n);
293
+ expect(result.getValue('string')).toBe('1200');
294
+ expect(result.getBaseValue('bigint')).toBe(120000n);
216
295
  });
217
296
 
218
297
  test('divides smaller number by larger number', () => {
219
298
  const skNumber1 = new SwapKitNumber(1);
220
299
  const result = skNumber1.div(2);
221
300
 
222
- expect(result.value).toBe('0.5');
223
- expect(result.bigIntValue).toBe(50000000n);
301
+ expect(result.getValue('string')).toBe('0.5');
302
+ expect(result.getBaseValue('bigint')).toBe(50000000n);
224
303
  });
225
304
 
226
305
  test('divides a number with 18 decimals by a negative number with less decimals', () => {
@@ -230,8 +309,8 @@ describe('SwapKitNumber', () => {
230
309
  const result = skNumber1.div(skNumber2);
231
310
 
232
311
  // The exact result of 1.000000000000000010 / -2 is -0.500000000000000005
233
- expect(result.value).toBe('-0.500000000000000005');
234
- expect(result.bigIntValue).toBe(-500000000000000005n);
312
+ expect(result.getValue('string')).toBe('-0.500000000000000005');
313
+ expect(result.getBaseValue('bigint')).toBe(-500000000000000005n);
235
314
  });
236
315
 
237
316
  test('divides a number with 2 decimals by a negative number with more decimals', () => {
@@ -241,8 +320,8 @@ describe('SwapKitNumber', () => {
241
320
  const result = skNumber1.div(skNumber2);
242
321
 
243
322
  // The exact result of 2 / -0.000005 is -400000
244
- expect(result.value).toBe('-400000');
245
- expect(result.bigIntValue).toBe(-40000000000000n);
323
+ expect(result.getValue('string')).toBe('-400000');
324
+ expect(result.getBaseValue('bigint')).toBe(-40000000n);
246
325
  });
247
326
  });
248
327
 
@@ -252,8 +331,8 @@ describe('SwapKitNumber', () => {
252
331
  const skNumber2 = new SwapKitNumber({ value: 987_654_321_000, decimal: 18 });
253
332
 
254
333
  const result = skNumber1.mul(skNumber2);
255
- expect(result.value).toBe('987654321000000987654321000');
256
- expect(result.bigIntValue).toBe(987654321000000987654321000000000000000000000n);
334
+ expect(result.getValue('string')).toBe('987654321000000987654321000');
335
+ expect(result.getBaseValue('bigint')).toBe(987654321000000987654321000000000000000000000n);
257
336
  });
258
337
 
259
338
  test('divide huge numbers', () => {
@@ -261,8 +340,8 @@ describe('SwapKitNumber', () => {
261
340
  const skNumber2 = new SwapKitNumber({ value: 987_654_321_000, decimal: 18 });
262
341
 
263
342
  const result = skNumber1.div(skNumber2);
264
- expect(result.value).toBe('1012.4999999873447625');
265
- expect(result.bigIntValue).toBe(1012499999987344762500n);
343
+ expect(result.getValue('string')).toBe('1012.4999999873447625');
344
+ expect(result.getBaseValue('bigint')).toBe(1012499999987344762500n);
266
345
  });
267
346
  });
268
347
 
@@ -59,6 +59,52 @@ const createAssetValue = async (assetString: string, value: number | string = 0)
59
59
  };
60
60
 
61
61
  export class AssetValue extends BigIntArithmetics {
62
+ address?: string;
63
+ chain: Chain;
64
+ isSynthetic = false;
65
+ isGasAsset = false;
66
+ symbol: string;
67
+ ticker: string;
68
+ type: ReturnType<typeof getAssetType>;
69
+
70
+ constructor(params: AssetValueParams) {
71
+ super(
72
+ params.value instanceof BigIntArithmetics
73
+ ? params.value
74
+ : { decimal: params.decimal, value: params.value },
75
+ );
76
+
77
+ const identifier =
78
+ 'identifier' in params ? params.identifier : `${params.chain}.${params.symbol}`;
79
+ const assetInfo = getAssetInfo(identifier);
80
+
81
+ this.type = getAssetType(assetInfo);
82
+ this.chain = assetInfo.chain;
83
+ this.ticker = assetInfo.ticker;
84
+ this.symbol = assetInfo.symbol;
85
+ this.address = assetInfo.address;
86
+ this.isSynthetic = assetInfo.isSynthetic;
87
+ this.isGasAsset = assetInfo.isGasAsset;
88
+ }
89
+
90
+ get assetValue() {
91
+ return `${this.getValue('string')} ${this.ticker}`;
92
+ }
93
+
94
+ toString(short = false) {
95
+ // THOR.RUNE | ETH/ETH
96
+ const shortFormat = this.isSynthetic ? this.ticker : `${this.chain}.${this.ticker}`;
97
+
98
+ return short
99
+ ? shortFormat
100
+ : // THOR.ETH/ETH | ETH.USDT-0x1234567890
101
+ `${this.chain}.${this.symbol}`;
102
+ }
103
+
104
+ eq({ chain, symbol }: { chain: Chain; symbol: string }) {
105
+ return this.chain === chain && this.symbol === symbol;
106
+ }
107
+
62
108
  static async fromString(assetString: string, value: number | string = 0) {
63
109
  return createAssetValue(assetString, value);
64
110
  }
@@ -149,46 +195,6 @@ export class AssetValue extends BigIntArithmetics {
149
195
  },
150
196
  );
151
197
  }
152
-
153
- address?: string;
154
- chain: Chain;
155
- isSynthetic = false;
156
- isGasAsset = false;
157
- symbol: string;
158
- ticker: string;
159
- type: ReturnType<typeof getAssetType>;
160
-
161
- constructor(params: AssetValueParams) {
162
- super(
163
- params.value instanceof BigIntArithmetics
164
- ? params.value
165
- : { decimal: params.decimal, value: params.value },
166
- );
167
-
168
- const identifier =
169
- 'identifier' in params ? params.identifier : `${params.chain}.${params.symbol}`;
170
- const assetInfo = getAssetInfo(identifier);
171
-
172
- this.type = getAssetType(assetInfo);
173
- this.chain = assetInfo.chain;
174
- this.ticker = assetInfo.ticker;
175
- this.symbol = assetInfo.symbol;
176
- this.address = assetInfo.address;
177
- this.isSynthetic = assetInfo.isSynthetic;
178
- this.isGasAsset = assetInfo.isGasAsset;
179
- }
180
-
181
- get assetValue() {
182
- return `${this.value} ${this.ticker}`;
183
- }
184
-
185
- toString() {
186
- return `${this.chain}.${this.symbol}`;
187
- }
188
-
189
- eq({ chain, symbol }: { chain: Chain; symbol: string }) {
190
- return this.chain === chain && this.symbol === symbol;
191
- }
192
198
  }
193
199
 
194
200
  export const getMinAmountByChain = (chain: Chain) => {