[DRAFT] Risk profiles of ERC721 non-fungible tokens as collateral within MCD
TLDROracle issues - Existing OSM structure allows for price manipulation attacks for certain collections due to NFT collections’ sizes and volatility. NFT pricing oracles have not been sufficiently proven yet (JPEG’d oracles seem to be the best at present). Liquidation counterparty issues - NFT transactions cannot be settled atomically in a proven and tested way (SudoSwap is still new but looks promising) ERC721 incompatibility issues - Metadata not being frozen and contracts being either own...
[DRAFT] Risk profiles of ERC721 non-fungible tokens as collateral within MCD
TLDROracle issues - Existing OSM structure allows for price manipulation attacks for certain collections due to NFT collections’ sizes and volatility. NFT pricing oracles have not been sufficiently proven yet (JPEG’d oracles seem to be the best at present). Liquidation counterparty issues - NFT transactions cannot be settled atomically in a proven and tested way (SudoSwap is still new but looks promising) ERC721 incompatibility issues - Metadata not being frozen and contracts being either own...

Designing a new Foundry logo
I am a big advocate of Paradigm's Foundry. I really like a lot of things about it (particularly not having to switch between Javascript and Solidity when writing tests). However, while it's easy to find information about Foundry, there doesn't seem to be any branding for it at all. In my view, visual branding is super important for growing a product's userbase, even when it is a technical product. Products like Rust grow not only because of technical prowess, but also beca...

Designing a new Foundry logo
I am a big advocate of Paradigm's Foundry. I really like a lot of things about it (particularly not having to switch between Javascript and Solidity when writing tests). However, while it's easy to find information about Foundry, there doesn't seem to be any branding for it at all. In my view, visual branding is super important for growing a product's userbase, even when it is a technical product. Products like Rust grow not only because of technical prowess, but also beca...
Roots.onion: A proposal for a long-form markdown publishing site for interaction with Lens Protocol's social graphs to facilitate censorship resistant journalism.
IntroductionThis is a writeup on a theoretical site I propose for Lens Protocol to eventually introduce as part of their wider initiatives to create a distributed and varied social network. This product would provide a link between Tor (.onion) services and the social graph (the Lens plant). Both of these plants share roots as a component and the word root has been assigned meaning in technical fields over the years. I like the name roots. Nothing like this exists for Web2 technology at prese...
Roots.onion: A proposal for a long-form markdown publishing site for interaction with Lens Protocol's social graphs to facilitate censorship resistant journalism.
IntroductionThis is a writeup on a theoretical site I propose for Lens Protocol to eventually introduce as part of their wider initiatives to create a distributed and varied social network. This product would provide a link between Tor (.onion) services and the social graph (the Lens plant). Both of these plants share roots as a component and the word root has been assigned meaning in technical fields over the years. I like the name roots. Nothing like this exists for Web2 technology at prese...
WTF is a reentrancy attack and how do I prevent it?
They’re here and they’re here to stay, so let’s learn to design around them. WTF is a reentrancy attack? I agree that the name sounds kind of dumb, I would call it recursive call attacks if I could choose a name for it. Maybe recursive withdrawal attack? How about nested function call attack? Anyway, the name doesn't matter - let's talk about single function reentrancy and cross function reentrancy. I will not cover cross contract reentrancy yet as I lack the knowledge to cover it i...
WTF is a reentrancy attack and how do I prevent it?
They’re here and they’re here to stay, so let’s learn to design around them. WTF is a reentrancy attack? I agree that the name sounds kind of dumb, I would call it recursive call attacks if I could choose a name for it. Maybe recursive withdrawal attack? How about nested function call attack? Anyway, the name doesn't matter - let's talk about single function reentrancy and cross function reentrancy. I will not cover cross contract reentrancy yet as I lack the knowledge to cover it i...
Preface: Setting up a working environment using Foundry
This writeup is a continuation of my last post, where I go into how I am creating a full stack DApp within 30 days. This section will cover what I am using to build my DApp (specifically the Solidity parts). Software Requirements Let's go through what tools I'm using for this:Solidity v0.8.13 The latest version of Solidity which will work with the tools I have installed.Foundry v0.2.0 Foundry (Forge) is an Ethereum development tool released by Paradigm. It is faster, more flexible a...
Preface: Setting up a working environment using Foundry
This writeup is a continuation of my last post, where I go into how I am creating a full stack DApp within 30 days. This section will cover what I am using to build my DApp (specifically the Solidity parts). Software Requirements Let's go through what tools I'm using for this:Solidity v0.8.13 The latest version of Solidity which will work with the tools I have installed.Foundry v0.2.0 Foundry (Forge) is an Ethereum development tool released by Paradigm. It is faster, more flexible a...