ICON, the interchain blockchain that will connect other blockchains like Bitcoin and Ethereum using ICX as the intermediary currency, was reported to have hit a ‘fatal bug’ in its smart contract code.
A Redditor brought this to notice and posted that this bug prevents any ICX from being moved from the wallets.
The flaw in the code seems to be with this modifier ‘onlyFromWallet’, whose function is to enable or disable ICX transfer from a wallet. Notice that ‘!=’ when it should have been ‘==’. The ‘!=’ means ‘not equal to’, while ‘==’ means ‘equal to’. So this piece of code does the exact opposite of what it is intended to do. The smart contract interprets the code as saying the wallet address is not equal to, or not same as, a specified address.
This flaw is inside smart contract code – and smart contracts are not easily modifiable. Changing smart contract code runs a real risk of scrapping the working of the contract itself.
As a Redditor puts it:“The big mistake is having an $800M cap project run on a smart contract that was never audited and obviously never tested.”
On the same thread, Boobcopter said:“Wow, I’m speechless. Like building a car and the only key that does not start the car is the one you give to the buyer.”
dnov says on Reddit:“How can you have millions of dollars and not invest in software testers? I mean how? No matter how good you are, some testing component should be crucial in your development process, especially at that scale.”
Binance had, very recently, announced that they will support ICON’s mainnet swap and that they have listed and added the ICX/USDT as a trading pair on their exchange platform.
ICON was priced at $1.90 before Binance’s announcement. In the days since, ICON hit a high of $2.33 on June 15th, which is close to 17% difference. At the time of press, the price is at $2.01, after falling from $2.16 at 00:00 on June 16th.
It was announced by the official ICON team that the security of the tokens themselves is not compromised.