_Follow along with this video:_ --- ### Intro to TSwap Alright! We should be feeling pretty good about ourselves. Hopefully you've just finished the Puppy Raffle section, ideally you signed up for [**CodeHawks**](https://www.codehawks.com/) (and maybe tried a contest or [**First Flight**](https://www.codehawks.com/first-flights) of your own!). We've got a _lot_ more to cover. Before we move on at all, you should take a look at this section on the [**GitHub Repo**](https://github.com/Cyfrin/security-and-auditing-full-course-s23?tab=readme-ov-file#-section-5-invariants--intro-to-defi--tswap-audit). You'll see right away - DO NOT LOOK AT THE CONTRACTS. ::image{src='/security-section-5/1-introduction/intro1.png' style='width: 100%; height: auto;'} We're going to be learning how to use some advanced tooling and advanced testing concepts such as fuzzing, invariant testing and more. In this section, we'll be reviewing the TSwap protocol ([**Repo**](https://github.com/Cyfrin/5-t-swap-audit)), it's a modified version of the Uniswap protocol. Uniswap is a DEX, or decentralized exchange. Here we're going to challenge ourselves to find bugs without even looking at the code. Obviously this approach wouldn't be the norm, but the goal is to emphasize how powerful these tools and methods can be. In addition to the testing approaches, we'll also go deep into DeFi covering concepts like: - **AMMs (automated market maker)** - **UniSwap and DEXs** - **Curve.fi protocol** - **Constant Product Formula** - **Echidna** - **Mutation Testing** - **Rebase and Reentrancy Attacks** - **Core Invariant Breaking** Our manual review time is going to be limited as a product of all we'll cover, but these concepts are going to be incredibly important. Fire up VS Code and let's get to it!
Learn to find bugs without code inspection. Topics include fuzzing, AMMs, constant product formula, Uniswap/Curve Finance concepts, and more.
Previous lesson
Previous
Next lesson
Next
Give us feedback
Solidity Developer
Smart Contract SecurityDuration: 25min
Duration: 1h 18min
Duration: 35min
Duration: 2h 16min
Duration: 5h 03min
Duration: 5h 22min
Duration: 4h 33min
Duration: 2h 01min
Duration: 1h 40min
Testimonials
Read what our students have to say about this course.
Chainlink
Chainlink
Gustavo Gonzalez
Solutions Engineer at OpenZeppelin
Francesco Andreoli
Lead Devrel at Metamask
Albert Hu
DeForm Founding Engineer
Radek
Senior Developer Advocate at Ceramic
Boidushya
WalletConnect
Idris
Developer Relations Engineer at Axelar