進捗状況

本書は、プロトコルを決定された姿のまま記述しています。記述内容の一部は、まだコードに反映されていません。このページでは、それがどの部分かを正確に示します。

決定済み・実装済み

  • デフォルトで5 %の手数料と、その2つの配分表
  • TreasuryVault、そのオラクル許容幅、そして引き出し機能がないこと
  • BuybackBurnerと$STOCKFUNのフライホイール
  • 緊急モード(2026-10-05以降は即時)
  • Robinhood Chainへのクロスチェーンのレール(準備済みで、シミュレーションでテスト済み)。2026-09-28に復路が削除されて以降は一方向のみ。2026-10-06には、2つのテストネットの間でLayerZeroを通じてエンドツーエンドで実行されました(後述)
  • $STOCKFUNプロトコルトークンのシングルサイドのローンチ
  • クリエイターバイバックの削除(2026-09-28)
  • ローンチの再設計(2026-09-28):ボンディングカーブもグラデュエーションもなくなりました。各マーケットは、デフォルトで700Mと300Mのロックされた2つのポジション、そしてクリエイターの任意の購入とともに、同じトランザクション内で作成されます
  • 作成手数料(デフォルトで0.001 ETH)。2026-10-05以降はオーナーの設定です
  • 逓減型アンチスナイプと、クリエイターのホワイトリスト。ホワイトリストはデフォルトで最大20アドレスで、そのアドレスは公式ルーターを経由して取引する場合に免除されます。公式ルーターは、引き続きオーナーが変更できます
  • フック上にマーケットごとに保持され、クリエイターが請求するクリエイター手数料。2026-10-01以降はチームとバイバックの取り分も同様で、誰でもトリガーできる請求によって支払われます
  • 各マーケットのトークンと$STOCKFUNについてオンチェーンで記録される保有量。2026-10-02以降は、各トークンが転送のたびに呼び出す保有量レコーダーが記録します。記録がまだトークン内にあった2026-10-01の時点で、2つのウォレット間の転送1回あたりのガスは約52,000〜61,000増え、決定時に見積もられた20,000〜40,000を上回っていました。UniswapのPoolManagerは記録されないため、スワップで負担するのはトレーダー側の分と、2026-10-01以降は記録供給量のための書き込み1回です。すでにトークンを保有しているウォレットの場合、ルーター経由の買いで113,529ガス、売りで137,250ガスです(2026-10-01の修正より前は125,862と150,416。この修正では、すべての取引から2回の送金もなくなりました)
  • StockFunのプールにデフォルトでUniswap LP手数料がないこと(2026-09-29以降):タックスが取引コストのすべてです
  • 2026-09-29のセキュリティ監査を受けて2026-09-30と2026-10-01に適用された修正:流動性は流動性のロックからのみ。チームとバイバックの取り分は取引の外で請求。変換はキーパーが指定する金額で行い、資金は株式ごとに確保。エアドロップの分母である記録供給量を、すべてのトークンに。1つのマーケットがバッチをブロックすることがなくなり、一時停止中のリモートハブもロールの変更を適用する、Robinhood Chainのレール。修正された各指摘には回帰テストがあります
  • これらの修正のいくつかを完成させた監査の第2ラウンドである、2026-10-01のセキュリティパイプライン:Robinhood Chainでは、v3のルートは1プールずつ実行され、正規ブリッジの会計情報のチケットは、キューに入れた数を超える記録を支払わない。ボールトの資金を確保分より少なくする緊急リカバリーは、確保分を無効にする。キーパーは、バスケットの最後の株式についてn−1単位を残す。各修正には回帰テストがあります
  • 2026-10-02のアップグレード対応の再設計:トークン、流動性のロック、ミラーボールトのデプロイヤーを除くすべてのモジュールをプロキシの背後に置き、StockFunのオーナーが即時発効でアップグレード可能に。ボールトは両方のチェーンでマーケットごとに1つのプロキシ。トークンは、setterがsetRecorderだけの単純なERC-20に縮小(2026-10-05以降はレスキューも)。保有量の記録は専用のモジュールに。フックのプロキシは、v4の14の権限すべてを持つようにマイニング。流動性のロックの終了モードと、その30日間の事前告知。ストレージレイアウトは記録され、スクリプトで確認される。スワップのガスは、単独で測定して約27,000増加:買いは210,105ではなく237,190ガス、売りは258,278ではなく285,031ガス
  • エアドロップのコントラクト(2026-10-04):Ethereum上のAirdropDistributor。アップグレード可能で、ファクトリーに結び付けられ、両方のボールトのsendToAirdropから資産を受け取る。リモートハブ上にはエアドロップの経路。時間枠が13:00 UTCに閉じる日次サイクル、記録された保有量から計算される取り分、各ホルダーが自己負担で行う請求(期限、上限、最低額はなし)、トークンごとの除外リスト、対象となる保有量のない時間枠に送られた株式の保留、緊急モード。フォークテストのスイート以外の514件のテストが合格しており、状態を持つ不変条件のテストも含まれます。テストではLayerZeroはモックに置き換えられています。Codexは設計、コード、そして修正を2回レビューし、その最終確認ではバグは見つかりませんでした。未デプロイ
  • 2026-10-05の決定:チームへの割り当てはなく、$STOCKFUNの供給量の全量はロックされたポジションに入る。即時の緊急移転と、即時のアダプターの差し替え。プロトコルのすべての数値が、両方のチェーンで、オーナーのオンチェーンの設定になり、現在の値がそのデフォルト値で、各プールは作成時のLP手数料とティック間隔を保持する。コード化・テスト済み、未デプロイ
  • 2026-10-05のファウンダーの設計ルール:1つの失敗が残りを決して止めず、資金を保有しうるすべてのコントラクトに、滞留したものを取り出すためのレバーがある。唯一の意図的な例外は、トークンから保有量レコーダーへの報告。アーキテクチャを参照してください。同日の4回目の監査ループがこれをコードに組み込みました:他のマーケットを決してブロックしないブリッジの配信、支払える分を支払う請求、購入の各レッグ、エアドロップの各株式、バッチの各マーケットの個別の処理、マーケットを止める代わりに、ETHを拒否する受取人のために保持される債務、ボールトを1つずつ読み取るLens、そして緊急モードを持たないモジュールのレスキュー。コード化・テスト済み、未デプロイ
  • 2026-10-05の5回の監査ループとその修正。主なもの:緊急移転の後に清算され、別のマーケットから支払われることのない帳簿。キーパーに限定されたブリッジバッチと、キーパーとオーナーに限定されたミラーボールトの事前のデプロイ。稼働中のトークンに指定されても、もう取引を壊さず、それより前の時間枠も測定しないレコーダー。ミントの前にエアドロップから除外される$STOCKFUNのローンチの実行者。ベースフィーで価格が付けられる正規ブリッジのレールのチケット。あらゆる深さでのストレージのチェック。そして上記のルール。各修正には回帰テストがあり、その日の終わりには614件のFoundryテストが合格しています(RPCがないため、3つのフォークテストのスイートはスキップ)。未デプロイ
  • キーパーのエアドロップのステップとdappの請求画面(2026-10-05)、そしてキーパーの新しい役割:フックとロックが受取人のために保持している分の支払い、失敗し続けるものについてのアラート、各株式のレッグの個別の計画、再起動をまたいで保たれる状態ファイル、LP手数料の日次の回収。未デプロイ
  • 2026-10-06の、5回目の監査ループでのオフチェーンの見直し:キーパーは、2026-09-27の決定どおり、エアドロップの時間枠ごとに1回ボールトのETHを変換し、各トランザクションをそのレシートを待つ前に記録し、状態フォルダーにロックファイルを保持し、失敗するしかない購入のためにOndoのアテステーションの代金を支払うことはもうありません。バスケットに含められる株式は最大5つです。Lensは各ボールトの状態と債務を含みます。$STOCKFUNのローンチのスクリプトは、止まった実行を再開します。アプリは、ボールトに対して負われているETHを数え、まだ移動中の株式のために請求に余裕を残し、トークンが拒否した株式を記憶し、読み取っていない数値を決してゼロとして表示しません。619件のFoundryテストが合格しています(RPCがないため、3つのフォークテストのスイートはスキップ)。同日のプライベートチェーンでのリハーサルでは、キーパーを2つの時間枠にわたってエンドツーエンドで実行し、6つのシナリオに合格しました。キーパーとdappを参照してください。未デプロイ
  • 2026-10-06に修正された、リハーサルでの発見:キーパーは、マーケットのボールトに新たに送るものがない場合でも、エアドロップのコントラクトがそのマーケットのために保留している株式を割り当てます。そのため、一度取引されたきり静かになったマーケットが、最初のエアドロップをホルダーの手の届かないところに置いたままにすることはもうありません。しきい値を下回っていたボールトは、自身の時計ではなく、その時間枠によって記録されます。また、ローカルのデプロイファイルは、キーパー、アプリ、ワーカーが使う前にチェーンと照合されます。620件のFoundryテストが合格しています(RPCがないため、3つのフォークテストのスイートはスキップ)。キーパーを参照してください。未デプロイ
  • 2026-10-06に修正された、6回目の監査ループ:正規ブリッジでは、キーパーは、各チケットを、その送金の計上に関係なく、実行されたと分かるまで監視し、送金はリモートハブのイベントによってだけ計上します。ボールトのUSDCは、2026-09-27にETHについて決定されたとおり、そのETHの各変換の後に1回、それ以外の場合は時間枠ごとに最大1回送られ、Robinhood Chain上での購入は引き続き周回ごとに実行されます。送るものがないボールトについて、何も割り当てられない保留株式の探索が毎日送られることはなくなりました。しきい値を下回るボールトは、時間枠が閉じた後に読み取った残高で確認されます。各ボールトは自身のルーターで見積もられます。Lensが$STOCKFUNの価格を読み取れない間、アプリはそれに「(last read)」と印を付けます。キーパーを参照してください。未デプロイ
  • 2026-10-06に修正された、7回目の監査ループ:キーパーは、送付のコストに見合う価値のあるものだけをエアドロップへ送り、ブリッジが運べないダストは、もはや送るべきものとして数えられません。各正規チケットを、まずその作成のレシートから読み取るため、有効な入金が実行済みと見なされることは決してありません。すべてのログ探索は最新ブロックより数ブロック手前で止まります。設定とは別のチェーンに対応したRPCでは起動を拒否します。アラートのWebhookが受け取らなかったものは保持して再送します。空の設定はそのデフォルト値になります。アプリのデータWorkerは、アップグレード可能な各コントラクトを個別に読み取り、取引の読み取りが失敗する間は24時間の出来高を不明として表示し、各エンドポイントのチェーンを確認します。価格チャートは各点をその時刻に置きます。620件のFoundryテストが合格しています(フォークファイル以外の615件と、公開RPC上のRobinhood Chainのフォークスイートの5件。RPCがないため、Ethereumの3つのフォークスイートはスキップ)。キーパーの277件、sharedパッケージの51件、バックエンドの9件、ワーカーの137件のテストが合格しています。キーパーとdappを参照してください。未デプロイ
  • 2026-10-06にコード化された、Robinhood Chain上の価格フィードの保護:オラクルは、トークンがコーポレートアクションのためにオラクルが一時停止中であることを示している間、その株式の価格を差し止め(すべての株式でオン)、Chainlinkのシーケンサーのアップタイムフィードが、シーケンサーが停止しているか復旧した直後であることを示している間、すべての価格を差し止めます。Robinhood Chainにはそのようなフィードが存在しないため、2つ目のチェックは、それが公開されるまで、明示的な選択によってデプロイ時にオフになっています。どちらもオーナーの設定で、Ethereum上ではオフです。Robinhoodレールを参照してください。未デプロイ
  • 2026-10-06に修正された、8回目の監査ループ:アプリのローンチのフォームは、チェーンから読み取ったバスケットだけを提示し、送信の前に、選ばれたバスケットをもう一度確認します。キーパーは、ブリッジバッチのブロックが数ブロックの深さになってからそれを追跡し、ブリッジのダストと手数料を見積もれない株式とを区別し、異なるアラートごとに待機中のアラートを1つ保持し、RPCのチェーンを読み取るまで別のチェーンの状態ファイルを保持し、両方のチェーンIDを必須とし、最新ブロックより数ブロック手前でチケットを読み取り、ローカルのレールでの開始を一度だけ数えます。キーパー、そのプリフライトとインスペクター、Worker、アプリは、価格フィードの保護に対応しました。Workerの取引ウィンドウは決して後戻りせず、取引パネルはホワイトリストのウォレットに通常のタックスを課します。640件のFoundryテストが合格しています(フォークファイル以外の633件と、公開RPC上のRobinhood Chainのフォークファイルの7件。RPCがないため、Ethereumの3つのフォークスイートはスキップ)。キーパーの306件、sharedパッケージの51件、バックエンドの9件、ワーカーの155件のテストが合格しています。キーパーとdappを参照してください。未デプロイ
  • Sepoliaが2026-10-06に有効にした、EthereumのGlamsterdamアップグレードのもとでのエアドロップ配信のガス:同日の創業者の決定です。キーパーは各配信をシミュレーションし、StockFunのオーナーがリモートハブ上で設定する範囲内でそのガスを選び、それでも滞留した配信を再実行し、2回目の失敗ではアラートを出します。コード化とテストが済み、テストネット実行にはアップグレードによって適用されましたが、メインネットには未デプロイです。キーパーを参照してください
  • 2026-10-06に、LayerZeroのテストネット実行での発見とともに修正された、9回目の監査ループ:キーパーは、自身の最後のトランザクションのブロックで1分間読み取り、次に送るもののガスもそこで見積もり、各トランザクションに見積もりに25 %を加えたガスを与え、待機中のアラートを最後に発生した順に届け、自身の実行が削除したチケットについてアラートを出すことはもうなく、そのプリフライトはテストネットのデプロイ上で動作します。Workerは、Cloudflareのオブジェクトがスリープしている間も、RPCについて得た情報を保持し、Robinhood Chain自身のブロックを記録します。アプリは、各書き込みトランザクションにそれ自身のガスの上限を与え、推定値であるトレジャリーの額に印を付け、読み取れなかった承認を、承認なしと見なすことは決してありません。このループ以降、2つ目のエージェントが、各修正をプッシュの前に見直し、その発見も同じように修正されます。653件のFoundryテストが合格しています(フォークファイル以外の646件と、公開RPC上のRobinhood Chainのフォークファイルの7件。RPCがないため、Ethereumの3つのフォークスイートはスキップ)。キーパーの370件(ゲートの最後の修正の後は372件)、sharedパッケージの51件、バックエンドの9件、ワーカーの189件のテストが合格しています。テストと検証を参照してください。メインネットには未デプロイ
  • 2026-10-06に修正された、10回目の監査ループ:デプロイのすべてのブロードキャストがノードのガスの見積もりを使います。デプロイツール自身の数値は、Glamsterdamのもとではどの作成にも足りないからです。ブリッジバッチのRobinhood Chain上の最後のステップは、基本分にマーケットごとの分を加えたガスを受け取り、1つのバッチは最大17マーケットで、キーパーはそれ以上は送らず、停滞したバッチがどの段階にあるかを示します。キーパーの緊急移転の監視は、コントラクトをグループに分けて指定し、エラーテキストはRPCアドレスのうちホストだけを残し、キーパーはすべてのマーケットをMulticall3を通じて読み取ります。アプリは、ウォレットがキャンセルしたトランザクションを完了と表示することは決してなく、1分間は、自身の最後のトランザクションのブロック以降のブロックで読み取ります。テストネットのブリッジアダプターはアップグレードされ、次のバッチを運びました。662件のFoundryテストが合格しています(フォークファイル以外の655件と、公開RPC上のRobinhood Chainのフォークファイルの7件。RPCがないため、Ethereumの3つのフォークスイートはスキップ)。LayerZeroのテストネットのプロジェクトの2件も合格しています。キーパーの400件、sharedパッケージの51件、バックエンドの9件、ワーカーの210件のテストが合格しています。テストと検証を参照してください。メインネットには未デプロイ
  • 2026-09-27に決定された、中断されたサイクルの残余を次のサイクルで完了すること:キーパーは、しきい値に関係なく、ボールトがまだ保有している資金を、遅くとも次の時間枠で先へ進めます

