各个池子的数据解析
Raydium
v4 amm

3Q7HjrET6GHxPp8ETeY9o7jN88SQUnRiFYF6zxgzjtrNJPVKT9CuLn9Q8rVJALmSNT2EB5Q8P74cH2D32rJB7gWJ
8033023b00000000
// 09 8033023b00000000 0000000000000000
buy
https://solscan.io/tx/3SjAXLPdZggtaeJue4bj5NJPiLM6BWyrBrFC41EFYhi9MbnWEk67iPa4mXbAo7bEmW3GcXE5sBrDKAiQ3vyAyDyQ

sell
https://solscan.io/tx/4eXULtdFkmWt7XTUDr5er2Sym9tg7DS9dgV2VAF7QirqEZDw2iAMAAaWLQVQWqkvMrGKc2xWY8FzZ3KMYwK3YrTA

总结
卖和买 ata 交换一下位置即可
clmm

B4XWAtSvuG1beXv7sH8kP2o7KgT66m8iyX1MYwYHz3vmfdQtDTpBF111wLrntLR2nmSrqfymt4t8Hfkxq41KAjE
{ "amount": { "type": "u64", "data": "674225020" }, "other_amount_threshold": { "type": "u64", "data": "0" }, "sqrt_price_limit_x64": { "type": "u128", "data": "0" }, "is_base_input": { "type": "bool", "data": true } }
|
f8c69e91e17587c8 7cdb2f2800000000 00000000000000000000000000000000 0000000000000000 01
buy
https://solscan.io/tx/PtHCnCWRRHL4btsNurCyB8Wxj66j5eTUGfbm93xvfTTX6VDuD4osgznYM5Dt3cKdnCzxUS9eou2qhmdJvoLMLaC

sell
https://solscan.io/tx/XLESmqfVZs441m27PXAwEUvJSqMW8okY6SFkwP4xhm6DeM47fuLKfnorD1QwJAJLs5my2Q4TreZEhMvk9FPz4K2

总结
note : 2 个 pool 账户要换一下 2 个 ata 也需要换一下
swap v2

https://solscan.io/tx/37mjJuDTi77sZ8qvsHSUQYzu5NLhNLsXMedsTCFD4xB37KpqGwBxcRUjNzRCRXTvQeDfthfCmQqs63cXRee4ugbi
2b04ed0b1ac91e62a0b34d350100000001000000000000000000000000000000000000000000000001
cpmm

https://solscan.io/tx/57PUAF7fihfrmhkEL96EMPVu5kcqx4gzLuXQdPz4g1nTd4Db5qzj3aUxoPk7aKyFaqCjvHc7ePbyYhj5xJgGwGic
8fbe5adac41e33de 7ecf2d0000000000 0000000000000000
固定参数
"amm_config": "D4FPEruKEHrG5TenZ2mpDGEfu1iUvTiqBxvpU8HLBvC2", "authority": "GpMZbSM2GgvTKHJirzeGfMFoaZ8UR2X7F4v8vHTvxFbL",
|
buy
https://solscan.io/tx/UsomXxue53ZH9gvuBAoEHT1efxYkHGCpqb2Qg3ySHmpdoxtMSdt2dVWKhCC3AQ4HNLTBcqAc1WmdNnMstpTfCDS

sell
https://solscan.io/tx/5jxUsC5cyPZNqf8Y5tv2ExXqax4Z9MuVTQQuJjwPcrZoLKQbiuMbzGrmpzNHF3UDsqJ3yc5Yod8JF8vseeeq5zLt

总结
卖出的时候 要有三对进行替换 ata vault mint
Meteora dlmm
buy
https://solscan.io/tx/EVtv9fYJ7xYA76GZ8aKgqoPLrTdwABv81LjSHX7C3DNEz3S9cMKSL1gqCoaH3SHByRdA6ncFMYoC9UTo6hsc167

sell
https://solscan.io/tx/5v2AVLYWEpsJYkhNx1TUqwWayGoekd1oNedkAfBmVX8wrHqZjLkyexCkGrers2jEiJHkcyC8ekM8jGVBEbKruee2

总结
ata 互换一下 tick 互换一下
swap v2

3Fnw2mN7ghYNDsjxZbvtFCyr9Eve1kmaB1VxAJR1RYYfiqZJEi4RLzYv3ND2JgA3HeSd2GBeXPfdzJxFhXZt6kC8
data : 414b3f4ceb5b5b88 128e9d64cb000000 000000000000000000000000
swap

yYXYbcMXMiuAG9tjsoiQVbkJMk4zregyALTCJbj4aL176cckdG7tcZowVDda447mN7xqYNnnG8W51m5vsyzJJG5
f8c69e91e17587c8 00ca9a3b00000000 0000000000000000
Meteora damm v2

