Rules
Coldsleep Ark is the upstream half of Hackou's Silver River; the voyage ends at the Dragon Gate of KOI GATE. Every rule below is enforced by the verified contract. Each line names the function or constant that does it, so you can check it yourself.
Published by Hackou (hackou.com, @HackouTW). Ark contract: . Source on BscScan and Sourcify
Time is counted in 12-hour watches from the moment the contract was deployed. Watch 0 starts at deployment.
LAUNCHED_ATWATCHcurrentWatch()watchEndsAt(w)Boarding is open during watches 0 and 1 (24 hours), until all 999 boarding pods are taken.
boardingOpen()BOARDING_WATCHESMAX_SUPPLYFor the first hour only wallets holding a .ai Agent ID can board. After that any wallet can board.
AGENT_ONLYagentOnlyUntil()hasAgentId(address)Price per pod: 0.001 BNB for pods #1–333, 0.002 for #334–666, 0.003 for #667–999. Up to 10 boarding pods per wallet (relief berths are counted separately, rule 11). Anything paid above the price is returned in the same transaction.
PRICE_1PRICE_2PRICE_3quote(qty, withSpare)MAX_PER_WALLETmint(uint256)Pods #1–333 carry the Genesis Crew mark. Pod #999 carries the Last Berth mark.
GENESIS_PODStokenURI(id)A spare cell costs 0.0005 BNB per pod and can only be added at boarding. It keeps the pod asleep through one fully missed watch, and is used up the first time it is needed. It does not replace the heartbeat in watch 8.
SPARE_CELL_PRICEmintWithSpare(qty, crewmate)statusOf(id)Each pod needs one heartbeat in every watch (the watch it boards, takes a relief berth or is revived counts as sent). A heartbeat has no fee. It can be sent by the pod's owner, a wallet the owner approved for all their NFTs, or the keeper the owner set.
heartbeat(ids)setKeeper(address)needsHeartbeat(owner)The first 4 hours of each watch are grace: a pod that missed the previous watch can still send its heartbeat.
GRACEinGrace()A pod that missed a watch and did not send a heartbeat by the end of the grace window is vented. The NFT stays with its owner.
statusOf(id)= 2A vented pod can be revived once, for 0.003 BNB, before watch 8 begins.
revive(id)REVIVE_PRICEDuring watches 3–6, berths left by vented pods reopen. The number open is vented pods minus relief berths already taken. Price per berth: 80% of the hold divided by the pods asleep, and at least 0.002 BNB. Up to 10 relief berths per wallet, on top of its 10 boarding pods.
reliefSlots()reliefPrice()relief(qty, crewmate)Every payment is split when it arrives between the hold, the operator and — when the buyer used a crew link from a pod holder (not for revives) — that crewmate. The shares are the constants in the source.
HOUSE_BPSCREW_BPSholdcrewRewardOf(address)A pod that sends its heartbeat during watch 8 has reached landfall. Once a pod has arrived, that cannot change.
ARRIVAL_WATCHarrivedCountisSurvivor(id)When watch 8 ends (4.5 days after deployment) anyone can seal the voyage. The caller receives 0.3% of the hold, at most 0.003 BNB. The rest of the hold is divided equally between the pods that reached landfall.
seal()sharePerSurvivorOwners of pods that reached landfall claim their share within 30 days of the seal. Once the claim window has closed, anyone can call
sweep()to send shares left unclaimed to the fixed payee address.claim(ids)CLAIM_WINDOWsweep()The operator's share stays in the contract until the 24-hour boarding window has ended (watch 2), even if every pod sells earlier. After that anyone can send it to the fixed payee address.
withdrawHouse()Crew rewards can be withdrawn at any time.
withdrawCrewReward()The contract has no owner and no admin functions, and it cannot be upgraded. After deployment nobody can change the rules, the prices, the shares or the payee. Pod images are drawn on-chain by a separate renderer whose address is fixed.
PAYEERENDERER(both immutable)Gate gift: each pod that reaches landfall can claim a Gate gift in KOIN from the KOI GATE contract. The amount per pod is that contract's
Q3_PER_SURVIVOR(), for at mostQ3_MAX_IDS()pods in total (relief and revived pods that land count too); once that many have claimed, it stops. After this ark is sealed and the Dragon Gate is open, anyone can callclaimQ3(ids)there; the KOIN goes to the pod's owner, once per pod.this contract
isSurvivor(id),isSealed; KOI GATEclaimQ3
規則
下面每一條都由已驗證的合約執行。每條都寫出負責的函式或常數,你可以自己核對。
由 Hackou 發行(hackou.com、@HackouTW)。方舟合約:。原始碼見 BscScan 和 Sourcify
時間以 12 小時的「守望」計算,從合約部署那一刻起算,部署時是守望 0。
LAUNCHED_ATWATCHcurrentWatch()watchEndsAt(w)守望 0 和 1(24 小時)可以登艙,999 艙登滿就停止。
boardingOpen()BOARDING_WATCHESMAX_SUPPLY第一個小時只有持有 .ai Agent ID 的錢包能登艙,之後任何錢包都能登艙。
AGENT_ONLYagentOnlyUntil()hasAgentId(address)每艙價格:#1–333 是 0.001 BNB,#334–666 是 0.002,#667–999 是 0.003。每個錢包最多登艙 10 艙(補位另外算,見第 11 條)。多付的部分在同一筆交易退回。
PRICE_1PRICE_2PRICE_3quote(qty, withSpare)MAX_PER_WALLETmint(uint256)#1–333 帶「首航艙」標記,#999 帶「最後一艙」標記。
GENESIS_PODStokenURI(id)備用電池每艙 0.0005 BNB,只能在登艙時加購。它讓艙撐過一個完整漏掉的守望,第一次需要時就會用掉。它不能代替守望 8 的心跳。
SPARE_CELL_PRICEmintWithSpare(qty, crewmate)statusOf(id)每個艙在每個守望都需要一次心跳,不收費(登艙、補位、重新喚醒的那個守望算已送過)。可以由艙主、艙主授權管理全部 NFT 的錢包,或艙主設定的守夜人送出。
heartbeat(ids)setKeeper(address)needsHeartbeat(owner)每個守望的前 4 小時是寬限:漏了上一個守望的艙,這段時間內仍然可以送心跳。
GRACEinGrace()漏掉一個守望、到寬限結束都沒送心跳的艙會被彈出。NFT 仍留在艙主手上。
statusOf(id)= 2被彈出的艙可以在守望 8 開始前花 0.003 BNB 重新喚醒一次。
revive(id)REVIVE_PRICE守望 3–6,被彈出的位置重新開放。開放數量是已彈出的艙數減去已補位數。每艙補位的價格是「艙底物資 ÷ 還在睡的艙數」的 80%,最低 0.002 BNB。每個錢包最多補位 10 艙,和登艙的 10 艙分開算。
reliefSlots()reliefPrice()relief(qty, crewmate)每一筆付款到帳時,就分配給艙底物資、團隊,以及(買家用了持艙者的推薦連結時,重新喚醒除外)推薦人。比例是原始碼裡的常數。
HOUSE_BPSCREW_BPSholdcrewRewardOf(address)在守望 8 送出心跳的艙就算靠岸。
ARRIVAL_WATCHarrivedCountisSurvivor(id)守望 8 結束後(部署後 4.5 天),任何人都能按下靠岸結算。按下的人拿結算賞金:艙底物資的 0.3%,最多 0.003 BNB;其餘由所有靠岸的艙平分。
seal()sharePerSurvivor靠岸的艙主在結算後 30 天內領取份額。領取期結束後,任何人都能呼叫
sweep(),把沒領走的份額轉到固定的收款地址。claim(ids)CLAIM_WINDOWsweep()團隊的份額在 24 小時登艙期結束(守望 2)之前都留在合約裡,就算提早賣完也一樣。之後任何人都能把它轉到固定的收款地址。
withdrawHouse()推薦所得隨時可以提領。
withdrawCrewReward()合約沒有 owner、沒有管理員函式,也不能升級。部署之後沒有人能改規則、價格、比例或收款地址。艙的圖像由另一個地址固定的合約在鏈上繪製。
PAYEERENDERER(都是 immutable)龍門禮:靠岸的艙,再領一份龍門禮,由鯉門合約發放。每艙的數量是鯉門合約的
Q3_PER_SURVIVOR(),鯉門總共最多發Q3_MAX_IDS()艙(補位、重新喚醒後靠岸的艙也算),領滿就停。方舟靠岸結算、鯉門龍門已開之後,任何人都能按claimQ3(ids),KOIN 給艙的持有人,每艙一次。本合約
isSurvivor(id)、isSealed;鯉門合約claimQ3