アーキテクチャ
各方式のコントラクト群とその役割、流動性の保有方法、デプロイの検証方法。
2つのコントラクト群
2つのローンチ方式は分離されています。Fixed-Price Launchのコントラクトは、独自のコア、フック、グラデュエーター、トークン、ベスティング、ディストリビューターをデプロイします。RTP Curve Launchとは設計パターンを共有しますが、そのデプロイ済みインスタンスは一切共有しないため、どちらの方式も他方に影響を与えることはできません。
RTP Curve Launch
コンパクトなコントラクト群。1つのコアがカーブの会計と手数料台帳を保持し、卒業時には変更不可能なグラデュエーターと手数料フックを通じて、各トークンが専用のUniswap v4プールへ引き渡されます。
| コントラクト | 役割 |
|---|---|
| RtpCore | ローンチ、ボンディングカーブでの取引、オープニング購入税、プル型の手数料台帳と受け取り、ローンチティア、卒業時の引き渡し、ローンチごとの買い戻しリザーブ、タイムロック付きの役割変更。 |
| RtpToken | ローンチごとに1回だけミントされる最小構成のERC-20。オーナーなし、追加ミントなし、送金税なし、ブラックリストなし。保有者は自身のトークンをバーンできます。 |
| RtpGraduator | トークンのv4プールをカーブ価格どおりに開き、その唯一のフルレンジポジションを永続的に保有します。オーナーなし、セッターなし。 |
| RtpFeeHook | プールでのスワップにプール手数料(デプロイごとに固定された1つの値、1%)を課し、それをコアの台帳に計上するUniswap v4フック。プールの初期化や流動性の追加ができるのはグラデュエーターのみです。 |
| RtpV4Router, RtpV4Quoter | フック付きプール用のルーターとクオーター:exact-inとexact-out、最小受取量の制限と期限。見積もりは約定額と一致します。 |
| RtpBuybackEngine | ローンチの買い戻しリザーブを使うバイ・アンド・バーン。誰でも呼び出すことができ、時間加重平均価格を基準とし、レート制限があります。オーナーなし、セッターなし。次のテストネットインスタンスとともにデプロイされます。 |
| RtpCoreLens | 読み取り専用のプレビュー:予測トークンアドレス、リザーブ、オープニング税、購入と売却の見積もり。資金は保有しません。次のテストネットインスタンスとともにデプロイされます。 |
| Uniswap v4 PoolManager | メインネットでは、同チェーンの正規のPoolManagerを接続する必要があります。文書化されたフォールバックが選択されない限り、デプロイパイプラインは独自のコピーを拒否します。 |
RTP Fixed-Price Launch
1つのコアがすべてのローンチの台帳を保持します。決済によってトークン専用のUniswap v4プールが作成され、プラットフォームの条件、リファラル、トークンによる拠出、クリエイター利回りは専用のコントラクトが扱います。
| コントラクト | 役割 |
|---|---|
| FundCore | すべてのローンチのレジストリと台帳:作成、バッチのルート、拠出、返金、受け取り、決済(誰でも決済可能)、手数料台帳、オペレーターの権限。シングルトン。 |
| CreateLib, SettleLib | 作成時のチェックと決済。FundCoreのビルド時に固定されたライブラリへ、FundCoreがdelegatecallで到達します。FundCoreをサイズ上限内に収めるためのもので、権限は一切変更しません。 |
| FundGraduator | 1回のunlockでプールを初期化し、フルレンジの流動性を追加します。卒業手数料は取らず、流動性の除去経路もありません。 |
| FundHook | Uniswap v4フック:1%のプール手数料とその配分、取引開始前の取引停止期間、減衰するオープニング購入税。 |
| FundToken | ローンチごとに1つ、決済時に1回だけミントされます。保有者によるバーンを通じてのみ減少する固定供給量:オーナーなし、ミントなし、税なし、ブラックリストなし、一時停止なし、プロキシなし。 |
| FundVesting | クリエイターのETH、チームバッチのトークン、そしてクリエイターが選択した場合は参加者のトークンを、毎秒線形に解放します。スケジュールは取り消せません。 |
| FundDistributor | ローンチトークンのマークルエアドロップと、各ローンチのエアドロップリザーブ。受取人が受け取るか、誰でもリストに記載されたアカウントへトークンを送ることができます。 |
| FundPlatforms | プラットフォームの登録簿と、各プラットフォームがコンパイル済み上限の範囲内で設定する手数料条件。 |
| FundReferral | 各ローンチのリファラーリスト、各リファラーが引き出せる額、ウォレットに紐付けられたソーシャルID。 |
| FundZap | 他のトークンによる拠出:プールマネージャーを通じてETHへスワップし、呼び出し者に代わって拠出します。 |
| FundVault, ERC4626Adapter | 決済後、クリエイターのまだ引き出されていないETHを、有効化されたWETHベースのERC-4626ボールトへ任意で預け入れます。運用先ごとに1つのアダプター。 |
| FundRouter, FundQuoter | 固定価格プールの取引と見積もり(ETH建て)。 |
グラデュエーターが保有する流動性
どちらの方式でも、プールには変更不可能なグラデュエーターが流動性を投入します。グラデュエーターは1つのフルレンジポジションを保有し、引き出し経路を持ちません。LPトークンはありません。流動性は存在し、取引可能ですが、誰も除去できません。どちらの方式でも、流動性を追加できるのはグラデュエーターのみです。
決定論的で検証可能なデプロイ
チェーン固有の値はすべて、コードではなく設定に置かれます。アドレスはブロードキャスト前に予測され、その後に確認されます。Curve Launchでは、手数料フックを除くすべてのコントラクトがCREATE3でデプロイされます。手数料フックはCREATE2でデプロイされ、そのアドレスがUniswap v4フックの権限フラグを持つようにソルトがマイニングされます。このアドレスはチェーンのPoolManagerに依存するため、チェーンごとに異なります。Fixed-Price Launchのコントラクトは専用のデプロイ用SafeからCREATE3でデプロイされるため、対応する各チェーンで同一のアドレスになります。
