BONE Token minting and renouncing process:
When BONE token was deployed the system around it was built to protect the investors from anyone including the admins or any human intervention. It was additionally protected by adding a Timelock contract which was controlled by a decentralized multisig wallet. This adds to the complexity of minting the remaining BONE and renouncing the ownership of the BONE contract to another level. We also do not get many/any retries on mainnet so there is no margin for error, everything has to be tested throughly multiple time so there are no losses.
BoneToken Address: 0x9813037ee2218799597d83D4a5B6F3b6778218
BoneToken Owner: 0x94235659cF8b805B2c658f9ea2D6d6DDbb17C8d7 (TopDog the Farming contract )
TopDog Owner: 0x67B5B1f23c373fb1252572f667d3F6E28B50Fe5c (TimeLock)
TimeLock Owner: 0x4267A3aD7d20c2396ebb0Fe72119984F7073761C (Proxy using Gnosis Safe, 6/9 multisig address for additional safety )
Gnosis Safe Owners
Threshold: 6 / 9
Steps involved :
- Instead of having the multisig sign 150+ transactions transfer ownership of Timelock contract to the Deployer wallet: 0xc7D0445ac2947760b3dD388B8586Adf079972Bf3
- Allocation points for all pools:
Set the allocation points of all the pools to 0, this will ensure that no other pools receieve any BONE emissions
- Set mint percent for xSHIB, xLEASH, tBONE to 0
- Set locking value to BONELOCKER to 0
- Create a dummy token Calcium: This token is being created only for specific purpose to mint and renounce BONE please do not trade this token as it will not have any future value or need. If someone is selling this please consider this as scam.
- Create a new pool CAL-ETH in ShibaSwap to get LP tokens.
- Add the LP tokens to TopDog:
function add(uint256 _allocPoint, IERC20 _lpToken, bool _withUpdate) public onlyOwner;
- Create a New Liquidity Pool
- Stake in the New Pool:
We will add liquidity for the freshly minted Calcium token into ShibaSwap
function deposit(uint256 _pid, uint256 _amount) public;
- Update Reward Per Block:
Update the number of BONE tokens created per block. This will affect how quickly the BONE tokens are minted.
function updateRewardPerBlock(uint256 _perBlock) public onlyOwner;
- Mint BONE to desired value
- Set Bone per Block back to 0
- Renounce BONE contract
Since TopDog contract’s owner is set as TimeLock so Inside TimeLock first transaction needs to be initiated by the gnosis and then after grace period over it will be executed by the admin (gnosis).
The time difference between queueTransaction and executeTransaction is eta period which should be minimum current time + 1 day and it should be executed before eta + grace period, where grace period is set as 14 days.
Process to use TimeLock contract
- Queue Transaction: First, need to queue a transaction in the TimeLock contract to call the minting function in the TopDog contract. This sets up a delayed transaction that can be executed after the time specified by the delay variable in the TimeLock contract.
// Example function call to queue the transaction in TimeLock queueTransaction(addressOfTopDog, 0, "mintBoneTokens(address,uint256)", encodeABI(yourWalletAddress, 20000000 * 10 ** tokenDecimals), eta);
- Execute Transaction: After the delay has passed, you can execute the transaction to actually mint the tokens.
We have already started this process but like anything it will need to be done very carefully and will take as much time as needed to finish.
Our primary responsibility and devotion is to Shib. While we aim to educate everyone on the importance of "Doing Your Own Research" (DYOR), the final decision rests with each individual, tailored to their specific circumstances.
We remain committed to developing technologies that align with Shib's and Ryoshi's vision of decentralization, ensuring that you, me, and future generations can truly lead a self-sovereign life. On a lighter note, going forward, we will only accept gratitude in the form of actual Lambos or Porsches—no toys or digital versions, please!
May peace be upon you and also on all haters.