許可リストゲート型トランスファー + 一時停止を備えた Sui CLT。保有者は事前に承認したアドレス間のみでポイントを移動します。
ロイヤリティポイントとアプリ内クレジットは、制御するエコシステム内に留まる場合に最適に機能します。このプリセットは、デプロイヤーが承認されたレシーバーアドレスの許可リスト (マーチャント、パートナー、オペレーターウォレット) を維持する Sui クローズドループトークンをデプロイします。ユーザーにミントされたトークンはその許可リストにのみフローできます。任意のウォレット経由のエスケープパスはなく、汎用コインへのスワップもなく、デフォルトでは DEX リストもありません。
Sui の `sui::token` クローズドループトークンは、タイプシステムレベルでトランスファーをゲート制御する唯一のメインストリーム Move プリミティブです。保有者は `Token<T>` を受け取ります (`store` 機能がなく、`public_transfer` もない) 。各トランスファーは、デプロイされた TokenPolicy に対して承認される必要がある ActionRequest を生成します。許可リストルールはデプロイヤーが TokenPolicyCap で制御される 2 つのアドミン関数 (add_to_allowlist、remove_from_allowlist) を通じて管理する `VecSet<address>` 設定です。一時停止はクローズドループ自体が緊急停止を必要とする場合に対応します。
はい。バンドルからクローズドループポリシーを削除し、非転送可能を有効にします。これは空の TokenPolicy を登録します。各トランスファー ActionRequest は confirm_request で中止します。Sui の非転送可能 + Identity-SBT プリセットがそのケースに対応します。
デプロイされた Move モジュールは `add_to_allowlist(policy, cap, addr, ctx)` と `remove_from_allowlist` を公開します。管理ページから、または TokenPolicyCap を保持する任意のウォレットから呼び出します。デフォルトではトークンをデプロイした同じウォレットです。
`token::transfer` 呼び出しは ActionRequest を返します。`verify_allowlist_transfer` はレシーバーがリストに存在することを主張します。存在しない場合、トランザクションは中止されます。トークンは送信者のアドレスから離れることはありません。クリーンアップする失敗した停滞残高はありません。