リポジトリがコンパイル可能な状態を保つ手順に分けた実装の順序が、projet/docs/FUNCTIONAL_AUDIT_2026-09-28.mdに記録されています。

2026-09-27に決定、未実装

クリエイターバイバックとブリッジの復路は、2026-09-28にコントラクト、キーパー、バックエンドから削除されました。2026-10-04以降はエアドロップのコントラクトが、2026-10-05以降はキーパーのエアドロップのステップとdappの請求画面がコードに含まれており、コード化・テスト済みですが、デプロイされていません。株式アダプターはまだコードにありません。後述を参照してください。リポジトリのアプリは、もうTreasury Ratioを表示していません。

もう何もありません。キーパーの日次のエアドロップのステップと、dappにおけるホルダーの請求画面は、2026-10-05以降コードに含まれており、中断されたサイクルの残余は次のサイクルで完了します。キーパーは、しきい値に関係なく、ボールトがまだ保有している資金を先へ進めます。上記を参照してください。

doc/内の文書とランディングページの仕様は、2026-09-27にこの決定に合わせて更新されました。コードでは、クリエイターバイバックの削除が完了しており、2026-10-04以降は、取り分の計算と請求を備えたエアドロップのコントラクトも、2026-10-05以降は、キーパーのステップと請求画面も完了しています。