https://solscan.io/tx/yYXYbcMXMiuAG9tjsoiQVbkJMk4zregyALTCJbj4aL176cckdG7tcZowVDda447mN7xqYNnnG8W51m5vsyzJJG5
f8c69e91e17587c8 5194d20800000000 0000000000000000
buy
https://solscan.io/tx/43L2XgV9nYn3N4odXRigBJCdx12V1oYyxv9wmrCTyCNy91u1xzypipPBAgyy1MkweShrTT7Hk1nZ78s5QsUqj232

sell
https://solscan.io/tx/2pmngu253TCmX1UCSNFoAdL37gqLYye6SwGVczDMd8fmDktzKZCVdYM7xF5WFNffNpPGf7typDcnH1hXUfSLoX8t

总结
卖和买 ata 交换一下位置即可
Meteora pools

https://solscan.io/tx/5wR4o9MuS7wwcBy57pMcC3rNJsuAjH65WiZgd3mraaQwT2m64m8dqrEa2FVs95BjAPrDXf4UNkgvMwQz34i5z6DD
f8c69e91e17587c8 7fe7532400000000 0000000000000000
sell
https://solscan.io/tx/5iAixtJNw7SP7GzagWcUwHGBhktm3LeNFXuBiGNdM5Z2sZMRQypZpSHFK1w7oEb2NEB8J9qvSeiBvV8Dk4VwP1f

buy
https://solscan.io/tx/5Pf8ZraQ61mi444dZe4LsAexFzeMhWnXxegtz1qB9UVK9K7fWkGfJ3pBHXqRHGPQ4Mvx4fQFRZ3h2q9TKbg1dq4M

总结
买和卖的 fee 账户不一样 注意还有最后一位可有可无的 这个太特殊了 后面要改
SolFi

wZrMdDJjsvn4HH39eFdsBdwGFmDyaphFfhnCtH6JJkCdqf9TWLQqaXJEfe8emLSVgfuht3cqcjerxffQgNrtYB7
07 28920b2000000000 0000000000000000 01
最后一位,0是buy 1 是sell
| 字节范围 |
十六进制数据 |
数值 / 含义 |
描述 |
0 |
0x07 |
Discriminator = 7 |
Swap 指令的 variant index |
1–8 |
28 92 0b 20 00 00 00 00 |
u64 = 0x00000000020b9228 = 537,629,224 |
amountIn(lamports,约等于 537.629224 USDC) |
9–15 |
00 00 00 00 00 00 00 01 |
minimumAmountOut = 0; aToB = true (1) |
最低可接受输出量(0 表示不限)及方向标志(从 a→b) |
buy
https://solscan.io/tx/5yeSK4BkyiJuzS4f7Myg2erbWattLGBGrz3URAEQKgx9zwUZxXyrBzHQXuHYCf8sVH49sw3iehfs11PdMhVkKZGW

sell
https://solscan.io/tx/2nUxEtL6wFfce5GLAfCAGheQBLRLuWLr7wweJ5Udhh171d9ZcqBjP4SLvMESZdwMirANt1HZLP6FzBBCFtjAaPhg

总结
最后一位,0 是 buy 1 是 sell 看来要改一下合约了 其他的不需要改
Orca
swap v2

https://solscan.io/tx/5xNtS6BWhVbBHvHKeryLNMQXCVA2jfdQUZrZba7JqV6NduWBjAnVPFU1i6Ue8c47ggBgpchLHTx5oehLMmQ2btV
长度:43
// 2b04ed0b1ac91e62 e595ed6f00000000 0100000000000000 503b010001000000000000000000000001 0100
swap

https://solscan.io/tx/4QQygPf7sm3ZuYcku1hyqpSmPsJX1ursr4D2KHcNo9mGXGbo4eyuUB4pm9NXi1PtRiTpgW5qzWfjBJcLyygN3Vzk
长度:42
f8c69e91e17587c8 2e6bfc0f00000000 00000000000000008f96c0bd173d8c5f 0000000000000000 01 01
buy
https://solscan.io/tx/57dWL6tt8omzRkgqdoaVdPks6XvVDRLo91k6dzaTG8Q9vCVCqviudEWFitCAoDXcD2baFNRCkV1vnPhcdArLu42y

sell
https://solscan.io/tx/3oRZxhQBHMwc1HMN4MzcqCyPKJibmg4XqQjQFLqiSHBmxBzVPiR7ygxjkVGEiQk5hM8PYyU6c3UDS5qC7fEMfshS

总结
售卖的话 aTob 参数修改成 false tick 换成 对应的 sell tick
Linfinity

