Trang này được dịch tự động bằng AI. Phiên bản tiếng Anh là bản chính thức.Xem bản tiếng Anh →
x·y=k) thuần túy. Nó không thay đổi bất kỳ hành vi giao dịch trực tiếp nào — không còn đơn hàng OpenBook nào để dừng đặt.
TL;DR cho các nhà tích hợp
- Swap / Deposit / Withdraw tiếp tục hoạt động mà không có thay đổi. Các giao dịch được xây dựng với bố cục tài khoản cũ vẫn thực thi — các tài khoản Serum/market bị loại bỏ được đơn giản bỏ qua (không xác thực, không CPI).
SwapBaseIn/SwapBaseOutvẫn mong đợi 17 (+1 tùy chọn) tài khoản; bố cụcDepositvàWithdrawkhông thay đổi. Bạn không phải gửi bản cập nhật máy khách để giữ các luồng hiện có hoạt động. - Di chuyển sang các điểm vào swap V2.
SwapBaseInV2/SwapBaseOutV2không có tài khoản thị trường và không cóamm_open_orders(8 tài khoản tổng cộng), vì vậy các giao dịch nhỏ hơn và rẻ hơn. Các bộ định tuyến/tổng hợp nên định tuyến qua V2. WithdrawPnllà một thay đổi phá vỡ hoàn toàn (chỉ quản trị viên). Nó đi từ 17 (+1 tùy chọn) → 10 tài khoản với không có phân tích tương thích; bố cục cũ không khớp (cũ #5 làamm_open_orders) và không vượt qua xác thực. Công cụ quản trị phải được cập nhật.SetParamslà một thay đổi phá vỡ hoàn toàn (chỉ quản trị viên). Tài khoản thu nhỏ thành[amm, admin], và enumparamđược đánh số lại (Fees9 → 2,SetOpenTime11 → 3);AmmOwner,LastOrderDistance,UpdateOpenOrdervà các tham số lưới bị loại bỏ.- Một số hướng dẫn không còn có thể gọi được.
Initialize,PreInitialize,MonitorStep,MigrateToOpenBook,WithdrawSrm,SimulateInfovàAdminCancelOrdersgiờ đây hoàn nguyên. Sử dụngInitialize2để tạo pool. - Bố cục tài khoản trên chuỗi ổn định về byte, và mã lỗi không thay đổi.
AmmInfo/StateDatagiữ bố cục của chúng (các trường OpenBook cũ được giữ lại nhưng không dùng nữa/đóng băng); việc đánh sốAmmErrorđược bảo tồn, chỉ cóNotAllowedmới được thêm vào.
Tại sao điều này quan trọng (cho các nhà giao dịch, LP và nhà tích hợp)
- Các nhà giao dịch không thấy thay đổi nào trong hành vi hoặc giá swap — đường cong constant-product không thay đổi. Các swap bố cục V2 rẻ hơn để đặt vì chúng mang ~8 tài khoản ít hơn.
- LP giữ lại cùng một kinh tế gửi/rút. Thanh khoản đã lâu nằm hoàn toàn trong các kho pool, vì vậy giá trị pool hoàn toàn nằm trên pool; bản nâng cấp này chỉ xóa đi các đường ống thị trường cũ.
- Các nhà tích hợp nhận được các giao dịch nhỏ hơn, đơn giản hơn và một mô hình trích dẫn đọc thẳng từ các kho. Các tích hợp hiện có không bị phá vỡ (ngoại trừ quản trị viên
WithdrawPnl/SetParams), nhưng shim tương thích v1-swap là tạm thời — di chuyển sang V2 khi bạn thuận tiện.
Thay đổi cấp độ hướng dẫn
Vẫn có thể gọi được, bố cục không thay đổi (tương thích ngược)
Initialize2, Deposit, Withdraw, SwapBaseIn, SwapBaseOut, CreateConfigAccount và UpdateConfigAccount giữ danh sách tài khoản hiện có của chúng. Trên SwapBaseIn / SwapBaseOut, Deposit và Withdraw, các tài khoản OpenBook/market vẫn được chấp nhận theo vị trí nhưng không còn được xác thực hoặc sử dụng — không có CPI được phát hành và dự trữ pool được tính toán chỉ từ kho. Số lượng tài khoản phải vẫn khớp, vì vậy các giao dịch hiện có tiếp tục thực thi không thay đổi.
SwapBaseInV2 / SwapBaseOutV2 — con đường được khuyến nghị
Bỏ qua các tài khoản thị trường và amm_open_orders hoàn toàn (8 tài khoản; thẻ 16 / 17). Toán học trích dẫn giống hệt v1. Các tích hợp mới và bộ định tuyến nên sử dụng V2.
WithdrawPnl — 17 (+1 tùy chọn) → 10 tài khoản (⚠️ phá vỡ hoàn toàn, không có con đường tương thích)
amm_open_orders và tất cả sáu tài khoản thị trường bị loại bỏ. Bố cục 10 tài khoản cố định mới, chỉ dành cho quản trị viên, không có phân tích tương thích; bố cục cũ không khớp và không vượt qua với các lỗi như InvalidCoinVault.
SetParams — giảm xuống [amm, admin] (⚠️ phá vỡ hoàn toàn) + tham số được đánh số lại
Quyền hạn, open-orders, target-orders, vault và tất cả các tài khoản thị trường bị loại bỏ. Enum param được đánh số lại và cắt ngắn:
| Param | Giá trị cũ | Giá trị mới |
|---|---|---|
Status | 0 | 0 |
State | 1 | 1 |
Fees | 9 | 2 |
SetOpenTime | 11 | 3 |
OrderNum, Depth, AmountWave, MinPriceMultiplier, MaxPriceMultiplier, MinSize, VolMaxCutRatio, InitOrderDepth, SetSwitchTime, ClearOpenTime, Seperate) cộng với AmmOwner, LastOrderDistance và UpdateOpenOrder bị loại bỏ. Struct SetParamsInstruction loại bỏ new_pubkey và last_order_distance.
Không còn có thể gọi được (hoàn nguyên tại thời gian chạy; các nhà xây dựng bị loại bỏ)
| Hướng dẫn | thẻ | Thay thế |
|---|---|---|
Initialize | 0 | Initialize2 |
MonitorStep | 2 | không (order-book crank, đã loại bỏ) |
MigrateToOpenBook | 5 | không |
WithdrawSrm | 8 | không (chiết khấu phí SRM, đã loại bỏ) |
PreInitialize | 10 | Initialize2 |
SimulateInfo | 12 | trích dẫn ngoài chuỗi / SDK |
AdminCancelOrders | 13 | không |
Thay đổi dự trữ / trạng thái
- Công thức tài sản pool. Tổng tài sản pool hiện là
số dư kho − PnL đang chờ xử lý (need_take_pnl); thuật ngữ open-order OpenBook — đã bằng không trong thực tế — bị loại bỏ. Mã trích dẫn có thể đọc thẳng từ số dư kho. - Các trường trạng thái không dùng nữa.
StateData.total_pnl_pc,total_pnl_coin,orderbook_to_init_time,swap_coin_in_amount,swap_pc_out_amount,swap_acc_pc_fee,swap_pc_in_amount,swap_coin_out_amountvàswap_acc_coin_feeđược giữ lại để tương thích bố cục nhưng không còn được cập nhật. Các người tiêu dùng dựa vào các bộ đếm khối lượngswap_*nên chuyển sang nhật ký giao dịch. - Khởi tạo
AmmInfo.coin_lot_size,pc_lot_sizevàmin_sizehiện được khởi tạo thành0. - Phụ thuộc bị loại bỏ và CPI. Crate
serum_dexbị loại bỏ khỏiCargo.toml; tất cả các CPI Serum DEX (invoke_dex_new_order_v3,invoke_dex_cancel_order_v2,invoke_dex_settle_funds,invoke_dex_init_open_orders, …) bị loại bỏ khỏiinvokers.rs. Các struct dữ liệu bị loại bỏ:LastOrderDistance,SimulateParams,RunCrankData,GetPoolData,GetSwapBaseInData,GetSwapBaseOutData.

