Bitcoin
Bitcoin (BTC)
$77,718.00 -0.8577
Bitcoin price
Ethereum
Ethereum (ETH)
$2,314.04 -0.81892
Ethereum price
XRP
XRP (XRP)
$1.44 0.69443
XRP price
BNB
BNB (BNB)
$638.35 -0.15239
BNB price
Solana
Solana (SOL)
$86.17 -0.04617
Solana price
Hyperliquid
Hyperliquid (HYPE)
$41.07 -1.37374
Hyperliquid price
Cardano
Cardano (ADA)
$0.251639 0.56326
Cardano price
Chainlink
Chainlink (LINK)
$9.34 0.05294
Chainlink price
POL (ex-MATIC)
POL (ex-MATIC) (POL)
$0.094771 -1.50421
POL (ex-MATIC) price
Toncoin
Toncoin (TON)
$1.32 -0.92804
Toncoin price
Asteroid Shiba
Asteroid Shiba (ASTEROID)
$0.0002993 -1.21781
Asteroid Shiba price
Bitcoin
Bitcoin (BTC)
$77,718.00 -0.8577
Bitcoin price
Ethereum
Ethereum (ETH)
$2,314.04 -0.81892
Ethereum price
XRP
XRP (XRP)
$1.44 0.69443
XRP price
BNB
BNB (BNB)
$638.35 -0.15239
BNB price
Solana
Solana (SOL)
$86.17 -0.04617
Solana price
Hyperliquid
Hyperliquid (HYPE)
$41.07 -1.37374
Hyperliquid price
Cardano
Cardano (ADA)
$0.251639 0.56326
Cardano price
Chainlink
Chainlink (LINK)
$9.34 0.05294
Chainlink price
POL (ex-MATIC)
POL (ex-MATIC) (POL)
$0.094771 -1.50421
POL (ex-MATIC) price
Toncoin
Toncoin (TON)
$1.32 -0.92804
Toncoin price
Asteroid Shiba
Asteroid Shiba (ASTEROID)
$0.0002993 -1.21781
Asteroid Shiba price
Bitcoin
Bitcoin (BTC)
$77,718.00 -0.8577
Bitcoin price
Ethereum
Ethereum (ETH)
$2,314.04 -0.81892
Ethereum price
XRP
XRP (XRP)
$1.44 0.69443
XRP price
BNB
BNB (BNB)
$638.35 -0.15239
BNB price
Solana
Solana (SOL)
$86.17 -0.04617
Solana price
Hyperliquid
Hyperliquid (HYPE)
$41.07 -1.37374
Hyperliquid price
Cardano
Cardano (ADA)
$0.251639 0.56326
Cardano price
Chainlink
Chainlink (LINK)
$9.34 0.05294
Chainlink price
POL (ex-MATIC)
POL (ex-MATIC) (POL)
$0.094771 -1.50421
POL (ex-MATIC) price
Toncoin
Toncoin (TON)
$1.32 -0.92804
Toncoin price
Asteroid Shiba
Asteroid Shiba (ASTEROID)
$0.0002993 -1.21781
Asteroid Shiba price
Bitcoin
Bitcoin (BTC)
$77,718.00 -0.8577
Bitcoin price
Ethereum
Ethereum (ETH)
$2,314.04 -0.81892
Ethereum price
XRP
XRP (XRP)
$1.44 0.69443
XRP price
BNB
BNB (BNB)
$638.35 -0.15239
BNB price
Solana
Solana (SOL)
$86.17 -0.04617
Solana price
Hyperliquid
Hyperliquid (HYPE)
$41.07 -1.37374
Hyperliquid price
Cardano
Cardano (ADA)
$0.251639 0.56326
Cardano price
Chainlink
Chainlink (LINK)
$9.34 0.05294
Chainlink price
POL (ex-MATIC)
POL (ex-MATIC) (POL)
$0.094771 -1.50421
POL (ex-MATIC) price
Toncoin
Toncoin (TON)
$1.32 -0.92804
Toncoin price
Asteroid Shiba
Asteroid Shiba (ASTEROID)
$0.0002993 -1.21781
Asteroid Shiba price

OpenZeppelin excludes isContract, urging ecosystem evolution

Yana Khlebnikova
Edited by
News
OpenZeppelin excludes isContract, urging ecosystem evolution

OpenZeppelin eradicates the isContract function, fostering a shift towards greater adaptability and enhanced user experiences in the Ethereum ecosystem.

Smart contract development service OpenZeppelin recently removed a commonly used smart contract function called isContract to push the ecosystem forward toward greater flexibility and improved user experiences.

The isContract function returns true if an Ethereum (ETH) address belongs to a smart contract account rather than an externally owned account (EOA). Many decentralized application (dapp) developers have relied on it for security purposes, such as preventing bots from minting non-fungible tokens (NFTs).

However, as Ambire Wallet co-founder and CEO Ivo Georgiev pointed out rejoicing for removing the feature, relying on isContract breaks compatibility with account abstraction wallets like Ambire, Argent, and Safe. These wallets use smart contracts to manage users’ funds while abstracting some complexities away from the end user.

According to Georgiev, better ways to prevent issues like NFT minting abuse and security vulnerabilities exist. The presence of isContract has led to a harmful myth that smart contracts cannot function as user accounts.

In response, OpenZeppelin removed the function to push developers to reconsider assumptions about smart contracts and user accounts. This controversial move could accelerate the adoption of account abstraction and its associated benefits.

Safe — a decentralized custody protocol previously known as Gnosis Safe — developer Misha highlighted legitimate use cases of isContract, like ensuring that added Safe modules are valid contracts. However, Georgiev argued that there are better solutions that don’t preclude important account abstraction techniques.

The OpenZeppelin documentation warns that isContract should not be relied upon as the sole determiner of contract or EOA status. According to him, with clever programming, bots can return false positives or negatives.

This debate represents an important step forward as Ethereum builders rethink outdated assumptions and plant the seeds for the next generation of user-friendly decentralized applications. Removing isContract forces developers to find alternative solutions, ultimately benefiting end users by stopping discrimination against abstracted accounts.