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 →
Mục này bao gồm một bản cập nhật chương trình LaunchLab sắp tới. Nó đã được xác minh so với nhánh phát hành cục bộ trước khi triển khai. Hãy xác nhận chương trình được triển khai trước khi dựa vào các tài khoản hoặc hướng dẫn mới.
PlatformConfig.curve_params. Cơ chế đó chỉ kiểm tra bằng nhau chính xác: một mục nhập hoặc ghim một trường thành một giá trị hoặc ký hiệu đại diện cho nó bằng một giá trị cảnh báo. Nó cũng chỉ chứa tối đa 10 mục nhập trên mọi GlobalConfig mà một nền tảng hỗ trợ, và nó nằm trên chính tài khoản PlatformConfig, làm tăng kích thước của nó thêm 491 byte cho mỗi mục nhập.
Ba thuộc tính này xung đột khi giao thức thêm các cấu hình. Biểu thị “mục tiêu gây quỹ từ 50 đến 200 SOL” cần một mục nhập cho mỗi giá trị được phép và do đó là không thể. Các sàn của GlobalConfig đã được mở rộng — tỷ lệ 1 bps, giới hạn cung cấp 99999 — chính xác để mọi nền tảng phù hợp dưới chúng, điều này khiến các nền tảng không có cách nào để thu hẹp chúng.
Bản phát hành này thay thế danh sách trắng bằng quy tắc đường cong: một tài khoản PlatformCurveRule cho mỗi cặp (platform, config), chứa tối đa 10 nhóm kiểm tra, mỗi nhóm chứa tối đa 25 ràng buộc (field, op, value) trên 19 tham số khởi chạy, với Eq, Gte, Lte, và Neq. Các ràng buộc bên trong một nhóm được ANDed, các nhóm được ORed. Một dải là Gte cộng với Lte trên cùng một trường.
Mô hình đầy đủ và chín sách hướng dẫn được thực hiện nằm trên trang mới: products/launchlab/curve-rules.
TL;DR cho các nhà tích hợp
PlatformConfiggiữ kích thước và mọi độ lệch trường hiện có. Nó là 944 byte cố định.curve_paramsđã biến mất;restrict_curve_param(u8),curve_rule_manager(Pubkey), và 4 byte mà tiền tố độ dài vec chiếm đều được loại bỏ khỏi phần đệm, giảm từ 107 xuống 78.- Bộ giải mã phải bỏ vec theo sau. Một bộ giải mã vẫn mong đợi
Vec<PlatformCurveParam>sau phần đệm sẽ đọc hai trường mới dưới dạng byte vec. Mọi thứ trước phần đệm không bị ảnh hưởng, vì vậy một bộ giải mã chỉ đọc ví phí và tỷ lệ tiếp tục hoạt động không thay đổi. - Những người xây dựng khởi chạy cần một tài khoản bổ sung khi cờ bật. Trong khi
restrict_curve_paramlà1,InitializeV2vàInitializeWithToken2022yêu cầu PDA quy tắc trongremaining_accounts— kể cả khi tài khoản không tồn tại, để omitting nó không thể bỏ qua kiểm tra. Dẫn xuất:[b"platform_curve_rule", platform_config, global_config]. - Không có nền tảng nào bị hạn chế theo mặc định.
restrict_curve_paramlà0trên mọi tài khoản hiện có, và0có nghĩa là chương trình không đọc quy tắc nào cả. - Hai hướng dẫn bị xóa:
UpdatePlatformCurveParamvàRemovePlatformCurveParam. Bốn được thêm:CreatePlatformCurveRule,UpdatePlatformCurveRule,RemovePlatformCurveRule,ClosePlatformCurveRule. UpdatePlatformConfigcó hai biến thể:RestrictCurveParam(u64)ở chỉ số phân phối 13 vàCurveRuleManager(Pubkey)ở 14. Các chỉ số hiện có 0–12 không thay đổi.- Bảy mã lỗi được thêm vào,
6024–6030.6020CurveParamIsNotExistđược giữ lại như một trình giữ chỗ mặc dù người gọi cuối cùng của nó đã biến mất, vì vậy không có gì sau nó thay đổi. Xemreference/error-codes. - Cần làm mới IDL. Loại tài khoản mới, bốn hướng dẫn mới, hai bị xóa, hai biến thể phân phối mới, bảy mã lỗi mới.
- Kiểm tra quy tắc ngoài chuỗi trước khi gửi bất cứ thứ gì. SDK hiển thị
checkLaunchAgainstCurveRule(phản ánh kiểm tra thời gian khởi chạy, hành vi thất bại-đóng bao gồm) vàcheckCurveRuleGroupWritable(phản ánh xác thực thời gian ghi). Cả hai đều là các hàm thuần túy. Xem Kiểm tra trước khi gửi. - Tập duyệt trên devnet trước khi bật trên mainnet. Bật
restrict_curve_paramthay đổi những gì những người tạo của bạn có thể làm ngay lập tức. Chuỗi được khuyến nghị — bao gồm khởi chạy một token sẽ bị từ chối, để chứng minh rằng trình xây dựng của bạn thực sự vượt qua tài khoản quy tắc — nằm trong Kiểm tra trên devnet trước tiên.
Những gì một quy tắc có thể biểu thị mà danh sách trắng không thể
19 trường bao gồm bốn tỷ lệ dẫn xuất —
SellRateA, LockRate, MigrateRateA, FundRaisingRateB — đó là những gì làm cho một quy tắc có thể di động trên các cung cấp thay vì được ghim vào một.
Quản lý được ủy quyền
PlatformConfig.curve_rule_manager là một ví nóng có thể tạo, cập nhật, xóa và đóng các tài khoản quy tắc của nền tảng này. Chỉnh sửa quy tắc là thường xuyên và khóa quản trị nền tảng thường là multisig; đây là trường giữ multisig ra khỏi vòng lặp. Đặt nó một lần thông qua UpdatePlatformConfig::CurveRuleManager.
Quản trị viên nền tảng giữ lại cùng một quyền lực song song — chương trình chấp nhận nó bằng cách dẫn xuất lại PDA PlatformConfig từ người ký — vì vậy khóa quản lý bị mất có thể khôi phục bằng cách xoay trường. Pubkey::default() có nghĩa là chỉ quản trị viên.
Khóa quản lý bị xâm phạm có thể nới lỏng hoặc xóa các quy tắc tham số và lấy lại tiền thuê của tài khoản quy tắc. Nó không thể lật restrict_curve_param, chạm vào bất kỳ ví phí, trường vesting, hoặc cấu hình CPMM nào, hoặc phá vỡ giới hạn GlobalConfig.
Tiền thuê và kích thước
Một tài khoản quy tắc được tạo không chứa nhóm nào và được thay đổi kích thước trên mỗi thay đổi, vì vậy một nền tảng trả tiền cho các quy tắc nó thực sự viết, và loại bỏ một nhóm hoàn lại sự khác biệt cho người ký.
Vì kích thước là động, bộ giải mã phải đọc độ dài thực tế của tài khoản thay vì giả định một hằng số.
Chi phí tính toán khi khởi chạy
Kiểm tra chạy trên mỗi khởi chạy trong khi nó được bật. Đo từ đầu đến cuối — dẫn xuất PDA, quétremaining_accounts, giải mã, đánh giá:
Một ràng buộc dẫn xuất có chi phí khoảng 223 CU so với khoảng 48 cho một lần đọc trường trực tiếp. Ngay cả một quy tắc được tải đầy đủ cũng nằm trong một phần ba ngân sách mặc định 200 000 CU trên mỗi hướng dẫn. Các nhóm được đánh giá cho đến khi một khớp, vì vậy tầng được sử dụng nhiều nhất thuộc về trước.
Cuộc di chuyển một lần
Các nền tảng sử dụng danh sách trắng đã được di chuyển bởi giao thức trong một lần duy nhất, trước khi cờ có sẵn để bật. Một cơ quan chuyên dụng chạy một giao dịch cho mỗi nền tảng dịch mỗi mục nhập cũ thành các nhóm kiểm tra của tài khoản quy tắc của cấu hình nó được đặt tên, xóa các mục nhập khỏiPlatformConfig, và thu nhỏ tài khoản đó trở lại 944 byte.
Bản dịch bảo tồn ngữ nghĩa cũ chính xác: mỗi mục nhập trở thành một nhóm, mỗi trường không phải cảnh báo trở thành một ràng buộc Eq, và một mục nhập tất cả cảnh báo — khớp với mỗi khởi chạy — trở thành một nhóm không có ràng buộc, cũng khớp với mỗi khởi chạy.
Bản di chuyển viết quy tắc nhưng không bật chúng. Một nền tảng được di chuyển vẫn không bị hạn chế cho đến khi nó tự đặt restrict_curve_param thành 1. Hướng dẫn di chuyển đã bị xóa khỏi chương trình bây giờ lần vượt qua hoàn tất, cùng với trường cũ nó đọc.
Những gì không thay đổi
GlobalConfig. Bố cục giống nhau, giới hạn giống nhau, hướng dẫn giống nhau. Quy tắc thu hẹp các giới hạn đó và được kiểm tra cùng với chúng; chúng không bao giờ có thể mở rộng một.- Danh sách tài khoản và đối số của các hướng dẫn khởi chạy.
InitializeV2vàInitializeWithToken2022lấy các tài khoản cố định giống nhau và các đối số giống nhau. Chỉremaining_accountscó được một mục nhập, và chỉ trong khi cờ bật. - Đường dẫn giao dịch, tốt nghiệp, phí và vesting. Không thay đổi.
PlatformAllowConfig. Không thay đổi và không liên quan: nó quyết định cấu hình nào mà các khởi chạy của nền tảng có thể sử dụng, trong khi một quy tắc quyết định tham số nào trong một cấu hình. Hai cờ là độc lập.- Mã lỗi
6000–6023. Không thay đổi,6020bao gồm. - Kích thước
PlatformConfigvà độ lệch trước đệm. Không thay đổi, vì vậy các tài khoản hiện có không cần di chuyển của riêng chúng.
Trang được cập nhật
products/launchlab/curve-rules— trang mới. Mô hình ba cấp, bảng trường 19 và toán tử 4, chín sách hướng dẫn, hạn chế loại đường cong, hai trợ giúp kiểm tra ngoài chuỗi, chuỗi tập duyệt devnet, quản lý được ủy quyền, tiền thuê, thứ tự triển khai và chi phí tính toán.products/launchlab/platform-config— “Danh sách trắng tham số đường cong” được thay thế bằng “Quy tắc tham số khởi chạy”; bố cục được cập nhật chorestrict_curve_param,curve_rule_manager, và phần đệm 78 byte; bảng đường dẫn cập nhật, đoạn đọc, và những cạm bẫy được viết lại.products/launchlab/instructions— phần “Quy tắc tham số khởi chạy nền tảng” mới bao gồm bốn hướng dẫn, tài khoản, đối số và lỗi của chúng; hàng kho được thay thế.products/launchlab/accounts—PlatformCurveRuleđược thêm vào kho và được cung cấp phần riêng của nó với bố cục đầy đủ và cảnh báo kích thước biến.reference/error-codes—6024–6030được ghi lại;6018và6020được chú thích.

