0001_Welcome_by_Ivan_Filip
0002_Course_Structure
0003_IMPORTANT_vDj_Community_Forum
0004_Overflow_Vulnerability_Introduction
0005_BatchTransfer_Error_Explained
0006_Solidity_Vulnerability_Demonstrated
0007_Fixing_the_Bug_with_SafeMath
0008_Introduction
0009_Why_do_we_need_a_special_Mindset
0010_Part_1_vDj_The_New_Ecosystem
0011_Part_2_vDj_The_High_Cost_of_Failure
0012_Part_3_vDj_Difficult_Upgradeability
0013_Part_3_Bonus_vDj_How_to_Plan_for_Proxy_Upgrades
0014_Introduction
0015_The_Dangers_with_External_Contract_Calls
0016_Re_entrency_Attacks
0017_Re_entrency_Attacks_vDj_Solution
0018_Sending_Ether_vDj_How_to_do_it_safely
0019_Initiating_External_Calls
0020_Push_Pull_vDj_Contract_Design
0021_Introduction
0022_DAO_Hack_Explanation
0023_DAO_Hack_vDj_Replicating_the_Vulnerability_Part_1
0024_DAO_Hack_vDj_Replicating_the_Vulnerability_Part_2
0025_Parity_Freeze_Hack_Explained
0026_Parity_Freeze_Hack_vDj_Replicating_the_Vulnerability
0027_Introduction
0028_Solidity_Error_Handling_Recap
0029_What_is_an_Invariant
0030_Combine_Assert_Invariants
0031_How_to_Use_Modifiers_Correctly
0032_Introduction
0033_Contract_Overview
0034_Part_1_vDj_Storage_Contract
0035_Part_2_vDj_Functional_Contract
0036_Part_3_vDj_Proxy_Contract
0037_Part_4_vDj_Deploy_Test
0038_Summary
0039_Introduction
0040_What_Was_Wrong_with_Our_Simple_Proxy
0041_Part_1_vDj_Setup_Environment
0042_Part_2_vDj_Building_a_New_Storage_Contract
0043_Part_3_vDj_Building_the_Functional_Contract
0044_Part_4_vDj_Building_the_Proxy_Contract_Base
0045_Part_5_vDj_Building_Proxy_Functionality
0046_Part_6_vDj_Building_Migrations_Deploying
0047_Part_7_vDj_Interacting_Testing_our_proxy
0048_Part_8_vDj_Improving_Updating
0049_Part_9_vDj_Owner_Issue_Clarification
0050_Part_10_vDj_Fixing_the_Owner_Issue
0051_Part_11_vDj_Summary
0052_BONUS_A_Better_Way_to_Upgrade
0053_Introduction
0054_What_is_it_and_why_do_we_need_it
0055_Implementation
0056_Congratulations_and_Well_Done
0057_Time_to_upload_your_Certificate_on_LinkedIn