Khởi chạy mã thông báo trung thành / vòng lặp đóng

Sui CLT với chuyển được kiểm soát bởi danh sách cho phép + tạm dừng. Chủ sở hữu chỉ di chuyển điểm giữa các địa chỉ bạn đã phê duyệt trước.

Điểm trung thành và tín dụng trong ứng dụng hoạt động tốt nhất khi nằm trong hệ thống bạn kiểm soát. Cài đặt sẵn này triển khai Token Sui Closed-Loop trong đó người triển khai duy trì danh sách cho phép các địa chỉ người nhận được phê duyệt (thương gia, đối tác, ví nhà khai thác). Các mã thông báo được đúc cho người dùng chỉ có thể chảy vào danh sách cho phép đó — không có đường thoát qua ví tùy ý, không có chuyển đổi thành Đồng xu chung, không có niêm yết DEX theo mặc định.

Những gì được bao gồm

Tại sao ngăn xếp này

Token Closed-Loop `sui::token` của Sui là nguyên thủy Move chủ đạo duy nhất kiểm soát chuyển giao ở cấp độ hệ thống loại — chủ sở hữu nhận `Token<T>` (không có khả năng `store`, không có `public_transfer`) và mỗi chuyển giao tạo ra ActionRequest phải được phê duyệt chống lại TokenPolicy được triển khai. Quy tắc danh sách cho phép là cấu hình `VecSet<address>` mà người triển khai quản lý thông qua hai hàm quản trị được kiểm soát bởi TokenPolicyCap (add_to_allowlist, remove_from_allowlist). Tạm dừng bao gồm trường hợp vòng lặp đóng chính nó cần dừng khẩn cấp.

Tôi có thể làm cho các mã thông báo của chủ sở hữu vĩnh viễn bị ràng buộc thay vào đó không?

Có — loại bỏ chính sách vòng lặp đóng khỏi gói và bật không thể chuyển giao. Điều này đăng ký TokenPolicy trống: mỗi ActionRequest chuyển giao bị gián đoạn tại confirm_request. Cài đặt sẵn không thể chuyển giao + Identity-SBT trên Sui bao gồm trường hợp đó.

Làm cách nào tôi thêm địa chỉ vào danh sách cho phép sau khi triển khai?

Mô-đun Move được triển khai tiết lộ `add_to_allowlist(policy, cap, addr, ctx)` và `remove_from_allowlist`. Gọi chúng từ trang quản lý hoặc từ bất kỳ ví nào giữ TokenPolicyCap — ví tương tự đã triển khai mã thông báo theo mặc định.

Điều gì xảy ra với các mã thông báo được gửi tới các địa chỉ không được phê duyệt?

Cuộc gọi `token::transfer` trả lại ActionRequest; `verify_allowlist_transfer` khẳng định người nhận nằm trong danh sách, nếu không giao dịch sẽ bị gián đoạn. Các mã thông báo không bao giờ rời khỏi địa chỉ của người gửi — không có số dư bị lỗi và trì hoãn để làm sạch.