Re-Launch 8/2/2021 / Post Mortem
We have set a re-launch date of 8/2/2021 22:00 UTC, this is to give all the OGs that were there for the launch as well as you newcomers some time to prepare!
The rockets were fueled, the weather was clear and liftoff was commencing! 3 minutes into flight the alarms started blaring and a CRITICAL MEME ERROR was detected!! The launch was instantly aborted and the brave souls that partook in the first moments of meme history were sent safely sailing back home, with all their BNB in hand!
It’s not how we imagined it, it’s not how you imagined it, but the damage was minimal and the integrity of the memes prevailed!
So what happened?
We lost track of how many times we tested on testnet, redeemed every single distro pack, redeployed and did it again and again. Everything seemed great and the launch happened right on schedule. Within a couple minutes we realized that packs were not generating NFTs, we promptly disabled all the packs to investigate, and after about an hour we made the call to refund the BNB that made it through and dig deeper into what was going on.
We thought it was a simple human error at first, we had IDs mixed up for 2 of our player NFTs that were in the packs, but this would have only resulted in those NFTs being skipped since they were never created and wouldn’t be causing the issue. After digging further, we realized the default ERC1155 NFT contract we had been testing with had a mint function that differed slightly from the DEGENR contract we are using for our mainnet NFTs.
The ERC1155 contract we were testing with passed in a _to address to the mint function, which sent along the newly minted NFT directly to the address.
The contract on mainnet had a mint function that mints directly to the sender, which in our case was the contract.
The fix seemed simple enough, update the contracts to use the proper params, and then transfer the NFT from the contract to the address.
Easy Peasy …
Except …
It wasn’t as simple as we thought. We needed to update both the store and card pack contracts to be valid ERC1155 Receivers in order for the NFT contract to first mint to the contract then be sent along to you, so you can enjoy your memeified NFT in all its spender!
After making sure our test NFT contract lined up with mainnet, we did a ton of testing both on testnet and on mainnet using the live NFT contract for our final test, and we feel confident we are ready for the memes to take over defi and fill your bags with $MNOP!
Some Info About Testing on Mainnet
To make sure there were absolutely no question marks, we added an extra Po’ Boy distro Pack (41 instead of 40) when we deployed the contracts, this let us test a full distribution pack through chainlink, minting from the live NFT contract and making sure it was delivered. This gave us 1 common NFT and 62.5 MNOP. We promptly burned the MNOP and will use this “You can do it” card for a future giveaway (and some fitting motivation for the team) . We also took a test roll in the game to make sure chainlink integration was working properly and there were no more surprises!
The end result is the same amount of packs with the same amount of distribution (100k MNOP). Taking the first roll triggered the Moon Jackpot to mint it’s first bonus, so that is where the extra 250 MNOP comes from, (the jackpot’s fate is up to you all soon ;)
Check out the available packs and keep an eye on the countdown here: https://memenopoly.finance/store