COINCASO網編輯分享:FILLocked合約开源 保障數字資金安全
概述
FILLocked合約地址為:0x1cd2647aAf1Bb5c0f6FC89a2e6C9af59E8C11982,該合約目前已經進行开源,並且丟棄管理權限。FILLocked合約的主要功能是與FIL2Control合約進行交互。
基本參數和封存對象
FILLocked合約中定義了一些基本參數和封存對象的結構。一年的區塊數量被定義為uint256類型的year變量,合約總封存數量定義為uint256類型的lockedAmount變量。另外,封存對象的結構包括用戶地址、封存區塊高度、封存數量、記錄價格、解鎖區塊高度以及已經解鎖數量等。
設置價格參數地址
FILLocked合約中提供了setFilPriceAddr函數,用於設置價格參數地址。在此函數中,需要通過驗證操作账戶的權限,然後將傳入的_filPriceAddr參數賦值給filPriceAddr變量。
查詢我的質押
合約中的getMyDeposits函數用於查詢用戶的質押情況。該函數需要傳入一個blockNumber參數作為查詢條件,然後通過調用getAddNumberStr函數獲取相關信息的索引,並返回查詢結果。
解除封存
FILLocked合約中的withdraw函數用於實現解除封存的功能。在該函數中,首先需要實例化filCoin合約,並進行權限驗證。然後通過調用getAddNumberStr函數獲取索引信息,並查詢封存數據。如果封存余額為0,表示該質押已經解鎖,不再進行解鎖操作。然後判斷是否滿足提現解鎖條件,包括當前區塊高度大於設定的解鎖區塊高度或者當前價格大於質押時記錄的價格的3.5倍。接着修改解鎖數據,並將封存數量轉账給用戶。最後更新總封存數量並返回操作結果。
封存
FILLocked合約的deposit函數用於實現封存功能。在該函數中,首先需要進行權限驗證。然後記錄封存用戶地址、封存時間、封存數量以及最早解鎖區塊高度。接着將相關數據存儲到deposits映射中,並更新封存總數量。最後返回操作結果。
組裝索引和獲取余額
FILLocked合約中的getAddNumberStr函數用於組裝索引信息,將發送者地址和區塊高度拼接成字符串作為索引。另外,合約中的getTokenBalance函數用於獲取指定合約地址和账戶地址的余額。
以上是FILLocked合約的主要功能,通過开源技術保證FIL2的資金安全和規則的公平。在未來的文章中,我們將逐一分析FIL2的其他合約,與大家共同探討數字貨幣的發展和創新。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
7月23:Mt. Gox 比特幣錢包在市場緊縮的情況下轉移了價值 28.2 億美元的 BTC
7月23:Mt. Gox 比特幣錢包在市場緊縮的情況下轉移了價值 28.2 億美元的 BTC一個引...
悅盈:比特幣68000的空完美落地反彈繼續看跌 以太坊破前高看回撤
一個人的自律中,藏着無限的可能性,你自律的程度,決定着你人生的高度。 人生沒有近路可走,但你走的每...