https://solscan.io/tx/5y9Ps52USi13jcv8qdJc3cKy1Q9AfEYvnuUgbcXcvtnBSw3NWuDGw2gBQbZEFiuMiUJGZKwPu19Y2q5rJHSdwKHB
f8c69e91e17587c8 9a9bd83e00000000 0100000000000000
buy
https://solscan.io/tx/4jWQSmrXS6g3oCquU88m3vyEEQV4FkEJ4BitWoXvo4LeRhsXuW38TZTGkwVTnjnUVR5LcRLHT2Gm2eKJ1vwx6ZL9

sell
https://solscan.io/tx/575pQUyTG2SZFpPEfot6kZp5BjNuYXW9qvBwDLJPBPgBZyhguVeLcpo7JwA7odZw5b1wxSgtnRajXhf2SJUtwTTu

总结
买卖的时候 swap_source 和 swap_destination 要换一下位置 ata 也换位 就 ok 了
pamm
sell
https://solscan.io/tx/5pP8VVaQ9n9dEU5FmRSdTBrA6bZvMUn9Xr98KzaPrP7HqYVRkv1tJZhTfcChmBmtGJGtmmv6BgYeSpbzeANLbMSf

33e685a4017f83ad40420f00000000000000000000000000
buy
https://solscan.io/tx/5j8iL9zp9TfbaMNRi11HAsJ6K41Ckzr8tDrjJLmx7edSpQzzB4Kki3tTKbPTKjqYNoBFjyBSpSFxzWaHB3dQN2d8

66063d1201daebea40420f0000000000c80f000000000000
总结
buy 需要链上计算汇率 sell 不需要 交易的时候 ata 互换即可
固定数据
pub const PAMM_PROGRAM_ID: Pubkey = pubkey!("pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA");
pub const PAMM_FEE_ACCOUNT: Pubkey = pubkey!("62qc2CNXwrYqQScmEdiZFFAnJR262PxWEuNQtxfafNgV");
pub const PAMM_FEE_RECEIVER_ACCOUNT: Pubkey = pubkey!("94qWNrtmfn42h3ZjUZwWvK1MEo9uVmmrBPd2hpNjYDjb");
pub const PAMM_GLOBAL_CONFIG: Pubkey = pubkey!("ADyA8hdefvWN2dbGGWFotbzWxrAvLW83WG6QCVXvJKqw");
pub const PAMM_EVENT_AUTHORITY: Pubkey = pubkey!("GS4CU59F31iL7aR2Q8zVS8DRrcRnXX1yjQ66TqNVQnaR");
|
闪电贷
抽取十万分之一的利息
WSOL
https://solscan.io/tx/5dmQQ1mqRs7ZRztYdejuvKiApzTurEjUwTrip2r9kXgPytn1vknWePmA9emyEpshHpaukmotcHzBwCaq8AcnuHYo
USDC
https://solscan.io/tx/3vsRR1CBJfzAzTXuFMKqNmtLCCcu9LPZdVnNrn2RdFddHCWbwrnxVPZKgwyRTb1QG9YawJxfKJPAQBqgUn5AAQW1
bonk 内盘
sell

4UtLc7bysv6nmVKLzBUC8GMgRUBiDZJ7W8NcEKNdkkeDXgAT9uvTFKLSkk5DKackM4d5mMNQZsAei9QpCJFrUXEW
9527de9bd37c981a965a2b3cc008000000000000000000000000000000000000
buy

32ewiPAiUGCcjmXw2iCrAwcvFrw9mfYqssVakb4QBkhyUq2CMkt9vJWfYBWdWWvpwCueotBozZTVCVRycGA8V73J
faea0d7bd59c13ec40420f000000000000000000000000000000000000000000
TESS

TessVdML9pBGgG9yGks7o4HewRaXVAMuoVj4x83GLQH
3xpSuPDzpVZVk6RPtDe4dKYDQAE83YeNBgJwEMAEmaWnR4uExBs8u7FV1GZqAAPZbssxJFDoVwmdVxvVJ9AAvPgT
humi
buy
Transaction 3X3Jpw1MiMA1YAbnG2FHDPKovWq23szxN6DuyKfgA7hFe9hUZtUowcnSaDLMdQMeNEEbvZLJ3p4e76SCV69cW1zZ

100fca134b30f38c7fdd9dbfe3baeac338ff2dffe0bae9c33d
sell
Transaction 4hNvUxycc7eD7RudZErUdRL8jSASe5PVMieHv3kJFTNjCR5CmbxcFZKtn4AX57j74BnrFbNq9KTUPV3bEXd8okps

18951582e2baebc33bd046a6e3baeac339ff2dffe0bae9c33d
fusion
sell
https://solscan.io/tx/5QL5exjLn87BdbumF6NaCHRdHrx7qfVr57etF5PxAaxqzWu2qNRSnbH6vws9Z5PHSGh1CTnvA13doJZWVmyHjyos

