-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Expand file tree
/
Copy pathtoken.test.ts
More file actions
84 lines (76 loc) · 2.4 KB
/
Copy pathtoken.test.ts
File metadata and controls
84 lines (76 loc) · 2.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import { CHAIN_IDS } from '@metamask/transaction-controller';
import { Hex } from '@metamask/utils';
import { isRouteToken, RelayFixedSpreadConfig } from './relayFixedSpread';
const MOCK_CONFIG: RelayFixedSpreadConfig = {
routes: [
{
sourceChain: CHAIN_IDS.MAINNET as Hex,
sourceToken: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' as Hex,
targetChain: CHAIN_IDS.MAINNET as Hex,
targetToken: '0xdac17f958d2ee523a2206206994597c13d831ec7' as Hex,
},
{
sourceChain: CHAIN_IDS.BSC as Hex,
sourceToken: '0x55d398326f99059ff775485246999027b3197955' as Hex,
targetChain: CHAIN_IDS.BSC as Hex,
targetToken: '0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d' as Hex,
},
{
sourceChain: CHAIN_IDS.LINEA_MAINNET as Hex,
sourceToken: '0x176211869ca2b568f2a7d4ee941e073a821ee1ff' as Hex,
targetChain: CHAIN_IDS.LINEA_MAINNET as Hex,
targetToken: '0xa219439258ca9da29e9cc4ce5596924745e12b93' as Hex,
},
],
};
const EMPTY_CONFIG: RelayFixedSpreadConfig = { routes: [] };
describe('isRouteToken', () => {
it('returns true for a source token', () => {
expect(
isRouteToken(MOCK_CONFIG, {
chainId: CHAIN_IDS.MAINNET,
address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
}),
).toBe(true);
});
it('returns true for a target token', () => {
expect(
isRouteToken(MOCK_CONFIG, {
chainId: CHAIN_IDS.MAINNET,
address: '0xdac17f958d2ee523a2206206994597c13d831ec7',
}),
).toBe(true);
});
it('returns false for unknown address', () => {
expect(
isRouteToken(MOCK_CONFIG, {
chainId: CHAIN_IDS.MAINNET,
address: '0x0000000000000000000000000000000000000001',
}),
).toBe(false);
});
it('returns false for unknown chainId', () => {
expect(
isRouteToken(MOCK_CONFIG, {
chainId: '0xfffff',
address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
}),
).toBe(false);
});
it('returns false with empty config', () => {
expect(
isRouteToken(EMPTY_CONFIG, {
chainId: CHAIN_IDS.MAINNET,
address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
}),
).toBe(false);
});
it('handles case-insensitive addresses', () => {
expect(
isRouteToken(MOCK_CONFIG, {
chainId: CHAIN_IDS.MAINNET,
address: '0xA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48',
}),
).toBe(true);
});
});