Description
Succinct Explanation
Tadas wrote the following in Improve representation of Respect on block explorers, where you can find more details
The underlying cause of these issues is atypical implementation of token contract. It tries to implement both ERC-721 and ERC-20 with the end result that neither is implemented fully, because these standards have overlapping methods. I present rationale for this below.
This is similar to how cash works. Every dollar bill is actually unique (non-fungible), yet we typically treat them as fungible. There’s nothing preventing us from treating them as non-fungible (taking into account the serial number for example). So you have one currency with two different ways of looking at it (like two interfaces).
More Details about this Design
You can see Tadas explain how the smart contract implements interfaces of both ERC 20 and NFT standard for the Respect token in this video. If you’re interested in learning about the philosophy originally behind this design, you could also see this blog post and video clip for more details.
Tadas said that the best explanation of the contract’s design can be found here, though the resources above also provide unique insights. You can read the explanation in the ‘background’ section near the top of the page if you’re interested.
Repository
Here is the Github repository with the Optimism Fractal smart contracts.