Info
Contract Address
ETH 0xe41d2489571d322189246dafa5ebde1f4699f498
(getButton) #text=(X-Twitter) (getButton) #text=(Telegram) (getButton) #text=(Discord) (getButton) #text=(Reddit)
About 0x Ecosystem (ZRX)
0x is a protocol that aims to facilitate a frictionless peer-to-peer exchange of Ethereum-based assets. 0x is considered a non-custodial solution because funds are deposited or withdrawn from the user's wallet. It aggregates liquidity pools from different projects that are built on top of 0x for smoother peer-to-peer transactions.
Also, it behaves as the building block for developers that are looking for exchange functionality. 0x allows easy integration for developers through its relayers which adds exchange functionality on top of an existing product. 0x’s vision is to enable a direct, non-custodial wallet-to-wallet trading of any ERC-20 tokens on any Ethereum based platforms.
Because feature functions get delegatecalled into, they all share the same execution context and, thus, state space. It’s critical that storage for each feature be compartmentalized from other features to avoid accidentally writing to the same slot. We solve this by strictly adhering to a storage bucket pattern for our feature contracts. This rule also extends to all inherited contracts/mixins.
Storage buckets are enabled by new language features in solidity 0.6, which allow us to rewrite a storage variable’s slot reference to a globally unique ID. These IDs are stored in an append-only enum defined in LibStorage, to enforce uniqueness. The true storage slot for a bucket is the feature’s storage ID multiplied by a large constant to prevent overlap between buckets.