2026-09-28に決定、未実装

  • ラップされた株式をEthereumへ運ぶ株式アダプター(株式ごとに1つ):Robinhood Chain上のロックボックス型アダプターと、Ethereum上のそのOFTです。LayerZeroのoft-evmパッケージを必要とし、メインネット用のものはリポジトリにありません。テストではモックを使っており、2026-10-06のLayerZeroのテストネット実行では、そのパッケージで作ったテスト用のアダプターを使いました。Ethereum上での請求は2026-10-04以降、dappにおけるその画面は2026-10-05以降コード化されています
  • オーナーが保持する、株式アダプターのLayerZeroの設定。遅延期間も引き出しの上限もなし

2026-09-11に決定、一部のみ反映

OndoからRobinhood Chainへの移行は確定しており、レールのコードも存在します。プロジェクトのソース文書は、すべてが更新されたわけではありません。ソース文書の正誤表を参照してください。

実環境で一度も検証されていないこと

  • メインネットへのデプロイは行われていません
  • メインネットでは、LayerZeroによる転送は一度も実行されていません。2026-10-06に、LayerZeroのテストネット実行が、LayerZeroの実際のテストネットのエンドポイント、DVN、エグゼキューターの上で、SepoliaとRobinhood Chainのテストネットの間で、ブリッジバッチとエアドロップ配信を運びました。1時間ごとの時間枠7つとエアドロップのサイクル6つで、すべての請求は計算された取り分とぴったり一致しました。この実行は、テスト用の株式、テスト用のアダプター、テスト用のUSDG、モックのフィードを使いました。PaxosのUSDGのペアも、Robinhoodの株式とそのアダプターも、実際のフィードと流動性も、メインネットのガス、手数料、ファイナリティも証明しません。Robinhoodレールを参照してください
  • 既存の形式証明は、現在のクロスチェーンのレールをカバーしていません
  • LiquidityLockの形式仕様の7つのルールは、1つのメソッドlockProtocolLiquidityについて、より長い制限時間でもプローバー上で未決のままです。他のすべてのメソッドでは成り立ちます。修正後のコードに対する2026-10-01の再実行では、違反したルールは見つかりませんでした
  • 形式仕様は、2026-10-02の再設計に合わせて更新中です。プローバーでの最後の完全な実行は2026-10-01で、再設計より前のものです。2026-10-04のエアドロップについては、変更されたコントラクトに関わる5つの仕様が型チェックに合格していますが、プローバーでは実行されていません。2026-10-05には、仕様がまず設定に合わせて、次に同日の監査ループに合わせて更新されました。監査ループは、フックの債務と紛れ込んだ資金、ロックが保持している取り分、そしてすべてのレスキューについてのルールを追加しました。仕様は型チェックに合格していますが、2026-10-01以降、プローバーでは実行されていません。2026-10-06に書かれた、価格フィードの保護についてのオラクルの新しいルールも同様です
  • 2026-10-05に書かれたキーパーの債務の支払い、LP手数料の回収、アラート、状態ファイルは、そのテストによって、そして2026-10-06以降はプライベートチェーンでのリハーサルによってカバーされています。時間枠ごとに1回の変換、エアドロップ、ETHを拒否するボールトとその債務の支払い、状態ファイルとそのロックファイルを伴う処理途中での停止、LP手数料です。ブリッジのレールはそこでは実行されませんでした。2026-10-06のLayerZeroのテストネット実行で、キーパーによってエンドツーエンドで実行されましたが、実際の条件下では一度も実行されていません
  • 外部レビューは実施されていません

