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 →
GlobalConfig là tài khoản cấu hình ở mức giao thức. Có thể có nhiều tài khoản — được khóa bằng (curve_type, index) — và mỗi lần phát hành chọn chính xác một tài khoản tại thời điểm Initialize. Các giá trị trên GlobalConfig được chọn sau đó trở thành giới hạn cứng cho các tham số của lần phát hành đó. Để tùy chỉnh ở mức nền tảng (tỷ lệ phí cho từng nền tảng, hình dạng đường cong được phép, chia tách NFT tại tốt nghiệp), xem products/launchlab/platform-config.Nó là gì
GlobalConfig là một PDA singleton-per-(curve_type, index) xác định các quy tắc ở mức giao thức mà mọi lần phát hành phải tuân theo:
- Loại đường cong liên kết được phép (
curve_type). - Tỷ lệ phí giao dịch mà đường cong tính trên mỗi lần mua và bán.
- Phí di chuyển được tính tại tốt nghiệp.
- Giới hạn dưới về cung cấp, tỷ lệ khóa, tỷ lệ bán và tỷ lệ di chuyển.
- Mint báo giá (thường là SOL được bao bọc hoặc USDC) — tài sản mà người dùng mua.
- Bốn ví ở mức giao thức: chủ sở hữu phí giao thức, chủ sở hữu phí di chuyển, và hai ví kiểm soát di chuyển được giữ lại cho tốt nghiệp CPMM và AMM v4 cũ.
GlobalConfig có thể được tạo bởi quản trị viên chương trình LaunchLab hoặc cơ quan tạo cấu hình được ủy quyền. Chỉ quản trị viên cập nhật các cấu hình hiện có. Xem reference/program-addresses để biết các cơ quan chính thức.
Bố cục
create_config của chương trình là nguồn sự thật.)
Ngữ nghĩa trường
curve_type và index
Cùng nhau, chúng khóa một GlobalConfig một cách duy nhất. Có một GlobalConfig cho mỗi cặp (curve_type, index):
curve_type = 0— Đường cong dự trữ ảo sản phẩm hằng số. Mặc định và được sử dụng nhiều nhất.curve_type = 1— Đường cong giá cố định.curve_type = 2— Đường cong giá tuyến tính.
index là một u16 cho phép quản trị viên xuất bản nhiều cấu hình cho mỗi loại đường cong (ví dụ: một với phí chặt hơn, một với mức tối thiểu nâng cao hơn). Tại Initialize, lần phát hành cung cấp cặp (curve_type, index) và chương trình tải GlobalConfig phù hợp.
Phí
trade_fee_rate— được tính bằng1/1_000_000của khối lượng giao dịch. Áp dụng cho mỗi lần mua và bán trên đường cong.protocol_fee_owneryêu cầu phần của nó thông quaCollectFee.migrate_fee— một khoản phí cố định tính bằng lamports (hoặc đơn vị báo giá, tùy thuộc vào cấu hình) được tính một lần tại tốt nghiệp. Được yêu cầu bởimigrate_fee_ownerthông quaCollectMigrateFee.max_share_fee_rate— được khởi tạo thành10_000(100 bps). Giới hạn tỷ lệ phí chia sẻ của nền tảng từPlatformConfigràng buộc (xemplatform-config). Chương trình thực thitrade_fee_rate + max_share_fee_rate < RATE_DENOMINATOR_VALUE.
Giới hạn dưới cung cấp và tỷ lệ
Những giới hạn này ràng buộc những tham số hình dạng đường cong mà lần phát hành có thể chọn tạiInitialize. Nếu CurveParams của người tạo vi phạm bất kỳ giới hạn nào, Initialize sẽ hoàn nguyên với InvalidInput.
min_base_supply—supplytối thiểu (không có số thập phân) mà đường cong có thể khai báo. Mặc định là10_000_000.max_lock_rate— được tính bằng1/1_000_000; mặc định300_000(30%). Ràng buộc vesting thông quatotal_locked_amount <= supply * max_lock_rate / 1_000_000.min_base_sell_rate— được tính bằng1/1_000_000; mặc định200_000(20%). Ràng buộcbase_supply_graduation / supplytừ dưới.min_base_migrate_rate— được tính bằng1/1_000_000; mặc định200_000(20%). Ràng buộc số lượng token còn lại để hạt giống nhóm sau tốt nghiệp.min_quote_fund_raising—quote_reserve_targettối thiểu mà lần phát hành có thể khai báo (với số thập phân). Mặc định là30_000_000_000đơn vị của mint báo giá.
Mint báo giá và ví giao thức
quote_mint— tài sản mà người dùng mua. Hầu hết các lần phát hành sử dụng SOL được bao bọc (So111…112) hoặc USDC (EPjF…Dt1v). MộtGlobalConfigđược liên kết với một mint báo giá; các lần phát hành cần một mục tiêu báo giá khác nhắm mục tiêu một(curve_type, index)khác.protocol_fee_owner— pubkey kýCollectFeevà yêu cầu các phí giao thức tích lũy trên mỗi lần phát hành được liên kết với cấu hình này. Được lưu trữ trên chuỗi; quản trị viên có thể xoay nó thông quaUpdateConfig.migrate_fee_owner— pubkey kýCollectMigrateFee.
Ví di chuyển
Hai ví tốt nghiệp được lưu trữ yêu cầu những người ký khác nhau:migrate_to_amm_wallet— kýMigrateToAmmcho một lần phát hành cũ hiện có cómigrate_type = 0được lưu trữ.migrate_to_cpswap_wallet— kýMigrateToCpswap. Mỗi lần phát hành mới được khởi tạo sử dụng đường dẫn này.
Danh sách cho phép ở mức nền tảng
GlobalConfig không còn có requires_platform_auth. Byte cũ của nó là padding, vì vậy kích thước tài khoản không thay đổi. Quyền truy cập hiện được kiểm soát bởi PlatformConfig.restrict_global_config và các tài khoản PlatformAllowConfig được tạo bởi quản trị viên nền tảng đó. Xem platform-config.
Giá trị mặc định tại khởi tạo
KhiCreateConfig được gọi, chương trình hạt giống nhiều trường với các giá trị mặc định được mã hóa cứng:
curve_type, index, migrate_fee, trade_fee_rate, quote_mint và bốn pubkey ví một cách rõ ràng tại thời điểm tạo; các giá trị tiếp theo có thể được điều chỉnh thông qua UpdateConfig.
Cách lần phát hành chọn một GlobalConfig
Tại Initialize, người tạo chuyển:
(curve_type, index)để chọn PDAGlobalConfignào để tải.CurveParamsmô tả hình dạng đường cong (supply,total_base_sell,total_quote_fund_raising,migrate_type).VestingParamsmô tả cung cấp bị khóa.MintParamscho mint cơ sở.
curve_typekhớp vớiglobal_config.curve_type.supply >= global_config.min_base_supply.total_locked_amount <= supply * max_lock_rate / 1_000_000.total_base_sell >= supply * min_base_sell_rate / 1_000_000.(supply − total_base_sell − total_locked_amount) >= supply * min_base_migrate_rate / 1_000_000— tức là, đủ token còn lại để hạt giống nhóm sau tốt nghiệp.total_quote_fund_raising >= min_quote_fund_raising.migrate_type == 1(CPSWAP).- Nếu nền tảng được chọn có
restrict_global_config == 1,PlatformAllowConfigphù hợp được bao gồm.
Initialize, PoolState của lần phát hành lưu trữ pubkey global_config trực tiếp, vì vậy liên kết là vĩnh viễn.
Đường dẫn cập nhật
UpdateConfig chỉ dành cho quản trị viên và nhận một cặp (param: u8, value: u64). Mỗi giá trị param chọn trường nào để thay đổi:
Xoay ví (
protocol_fee_owner, migrate_fee_owner, migrate_to_amm_wallet, migrate_to_cpswap_wallet) nhận một hình dạng đối số Pubkey riêng; kiểm tra nguồn update_config để biết bảng điều phối chính xác trước khi soạn giao dịch quản trị viên.
Bộ chọn UpdateConfig cũ 12 cho phép xác thực nền tảng bị xóa. Quản trị viên nền tảng hiện quản lý danh sách cho phép của riêng họ.
Đọc GlobalConfig từ máy khách
getAllGlobalConfigs của SDK hoặc truy vấn điểm cuối API LaunchLab phản ánh chúng; số lượng tài khoản trên chuỗi rất nhỏ (một chữ số trong thực tế).
Con trỏ
products/launchlab/platform-config— lớp phủ cho từng nền tảng ràng buộc hình dạng đường cong thêm.products/launchlab/accounts— biểu đồ tài khoản đầy đủ cho một lần phát hành.products/launchlab/instructions— các lệnhInitializevà cập nhật.reference/program-addresses— pubkey quản trị viên, ID chương trình, cơ quan chung.
raydium-launch/programs/launchpad/src/states/config.rs— structGlobalConfigvàinitialize.raydium-launch/programs/launchpad/src/lib.rs—create_config,update_config.

