Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Ethereum Smart Contract Security
Introduction
Welcome by Ivan and Filip (2:26)
Pre-Requisites
DISCLAIMER
Course structure (5:38)
IMPORTANT - ToshiTimes forum (3:16)
Hyperinflation Crypto Vulnerability
Overflow Vulnerability Introduction (6:26)
Hyperinflation Vulnerability - Reading Assignment
BatchTransfer Error Explained (6:33)
Please rate us 😍⭐️
Solidity Vulnerability Demonstrated (15:33)
Fixing the Bug with SafeMath (8:06)
Overflow.sol and SafeMath.sol Source Code
Hyperinflation Vulnerability - Quiz
Developer Mindset
Introduction (1:03)
Why do we need a special mindset? (4:07)
Part 1 - The New Ecosystem (1:48)
Part 2 - The High Cost of Failure (7:44)
Reading Assignment: Mindset
Part 3 - Difficult Upgradeability (8:08)
Part 3 Bonus - How to Plan for Proxy Upgrades (7:15)
Quiz: Developer Mindset
External Contracts & Calls
Introduction (1:19)
The dangers with External Contract Calls (2:41)
Re-entrency Attack (5:47)
Re-entrency Attacks - Solution (5:06)
Sending Ether - How to do it safely (7:03)
Initiating External Calls (8:21)
Push and Pull - Contract Design (6:43)
Reading Assignment: Security vs User Experience
Quiz: External Contracts & Calls
Hacks demonstrated and explained
Introduction (3:42)
DAO Hack Explanation (15:28)
DAO - Reading Assignment
DAO Hack - Replicating the Vulnerability Part 1 (13:21)
DAO Hack - Replicating the Vulnerability Part 2 (19:26)
DAO Hack - Replicating the Vulnerability - Code File
Parity Freeze Hack Explained (7:17)
Parity Freeze Hack - Replicating the Vulnerability (11:22)
Parity Freeze Hack - Replicating the Vulnerability - Code File
DAO and Parity Hacks Quiz
Invariants and Error Handling
Introduction (0:53)
Solidity Error Handling Recap (4:31)
What is an Invariant? (7:25)
Combine Assert & Invariants (3:39)
How to Use Modifiers Correctly (4:32)
Quiz: Invariants & Error Handling
Smart Contract Upgradeability - Basic Example
Intro (1:07)
Contract Overview (13:46)
Part 1 - Storage Contract (5:40)
Part 2 - Functional Contract (4:11)
Part 3 - Proxy Contract (15:00)
Part 4 - Deploy & Test (8:40)
Summary (6:03)
Quiz: Basic Uppgradeable Contract
Smart Contract Upgradeability - Full Example
Intro (1:00)
What was wrong with our simple Proxy? (10:37)
Prerequisites
Part 1 - Setup Environment (3:15)
Part 2 - Building a New Storage Contract (7:00)
Part 3 - Building the Functional Contract (6:39)
Part 4 - Building the Proxy Contract Base (5:25)
Part 5 - Building Proxy Functionality (7:18)
Part 6 - Building Migrations & Deploying (4:47)
Part 7 - Interacting & Testing our Proxy (7:58)
Part 8 - Improving and Updating (8:32)
Part 9 - Owner Issue Clarification (6:44)
Part 10 - Fixing the Owner Issue (10:02)
Part 11 - Summary (8:25)
BONUS: A Better Way to Upgrade (1:38)
Pausable Contracts
Introduction (0:27)
What is it and why do we need it? (4:32)
Implementation (6:33)
Quiz: Pausable Contracts
Congratulations! 🚀💥
Congratulations and Well done! (0:40)
Course structure
Complete and Continue