Skip to content

智能合約

合約層是資金的唯一真相來源。刻意保持精簡:一個工廠、三種獎池實作、一個共用基底。

PoolFactoryOpenZeppelin Clones 最小代理模式,為每場 Loot 部署一個獎池。三種實作模板(各對應一種資產)只部署一次;每場新 Loot 是輕量代理,指向對應模板並初始化活動設定。

因此單場部署成本遠低於完整合約,大量小活動才划得來。工廠還會在創建時把當前驗證服務地址寫進獎池,即使協議日後輪替驗證者,該獎池的授權者在其生命週期內不變。

實作持有存入轉出
ETHPool原生代幣msg.value原生轉帳
ERC20Pool單一 ERC-20approve + transferFromsafeTransfer
ERC721Pool指定 NFT批次 safeTransferFrom逐 token 轉

三者共用 PoolBase(含重入防護),集中管理設定、出資帳本、狀態邏輯、領取/取回流程。

目前主網部署如下。每條網路都有自己的 PoolFactory、實作合約、驗證服務和 multisig owner。

元件Ethereum 主網BNB Smart Chain 主網
PoolFactory0x15223285C92f9bD1aFAfAB7e9B65c36B038e175D0x8b86CCc413875e80771A4cb156Df0e06268da49b
ETHPool0x56D28FF25e111d93eb536D24E70461e1c2EF9F4C0x4BB8d502a184Ab993c87116c8f087D5e46a2Ed29
ERC20Pool0xf94DaB5F8dE94DEC45B10ED81b05438823ca3c170x56D28FF25e111d93eb536D24E70461e1c2EF9F4C
ERC721Pool0x8b86CCc413875e80771A4cb156Df0e06268da49b0xf94DaB5F8dE94DEC45B10ED81b05438823ca3c17
Verifier(驗證服務)0x043B5B25Bd5a44EDb319910387F1C741F1eb4DDe0x043B5B25Bd5a44EDb319910387F1C741F1eb4DDe
Multisig owner0x50D08f2294ECD8410663A75e7D2D1AEaCd935Bc30x50D08f2294ECD8410663A75e7D2D1AEaCd935Bc3

部署元資料:

網路DeployerMultisig threshold部署時間
Ethereum 主網0x043B5B25Bd5a44EDb319910387F1C741F1eb4DDe12026-06-01 07:42:14 UTC
BNB Smart Chain 主網0x043B5B25Bd5a44EDb319910387F1C741F1eb4DDe12026-06-01 06:36:30 UTC

創建時獎池快照不可變的 config:創作者、驗證者、代幣地址、資產類型、玩法、起迄時間、最大領取人數、是否允許外部出資。並追蹤 state:剩餘餘額、累計存入與領取、出資者與領取者計數。

狀態是推算的,不另外存:

  • Pending — 開始時間尚未到,或獎池尚未有出資。
  • Active — 開始時間已到且至少有一筆出資——開放領取。
  • Ended — 時間到、名額滿或餘額歸零。

出資只在 Pending 接受。進行中的獎池固定,參與者永遠對已知餘額領取。

每位出資者的金額——ERC-721 則含 token ID——記在鏈上。某地址第一筆存入會增加出資者計數。這份帳本讓取回公平:沒人能取回超過自己出的。

每個重要動作都 emit 事件——獎池創建、出資、領取、取回、獎池結束、驗證者/實作/治理變更。索引器消費這些事件建讀取模型;任何人都能從鏈上 log 還原整場 Loot 的歷史。透明是系統屬性,不是後加功能。