SIL Reboot Sequence, Phase 1

SIL Finance
3 min readMar 21, 2021

--

Dear users,

SIL.FINANCE encountered service outage since launch, and the funds are all safe now. Currently the funds are not only safe, but without Impermanent losses too. Under the hood both Front Running events and rescue events conducted by SlowMist(through secret service, thanks to @Kong and @Yudan) use the burn method to withdraw assets from underlying mining pools, user’s assets were decoupled from LP state and restored to their original A/B assets. Since then, Impermanent Loss didn’t exist anymore.

The timeline of those de-LPs happened at:

The various frontrun transactions happened around at Mar-18–2021 16:37 +UTC.

The rescue transactions conducted by SlowMist happened bellow:

  • 1Mar-18–2021 23:03:47 +UTC
    0xdd328258fdbc262529f947c9d3b5779278a3f6ced1a16cfbaed5330cbb6bb91d
    175.095155180435382823 YFII
    231.048300286088908198 Ether
  • Mar-18–2021 23:08:11 +UTC
    0xd84eab1cd94d4d7b6bd7b64905a0dbbfdbb012e2f50775086bb82fb0ae86a4e4
    651,318.942405 USDT
    365.272160330315881277 Ether
  • Mar-18–2021 23:13:55 +UTC
    0xbaf09cddfa958a577f2b57794fcd9e633d63ba78a9d5046cd3d8cf6bb41c5d2f
    900,393.567264285794342215 DAI
    505.390450328727584581 Ether
  • Mar-18–2021 23:16:12 +UTC
    0x8058f674b6a3716a1c20b600274f15a102d579b392c4d0f0b2899cce63d87854
    46,759.373851557569653872 SUSHI
    522.280214435081332662 Ether
  • Mar-18–2021 23:20:41 +UTC
    0x2545c9314b6083f44dcbe81eb661037b3710962cb83bd9272d360ed6af2e2783
    651,456.650238 USDC
    364.736088798278341969 Ether

These are the after images of LP state, which is the basis we’ll calculate the user assets’ share from. After Mar-18–2021 23:20:41 +UTC, no more Impermanent Losses were imposed on the user’s assets.

Although funds are safe, the team feels very sorry about the incident and want users to actually feel the safety of their funds, also there were voices in the community that suggested the team could provide withdrawal ability to users who were in the pool at launch. After many rigorous discussions, the dev team decided to initiate a fund-returning program before reboot, under the help from SlowMist team.

There are two sub sequences of Reboot Sequence:

Funds Returning sequence:
1.1 Collect all remaining user’s funds from SIL pending queues
1.2 Calculate each user’s asset based on after image of de-LPs
1.3 prepare returning program

SIL Migration sequence:
2.1 Stop SIL master mining contract
2.2 Migrate SIL token from v1 to v2
2.3 Convert all current users’ holding of SIL from v1 to v2

The Reboot Sequence Phase 1 contains following instructions:

Funds Returning sequence[Collect all remaining user’s funds from SIL pending queues]:

  1. Deploy new version of MatchPairDelegate logic: 0x9DB73f75B4F4ffDE42CE902995123D918f3ff196 , which will move funds from pending queues to SIL dev team wallet(0xca8A05c084B18bdb0c58ca85a39eCEB30Fb5f78e)
  2. Initiate multi-sig transaction, queue action(switch MatchPairDelegate code from 0x68dF3697e657cc8392B0FC6cb4cF89b0F47795dB to 0x9DB73f75B4F4ffDE42CE902995123D918f3ff196) to timelock contract (0x672594dBc09A18cD1360E92c940670a1f2261e35)
    [already initiated by dev team, txid: 0x8dc9d84a2ed11f7ad01d782439f10fc056f0f275c95dd2284fc187db9453aa1a]
  3. Wait 24 hours for public audit
  4. Initiate another multi-sig transaction, to confirm the 2th step
  5. Call each assets’ SilMaster deposit() to move funds from actual assets storage contracts to the team’s dev wallet. The assets storage address list:
  6. YFII: 0xC36e289277B697a57b8A30611C3837aaabF8e7Cb
    DAI: 0x9ee90BDb4e8a7D24A205420132bafF1D60dc612E
    USDT: 0x54660d478f0F49Ccb8C71cD61456882615280728
    USDC: 0xA2Dfd4b4c115d012028C57Ae55B56692D655DaF9
    SUSHI: 0x751fCcF236893Ee9aF43637577c580027357E802

SIL Migration sequence[Stop SIL master mining contract]:

  1. Deploy IMintRegulator mock contract, getScale() will return (_molecular = 0, _denominator = 1), [address: 0x4e8d173ce711fb72643217dd09219fb517d691db]
  2. Initiate multi-sig transaction, queue action(call SilMaster.setMintRegulator(mockReguler), set MintRegulator to the contract on previous step)
    [already initiated by dev team, txid: 0x9536c273d53d2625484c931c9bbf78978391d3c4a2f430b5c231cad255cec17b]
  3. Wait 24 hours for public audit
  4. Initiate another multi-sig transaction, to confirm the 2th step
  5. Call SilMaster.updateSilPerBlock() in order to execute massUpdatePools() to release minted SIL tokens, also will set silPerBlock=0 in order to stop SIL minting.
    Note: silPerBlockNew = baseSilPerBlock.mul(_molecular).div(_denominator)

Currently we are in Phase 1, stopping at Funds Returning sequence[4] and SIL Migration sequence[4], please take a minute to review.

We are still in the process of coining details of further steps, especially the Funds Returning part, please stay tuned, thank you.

All currently minted SIL tokens will belong to the original minters. All user’s original assets’ values will be calculated based on after image(the time SLPs are decoupled) price.

After the SIL.FINANCE contract has passed the second-round of security audits(SlowMist, Certik), redeployment and data migration will be carried out by the dev team and users will not be affected or damaged in any way. In order to express our most sincere apology, the team has a plan to reward and compensate all users affected by this incident. The specific details are waiting for subsequent disclosure. At present, our priority is to return the funds to your hands faster and safely. Thanks goes to all early adopters for understanding and supporting the SIL team for future developments.

SIL.FINANCE team.

--

--

SIL Finance
SIL Finance

Written by SIL Finance

SIL.Finance is a single sided yield aggregator (1 click hedging) with adventurous functional #NFT farming card add-ons.

No responses yet