There is no official website, no twitter, no discord, and no official roadmap. The only exists thing that is the RAAS contract code. Code is the law and the foundation of trust.
We have noticed that more and more NFT project officials claim that their wallets have been compromised by hackers or anonymous project mole to obtain the ownership of contracts.
therefore the project founder declaring that the NFT project is bankrupt and will not build, the community members also questioned that the NFT project founder had rug pull.
For hackers, the ownership of an NFT contract has no more value, but for NFT project community, the ownership of an NFT contract is the cornerstone of the community's trust. Once the ownership of the contract is lost for a long time and cannot be taken back, the community will soon die in a murmur of doubt.
Hackers who cannot obtain income from the ownership usually do not kindly spend gas to return the contract owership to the project community. However, because the hacker and the project founder do not trust each other, the project founder will not directly transfer ETH to the hacker to try to obtain the ownership of the contract. So it's a lose-lose game.
Use the free public function existsValidOwnershipTrade(address _targetContract)
of RAAS to query whether the target contract is currently available for purchase, returning true means that it is currently available for purchase, and returning false means that it is currently unavailable for purchase.
Use the free public function getCurrentOwnershipPrice(address _targetContract)
of RAAS to query the current price of the target contract ownership, and the unit of returned result is wei.
Send the ETH (wei) of the price in step two, and call the buyOwnership(address _targetContract)
function of RAAS to buy the targe contract ownership.
The seller need calls the depositedOwnershipWithFixPrice
or depositedOwnershipWithDutchAuction
function of RAAS and storing the sell information about the ownership of the target contract.
the depositedOwnershipWithFixPrice
function is to sell contract ownership at a fixed price for a limited period of time. The function prototype is as follows:
depositedOwnershipWithFixPrice(address _receiveETHAddress, address _targetContract, uint256 _fixBuyPrice, uint256 _durationDays, uint256 _expireOperation)
The _receiveETHAddress parameter is the address where the seller receives the ETH sent by the buyer;
The _targetContract parameter is the address of the target contract to sell the ownership;
The _fixBuyPrice parameter is a fixed price for selling contract ownership, the unit is wei, for example, passing in the value of 1000000000000000000
means that the price is 1 ETH; It should be noted that the price of _fixBuyPrice cannot be lower than the currentMinBuyPrice value in RAAS contract.
The _durationDays parameter is the total duration of days for the sale. The valid range of the parameter value is an integer from 1 to 30, indicating that the sale lasts for 1 - 30 days;
The _expireOperation parameter is the disposal method for the target contract ownership after the sale expires. The valid range of the parameter value is 0, 1, 2; 0 means that after the sale expires, the seller can retrieve the ownership of the target contract from the RAAS; 1 means the sale to After the expiration, the contract's ownership will be destroyed; 2 means that the target contract ownership will be permanently retained in RAAS after the sale expires. Of course, RAAS cannot do anything with the target contract ownership, which means that the authority is permanently imprisoned.
The depositedOwnershipWithDutchAuction
function is basically the same as depositedOwnershipWithFixPrice
, The difference is that it can sell contract ownership for a limited period of time at a price within a specified range, and the price of purchasing will gradually decrease from the _maxBuyPrice price to the _minBuyPrice price, until it becomes unavailable for purchase. the function prototype is as follows:
depositedOwnershipWithDutchAuction(address _receiveETHAddress, address _targetContract, uint256 _minBuyPrice, uint256 _maxBuyPrice, uint256 _durationDays, uint256 _expireOperation)
It should be noted that the price of _minBuyPrice cannot be lower than the currentMinBuyPrice value in RAAS contract.
The seller needs to call the transferOwnership function of the target contract to transfer the ownership of the target contract to the RAAS contract.
After the above two steps, the transaction of a sales contract is valid. Anyone can check whether a trade is currently effective through the public free existsValidOwnershipTrade(address _targetContract)
function of RAAS.
Finally, the seller also informs the buyer (project founder/community members) that the target contract ownership has been sold in RAAS, this is the only way to rescue the project, they have to spend a certain amount of money to rescue the project within the time you set, Otherwise, the contract ownership may be destroyed or retrieved by yourself.
The last, if the ownership has exceeded the sale period and has not been successfully sold, the seller can call the sellerRetrieveOwnership(address _targetContract)
function of the RAAS contract to try to retrieve the contract ownership for free or permanently destroy the ownership,the exact operator depends on the seller's settings in step one. After the permission is permanently destroyed, an NFT will be minted for the seller.