|
7 | 7 | } from "viem"; |
8 | 8 | import { |
9 | 9 | base, |
| 10 | + blast, |
10 | 11 | linea, |
11 | 12 | scroll, |
12 | 13 | polygon, |
@@ -1020,3 +1021,63 @@ test("parse a swap on Linear (USDC for WETH) with execute", async () => { |
1020 | 1021 | }, |
1021 | 1022 | }); |
1022 | 1023 | }); |
| 1024 | + |
| 1025 | +// https://blastscan.io/tx/0x2cdcf1c74ff01657a2d8540be3e820e21312fd5b929ae1dc887f1a45418a4bf4 |
| 1026 | +test("parse a swap on Blast (YOLO for USDB) with execute", async () => { |
| 1027 | + const publicClient = createPublicClient({ |
| 1028 | + chain: blast, |
| 1029 | + transport: http( |
| 1030 | + `https://blast-mainnet.g.alchemy.com/v2/${process.env.ALCHEMY_API_KEY}` |
| 1031 | + ), |
| 1032 | + }) as PublicClient<Transport, Chain>; |
| 1033 | + |
| 1034 | + const transactionHash = `0x2cdcf1c74ff01657a2d8540be3e820e21312fd5b929ae1dc887f1a45418a4bf4`; |
| 1035 | + |
| 1036 | + const result = await parseSwap({ |
| 1037 | + publicClient, |
| 1038 | + transactionHash, |
| 1039 | + }); |
| 1040 | + |
| 1041 | + expect(result).toEqual({ |
| 1042 | + tokenIn: { |
| 1043 | + symbol: "YOLO", |
| 1044 | + amount: "10004.483202235712364987", |
| 1045 | + address: "0xf77dd21c5ce38ac08786BE35Ef1d1DeC1a6a15F3", |
| 1046 | + }, |
| 1047 | + tokenOut: { |
| 1048 | + symbol: "USDB", |
| 1049 | + amount: "22.673803957148435593", |
| 1050 | + address: "0x4300000000000000000000000000000000000003", |
| 1051 | + }, |
| 1052 | + }); |
| 1053 | +}); |
| 1054 | + |
| 1055 | +// https://blastscan.io/tx/0x62b094c45cc2506d60d44afa50bc54e699c09278be5050d8510a42ab1c8fa31f |
| 1056 | +test("parse a swap on Blast (ETH for ezETH) with execute", async () => { |
| 1057 | + const publicClient = createPublicClient({ |
| 1058 | + chain: blast, |
| 1059 | + transport: http( |
| 1060 | + `https://blast-mainnet.g.alchemy.com/v2/${process.env.ALCHEMY_API_KEY}` |
| 1061 | + ), |
| 1062 | + }) as PublicClient<Transport, Chain>; |
| 1063 | + |
| 1064 | + const transactionHash = `0x62b094c45cc2506d60d44afa50bc54e699c09278be5050d8510a42ab1c8fa31f`; |
| 1065 | + |
| 1066 | + const result = await parseSwap({ |
| 1067 | + publicClient, |
| 1068 | + transactionHash, |
| 1069 | + }); |
| 1070 | + |
| 1071 | + expect(result).toEqual({ |
| 1072 | + tokenIn: { |
| 1073 | + symbol: "ETH", |
| 1074 | + amount: "0.0005", |
| 1075 | + address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", |
| 1076 | + }, |
| 1077 | + tokenOut: { |
| 1078 | + symbol: "ezETH", |
| 1079 | + amount: "0.000491534297265178", |
| 1080 | + address: "0x2416092f143378750bb29b79eD961ab195CcEea5", |
| 1081 | + }, |
| 1082 | + }); |
| 1083 | +}); |
0 commit comments