A Great ICO with a Rough Finish

I’m writing this as the Dev Lead of Monaco Market and CollectCoin for our great community that pushed us incredibly through our ICO. Thanks again for all the support! There will also be some technical information for those who are interested. If you don’t understand it all, it’s not a big deal. But it does represent a bit how risky blockchain development still is currently.

Update November 21st 2021

For those who are interested in the technical details: There is now a Safe Migrator contract on BSC that allows safe owners to turn their safe into a Safe contract that reduces gas costs. Richard was so kind to also provide a small user interface that creates the necessary transactions to perform the migration. It’s intended only for emergency cases such as ours and can only be performed by at least one of the actual safe owners. So safety is maintained in any case which makes this solution a beautiful one!

When DEX?

Another big thank you finally goes out to all of our supporters who have supported us the entire time despite this difficult situation!

End of update.

TL;DR

The contract balance on BSC Scan

We know what the problem is and there are some options to transfer the funds. However, we currently cannot say exactly when a solution can be provided.

A sequence of events

* Generate the timelocked wallets for the investors.
* Transfer the BNB into our multisig wallet.

You can observe the result on BSC Scan:

List of failed Finalize transactions

In the transaction details you can see that the operation to transfer the BNB to our Multisig Wallet failed with the reason ‘out of gas’.

Transaction Details showing out of gas for the send transaction

I noticed later that this operation only provided 2300 gas to the receiver to process the code to receive the BNB. Usually that is enough, with our PreSale contract it had been enough. But the new version of our multisig wallet needs more. Why? Because an event is emitted that increases interoperability and transparency on the blockchain. Good practice, but bad for us cause it consumes gas.

Why is it bad?

In addition, the contract-specific design decisions that have been added have not exactly simplified things for us. The recipient, for example, can no longer be changed.

If we had included an operation to change the receiver of the funds, then we could have switched to a metamask address. But that wouldn’t have provided much confidence, because it would have allowed me to empty the contract and run away. So you see why we had decided against that.

We had also decided not to make the status manually changeable. A subsequent switch to Refund would at least have allowed investors to withdraw their funds. I would include this safety net next time because it is in the interest of investors.

Now, after all, on the blockchain, nothing is changeable that shouldn’t be changeable. So we couldn’t remedy that with the design decisions that we described. However, after a bit of research, we were able to determine that the new version of our multisig wallet uses a proxy pattern. This pattern is often used to make contracts updatable. In this case, the proxy only handles forwarding the transactions to the actual contract and remains unchanged except for the fact that the address of the target contract can be changed. So the contract behind the proxy can be updated without the caller having to update their contract as well.

So this is our current status, where we are looking with the manufacturer of the multisig wallet contract (Gnosis) a way to update the contract so that it uses less gas. To be exact, less than 2,300. I will update the article as soon as we have a result here.

What if this doesn’t work?

I can well understand that such things are very unsettling and I would like to apologize strongly for the trouble that’s been caused. We are at the front on something new, where it bumps the one or the other time. We continue to make every effort so that our users can operate in a safe decentralized environment.

If you have any other questions, post them here in the comments and we will answer them asap. We’ll also push any updates here as soon as available!

Thank you for your understanding.

Rainer

Links

Our Contract on BSC Scan:
https://bscscan.com/address/0x2e88201b92390cb1f4901651f668aed12d3e1f14

Youtube Video:
https://www.youtube.com/watch?v=c-KZ0Vcd4tM

Safe Migrator solution provided by Gnosis:
https://github.com/rmeissner/safe-migrator

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store