メインネット前にまだ決めるべきこと

  • Robinhood Chain上のフィードのカバー範囲に関する最新の調査。また、Chainlinkがそのチェーンのシーケンサーのアップタイムフィードを公開した場合は、それをオラクルに設定すること(2026-10-06時点では存在しない)
  • PaxosのUSDGがRobinhood Chainへ向かうLayerZeroの経路のサイズ制限を、最初のバッチの前に読み取ること。それがデフォルトの10,000バイトと異なる場合は、ブリッジバッチのマーケット数の上限をそれに合わせて設定すること(10回目の監査ループ以降)
  • $STOCKFUNポジションの開始FDVと上限
  • 上に挙げた、エアドロップについて残っている作業:株式アダプター。そのパラメータは2026-10-04以降決まっています:キーパーによるプッシュなし、上限なし、最低額なし、期限なし、トークンごとの除外リスト
  • Treasury Ratioに代わる指標、そして蓄積するトレジャリーを描いているスローガンとタグライン
  • まだオーナーの決定を待っている、2026-10-01に行われた監査の第2ラウンドの指摘:文書化された配分ルールを変更することになる、最後の株式のマージンのコントラクト側での対応(R2T-1)、そして任意で、$STOCKFUNのボールトをファクトリー自身にデプロイさせること(R2F-2)。2026-10-05以降、ETHを拒否するボールトがそのマーケットを止めることはもうないため、R2F-2が述べていた停止は、そのようなボールトからはもう生じません

2026-10-05に決着したこと。2026-09-29の監査からは、目にした人なら誰でも使えてしまっていたOndoのアテステーション(M-7)と、自分自身を受取人として受け入れていたルーター(L-4)が修正され、ブリッジアダプターの差し替え(M-2、およびそれに関連するL-8)は、オーナーの決定により現状のまま維持されます。第2ラウンドからは、買いのタックスをPoolManagerのクレームとして徴収すること(R2F-1、option b)は見送られ、タックスは現在の徴収方法のまま維持されます。リモートハブの記録済みの資金に対する緊急リカバリーで、その記録がその後、他のマーケットの資金から支払われていたもの(R2H-1)は、同日の一連の監査ループによる清算の手段と1つの手順によってカバーされ、正規ブリッジのレールでは、オーナーが移転の前にリモートハブを一時停止します。そして、キャッシュレッグのトークンが1つのミラーボールトを拒否するケース(R2H-2)は、4回目の監査ループ以降、もう何もブロックしません。そのボールトへの配信はそれだけで待機し、他のマーケットには支払われます。