buy
https://solscan.io/tx/2HJeEt2ezcjLL9PkNKx95tFPJfCpj8vwfQdnWsXJDBPuw2T72kUUChetvoUNs5ptdVtdpRgbCn3PUnR5sFGF64EV

swap的本质是指令里面的 a_to_b 字段
sv2

https://solscan.io/tx/66nYK7UehEiQg2NAjnDqMvcyBiTBW6jcEgyaP4jDBvwNPeK1iN5UZsFUqXzuq3rLESzu3bm1fd3vnUtcARh4kuBH
0700bca06501000000000000000000000000
jup
https://solscan.io/tx/GK2PwP776gpJ4LmAPa7hYLC9hmNKHJddiGTbZpWZvQfUQCrxAxZmBbPabesavop2jvJ4dpX494emzU6q2eQBFSC

perp
https://solscan.io/tx/4PHaHUDgpDoJuoxGX9JmRkaLJjcJpAx53PQGQuCq2iWecMdQ4FQy2ys4Uk21caaTVMia6pyLw5nvJvCq939toaM1

添加流动性

panswap
https://solscan.io/tx/2Q1LS6FzMGeiMwg9DtP4mT61DUn2b6QDc93Q5eBWegahCwFPf88BacTY133hHZrGBYj85K3aMVeHijmAsRhoojzi

https://solscan.io/tx/jd47C8dXHQ4Yk7wiDqsQKrMXNQ4QK19GJcEBnnxpp866BzESeifN8hMpp6kLXS8fAET2ToNpcdGFwdKdSvZz3oK

meteora DBC
https://solscan.io/tx/34R1yRghMjuUyzJqNHKzYGznDSq59XdFQbx8uX55K1YsdY7dVxUqeGsDbySG3rrtrUTL5Bzfv6UUFAgBr8fsjCu6

swap2
https://solscan.io/tx/4K26Ypfn6Apo2L8GdoPofR9v5Dhu32mNi31nq7czqGiiYapxs1saNCTe3TfygWvgtHC8BANdXwGJo8KKV4k8jxjb

stabswap
https://solscan.io/tx/2YzCjcbwahdqaWAnSN7TR8EeepxqsMJdwztG79hi14J89ftRwxFcVGywLma9DZmR6GqchpARATmJuWhVF8uiCWFy

Zerofi
https://solscan.io/tx/5nnqxQWSjMdCeEvTcqgXLBWVCgKSuTAwBYYHcm4ugpcvjjCMwnwXgx8Q8a5BqPbA4kp6W2H39SrXoeC4JvsNxCCG
注意 第6第7位是ata

https://solscan.io/tx/3BMksExVKktBjKvocLRwWrPUwShk23N74F6ipMuxE3HUdUgnBi9z5BivotfEzv8BwcTSKMwq2pzM1enE6nBsDApU

Goonfi
https://solscan.io/tx/1xmCBVmTZcXrjtgP7N5wTQAa96MFHdyaowxJU3JpS7nP1dEq2zu3Pxkx26jkc4y8MKQMzJ6ZxQMiTgrfq21KKmJ

phox
buy
Transaction s6n8qpqNAdVAZnAqAYQ46HPqcQDEhb4xMFZPC6PMs1SthcuXDb8g3padVtfwgBW8FWXKNUBiCgem8HVUAcc79F2

sell
Transaction 4aPa9Je3EAiVzKvHCAheFMmFqfsEEop8no89PbE4qyeLq4X3yG7HsGQzZY9rNFPa4uuDPLjuVdr2nfzA1nL64yFF
交换一下ata就可以了
data参数需要修改

bonk 外盘
这个是 raydium cpmm 这个东西
池子分析
需要 tick 的池子
- orca
- meteora dlmm
- raydium cpmm
这里抓取一下 account 数据流,进行实时更新
tx 的 account 里面没有 token 地址的池子
- raydium v4 amm
- raydium camm
- meteora pools
- solfi
- linfinity
- orca swap
需要实现这些池子的 buffer 切片来获取 token 直接使用 rpc 查询即可 查到之后存起来进行映射
一个 dex 对应一个池子的全数据 开 2 个 grpc 数据流
token 数据字节定位
- // 101, 181 Whirlpools
- // 400, 432 Raydium amm
- // ray clmm 73, 105
- // solfi 2664 2696
- // lifinity_v2 254 286
- // meteora pool 40 72
数据库如何写
- 数据要全 解析各种事件啥的 重点是每一个池子的初始化池子的 tx
- 1-> n 多交易发送 (盲狙) 合约还是要写的
- key 值按照 A-> B 来写
TASK
Bonk
合约
合约进度