資金卡在智能合約中
我有個問題。所以有一個名為 StarsLab 的項目在今年年初上線了。他們首先開始了 WL 銷售。我不是 WL,但能夠鑄幣,所以向團隊報告了它。他們注意到有些事情不對勁,於是暫停了薄荷糖。在他們解決了智能合約中的問題之後,他們繼續造幣廠。於是,奇怪的事情發生了。首先要做的事情:智能合約開發人員是一名自由職業者(我知道真的很愚蠢)。在薄荷糖進行的同時,其他一些報告來自具有智能合約知識的人。團隊被告知他們的智能合約開發人員做了一些奇怪的事情。據我了解,開發人員將所有者的地址(或從未寫過正確的地址?)更改為 0x 地址。所以項目的團隊是 無法從智能合約中提取資金。但奇怪的是,如果開發人員這樣做了,他/她為什麼要將所有者的地址設置為 0x 地址?所以他/她自己甚至無法從智能合約中提取資金?而且資金仍然停留在智能合約中,這很奇怪。有沒有可能從智能合約中取出資金?所以團隊又有一些資源可以使用?有沒有可能從智能合約中取出資金?所以團隊又有一些資源可以使用?有沒有可能從智能合約中取出資金?所以團隊又有一些資源可以使用?
那是智能合約地址:
0x054939c96EE1dbE06dA34661321aaBD27d6f9812
資金沒有被卡住,它們現在僅由創建者控制(0x97ce82ccb3d8d6a02c87799f1d8d8af4dad77a0e)。您需要聯繫他們,要求再次呼叫該
transferOwnership
功能。在任何情況下,創建者都不會失去對該智能合約的資金或任何其他管理功能的控制。
事實上,智能合約是一個糟糕的程式範例:所有者可能會失去對合約的控制權,就像在這種情況下一樣,但是無法更改創建者,所以他們將永遠是所有者,沒有人可以改變這一點,他們可以永遠充當所有者。
modifier onlyOwner() { require( owner() == _msgSender() || _creator == _msgSender(), "Ownable: caller is not the owner" ); _; }
我看到其他部署的智能合約具有相同的程式碼(即0xc0401c5a3e063438af065dbdba8f99a5c4060c84)。
當你將工作外化以開發智能合約時,你需要注意,否則你很容易像這樣被騙。
好的,所以你可以使用可升級契約,這是連結,https://docs.openzeppelin.com/learn/upgrading-smart-contracts
你可以創建一個新函式,它可能允許你從智能合約中提取資金,但是你不能刪除已經創建的狀態變數,你可以創建新的狀態變數和函式。希望你找到你要找的東西。