WEBVTT
Kind: captions
Language: en

00:00:01.160 --> 00:00:06.690 align:start position:0%
 
[Music]

00:00:06.690 --> 00:00:06.700 align:start position:0%
 
 

00:00:06.700 --> 00:00:10.749 align:start position:0%
 
[Music]

00:00:10.749 --> 00:00:10.759 align:start position:0%
[Music]
 

00:00:10.759 --> 00:00:12.910 align:start position:0%
[Music]
hey<00:00:10.960><c> everybody</c><00:00:11.559><c> great</c><00:00:11.759><c> to</c><00:00:12.040><c> see</c><00:00:12.240><c> you</c><00:00:12.360><c> all</c><00:00:12.639><c> here</c>

00:00:12.910 --> 00:00:12.920 align:start position:0%
hey everybody great to see you all here
 

00:00:12.920 --> 00:00:15.150 align:start position:0%
hey everybody great to see you all here
thanks<00:00:13.080><c> for</c><00:00:13.240><c> coming</c><00:00:13.480><c> out</c><00:00:14.200><c> I'm</c><00:00:14.360><c> Jack</c><00:00:14.599><c> Sanford</c>

00:00:15.150 --> 00:00:15.160 align:start position:0%
thanks for coming out I'm Jack Sanford
 

00:00:15.160 --> 00:00:17.870 align:start position:0%
thanks for coming out I'm Jack Sanford
I'm<00:00:15.280><c> the</c><00:00:15.440><c> CEO</c><00:00:16.160><c> and</c><00:00:16.440><c> co-founder</c><00:00:17.000><c> of</c><00:00:17.160><c> Sherlock</c>

00:00:17.870 --> 00:00:17.880 align:start position:0%
I'm the CEO and co-founder of Sherlock
 

00:00:17.880 --> 00:00:20.070 align:start position:0%
I'm the CEO and co-founder of Sherlock
Sherlock<00:00:18.359><c> is</c><00:00:18.480><c> one</c><00:00:18.640><c> of</c><00:00:18.800><c> the</c><00:00:19.359><c> largest</c><00:00:19.760><c> audit</c>

00:00:20.070 --> 00:00:20.080 align:start position:0%
Sherlock is one of the largest audit
 

00:00:20.080 --> 00:00:22.310 align:start position:0%
Sherlock is one of the largest audit
contest<00:00:20.519><c> providers</c><00:00:20.880><c> in</c><00:00:21.039><c> the</c><00:00:21.199><c> space</c><00:00:22.000><c> and</c><00:00:22.119><c> today</c>

00:00:22.310 --> 00:00:22.320 align:start position:0%
contest providers in the space and today
 

00:00:22.320 --> 00:00:24.070 align:start position:0%
contest providers in the space and today
we're<00:00:22.439><c> going</c><00:00:22.560><c> to</c><00:00:22.680><c> talk</c><00:00:22.880><c> a</c><00:00:22.960><c> little</c><00:00:23.119><c> bit</c><00:00:23.320><c> about</c>

00:00:24.070 --> 00:00:24.080 align:start position:0%
we're going to talk a little bit about
 

00:00:24.080 --> 00:00:25.950 align:start position:0%
we're going to talk a little bit about
the<00:00:24.240><c> most</c><00:00:24.519><c> common</c><00:00:24.880><c> bugs</c><00:00:25.199><c> found</c><00:00:25.439><c> in</c><00:00:25.599><c> audit</c>

00:00:25.950 --> 00:00:25.960 align:start position:0%
the most common bugs found in audit
 

00:00:25.960 --> 00:00:27.870 align:start position:0%
the most common bugs found in audit
contests<00:00:26.679><c> so</c><00:00:27.039><c> if</c><00:00:27.119><c> you're</c><00:00:27.279><c> a</c><00:00:27.439><c> protocol</c>

00:00:27.870 --> 00:00:27.880 align:start position:0%
contests so if you're a protocol
 

00:00:27.880 --> 00:00:29.589 align:start position:0%
contests so if you're a protocol
developer<00:00:28.439><c> or</c><00:00:28.560><c> if</c><00:00:28.679><c> you</c><00:00:28.880><c> want</c><00:00:29.080><c> to</c><00:00:29.279><c> become</c><00:00:29.480><c> a</c>

00:00:29.589 --> 00:00:29.599 align:start position:0%
developer or if you want to become a
 

00:00:29.599 --> 00:00:31.910 align:start position:0%
developer or if you want to become a
protocol<00:00:30.199><c> developer</c><00:00:30.560><c> one</c><00:00:30.759><c> day</c><00:00:31.519><c> you</c><00:00:31.679><c> are</c><00:00:31.800><c> going</c>

00:00:31.910 --> 00:00:31.920 align:start position:0%
protocol developer one day you are going
 

00:00:31.920 --> 00:00:34.950 align:start position:0%
protocol developer one day you are going
to<00:00:32.040><c> be</c><00:00:32.239><c> ahead</c><00:00:32.559><c> of</c><00:00:33.200><c> 90%</c><00:00:34.160><c> of</c><00:00:34.320><c> other</c><00:00:34.520><c> protocol</c>

00:00:34.950 --> 00:00:34.960 align:start position:0%
to be ahead of 90% of other protocol
 

00:00:34.960 --> 00:00:37.110 align:start position:0%
to be ahead of 90% of other protocol
developers<00:00:35.640><c> just</c><00:00:35.800><c> by</c><00:00:35.960><c> being</c><00:00:36.239><c> aware</c><00:00:36.719><c> of</c><00:00:36.920><c> these</c>

00:00:37.110 --> 00:00:37.120 align:start position:0%
developers just by being aware of these
 

00:00:37.120 --> 00:00:40.190 align:start position:0%
developers just by being aware of these
10<00:00:37.480><c> common</c>

00:00:40.190 --> 00:00:40.200 align:start position:0%
 
 

00:00:40.200 --> 00:00:43.150 align:start position:0%
 
bugs<00:00:41.200><c> so</c><00:00:41.480><c> just</c><00:00:41.600><c> a</c><00:00:41.800><c> quick</c><00:00:42.000><c> intro</c><00:00:42.640><c> on</c><00:00:42.800><c> audit</c>

00:00:43.150 --> 00:00:43.160 align:start position:0%
bugs so just a quick intro on audit
 

00:00:43.160 --> 00:00:45.670 align:start position:0%
bugs so just a quick intro on audit
contest<00:00:43.559><c> and</c><00:00:43.680><c> why</c><00:00:43.800><c> you</c><00:00:43.879><c> should</c><00:00:44.160><c> care</c><00:00:45.120><c> um</c><00:00:45.320><c> audit</c>

00:00:45.670 --> 00:00:45.680 align:start position:0%
contest and why you should care um audit
 

00:00:45.680 --> 00:00:47.869 align:start position:0%
contest and why you should care um audit
contests<00:00:46.440><c> have</c><00:00:46.680><c> become</c><00:00:47.039><c> and</c><00:00:47.199><c> are</c><00:00:47.440><c> becoming</c>

00:00:47.869 --> 00:00:47.879 align:start position:0%
contests have become and are becoming
 

00:00:47.879 --> 00:00:50.470 align:start position:0%
contests have become and are becoming
one<00:00:48.000><c> of</c><00:00:48.120><c> the</c><00:00:48.239><c> most</c><00:00:48.520><c> popular</c><00:00:48.960><c> ways</c><00:00:49.239><c> to</c><00:00:49.559><c> secure</c>

00:00:50.470 --> 00:00:50.480 align:start position:0%
one of the most popular ways to secure
 

00:00:50.480 --> 00:00:52.670 align:start position:0%
one of the most popular ways to secure
smart<00:00:50.879><c> contract</c><00:00:51.399><c> code</c><00:00:51.800><c> before</c><00:00:52.160><c> deploying</c><00:00:52.559><c> a</c>

00:00:52.670 --> 00:00:52.680 align:start position:0%
smart contract code before deploying a
 

00:00:52.680 --> 00:00:55.869 align:start position:0%
smart contract code before deploying a
protocol<00:00:53.079><c> to</c><00:00:53.280><c> mainnet</c><00:00:54.280><c> uh</c><00:00:54.359><c> there's</c><00:00:54.559><c> been</c><00:00:54.879><c> 625</c>

00:00:55.869 --> 00:00:55.879 align:start position:0%
protocol to mainnet uh there's been 625
 

00:00:55.879 --> 00:00:58.549 align:start position:0%
protocol to mainnet uh there's been 625
audit<00:00:56.239><c> contests</c><00:00:56.719><c> run</c><00:00:57.719><c> uh</c><00:00:57.920><c> the</c><00:00:58.079><c> most</c><00:00:58.359><c> have</c>

00:00:58.549 --> 00:00:58.559 align:start position:0%
audit contests run uh the most have
 

00:00:58.559 --> 00:01:00.270 align:start position:0%
audit contests run uh the most have
happened<00:00:58.960><c> this</c><00:00:59.120><c> year</c><00:00:59.320><c> of</c><00:00:59.440><c> any</c><00:00:59.640><c> years</c><00:01:00.000><c> so</c><00:01:00.120><c> it's</c>

00:01:00.270 --> 00:01:00.280 align:start position:0%
happened this year of any years so it's
 

00:01:00.280 --> 00:01:02.910 align:start position:0%
happened this year of any years so it's
really<00:01:00.519><c> taking</c><00:01:00.879><c> off</c><00:01:01.440><c> 36,000</c><00:01:02.239><c> vulnerabilities</c>

00:01:02.910 --> 00:01:02.920 align:start position:0%
really taking off 36,000 vulnerabilities
 

00:01:02.920 --> 00:01:05.590 align:start position:0%
really taking off 36,000 vulnerabilities
found<00:01:03.640><c> 36</c><00:01:04.239><c> million</c><00:01:04.600><c> in</c><00:01:04.839><c> prizes</c><00:01:05.239><c> have</c><00:01:05.400><c> been</c>

00:01:05.590 --> 00:01:05.600 align:start position:0%
found 36 million in prizes have been
 

00:01:05.600 --> 00:01:08.910 align:start position:0%
found 36 million in prizes have been
paid<00:01:05.840><c> out</c><00:01:06.159><c> to</c><00:01:07.119><c> thousands</c><00:01:07.680><c> tens</c><00:01:08.040><c> of</c><00:01:08.240><c> thousands</c>

00:01:08.910 --> 00:01:08.920 align:start position:0%
paid out to thousands tens of thousands
 

00:01:08.920 --> 00:01:10.670 align:start position:0%
paid out to thousands tens of thousands
of<00:01:09.240><c> Security</c><00:01:09.720><c> Experts</c><00:01:10.280><c> people</c><00:01:10.479><c> who</c><00:01:10.560><c> are</c>

00:01:10.670 --> 00:01:10.680 align:start position:0%
of Security Experts people who are
 

00:01:10.680 --> 00:01:12.910 align:start position:0%
of Security Experts people who are
learning<00:01:10.960><c> to</c><00:01:11.080><c> be</c><00:01:11.280><c> Security</c><00:01:11.720><c> Experts</c><00:01:12.479><c> all</c><00:01:12.680><c> from</c>

00:01:12.910 --> 00:01:12.920 align:start position:0%
learning to be Security Experts all from
 

00:01:12.920 --> 00:01:15.070 align:start position:0%
learning to be Security Experts all from
finding<00:01:13.320><c> bugs</c><00:01:13.680><c> in</c><00:01:13.840><c> these</c><00:01:14.000><c> audit</c><00:01:14.360><c> contests</c><00:01:14.880><c> and</c>

00:01:15.070 --> 00:01:15.080 align:start position:0%
finding bugs in these audit contests and
 

00:01:15.080 --> 00:01:17.230 align:start position:0%
finding bugs in these audit contests and
as<00:01:15.159><c> you</c><00:01:15.280><c> can</c><00:01:15.439><c> see</c><00:01:16.159><c> the</c><00:01:16.320><c> biggest</c><00:01:16.640><c> teams</c><00:01:16.920><c> in</c><00:01:17.040><c> the</c>

00:01:17.230 --> 00:01:17.240 align:start position:0%
as you can see the biggest teams in the
 

00:01:17.240 --> 00:01:19.350 align:start position:0%
as you can see the biggest teams in the
space<00:01:17.799><c> are</c><00:01:17.960><c> using</c><00:01:18.280><c> audit</c><00:01:18.640><c> contests</c><00:01:19.119><c> all</c><00:01:19.240><c> of</c>

00:01:19.350 --> 00:01:19.360 align:start position:0%
space are using audit contests all of
 

00:01:19.360 --> 00:01:20.950 align:start position:0%
space are using audit contests all of
these<00:01:19.560><c> teams</c><00:01:19.840><c> have</c><00:01:19.960><c> done</c><00:01:20.119><c> an</c><00:01:20.240><c> audit</c><00:01:20.520><c> contest</c>

00:01:20.950 --> 00:01:20.960 align:start position:0%
these teams have done an audit contest
 

00:01:20.960 --> 00:01:24.069 align:start position:0%
these teams have done an audit contest
this<00:01:21.119><c> year</c><00:01:21.840><c> in</c><00:01:21.960><c> order</c><00:01:22.159><c> to</c><00:01:22.360><c> secure</c><00:01:22.680><c> their</c>

00:01:24.069 --> 00:01:24.079 align:start position:0%
this year in order to secure their
 

00:01:24.079 --> 00:01:26.670 align:start position:0%
this year in order to secure their
code<00:01:25.079><c> so</c><00:01:25.360><c> what</c><00:01:25.479><c> is</c><00:01:25.600><c> an</c><00:01:25.720><c> audit</c><00:01:26.000><c> contest</c>

00:01:26.670 --> 00:01:26.680 align:start position:0%
code so what is an audit contest
 

00:01:26.680 --> 00:01:28.310 align:start position:0%
code so what is an audit contest
essentially<00:01:27.040><c> the</c><00:01:27.200><c> goal</c><00:01:27.400><c> is</c><00:01:27.520><c> to</c><00:01:27.680><c> find</c><00:01:27.920><c> bugs</c><00:01:28.159><c> and</c>

00:01:28.310 --> 00:01:28.320 align:start position:0%
essentially the goal is to find bugs and
 

00:01:28.320 --> 00:01:30.270 align:start position:0%
essentially the goal is to find bugs and
code<00:01:28.720><c> usually</c><00:01:29.079><c> critical</c><00:01:29.439><c> bugs</c><00:01:29.920><c> bugs</c><00:01:30.119><c> that</c><00:01:30.200><c> are</c>

00:01:30.270 --> 00:01:30.280 align:start position:0%
code usually critical bugs bugs that are
 

00:01:30.280 --> 00:01:32.310 align:start position:0%
code usually critical bugs bugs that are
going<00:01:30.360><c> to</c><00:01:30.439><c> cause</c><00:01:30.680><c> losses</c><00:01:31.000><c> for</c><00:01:31.200><c> users</c><00:01:31.759><c> on</c>

00:01:32.310 --> 00:01:32.320 align:start position:0%
going to cause losses for users on
 

00:01:32.320 --> 00:01:34.429 align:start position:0%
going to cause losses for users on
mainnet<00:01:33.320><c> you</c><00:01:33.439><c> start</c><00:01:33.640><c> with</c><00:01:33.759><c> a</c><00:01:33.880><c> pot</c><00:01:34.040><c> of</c><00:01:34.159><c> money</c>

00:01:34.429 --> 00:01:34.439 align:start position:0%
mainnet you start with a pot of money
 

00:01:34.439 --> 00:01:36.950 align:start position:0%
mainnet you start with a pot of money
you<00:01:34.560><c> say</c><00:01:34.880><c> hey</c><00:01:35.200><c> here's</c><00:01:35.560><c> 100K</c><00:01:36.040><c> or</c><00:01:36.159><c> in</c><00:01:36.280><c> some</c><00:01:36.520><c> cases</c>

00:01:36.950 --> 00:01:36.960 align:start position:0%
you say hey here's 100K or in some cases
 

00:01:36.960 --> 00:01:38.990 align:start position:0%
you say hey here's 100K or in some cases
here's<00:01:37.119><c> a</c><00:01:37.280><c> million</c><00:01:37.600><c> dollars</c><00:01:38.560><c> and</c><00:01:38.720><c> we're</c><00:01:38.880><c> going</c>

00:01:38.990 --> 00:01:39.000 align:start position:0%
here's a million dollars and we're going
 

00:01:39.000 --> 00:01:41.149 align:start position:0%
here's a million dollars and we're going
to<00:01:39.200><c> pay</c><00:01:39.640><c> people</c><00:01:40.079><c> based</c><00:01:40.360><c> on</c><00:01:40.560><c> the</c><00:01:40.680><c> bugs</c><00:01:41.000><c> that</c>

00:01:41.149 --> 00:01:41.159 align:start position:0%
to pay people based on the bugs that
 

00:01:41.159 --> 00:01:43.270 align:start position:0%
to pay people based on the bugs that
they<00:01:41.320><c> find</c><00:01:41.799><c> and</c><00:01:42.000><c> anybody</c><00:01:42.439><c> can</c><00:01:42.640><c> participate</c><00:01:43.159><c> so</c>

00:01:43.270 --> 00:01:43.280 align:start position:0%
they find and anybody can participate so
 

00:01:43.280 --> 00:01:44.789 align:start position:0%
they find and anybody can participate so
it's<00:01:43.360><c> a</c><00:01:43.560><c> really</c><00:01:43.759><c> great</c><00:01:43.960><c> way</c><00:01:44.079><c> to</c><00:01:44.200><c> onboard</c><00:01:44.640><c> to</c>

00:01:44.789 --> 00:01:44.799 align:start position:0%
it's a really great way to onboard to
 

00:01:44.799 --> 00:01:46.670 align:start position:0%
it's a really great way to onboard to
crypto<00:01:45.320><c> really</c><00:01:45.560><c> great</c><00:01:45.799><c> way</c><00:01:46.000><c> to</c><00:01:46.119><c> onboard</c><00:01:46.520><c> to</c>

00:01:46.670 --> 00:01:46.680 align:start position:0%
crypto really great way to onboard to
 

00:01:46.680 --> 00:01:49.030 align:start position:0%
crypto really great way to onboard to
web<00:01:46.840><c> 3</c><00:01:47.119><c> security</c><00:01:47.960><c> participating</c><00:01:48.520><c> in</c><00:01:48.640><c> audit</c>

00:01:49.030 --> 00:01:49.040 align:start position:0%
web 3 security participating in audit
 

00:01:49.040 --> 00:01:52.109 align:start position:0%
web 3 security participating in audit
contests<00:01:50.040><c> and</c><00:01:50.840><c> depending</c><00:01:51.240><c> on</c><00:01:51.560><c> the</c><00:01:51.680><c> severity</c>

00:01:52.109 --> 00:01:52.119 align:start position:0%
contests and depending on the severity
 

00:01:52.119 --> 00:01:53.389 align:start position:0%
contests and depending on the severity
of<00:01:52.200><c> the</c><00:01:52.280><c> bugs</c><00:01:52.560><c> you</c><00:01:52.680><c> find</c><00:01:52.920><c> so</c><00:01:53.119><c> if</c><00:01:53.240><c> they're</c>

00:01:53.389 --> 00:01:53.399 align:start position:0%
of the bugs you find so if they're
 

00:01:53.399 --> 00:01:54.670 align:start position:0%
of the bugs you find so if they're
critical<00:01:53.759><c> severity</c><00:01:54.200><c> you're</c><00:01:54.320><c> going</c><00:01:54.399><c> to</c><00:01:54.520><c> get</c>

00:01:54.670 --> 00:01:54.680 align:start position:0%
critical severity you're going to get
 

00:01:54.680 --> 00:01:56.310 align:start position:0%
critical severity you're going to get
paid<00:01:54.880><c> more</c><00:01:55.040><c> for</c><00:01:55.280><c> them</c><00:01:55.680><c> if</c><00:01:55.799><c> they're</c><00:01:56.000><c> super</c>

00:01:56.310 --> 00:01:56.320 align:start position:0%
paid more for them if they're super
 

00:01:56.320 --> 00:01:58.190 align:start position:0%
paid more for them if they're super
unique<00:01:56.719><c> and</c><00:01:56.920><c> other</c><00:01:57.079><c> people</c><00:01:57.280><c> don't</c><00:01:57.520><c> find</c><00:01:57.799><c> them</c>

00:01:58.190 --> 00:01:58.200 align:start position:0%
unique and other people don't find them
 

00:01:58.200 --> 00:02:00.109 align:start position:0%
unique and other people don't find them
you're<00:01:58.360><c> going</c><00:01:58.439><c> to</c><00:01:58.560><c> get</c><00:01:58.719><c> paid</c><00:01:58.920><c> more</c><00:01:59.119><c> for</c><00:01:59.360><c> that</c>

00:02:00.109 --> 00:02:00.119 align:start position:0%
you're going to get paid more for that
 

00:02:00.119 --> 00:02:02.310 align:start position:0%
you're going to get paid more for that
and<00:02:00.600><c> if</c><00:02:00.719><c> you</c><00:02:00.880><c> find</c><00:02:01.360><c> you</c><00:02:01.479><c> know</c><00:02:01.759><c> three</c><00:02:02.079><c> of</c><00:02:02.200><c> the</c>

00:02:02.310 --> 00:02:02.320 align:start position:0%
and if you find you know three of the
 

00:02:02.320 --> 00:02:04.149 align:start position:0%
and if you find you know three of the
four<00:02:02.600><c> bugs</c><00:02:03.000><c> that</c><00:02:03.119><c> are</c><00:02:03.240><c> in</c><00:02:03.399><c> that</c><00:02:03.600><c> protocol</c>

00:02:04.149 --> 00:02:04.159 align:start position:0%
four bugs that are in that protocol
 

00:02:04.159 --> 00:02:05.830 align:start position:0%
four bugs that are in that protocol
during<00:02:04.439><c> that</c><00:02:04.560><c> audit</c><00:02:04.880><c> contest</c><00:02:05.600><c> you're</c><00:02:05.719><c> going</c>

00:02:05.830 --> 00:02:05.840 align:start position:0%
during that audit contest you're going
 

00:02:05.840 --> 00:02:07.990 align:start position:0%
during that audit contest you're going
to<00:02:05.920><c> get</c><00:02:06.039><c> paid</c><00:02:06.200><c> a</c><00:02:06.280><c> lot</c><00:02:06.399><c> of</c><00:02:06.479><c> money</c><00:02:06.680><c> for</c><00:02:06.880><c> that</c><00:02:07.520><c> so</c>

00:02:07.990 --> 00:02:08.000 align:start position:0%
to get paid a lot of money for that so
 

00:02:08.000 --> 00:02:09.469 align:start position:0%
to get paid a lot of money for that so
really<00:02:08.200><c> cool</c><00:02:08.440><c> thing</c><00:02:08.720><c> and</c><00:02:08.800><c> we're</c><00:02:08.920><c> going</c><00:02:09.039><c> to</c><00:02:09.160><c> rip</c>

00:02:09.469 --> 00:02:09.479 align:start position:0%
really cool thing and we're going to rip
 

00:02:09.479 --> 00:02:11.670 align:start position:0%
really cool thing and we're going to rip
through<00:02:10.000><c> super</c><00:02:10.319><c> quickly</c><00:02:11.039><c> the</c><00:02:11.239><c> top</c><00:02:11.440><c> 10</c>

00:02:11.670 --> 00:02:11.680 align:start position:0%
through super quickly the top 10
 

00:02:11.680 --> 00:02:13.190 align:start position:0%
through super quickly the top 10
vulnerabilities<00:02:12.319><c> that</c><00:02:12.440><c> are</c><00:02:12.560><c> found</c><00:02:12.760><c> in</c><00:02:12.879><c> audit</c>

00:02:13.190 --> 00:02:13.200 align:start position:0%
vulnerabilities that are found in audit
 

00:02:13.200 --> 00:02:15.309 align:start position:0%
vulnerabilities that are found in audit
contest<00:02:13.640><c> these</c>

00:02:15.309 --> 00:02:15.319 align:start position:0%
contest these
 

00:02:15.319 --> 00:02:18.550 align:start position:0%
contest these
days<00:02:16.319><c> so</c><00:02:16.840><c> number</c><00:02:17.160><c> one</c><00:02:17.599><c> first</c><00:02:17.959><c> depositor</c>

00:02:18.550 --> 00:02:18.560 align:start position:0%
days so number one first depositor
 

00:02:18.560 --> 00:02:22.030 align:start position:0%
days so number one first depositor
inflation<00:02:19.080><c> attack</c><00:02:19.440><c> in</c><00:02:19.599><c> ERC</c><00:02:20.120><c> 4626</c><00:02:21.080><c> volts</c><00:02:21.959><c> this</c>

00:02:22.030 --> 00:02:22.040 align:start position:0%
inflation attack in ERC 4626 volts this
 

00:02:22.040 --> 00:02:24.350 align:start position:0%
inflation attack in ERC 4626 volts this
is<00:02:22.160><c> a</c><00:02:22.319><c> super</c><00:02:22.599><c> famous</c><00:02:23.000><c> attack</c><00:02:23.560><c> really</c><00:02:23.920><c> annoying</c>

00:02:24.350 --> 00:02:24.360 align:start position:0%
is a super famous attack really annoying
 

00:02:24.360 --> 00:02:26.790 align:start position:0%
is a super famous attack really annoying
because<00:02:24.680><c> anytime</c><00:02:25.080><c> you</c><00:02:25.239><c> deploy</c><00:02:25.560><c> a</c><00:02:25.680><c> new</c><00:02:25.879><c> Vault</c>

00:02:26.790 --> 00:02:26.800 align:start position:0%
because anytime you deploy a new Vault
 

00:02:26.800 --> 00:02:29.910 align:start position:0%
because anytime you deploy a new Vault
um<00:02:27.239><c> on</c><00:02:27.360><c> a</c><00:02:27.560><c> blockchain</c><00:02:28.319><c> you're</c><00:02:28.599><c> essentially</c><00:02:29.480><c> uh</c>

00:02:29.910 --> 00:02:29.920 align:start position:0%
um on a blockchain you're essentially uh
 

00:02:29.920 --> 00:02:32.670 align:start position:0%
um on a blockchain you're essentially uh
exposed<00:02:30.280><c> to</c><00:02:30.440><c> this</c><00:02:30.640><c> attack</c><00:02:31.560><c> um</c><00:02:31.920><c> because</c><00:02:32.480><c> the</c>

00:02:32.670 --> 00:02:32.680 align:start position:0%
exposed to this attack um because the
 

00:02:32.680 --> 00:02:36.270 align:start position:0%
exposed to this attack um because the
person<00:02:33.080><c> who</c><00:02:33.280><c> puts</c><00:02:33.560><c> in</c><00:02:34.120><c> the</c><00:02:35.120><c> first</c><00:02:35.519><c> deposit</c><00:02:36.080><c> can</c>

00:02:36.270 --> 00:02:36.280 align:start position:0%
person who puts in the first deposit can
 

00:02:36.280 --> 00:02:37.869 align:start position:0%
person who puts in the first deposit can
essentially<00:02:36.640><c> put</c><00:02:36.760><c> in</c><00:02:36.920><c> such</c><00:02:37.040><c> a</c><00:02:37.160><c> tiny</c><00:02:37.440><c> deposit</c>

00:02:37.869 --> 00:02:37.879 align:start position:0%
essentially put in such a tiny deposit
 

00:02:37.879 --> 00:02:39.869 align:start position:0%
essentially put in such a tiny deposit
that<00:02:37.959><c> it</c><00:02:38.080><c> causes</c><00:02:38.440><c> sort</c><00:02:38.560><c> of</c><00:02:38.640><c> a</c><00:02:38.760><c> rounding</c><00:02:39.159><c> issue</c>

00:02:39.869 --> 00:02:39.879 align:start position:0%
that it causes sort of a rounding issue
 

00:02:39.879 --> 00:02:42.030 align:start position:0%
that it causes sort of a rounding issue
and<00:02:40.040><c> then</c><00:02:40.280><c> all</c><00:02:40.440><c> the</c><00:02:40.599><c> deposits</c><00:02:41.120><c> after</c><00:02:41.400><c> that</c><00:02:41.760><c> are</c>

00:02:42.030 --> 00:02:42.040 align:start position:0%
and then all the deposits after that are
 

00:02:42.040 --> 00:02:43.710 align:start position:0%
and then all the deposits after that are
a<00:02:42.120><c> little</c><00:02:42.280><c> bit</c><00:02:42.480><c> messed</c><00:02:42.800><c> up</c><00:02:43.159><c> and</c><00:02:43.319><c> the</c><00:02:43.400><c> first</c>

00:02:43.710 --> 00:02:43.720 align:start position:0%
a little bit messed up and the first
 

00:02:43.720 --> 00:02:46.390 align:start position:0%
a little bit messed up and the first
depositor<00:02:44.319><c> can</c><00:02:44.840><c> steal</c><00:02:45.239><c> funds</c><00:02:45.680><c> that</c><00:02:45.879><c> way</c><00:02:46.200><c> and</c>

00:02:46.390 --> 00:02:46.400 align:start position:0%
depositor can steal funds that way and
 

00:02:46.400 --> 00:02:49.630 align:start position:0%
depositor can steal funds that way and
kind<00:02:46.519><c> of</c><00:02:46.680><c> Dos</c><00:02:47.360><c> the</c><00:02:47.640><c> The</c>

00:02:49.630 --> 00:02:49.640 align:start position:0%
kind of Dos the The
 

00:02:49.640 --> 00:02:53.229 align:start position:0%
kind of Dos the The
Vault<00:02:50.640><c> second</c><00:02:50.959><c> one</c><00:02:51.640><c> using</c><00:02:52.400><c> transfer</c><00:02:53.000><c> instead</c>

00:02:53.229 --> 00:02:53.239 align:start position:0%
Vault second one using transfer instead
 

00:02:53.239 --> 00:02:55.910 align:start position:0%
Vault second one using transfer instead
of<00:02:53.400><c> safe</c><00:02:53.680><c> transfer</c><00:02:54.599><c> so</c><00:02:55.239><c> just</c><00:02:55.440><c> using</c><00:02:55.760><c> the</c>

00:02:55.910 --> 00:02:55.920 align:start position:0%
of safe transfer so just using the
 

00:02:55.920 --> 00:02:58.470 align:start position:0%
of safe transfer so just using the
transfer<00:02:56.400><c> function</c><00:02:56.760><c> in</c><00:02:57.000><c> solidity</c><00:02:58.000><c> doesn't</c>

00:02:58.470 --> 00:02:58.480 align:start position:0%
transfer function in solidity doesn't
 

00:02:58.480 --> 00:03:00.869 align:start position:0%
transfer function in solidity doesn't
actually<00:02:58.800><c> check</c><00:02:59.280><c> the</c><00:02:59.440><c> success</c><00:03:00.040><c> or</c><00:03:00.159><c> failure</c><00:03:00.760><c> of</c>

00:03:00.869 --> 00:03:00.879 align:start position:0%
actually check the success or failure of
 

00:03:00.879 --> 00:03:03.229 align:start position:0%
actually check the success or failure of
a<00:03:01.040><c> transfer</c><00:03:01.920><c> and</c><00:03:02.040><c> it</c><00:03:02.159><c> can</c><00:03:02.360><c> also</c><00:03:02.640><c> allow</c><00:03:02.959><c> for</c>

00:03:03.229 --> 00:03:03.239 align:start position:0%
a transfer and it can also allow for
 

00:03:03.239 --> 00:03:05.149 align:start position:0%
a transfer and it can also allow for
really<00:03:03.519><c> bad</c><00:03:03.720><c> things</c><00:03:03.959><c> like</c><00:03:04.120><c> re-entrancy</c><00:03:04.640><c> with</c>

00:03:05.149 --> 00:03:05.159 align:start position:0%
really bad things like re-entrancy with
 

00:03:05.159 --> 00:03:09.190 align:start position:0%
really bad things like re-entrancy with
non-standard<00:03:05.879><c> tokens</c><00:03:06.400><c> such</c><00:03:06.640><c> as</c>

00:03:09.190 --> 00:03:09.200 align:start position:0%
non-standard tokens such as
 

00:03:09.200 --> 00:03:12.470 align:start position:0%
non-standard tokens such as
usdt<00:03:10.200><c> number</c><00:03:10.519><c> three</c><00:03:11.239><c> missing</c><00:03:11.680><c> validation</c><00:03:12.280><c> and</c>

00:03:12.470 --> 00:03:12.480 align:start position:0%
usdt number three missing validation and
 

00:03:12.480 --> 00:03:15.470 align:start position:0%
usdt number three missing validation and
admin<00:03:12.840><c> checks</c><00:03:13.480><c> so</c><00:03:13.799><c> let's</c><00:03:14.080><c> say</c><00:03:14.480><c> you</c><00:03:14.680><c> only</c><00:03:15.080><c> want</c>

00:03:15.470 --> 00:03:15.480 align:start position:0%
admin checks so let's say you only want
 

00:03:15.480 --> 00:03:17.309 align:start position:0%
admin checks so let's say you only want
the<00:03:15.840><c> owner</c><00:03:16.120><c> of</c><00:03:16.239><c> a</c><00:03:16.400><c> contract</c><00:03:16.840><c> to</c><00:03:17.000><c> call</c><00:03:17.200><c> a</c>

00:03:17.309 --> 00:03:17.319 align:start position:0%
the owner of a contract to call a
 

00:03:17.319 --> 00:03:19.229 align:start position:0%
the owner of a contract to call a
function<00:03:17.959><c> or</c><00:03:18.159><c> someone</c><00:03:18.440><c> on</c><00:03:18.560><c> a</c><00:03:18.680><c> white</c><00:03:18.920><c> list</c><00:03:19.120><c> to</c>

00:03:19.229 --> 00:03:19.239 align:start position:0%
function or someone on a white list to
 

00:03:19.239 --> 00:03:21.630 align:start position:0%
function or someone on a white list to
call<00:03:19.440><c> a</c><00:03:19.560><c> function</c><00:03:20.440><c> a</c><00:03:20.560><c> lot</c><00:03:20.680><c> of</c><00:03:20.920><c> times</c><00:03:21.440><c> there's</c>

00:03:21.630 --> 00:03:21.640 align:start position:0%
call a function a lot of times there's
 

00:03:21.640 --> 00:03:23.309 align:start position:0%
call a function a lot of times there's
so<00:03:21.799><c> many</c><00:03:22.000><c> functions</c><00:03:22.400><c> you</c><00:03:22.560><c> just</c><00:03:22.720><c> forget</c><00:03:23.200><c> you</c>

00:03:23.309 --> 00:03:23.319 align:start position:0%
so many functions you just forget you
 

00:03:23.319 --> 00:03:24.869 align:start position:0%
so many functions you just forget you
just<00:03:23.440><c> forget</c><00:03:23.799><c> one</c><00:03:24.200><c> essentially</c><00:03:24.640><c> or</c><00:03:24.760><c> you</c>

00:03:24.869 --> 00:03:24.879 align:start position:0%
just forget one essentially or you
 

00:03:24.879 --> 00:03:26.149 align:start position:0%
just forget one essentially or you
forget<00:03:25.159><c> to</c><00:03:25.280><c> check</c><00:03:25.480><c> for</c><00:03:25.680><c> something</c><00:03:25.959><c> that</c><00:03:26.040><c> you</c>

00:03:26.149 --> 00:03:26.159 align:start position:0%
forget to check for something that you
 

00:03:26.159 --> 00:03:27.949 align:start position:0%
forget to check for something that you
meant<00:03:26.360><c> to</c><00:03:26.480><c> check</c><00:03:26.720><c> for</c><00:03:27.480><c> and</c><00:03:27.640><c> that's</c><00:03:27.799><c> what</c>

00:03:27.949 --> 00:03:27.959 align:start position:0%
meant to check for and that's what
 

00:03:27.959 --> 00:03:29.470 align:start position:0%
meant to check for and that's what
Auditors<00:03:28.319><c> are</c><00:03:28.519><c> here</c><00:03:28.680><c> for</c><00:03:28.959><c> and</c><00:03:29.080><c> they're</c><00:03:29.319><c> really</c>

00:03:29.470 --> 00:03:29.480 align:start position:0%
Auditors are here for and they're really
 

00:03:29.480 --> 00:03:31.670 align:start position:0%
Auditors are here for and they're really
good<00:03:29.640><c> at</c><00:03:29.799><c> finding</c><00:03:30.120><c> that</c><00:03:30.319><c> stuff</c><00:03:31.159><c> um</c><00:03:31.280><c> so</c><00:03:31.519><c> this</c>

00:03:31.670 --> 00:03:31.680 align:start position:0%
good at finding that stuff um so this
 

00:03:31.680 --> 00:03:33.830 align:start position:0%
good at finding that stuff um so this
happens<00:03:32.000><c> more</c><00:03:32.159><c> often</c><00:03:32.400><c> than</c><00:03:32.519><c> youd</c>

00:03:33.830 --> 00:03:33.840 align:start position:0%
happens more often than youd
 

00:03:33.840 --> 00:03:36.429 align:start position:0%
happens more often than youd
think<00:03:34.840><c> okay</c><00:03:35.040><c> missing</c><00:03:35.360><c> check</c><00:03:35.599><c> for</c><00:03:35.799><c> active</c><00:03:36.080><c> L2</c>

00:03:36.429 --> 00:03:36.439 align:start position:0%
think okay missing check for active L2
 

00:03:36.439 --> 00:03:38.509 align:start position:0%
think okay missing check for active L2
sequencer<00:03:37.239><c> so</c><00:03:37.400><c> essentially</c><00:03:37.959><c> if</c><00:03:38.080><c> you</c><00:03:38.239><c> are</c>

00:03:38.509 --> 00:03:38.519 align:start position:0%
sequencer so essentially if you are
 

00:03:38.519 --> 00:03:40.630 align:start position:0%
sequencer so essentially if you are
deploying<00:03:38.920><c> a</c><00:03:39.040><c> protocol</c><00:03:39.519><c> on</c><00:03:39.680><c> top</c><00:03:39.840><c> of</c><00:03:39.959><c> an</c><00:03:40.040><c> L2</c>

00:03:40.630 --> 00:03:40.640 align:start position:0%
deploying a protocol on top of an L2
 

00:03:40.640 --> 00:03:44.309 align:start position:0%
deploying a protocol on top of an L2
like<00:03:41.080><c> arbitrum</c><00:03:41.799><c> or</c><00:03:42.239><c> optimism</c><00:03:43.239><c> um</c><00:03:43.840><c> sometimes</c>

00:03:44.309 --> 00:03:44.319 align:start position:0%
like arbitrum or optimism um sometimes
 

00:03:44.319 --> 00:03:46.509 align:start position:0%
like arbitrum or optimism um sometimes
the<00:03:44.439><c> sequencer</c><00:03:44.959><c> goes</c><00:03:45.200><c> down</c><00:03:45.519><c> not</c><00:03:45.760><c> very</c><00:03:46.000><c> often</c>

00:03:46.509 --> 00:03:46.519 align:start position:0%
the sequencer goes down not very often
 

00:03:46.519 --> 00:03:47.990 align:start position:0%
the sequencer goes down not very often
but<00:03:46.720><c> it</c><00:03:46.840><c> could</c><00:03:47.000><c> happen</c><00:03:47.239><c> in</c><00:03:47.319><c> the</c><00:03:47.439><c> future</c><00:03:47.760><c> and</c><00:03:47.879><c> it</c>

00:03:47.990 --> 00:03:48.000 align:start position:0%
but it could happen in the future and it
 

00:03:48.000 --> 00:03:50.270 align:start position:0%
but it could happen in the future and it
could<00:03:48.159><c> happen</c><00:03:48.400><c> for</c><00:03:48.760><c> long</c><00:03:48.959><c> periods</c><00:03:49.280><c> of</c><00:03:49.480><c> time</c>

00:03:50.270 --> 00:03:50.280 align:start position:0%
could happen for long periods of time
 

00:03:50.280 --> 00:03:52.149 align:start position:0%
could happen for long periods of time
and<00:03:50.519><c> if</c><00:03:50.599><c> you're</c><00:03:50.840><c> a</c><00:03:51.000><c> derivatives</c><00:03:51.560><c> protocol</c><00:03:52.000><c> or</c>

00:03:52.149 --> 00:03:52.159 align:start position:0%
and if you're a derivatives protocol or
 

00:03:52.159 --> 00:03:53.630 align:start position:0%
and if you're a derivatives protocol or
something<00:03:52.439><c> where</c><00:03:52.599><c> real-time</c><00:03:53.079><c> information</c><00:03:53.480><c> is</c>

00:03:53.630 --> 00:03:53.640 align:start position:0%
something where real-time information is
 

00:03:53.640 --> 00:03:55.750 align:start position:0%
something where real-time information is
super<00:03:53.959><c> important</c><00:03:54.799><c> malicious</c><00:03:55.280><c> actors</c><00:03:55.599><c> can</c>

00:03:55.750 --> 00:03:55.760 align:start position:0%
super important malicious actors can
 

00:03:55.760 --> 00:03:58.069 align:start position:0%
super important malicious actors can
take<00:03:55.959><c> advantage</c><00:03:56.640><c> of</c><00:03:56.840><c> stale</c><00:03:57.360><c> prices</c><00:03:57.879><c> because</c>

00:03:58.069 --> 00:03:58.079 align:start position:0%
take advantage of stale prices because
 

00:03:58.079 --> 00:04:01.390 align:start position:0%
take advantage of stale prices because
of<00:03:58.200><c> the</c><00:03:58.280><c> sequencer</c><00:03:58.879><c> being</c><00:03:59.079><c> down</c>

00:04:01.390 --> 00:04:01.400 align:start position:0%
of the sequencer being down
 

00:04:01.400 --> 00:04:04.069 align:start position:0%
of the sequencer being down
number<00:04:01.720><c> five</c><00:04:02.120><c> the</c><00:04:02.280><c> classic</c><00:04:02.840><c> re-entrancy</c><00:04:03.360><c> very</c>

00:04:04.069 --> 00:04:04.079 align:start position:0%
number five the classic re-entrancy very
 

00:04:04.079 --> 00:04:06.429 align:start position:0%
number five the classic re-entrancy very
first<00:04:04.640><c> major</c><00:04:05.000><c> vulnerability</c><00:04:05.920><c> ever</c><00:04:06.239><c> in</c>

00:04:06.429 --> 00:04:06.439 align:start position:0%
first major vulnerability ever in
 

00:04:06.439 --> 00:04:09.869 align:start position:0%
first major vulnerability ever in
ethereum<00:04:07.000><c> the</c><00:04:07.120><c> Dow</c><00:04:07.439><c> hack</c><00:04:08.360><c> um</c><00:04:08.840><c> basically</c><00:04:09.760><c> there</c>

00:04:09.869 --> 00:04:09.879 align:start position:0%
ethereum the Dow hack um basically there
 

00:04:09.879 --> 00:04:12.670 align:start position:0%
ethereum the Dow hack um basically there
are<00:04:10.079><c> certain</c><00:04:10.439><c> functions</c><00:04:11.079><c> where</c><00:04:12.000><c> essentially</c>

00:04:12.670 --> 00:04:12.680 align:start position:0%
are certain functions where essentially
 

00:04:12.680 --> 00:04:14.550 align:start position:0%
are certain functions where essentially
you<00:04:12.840><c> can</c><00:04:13.079><c> continue</c><00:04:13.439><c> the</c><00:04:13.640><c> execution</c><00:04:14.200><c> outside</c>

00:04:14.550 --> 00:04:14.560 align:start position:0%
you can continue the execution outside
 

00:04:14.560 --> 00:04:16.270 align:start position:0%
you can continue the execution outside
of<00:04:14.680><c> the</c><00:04:14.799><c> function</c><00:04:15.120><c> and</c><00:04:15.280><c> call</c><00:04:15.560><c> that</c><00:04:15.799><c> very</c><00:04:16.040><c> same</c>

00:04:16.270 --> 00:04:16.280 align:start position:0%
of the function and call that very same
 

00:04:16.280 --> 00:04:18.270 align:start position:0%
of the function and call that very same
function<00:04:16.680><c> again</c><00:04:17.199><c> and</c><00:04:17.320><c> this</c><00:04:17.440><c> can</c><00:04:17.639><c> cause</c><00:04:18.079><c> all</c>

00:04:18.270 --> 00:04:18.280 align:start position:0%
function again and this can cause all
 

00:04:18.280 --> 00:04:19.670 align:start position:0%
function again and this can cause all
kinds<00:04:18.479><c> of</c><00:04:18.720><c> problems</c><00:04:19.040><c> there's</c><00:04:19.199><c> a</c><00:04:19.359><c> bunch</c><00:04:19.519><c> of</c>

00:04:19.670 --> 00:04:19.680 align:start position:0%
kinds of problems there's a bunch of
 

00:04:19.680 --> 00:04:22.069 align:start position:0%
kinds of problems there's a bunch of
different<00:04:20.400><c> like</c><00:04:20.799><c> surface</c><00:04:21.239><c> area</c><00:04:21.600><c> for</c><00:04:21.840><c> what</c>

00:04:22.069 --> 00:04:22.079 align:start position:0%
different like surface area for what
 

00:04:22.079 --> 00:04:25.510 align:start position:0%
different like surface area for what
these<00:04:22.960><c> um</c><00:04:23.320><c> vulnerabilities</c><00:04:24.080><c> can</c><00:04:24.280><c> do</c><00:04:25.040><c> but</c><00:04:25.400><c> I'm</c>

00:04:25.510 --> 00:04:25.520 align:start position:0%
these um vulnerabilities can do but I'm
 

00:04:25.520 --> 00:04:26.710 align:start position:0%
these um vulnerabilities can do but I'm
sure<00:04:25.880><c> a</c><00:04:26.000><c> lot</c><00:04:26.120><c> of</c><00:04:26.199><c> you</c><00:04:26.320><c> have</c><00:04:26.440><c> heard</c><00:04:26.600><c> of</c>

00:04:26.710 --> 00:04:26.720 align:start position:0%
sure a lot of you have heard of
 

00:04:26.720 --> 00:04:28.710 align:start position:0%
sure a lot of you have heard of
re-entrance<00:04:27.120><c> C</c>

00:04:28.710 --> 00:04:28.720 align:start position:0%
re-entrance C
 

00:04:28.720 --> 00:04:31.629 align:start position:0%
re-entrance C
already<00:04:29.720><c> Beyond</c><00:04:29.960><c> transfer</c><00:04:30.400><c> rebasing</c><00:04:30.919><c> tokens</c>

00:04:31.629 --> 00:04:31.639 align:start position:0%
already Beyond transfer rebasing tokens
 

00:04:31.639 --> 00:04:33.670 align:start position:0%
already Beyond transfer rebasing tokens
so<00:04:32.320><c> if</c><00:04:32.400><c> you</c><00:04:32.520><c> want</c><00:04:32.680><c> your</c><00:04:32.840><c> protocol</c><00:04:33.280><c> to</c><00:04:33.400><c> be</c><00:04:33.520><c> able</c>

00:04:33.670 --> 00:04:33.680 align:start position:0%
so if you want your protocol to be able
 

00:04:33.680 --> 00:04:36.790 align:start position:0%
so if you want your protocol to be able
to<00:04:33.880><c> handle</c><00:04:34.360><c> any</c><00:04:34.639><c> token</c><00:04:34.960><c> out</c><00:04:35.240><c> there</c><00:04:35.960><c> um</c><00:04:36.160><c> or</c><00:04:36.600><c> even</c>

00:04:36.790 --> 00:04:36.800 align:start position:0%
to handle any token out there um or even
 

00:04:36.800 --> 00:04:39.510 align:start position:0%
to handle any token out there um or even
a<00:04:37.039><c> pretty</c><00:04:37.360><c> General</c><00:04:37.880><c> set</c><00:04:38.080><c> of</c><00:04:38.280><c> tokens</c><00:04:39.160><c> a</c><00:04:39.240><c> lot</c><00:04:39.400><c> of</c>

00:04:39.510 --> 00:04:39.520 align:start position:0%
a pretty General set of tokens a lot of
 

00:04:39.520 --> 00:04:41.070 align:start position:0%
a pretty General set of tokens a lot of
them<00:04:39.639><c> are</c><00:04:39.800><c> non-standard</c><00:04:40.520><c> a</c><00:04:40.639><c> lot</c><00:04:40.759><c> of</c><00:04:40.880><c> them</c>

00:04:41.070 --> 00:04:41.080 align:start position:0%
them are non-standard a lot of them
 

00:04:41.080 --> 00:04:44.110 align:start position:0%
them are non-standard a lot of them
don't<00:04:41.800><c> conform</c><00:04:42.400><c> to</c><00:04:43.080><c> you</c><00:04:43.240><c> know</c><00:04:43.759><c> things</c><00:04:44.000><c> that</c>

00:04:44.110 --> 00:04:44.120 align:start position:0%
don't conform to you know things that
 

00:04:44.120 --> 00:04:46.150 align:start position:0%
don't conform to you know things that
you<00:04:44.199><c> would</c><00:04:44.400><c> think</c><00:04:44.600><c> that</c><00:04:44.720><c> they</c><00:04:44.919><c> conform</c><00:04:45.360><c> to</c><00:04:46.000><c> and</c>

00:04:46.150 --> 00:04:46.160 align:start position:0%
you would think that they conform to and
 

00:04:46.160 --> 00:04:48.950 align:start position:0%
you would think that they conform to and
so<00:04:46.639><c> smart</c><00:04:47.000><c> contracts</c><00:04:47.600><c> can</c><00:04:47.759><c> get</c><00:04:48.039><c> completely</c>

00:04:48.950 --> 00:04:48.960 align:start position:0%
so smart contracts can get completely
 

00:04:48.960 --> 00:04:52.430 align:start position:0%
so smart contracts can get completely
dosed<00:04:49.880><c> or</c><00:04:50.320><c> or</c><00:04:50.919><c> um</c><00:04:51.160><c> funds</c><00:04:51.520><c> can</c><00:04:51.639><c> be</c><00:04:51.800><c> lost</c><00:04:52.199><c> because</c>

00:04:52.430 --> 00:04:52.440 align:start position:0%
dosed or or um funds can be lost because
 

00:04:52.440 --> 00:04:54.870 align:start position:0%
dosed or or um funds can be lost because
of<00:04:52.600><c> these</c><00:04:52.840><c> tokens</c><00:04:53.800><c> um</c><00:04:53.960><c> having</c><00:04:54.199><c> non-standard</c>

00:04:54.870 --> 00:04:54.880 align:start position:0%
of these tokens um having non-standard
 

00:04:54.880 --> 00:04:56.150 align:start position:0%
of these tokens um having non-standard
behavior<00:04:55.280><c> with</c><00:04:55.400><c> your</c>

00:04:56.150 --> 00:04:56.160 align:start position:0%
behavior with your
 

00:04:56.160 --> 00:04:59.230 align:start position:0%
behavior with your
functions<00:04:57.160><c> so</c><00:04:58.080><c> rounding</c><00:04:58.600><c> Precision</c><00:04:58.960><c> loss</c>

00:04:59.230 --> 00:04:59.240 align:start position:0%
functions so rounding Precision loss
 

00:04:59.240 --> 00:05:01.469 align:start position:0%
functions so rounding Precision loss
issues<00:04:59.840><c> this</c><00:04:59.960><c> one</c><00:05:00.160><c> has</c><00:05:00.360><c> become</c><00:05:00.840><c> really</c><00:05:01.120><c> famous</c>

00:05:01.469 --> 00:05:01.479 align:start position:0%
issues this one has become really famous
 

00:05:01.479 --> 00:05:03.870 align:start position:0%
issues this one has become really famous
in<00:05:01.639><c> the</c><00:05:01.800><c> last</c><00:05:02.039><c> 12</c><00:05:02.360><c> months</c><00:05:03.120><c> even</c><00:05:03.400><c> if</c><00:05:03.560><c> something</c>

00:05:03.870 --> 00:05:03.880 align:start position:0%
in the last 12 months even if something
 

00:05:03.880 --> 00:05:07.230 align:start position:0%
in the last 12 months even if something
is<00:05:04.080><c> off</c><00:05:04.479><c> by</c><00:05:04.800><c> a</c><00:05:04.960><c> couple</c><00:05:05.280><c> of</c><00:05:05.479><c> way</c><00:05:06.240><c> or</c><00:05:06.680><c> you</c><00:05:06.800><c> know</c><00:05:07.039><c> to</c>

00:05:07.230 --> 00:05:07.240 align:start position:0%
is off by a couple of way or you know to
 

00:05:07.240 --> 00:05:10.150 align:start position:0%
is off by a couple of way or you know to
the<00:05:07.360><c> 18th</c><00:05:08.000><c> 17th</c><00:05:08.520><c> decimal</c><00:05:09.000><c> place</c><00:05:09.600><c> you</c><00:05:09.720><c> can</c><00:05:09.880><c> have</c>

00:05:10.150 --> 00:05:10.160 align:start position:0%
the 18th 17th decimal place you can have
 

00:05:10.160 --> 00:05:12.110 align:start position:0%
the 18th 17th decimal place you can have
major<00:05:10.520><c> issues</c><00:05:11.080><c> because</c><00:05:11.320><c> of</c><00:05:11.479><c> the</c><00:05:11.639><c> way</c><00:05:11.919><c> that</c>

00:05:12.110 --> 00:05:12.120 align:start position:0%
major issues because of the way that
 

00:05:12.120 --> 00:05:14.390 align:start position:0%
major issues because of the way that
solidity<00:05:12.720><c> essentially</c><00:05:13.199><c> or</c><00:05:13.720><c> the</c><00:05:13.840><c> evm</c>

00:05:14.390 --> 00:05:14.400 align:start position:0%
solidity essentially or the evm
 

00:05:14.400 --> 00:05:16.029 align:start position:0%
solidity essentially or the evm
essentially<00:05:14.880><c> doesn't</c><00:05:15.240><c> have</c><00:05:15.400><c> floating</c><00:05:15.840><c> Point</c>

00:05:16.029 --> 00:05:16.039 align:start position:0%
essentially doesn't have floating Point
 

00:05:16.039 --> 00:05:18.710 align:start position:0%
essentially doesn't have floating Point
arithmetic<00:05:16.960><c> so</c><00:05:17.160><c> it</c><00:05:17.320><c> truncates</c><00:05:17.960><c> things</c><00:05:18.440><c> it</c><00:05:18.600><c> it</c>

00:05:18.710 --> 00:05:18.720 align:start position:0%
arithmetic so it truncates things it it
 

00:05:18.720 --> 00:05:20.390 align:start position:0%
arithmetic so it truncates things it it
rounds<00:05:19.120><c> things</c><00:05:19.319><c> a</c><00:05:19.440><c> little</c><00:05:19.639><c> bit</c><00:05:20.039><c> and</c><00:05:20.160><c> that</c><00:05:20.280><c> can</c>

00:05:20.390 --> 00:05:20.400 align:start position:0%
rounds things a little bit and that can
 

00:05:20.400 --> 00:05:22.830 align:start position:0%
rounds things a little bit and that can
cause<00:05:20.600><c> a</c><00:05:20.720><c> lot</c><00:05:20.840><c> of</c><00:05:21.080><c> issues</c><00:05:22.080><c> um</c><00:05:22.240><c> hit</c><00:05:22.400><c> in</c><00:05:22.520><c> the</c><00:05:22.680><c> last</c>

00:05:22.830 --> 00:05:22.840 align:start position:0%
cause a lot of issues um hit in the last
 

00:05:22.840 --> 00:05:24.870 align:start position:0%
cause a lot of issues um hit in the last
three<00:05:23.080><c> really</c><00:05:23.280><c> quickly</c><00:05:23.600><c> here</c><00:05:24.160><c> using</c><00:05:24.520><c> spot</c>

00:05:24.870 --> 00:05:24.880 align:start position:0%
three really quickly here using spot
 

00:05:24.880 --> 00:05:27.390 align:start position:0%
three really quickly here using spot
price<00:05:25.600><c> uh</c><00:05:25.720><c> instead</c><00:05:25.960><c> of</c><00:05:26.080><c> t-w</c><00:05:26.520><c> and</c><00:05:26.639><c> Unis</c><00:05:26.960><c> swap</c><00:05:27.199><c> so</c>

00:05:27.390 --> 00:05:27.400 align:start position:0%
price uh instead of t-w and Unis swap so
 

00:05:27.400 --> 00:05:28.749 align:start position:0%
price uh instead of t-w and Unis swap so
this<00:05:27.479><c> is</c><00:05:27.639><c> something</c><00:05:28.000><c> that</c><00:05:28.199><c> I</c><00:05:28.280><c> think</c><00:05:28.440><c> we've</c><00:05:28.639><c> all</c>

00:05:28.749 --> 00:05:28.759 align:start position:0%
this is something that I think we've all
 

00:05:28.759 --> 00:05:31.029 align:start position:0%
this is something that I think we've all
seen<00:05:29.080><c> price</c><00:05:29.319><c> manip</c><00:05:29.880><c> ation</c><00:05:30.120><c> attacks</c><00:05:30.639><c> where</c>

00:05:31.029 --> 00:05:31.039 align:start position:0%
seen price manip ation attacks where
 

00:05:31.039 --> 00:05:33.950 align:start position:0%
seen price manip ation attacks where
someone<00:05:32.039><c> um</c><00:05:32.639><c> basically</c><00:05:33.080><c> inflates</c><00:05:33.560><c> the</c><00:05:33.680><c> value</c>

00:05:33.950 --> 00:05:33.960 align:start position:0%
someone um basically inflates the value
 

00:05:33.960 --> 00:05:35.629 align:start position:0%
someone um basically inflates the value
of<00:05:34.039><c> a</c><00:05:34.160><c> certain</c><00:05:34.440><c> currency</c><00:05:34.840><c> in</c><00:05:34.919><c> a</c><00:05:35.039><c> Unis</c><00:05:35.400><c> swap</c>

00:05:35.629 --> 00:05:35.639 align:start position:0%
of a certain currency in a Unis swap
 

00:05:35.639 --> 00:05:38.430 align:start position:0%
of a certain currency in a Unis swap
pool<00:05:36.000><c> for</c><00:05:36.319><c> even</c><00:05:36.560><c> one</c><00:05:36.840><c> block</c><00:05:37.479><c> and</c><00:05:37.680><c> then</c><00:05:38.160><c> does</c>

00:05:38.430 --> 00:05:38.440 align:start position:0%
pool for even one block and then does
 

00:05:38.440 --> 00:05:40.309 align:start position:0%
pool for even one block and then does
some<00:05:38.680><c> attack</c><00:05:39.120><c> using</c><00:05:39.360><c> a</c><00:05:39.479><c> flash</c><00:05:39.800><c> loan</c><00:05:40.080><c> and</c><00:05:40.199><c> then</c>

00:05:40.309 --> 00:05:40.319 align:start position:0%
some attack using a flash loan and then
 

00:05:40.319 --> 00:05:42.510 align:start position:0%
some attack using a flash loan and then
it<00:05:40.440><c> goes</c><00:05:40.680><c> back</c><00:05:40.919><c> down</c><00:05:41.560><c> so</c><00:05:41.800><c> that</c><00:05:41.919><c> one</c><00:05:42.039><c> is</c><00:05:42.240><c> really</c>

00:05:42.510 --> 00:05:42.520 align:start position:0%
it goes back down so that one is really
 

00:05:42.520 --> 00:05:44.469 align:start position:0%
it goes back down so that one is really
common<00:05:43.319><c> uh</c><00:05:43.440><c> less</c><00:05:43.680><c> common</c><00:05:43.960><c> these</c><00:05:44.160><c> days</c>

00:05:44.469 --> 00:05:44.479 align:start position:0%
common uh less common these days
 

00:05:44.479 --> 00:05:46.710 align:start position:0%
common uh less common these days
thankfully<00:05:45.479><c> incorrect</c><00:05:46.000><c> implementation</c><00:05:46.560><c> of</c>

00:05:46.710 --> 00:05:46.720 align:start position:0%
thankfully incorrect implementation of
 

00:05:46.720 --> 00:05:48.950 align:start position:0%
thankfully incorrect implementation of
upgradeability<00:05:47.639><c> so</c><00:05:47.880><c> essentially</c><00:05:48.520><c> you</c><00:05:48.720><c> want</c>

00:05:48.950 --> 00:05:48.960 align:start position:0%
upgradeability so essentially you want
 

00:05:48.960 --> 00:05:50.590 align:start position:0%
upgradeability so essentially you want
you<00:05:49.080><c> want</c><00:05:49.240><c> your</c><00:05:49.440><c> contracts</c><00:05:49.880><c> to</c><00:05:50.000><c> be</c><00:05:50.120><c> able</c><00:05:50.280><c> to</c><00:05:50.400><c> be</c>

00:05:50.590 --> 00:05:50.600 align:start position:0%
you want your contracts to be able to be
 

00:05:50.600 --> 00:05:53.870 align:start position:0%
you want your contracts to be able to be
upgraded<00:05:51.600><c> and</c><00:05:51.800><c> it</c><00:05:51.919><c> turns</c><00:05:52.280><c> out</c><00:05:52.639><c> you</c><00:05:53.199><c> hardcoded</c>

00:05:53.870 --> 00:05:53.880 align:start position:0%
upgraded and it turns out you hardcoded
 

00:05:53.880 --> 00:05:55.550 align:start position:0%
upgraded and it turns out you hardcoded
something<00:05:54.240><c> in</c><00:05:54.360><c> an</c><00:05:54.720><c> initializer</c><00:05:55.440><c> you</c>

00:05:55.550 --> 00:05:55.560 align:start position:0%
something in an initializer you
 

00:05:55.560 --> 00:05:57.350 align:start position:0%
something in an initializer you
hardcoded<00:05:56.080><c> something</c><00:05:56.280><c> in</c><00:05:56.360><c> the</c><00:05:56.520><c> Constructor</c>

00:05:57.350 --> 00:05:57.360 align:start position:0%
hardcoded something in the Constructor
 

00:05:57.360 --> 00:05:58.909 align:start position:0%
hardcoded something in the Constructor
and<00:05:57.479><c> you</c><00:05:57.639><c> can't</c><00:05:57.919><c> actually</c><00:05:58.199><c> upgrade</c><00:05:58.639><c> your</c>

00:05:58.909 --> 00:05:58.919 align:start position:0%
and you can't actually upgrade your
 

00:05:58.919 --> 00:06:00.350 align:start position:0%
and you can't actually upgrade your
contracts<00:05:59.319><c> and</c><00:05:59.400><c> you</c><00:05:59.680><c> only</c><00:05:59.840><c> find</c><00:06:00.039><c> that</c><00:06:00.160><c> out</c>

00:06:00.350 --> 00:06:00.360 align:start position:0%
contracts and you only find that out
 

00:06:00.360 --> 00:06:02.230 align:start position:0%
contracts and you only find that out
later<00:06:00.919><c> so</c><00:06:01.080><c> that's</c><00:06:01.280><c> kind</c><00:06:01.400><c> of</c><00:06:01.520><c> annoying</c><00:06:01.880><c> but</c><00:06:02.039><c> not</c>

00:06:02.230 --> 00:06:02.240 align:start position:0%
later so that's kind of annoying but not
 

00:06:02.240 --> 00:06:04.430 align:start position:0%
later so that's kind of annoying but not
too<00:06:02.440><c> big</c><00:06:02.560><c> of</c><00:06:02.680><c> a</c><00:06:02.800><c> deal</c><00:06:03.199><c> unless</c><00:06:03.560><c> it's</c><00:06:04.039><c> uh</c><00:06:04.160><c> unless</c>

00:06:04.430 --> 00:06:04.440 align:start position:0%
too big of a deal unless it's uh unless
 

00:06:04.440 --> 00:06:06.469 align:start position:0%
too big of a deal unless it's uh unless
the<00:06:04.639><c> initial</c><00:06:05.319><c> deployment</c><00:06:05.759><c> of</c><00:06:05.880><c> your</c><00:06:06.039><c> contracts</c>

00:06:06.469 --> 00:06:06.479 align:start position:0%
the initial deployment of your contracts
 

00:06:06.479 --> 00:06:07.830 align:start position:0%
the initial deployment of your contracts
is<00:06:06.639><c> super</c>

00:06:07.830 --> 00:06:07.840 align:start position:0%
is super
 

00:06:07.840 --> 00:06:10.790 align:start position:0%
is super
critical<00:06:08.840><c> last</c><00:06:09.080><c> one</c><00:06:09.560><c> no</c><00:06:09.840><c> slippage</c><00:06:10.319><c> check</c><00:06:10.560><c> in</c>

00:06:10.790 --> 00:06:10.800 align:start position:0%
critical last one no slippage check in
 

00:06:10.800 --> 00:06:14.670 align:start position:0%
critical last one no slippage check in
custom<00:06:11.120><c> vaults</c><00:06:11.479><c> and</c><00:06:11.680><c> pools</c><00:06:12.280><c> so</c><00:06:12.560><c> ERC</c><00:06:13.240><c> ERC</c><00:06:13.759><c> 4626</c>

00:06:14.670 --> 00:06:14.680 align:start position:0%
custom vaults and pools so ERC ERC 4626
 

00:06:14.680 --> 00:06:17.870 align:start position:0%
custom vaults and pools so ERC ERC 4626
is<00:06:14.919><c> great</c><00:06:15.720><c> use</c><00:06:16.280><c> you</c><00:06:16.440><c> know</c><00:06:16.880><c> standards</c><00:06:17.520><c> whenever</c>

00:06:17.870 --> 00:06:17.880 align:start position:0%
is great use you know standards whenever
 

00:06:17.880 --> 00:06:19.830 align:start position:0%
is great use you know standards whenever
you<00:06:18.080><c> can</c><00:06:18.680><c> uh</c><00:06:18.759><c> when</c><00:06:18.880><c> you're</c><00:06:19.039><c> developing</c><00:06:19.440><c> in</c>

00:06:19.830 --> 00:06:19.840 align:start position:0%
you can uh when you're developing in
 

00:06:19.840 --> 00:06:22.309 align:start position:0%
you can uh when you're developing in
solidity<00:06:20.840><c> um</c><00:06:21.240><c> because</c><00:06:21.840><c> if</c><00:06:21.919><c> you</c><00:06:22.120><c> have</c>

00:06:22.309 --> 00:06:22.319 align:start position:0%
solidity um because if you have
 

00:06:22.319 --> 00:06:25.510 align:start position:0%
solidity um because if you have
non-standard<00:06:23.000><c> pools</c><00:06:23.800><c> you</c><00:06:23.919><c> can</c><00:06:24.280><c> actually</c><00:06:24.880><c> have</c>

00:06:25.510 --> 00:06:25.520 align:start position:0%
non-standard pools you can actually have
 

00:06:25.520 --> 00:06:28.309 align:start position:0%
non-standard pools you can actually have
um<00:06:25.720><c> your</c><00:06:25.960><c> user</c><00:06:26.720><c> sign</c><00:06:27.000><c> up</c><00:06:27.240><c> to</c><00:06:27.440><c> get</c><00:06:27.720><c> a</c><00:06:27.880><c> trade</c><00:06:28.120><c> done</c>

00:06:28.309 --> 00:06:28.319 align:start position:0%
um your user sign up to get a trade done
 

00:06:28.319 --> 00:06:30.029 align:start position:0%
um your user sign up to get a trade done
at<00:06:28.479><c> one</c><00:06:28.759><c> price</c><00:06:29.080><c> and</c><00:06:29.199><c> then</c><00:06:29.319><c> at</c><00:06:29.400><c> the</c><00:06:29.639><c> very</c><00:06:29.840><c> next</c>

00:06:30.029 --> 00:06:30.039 align:start position:0%
at one price and then at the very next
 

00:06:30.039 --> 00:06:32.909 align:start position:0%
at one price and then at the very next
block<00:06:30.319><c> or</c><00:06:30.440><c> the</c><00:06:30.599><c> very</c><00:06:30.800><c> next</c><00:06:31.360><c> execution</c><00:06:32.360><c> um</c><00:06:32.720><c> that</c>

00:06:32.909 --> 00:06:32.919 align:start position:0%
block or the very next execution um that
 

00:06:32.919 --> 00:06:34.469 align:start position:0%
block or the very next execution um that
price<00:06:33.120><c> is</c><00:06:33.360><c> completely</c><00:06:33.840><c> different</c><00:06:34.160><c> and</c><00:06:34.280><c> it</c><00:06:34.360><c> can</c>

00:06:34.469 --> 00:06:34.479 align:start position:0%
price is completely different and it can
 

00:06:34.479 --> 00:06:36.909 align:start position:0%
price is completely different and it can
be<00:06:34.639><c> off</c><00:06:35.039><c> by</c><00:06:35.360><c> a</c><00:06:35.599><c> massive</c><00:06:35.960><c> amount</c><00:06:36.240><c> of</c><00:06:36.440><c> percentage</c>

00:06:36.909 --> 00:06:36.919 align:start position:0%
be off by a massive amount of percentage
 

00:06:36.919 --> 00:06:39.710 align:start position:0%
be off by a massive amount of percentage
points<00:06:37.680><c> so</c><00:06:37.919><c> your</c><00:06:38.080><c> users</c><00:06:38.479><c> can</c><00:06:38.680><c> get</c><00:06:38.880><c> really</c><00:06:39.400><c> into</c>

00:06:39.710 --> 00:06:39.720 align:start position:0%
points so your users can get really into
 

00:06:39.720 --> 00:06:41.110 align:start position:0%
points so your users can get really into
trouble<00:06:40.120><c> if</c><00:06:40.240><c> you</c><00:06:40.319><c> don't</c><00:06:40.520><c> have</c><00:06:40.680><c> slippage</c>

00:06:41.110 --> 00:06:41.120 align:start position:0%
trouble if you don't have slippage
 

00:06:41.120 --> 00:06:43.589 align:start position:0%
trouble if you don't have slippage
checks<00:06:41.360><c> on</c><00:06:41.479><c> your</c><00:06:41.639><c> functions</c><00:06:42.120><c> there</c><00:06:42.880><c> so</c><00:06:43.400><c> that's</c>

00:06:43.589 --> 00:06:43.599 align:start position:0%
checks on your functions there so that's
 

00:06:43.599 --> 00:06:45.629 align:start position:0%
checks on your functions there so that's
the<00:06:43.759><c> whole</c><00:06:44.000><c> talk</c><00:06:44.880><c> if</c><00:06:45.000><c> you're</c><00:06:45.199><c> looking</c><00:06:45.440><c> to</c>

00:06:45.629 --> 00:06:45.639 align:start position:0%
the whole talk if you're looking to
 

00:06:45.639 --> 00:06:47.870 align:start position:0%
the whole talk if you're looking to
become<00:06:45.840><c> a</c><00:06:46.000><c> protocol</c><00:06:46.479><c> developer</c><00:06:47.400><c> check</c><00:06:47.639><c> on</c>

00:06:47.870 --> 00:06:47.880 align:start position:0%
become a protocol developer check on
 

00:06:47.880 --> 00:06:49.790 align:start position:0%
become a protocol developer check on
these<00:06:48.080><c> 10</c><00:06:48.360><c> things</c><00:06:48.800><c> before</c><00:06:49.080><c> you</c><00:06:49.360><c> send</c><00:06:49.639><c> your</c>

00:06:49.790 --> 00:06:49.800 align:start position:0%
these 10 things before you send your
 

00:06:49.800 --> 00:06:51.469 align:start position:0%
these 10 things before you send your
protocol<00:06:50.199><c> to</c><00:06:50.360><c> Audits</c><00:06:50.840><c> and</c><00:06:50.919><c> you'll</c><00:06:51.080><c> be</c><00:06:51.280><c> ahead</c>

00:06:51.469 --> 00:06:51.479 align:start position:0%
protocol to Audits and you'll be ahead
 

00:06:51.479 --> 00:06:57.990 align:start position:0%
protocol to Audits and you'll be ahead
of<00:06:51.680><c> 90%</c><00:06:52.240><c> of</c><00:06:52.360><c> the</c><00:06:52.440><c> other</c><00:06:52.599><c> developers</c><00:06:53.080><c> out</c>

00:06:57.990 --> 00:06:58.000 align:start position:0%
 
 

00:06:58.000 --> 00:07:00.469 align:start position:0%
 
there<00:06:59.000><c> thank</c><00:06:59.160><c> you</c><00:06:59.319><c> Jack</c>

00:07:00.469 --> 00:07:00.479 align:start position:0%
there thank you Jack
 

00:07:00.479 --> 00:07:05.230 align:start position:0%
there thank you Jack
I<00:07:00.560><c> see</c><00:07:00.759><c> a</c><00:07:00.919><c> question</c><00:07:01.280><c> over</c>

00:07:05.230 --> 00:07:05.240 align:start position:0%
 
 

00:07:05.240 --> 00:07:08.830 align:start position:0%
 
there<00:07:06.360><c> um</c><00:07:07.360><c> when</c><00:07:07.720><c> when</c><00:07:07.840><c> would</c><00:07:07.960><c> you</c><00:07:08.080><c> do</c><00:07:08.240><c> an</c><00:07:08.440><c> audit</c>

00:07:08.830 --> 00:07:08.840 align:start position:0%
there um when when would you do an audit
 

00:07:08.840 --> 00:07:10.670 align:start position:0%
there um when when would you do an audit
contest<00:07:09.319><c> would</c><00:07:09.440><c> it</c><00:07:09.599><c> be</c><00:07:10.000><c> like</c><00:07:10.240><c> after</c><00:07:10.479><c> you've</c>

00:07:10.670 --> 00:07:10.680 align:start position:0%
contest would it be like after you've
 

00:07:10.680 --> 00:07:12.990 align:start position:0%
contest would it be like after you've
done<00:07:11.400><c> an</c><00:07:11.560><c> audit</c><00:07:11.960><c> or</c><00:07:12.240><c> before</c><00:07:12.520><c> you</c><00:07:12.639><c> do</c><00:07:12.840><c> your</c>

00:07:12.990 --> 00:07:13.000 align:start position:0%
done an audit or before you do your
 

00:07:13.000 --> 00:07:15.189 align:start position:0%
done an audit or before you do your
first<00:07:13.199><c> audit</c><00:07:13.639><c> like</c><00:07:13.879><c> or</c><00:07:14.080><c> instead</c><00:07:14.599><c> of</c><00:07:14.720><c> a</c><00:07:14.879><c> regular</c>

00:07:15.189 --> 00:07:15.199 align:start position:0%
first audit like or instead of a regular
 

00:07:15.199 --> 00:07:17.629 align:start position:0%
first audit like or instead of a regular
audit<00:07:15.720><c> what</c><00:07:15.960><c> what's</c><00:07:16.199><c> the</c><00:07:16.560><c> goal</c><00:07:16.879><c> there</c><00:07:17.440><c> yeah</c>

00:07:17.629 --> 00:07:17.639 align:start position:0%
audit what what's the goal there yeah
 

00:07:17.639 --> 00:07:19.110 align:start position:0%
audit what what's the goal there yeah
it's<00:07:17.759><c> a</c><00:07:17.919><c> great</c><00:07:18.199><c> question</c><00:07:18.599><c> if</c><00:07:18.720><c> you</c><00:07:18.800><c> can</c><00:07:18.919><c> do</c>

00:07:19.110 --> 00:07:19.120 align:start position:0%
it's a great question if you can do
 

00:07:19.120 --> 00:07:21.270 align:start position:0%
it's a great question if you can do
multiple<00:07:19.560><c> audits</c><00:07:20.280><c> I</c><00:07:20.360><c> would</c><00:07:20.520><c> normally</c><00:07:20.879><c> say</c><00:07:21.080><c> do</c>

00:07:21.270 --> 00:07:21.280 align:start position:0%
multiple audits I would normally say do
 

00:07:21.280 --> 00:07:23.830 align:start position:0%
multiple audits I would normally say do
the<00:07:21.400><c> audit</c><00:07:21.680><c> contest</c><00:07:22.160><c> last</c><00:07:22.759><c> because</c><00:07:23.199><c> you</c><00:07:23.360><c> get</c>

00:07:23.830 --> 00:07:23.840 align:start position:0%
the audit contest last because you get
 

00:07:23.840 --> 00:07:27.070 align:start position:0%
the audit contest last because you get
300<00:07:24.440><c> people</c><00:07:25.080><c> it's</c><00:07:25.199><c> a</c><00:07:25.360><c> little</c><00:07:25.599><c> bit</c><00:07:26.199><c> um</c><00:07:26.680><c> there's</c>

00:07:27.070 --> 00:07:27.080 align:start position:0%
300 people it's a little bit um there's
 

00:07:27.080 --> 00:07:29.749 align:start position:0%
300 people it's a little bit um there's
there's<00:07:27.280><c> more</c><00:07:27.759><c> operational</c><00:07:28.759><c> um</c><00:07:29.039><c> complexity</c>

00:07:29.749 --> 00:07:29.759 align:start position:0%
there's more operational um complexity
 

00:07:29.759 --> 00:07:30.710 align:start position:0%
there's more operational um complexity
with<00:07:29.840><c> it</c><00:07:30.000><c> because</c><00:07:30.080><c> you</c><00:07:30.199><c> have</c><00:07:30.280><c> to</c><00:07:30.400><c> deal</c><00:07:30.560><c> with</c>

00:07:30.710 --> 00:07:30.720 align:start position:0%
with it because you have to deal with
 

00:07:30.720 --> 00:07:32.950 align:start position:0%
with it because you have to deal with
300<00:07:31.240><c> people</c><00:07:31.879><c> you</c><00:07:31.960><c> know</c><00:07:32.160><c> Sherlock</c><00:07:32.639><c> and</c><00:07:32.759><c> others</c>

00:07:32.950 --> 00:07:32.960 align:start position:0%
300 people you know Sherlock and others
 

00:07:32.960 --> 00:07:35.909 align:start position:0%
300 people you know Sherlock and others
will<00:07:33.120><c> D</c><00:07:33.319><c> duplicate</c><00:07:33.759><c> the</c><00:07:33.879><c> issues</c><00:07:34.240><c> for</c><00:07:34.440><c> you</c><00:07:35.280><c> um</c>

00:07:35.909 --> 00:07:35.919 align:start position:0%
will D duplicate the issues for you um
 

00:07:35.919 --> 00:07:37.790 align:start position:0%
will D duplicate the issues for you um
so<00:07:36.360><c> if</c><00:07:36.440><c> you</c><00:07:36.560><c> can</c><00:07:36.720><c> do</c><00:07:36.879><c> a</c><00:07:37.039><c> traditional</c><00:07:37.479><c> audit</c><00:07:37.720><c> or</c>

00:07:37.790 --> 00:07:37.800 align:start position:0%
so if you can do a traditional audit or
 

00:07:37.800 --> 00:07:39.430 align:start position:0%
so if you can do a traditional audit or
two<00:07:38.080><c> before</c><00:07:38.400><c> that</c><00:07:38.680><c> that's</c><00:07:38.879><c> even</c><00:07:39.120><c> better</c>

00:07:39.430 --> 00:07:39.440 align:start position:0%
two before that that's even better
 

00:07:39.440 --> 00:07:40.589 align:start position:0%
two before that that's even better
because<00:07:39.639><c> you</c><00:07:39.759><c> get</c><00:07:39.879><c> to</c><00:07:40.080><c> have</c><00:07:40.280><c> kind</c><00:07:40.400><c> of</c>

00:07:40.589 --> 00:07:40.599 align:start position:0%
because you get to have kind of
 

00:07:40.599 --> 00:07:42.469 align:start position:0%
because you get to have kind of
consultation<00:07:41.280><c> with</c><00:07:41.440><c> somebody</c><00:07:42.160><c> and</c><00:07:42.280><c> really</c>

00:07:42.469 --> 00:07:42.479 align:start position:0%
consultation with somebody and really
 

00:07:42.479 --> 00:07:44.390 align:start position:0%
consultation with somebody and really
fix<00:07:42.759><c> a</c><00:07:42.840><c> lot</c><00:07:43.000><c> of</c><00:07:43.080><c> the</c><00:07:43.199><c> things</c><00:07:43.440><c> early</c><00:07:43.759><c> on</c><00:07:44.319><c> and</c>

00:07:44.390 --> 00:07:44.400 align:start position:0%
fix a lot of the things early on and
 

00:07:44.400 --> 00:07:45.830 align:start position:0%
fix a lot of the things early on and
then<00:07:44.560><c> when</c><00:07:44.680><c> you're</c><00:07:44.879><c> like</c><00:07:45.120><c> hey</c><00:07:45.479><c> I</c><00:07:45.599><c> think</c><00:07:45.720><c> this</c>

00:07:45.830 --> 00:07:45.840 align:start position:0%
then when you're like hey I think this
 

00:07:45.840 --> 00:07:47.589 align:start position:0%
then when you're like hey I think this
thing's<00:07:46.120><c> ready</c><00:07:46.280><c> to</c><00:07:46.400><c> go</c><00:07:46.520><c> to</c><00:07:46.639><c> mainnet</c><00:07:47.319><c> do</c><00:07:47.479><c> an</c>

00:07:47.589 --> 00:07:47.599 align:start position:0%
thing's ready to go to mainnet do an
 

00:07:47.599 --> 00:07:49.869 align:start position:0%
thing's ready to go to mainnet do an
audit<00:07:47.919><c> contest</c><00:07:48.440><c> and</c><00:07:48.560><c> you'll</c><00:07:48.800><c> find</c><00:07:49.560><c> all</c><00:07:49.720><c> the</c>

00:07:49.869 --> 00:07:49.879 align:start position:0%
audit contest and you'll find all the
 

00:07:49.879 --> 00:08:04.510 align:start position:0%
audit contest and you'll find all the
other<00:07:50.120><c> stuff</c><00:07:50.639><c> essentially</c><00:07:51.639><c> that's</c><00:07:51.759><c> the</c><00:07:51.919><c> goal</c>

00:08:04.510 --> 00:08:04.520 align:start position:0%
 
 

00:08:04.520 --> 00:08:07.230 align:start position:0%
 
hi<00:08:05.000><c> um</c><00:08:05.159><c> are</c><00:08:05.280><c> there</c><00:08:05.440><c> any</c><00:08:05.720><c> standard</c><00:08:06.560><c> protocols</c>

00:08:07.230 --> 00:08:07.240 align:start position:0%
hi um are there any standard protocols
 

00:08:07.240 --> 00:08:10.189 align:start position:0%
hi um are there any standard protocols
or<00:08:07.560><c> platforms</c><00:08:08.080><c> for</c><00:08:08.280><c> holding</c><00:08:08.680><c> these</c><00:08:09.199><c> contests</c>

00:08:10.189 --> 00:08:10.199 align:start position:0%
or platforms for holding these contests
 

00:08:10.199 --> 00:08:12.670 align:start position:0%
or platforms for holding these contests
that<00:08:10.319><c> you</c><00:08:10.440><c> can</c><00:08:10.919><c> recommend</c><00:08:11.919><c> yeah</c><00:08:12.159><c> so</c><00:08:12.440><c> I'm</c><00:08:12.560><c> the</c>

00:08:12.670 --> 00:08:12.680 align:start position:0%
that you can recommend yeah so I'm the
 

00:08:12.680 --> 00:08:14.710 align:start position:0%
that you can recommend yeah so I'm the
CEO<00:08:13.120><c> co-founder</c><00:08:13.520><c> of</c><00:08:13.639><c> Sherlock</c><00:08:14.159><c> Sherlock</c><00:08:14.599><c> is</c>

00:08:14.710 --> 00:08:14.720 align:start position:0%
CEO co-founder of Sherlock Sherlock is
 

00:08:14.720 --> 00:08:16.510 align:start position:0%
CEO co-founder of Sherlock Sherlock is
one<00:08:14.840><c> of</c><00:08:15.039><c> the</c><00:08:15.400><c> the</c><00:08:15.560><c> main</c><00:08:15.800><c> ones</c><00:08:16.080><c> so</c><00:08:16.319><c> I'm</c>

00:08:16.510 --> 00:08:16.520 align:start position:0%
one of the the main ones so I'm
 

00:08:16.520 --> 00:08:18.790 align:start position:0%
one of the the main ones so I'm
obviously<00:08:16.879><c> very</c><00:08:17.120><c> biased</c><00:08:17.919><c> um</c><00:08:18.240><c> but</c><00:08:18.599><c> there's</c>

00:08:18.790 --> 00:08:18.800 align:start position:0%
obviously very biased um but there's
 

00:08:18.800 --> 00:08:21.589 align:start position:0%
obviously very biased um but there's
Sherlock<00:08:19.479><c> there's</c><00:08:19.680><c> Cod</c><00:08:19.919><c> Arina</c><00:08:20.800><c> there</c><00:08:21.039><c> is</c>

00:08:21.589 --> 00:08:21.599 align:start position:0%
Sherlock there's Cod Arina there is
 

00:08:21.599 --> 00:08:23.670 align:start position:0%
Sherlock there's Cod Arina there is
immuni<00:08:22.159><c> does</c><00:08:22.360><c> them</c><00:08:22.560><c> as</c><00:08:22.680><c> well</c><00:08:22.919><c> now</c><00:08:23.360><c> there's</c><00:08:23.560><c> a</c>

00:08:23.670 --> 00:08:23.680 align:start position:0%
immuni does them as well now there's a
 

00:08:23.680 --> 00:08:26.390 align:start position:0%
immuni does them as well now there's a
platform<00:08:24.039><c> called</c><00:08:24.280><c> Cantina</c><00:08:24.919><c> Cod</c><00:08:25.280><c> Hawks</c><00:08:25.759><c> hats</c>

00:08:26.390 --> 00:08:26.400 align:start position:0%
platform called Cantina Cod Hawks hats
 

00:08:26.400 --> 00:08:28.550 align:start position:0%
platform called Cantina Cod Hawks hats
so<00:08:26.560><c> there's</c><00:08:26.720><c> a</c><00:08:26.840><c> few</c><00:08:27.080><c> platforms</c><00:08:27.560><c> out</c><00:08:27.759><c> there</c>

00:08:28.550 --> 00:08:28.560 align:start position:0%
so there's a few platforms out there
 

00:08:28.560 --> 00:08:32.870 align:start position:0%
so there's a few platforms out there
thank<00:08:28.759><c> you</c>

00:08:32.870 --> 00:08:32.880 align:start position:0%
 
 

00:08:32.880 --> 00:08:39.750 align:start position:0%
 
any<00:08:33.080><c> other</c><00:08:33.719><c> questions</c><00:08:34.719><c> oh</c><00:08:34.880><c> we</c><00:08:35.039><c> have</c><00:08:35.200><c> one</c>

00:08:39.750 --> 00:08:39.760 align:start position:0%
 
 

00:08:39.760 --> 00:08:43.829 align:start position:0%
 
here<00:08:40.760><c> thank</c><00:08:41.159><c> you</c><00:08:42.159><c> a</c><00:08:42.599><c> is</c><00:08:42.800><c> very</c>

00:08:43.829 --> 00:08:43.839 align:start position:0%
here thank you a is very
 

00:08:43.839 --> 00:08:48.030 align:start position:0%
here thank you a is very
expensive<00:08:44.839><c> so</c><00:08:45.160><c> what</c><00:08:45.279><c> is</c><00:08:46.040><c> uh</c><00:08:47.040><c> your</c><00:08:47.399><c> suggestion</c>

00:08:48.030 --> 00:08:48.040 align:start position:0%
expensive so what is uh your suggestion
 

00:08:48.040 --> 00:08:49.430 align:start position:0%
expensive so what is uh your suggestion
for

00:08:49.430 --> 00:08:49.440 align:start position:0%
for
 

00:08:49.440 --> 00:08:54.070 align:start position:0%
for
small<00:08:50.440><c> uh</c><00:08:51.000><c> dab</c><00:08:51.600><c> with</c><00:08:51.839><c> the</c><00:08:52.040><c> very</c><00:08:52.399><c> tight</c><00:08:53.080><c> boxes</c>

00:08:54.070 --> 00:08:54.080 align:start position:0%
small uh dab with the very tight boxes
 

00:08:54.080 --> 00:08:57.030 align:start position:0%
small uh dab with the very tight boxes
thank<00:08:54.279><c> you</c><00:08:55.240><c> yeah</c><00:08:55.800><c> um</c><00:08:56.360><c> if</c><00:08:56.480><c> you're</c><00:08:56.760><c> if</c><00:08:56.839><c> you</c><00:08:56.959><c> have</c>

00:08:57.030 --> 00:08:57.040 align:start position:0%
thank you yeah um if you're if you have
 

00:08:57.040 --> 00:08:58.990 align:start position:0%
thank you yeah um if you're if you have
a<00:08:57.160><c> tight</c><00:08:57.440><c> budget</c><00:08:58.079><c> uh</c><00:08:58.240><c> I</c><00:08:58.320><c> would</c><00:08:58.480><c> say</c><00:08:58.720><c> just</c><00:08:58.839><c> try</c>

00:08:58.990 --> 00:08:59.000 align:start position:0%
a tight budget uh I would say just try
 

00:08:59.000 --> 00:09:00.630 align:start position:0%
a tight budget uh I would say just try
to<00:08:59.120><c> keep</c><00:08:59.240><c> your</c><00:08:59.560><c> contracts</c><00:08:59.959><c> as</c><00:09:00.120><c> simple</c><00:09:00.399><c> as</c>

00:09:00.630 --> 00:09:00.640 align:start position:0%
to keep your contracts as simple as
 

00:09:00.640 --> 00:09:02.590 align:start position:0%
to keep your contracts as simple as
possible<00:09:01.440><c> every</c><00:09:01.680><c> line</c><00:09:01.839><c> of</c><00:09:02.000><c> code</c><00:09:02.200><c> is</c><00:09:02.320><c> going</c><00:09:02.399><c> to</c>

00:09:02.590 --> 00:09:02.600 align:start position:0%
possible every line of code is going to
 

00:09:02.600 --> 00:09:04.389 align:start position:0%
possible every line of code is going to
cost<00:09:02.800><c> you</c><00:09:02.920><c> money</c><00:09:03.600><c> uh</c><00:09:03.720><c> when</c><00:09:03.839><c> it</c><00:09:03.920><c> comes</c><00:09:04.120><c> to</c><00:09:04.279><c> the</c>

00:09:04.389 --> 00:09:04.399 align:start position:0%
cost you money uh when it comes to the
 

00:09:04.399 --> 00:09:07.670 align:start position:0%
cost you money uh when it comes to the
auditing<00:09:04.880><c> phase</c><00:09:05.839><c> and</c><00:09:06.200><c> you</c><00:09:06.399><c> really</c><00:09:06.720><c> want</c><00:09:06.959><c> to</c>

00:09:07.670 --> 00:09:07.680 align:start position:0%
auditing phase and you really want to
 

00:09:07.680 --> 00:09:10.190 align:start position:0%
auditing phase and you really want to
pay<00:09:07.920><c> per</c><00:09:08.120><c> line</c><00:09:08.279><c> of</c><00:09:08.440><c> code</c><00:09:08.839><c> like</c><00:09:09.320><c> essentially</c>

00:09:10.190 --> 00:09:10.200 align:start position:0%
pay per line of code like essentially
 

00:09:10.200 --> 00:09:11.790 align:start position:0%
pay per line of code like essentially
you<00:09:10.320><c> need</c><00:09:10.480><c> to</c><00:09:10.640><c> pay</c><00:09:10.760><c> for</c><00:09:10.920><c> the</c><00:09:11.079><c> best</c><00:09:11.360><c> people</c>

00:09:11.790 --> 00:09:11.800 align:start position:0%
you need to pay for the best people
 

00:09:11.800 --> 00:09:13.630 align:start position:0%
you need to pay for the best people
because<00:09:12.320><c> those</c><00:09:12.440><c> are</c><00:09:12.600><c> the</c><00:09:12.760><c> people</c><00:09:12.959><c> who</c><00:09:13.160><c> know</c>

00:09:13.630 --> 00:09:13.640 align:start position:0%
because those are the people who know
 

00:09:13.640 --> 00:09:16.310 align:start position:0%
because those are the people who know
how<00:09:13.760><c> to</c><00:09:13.959><c> hack</c><00:09:14.279><c> contracts</c><00:09:15.240><c> and</c><00:09:15.800><c> those</c><00:09:15.959><c> people</c>

00:09:16.310 --> 00:09:16.320 align:start position:0%
how to hack contracts and those people
 

00:09:16.320 --> 00:09:18.269 align:start position:0%
how to hack contracts and those people
exist<00:09:16.680><c> on</c><00:09:16.800><c> the</c><00:09:16.920><c> black</c><00:09:17.279><c> hat</c><00:09:17.519><c> side</c><00:09:17.720><c> like</c><00:09:17.920><c> the</c><00:09:18.040><c> bad</c>

00:09:18.269 --> 00:09:18.279 align:start position:0%
exist on the black hat side like the bad
 

00:09:18.279 --> 00:09:19.670 align:start position:0%
exist on the black hat side like the bad
guys<00:09:18.720><c> so</c><00:09:18.839><c> you</c><00:09:18.920><c> need</c><00:09:19.079><c> to</c><00:09:19.200><c> make</c><00:09:19.320><c> sure</c><00:09:19.480><c> you're</c>

00:09:19.670 --> 00:09:19.680 align:start position:0%
guys so you need to make sure you're
 

00:09:19.680 --> 00:09:21.829 align:start position:0%
guys so you need to make sure you're
paying<00:09:19.880><c> for</c><00:09:20.040><c> the</c><00:09:20.200><c> best</c><00:09:20.440><c> good</c><00:09:20.680><c> guys</c><00:09:20.959><c> as</c><00:09:21.120><c> well</c><00:09:21.640><c> to</c>

00:09:21.829 --> 00:09:21.839 align:start position:0%
paying for the best good guys as well to
 

00:09:21.839 --> 00:09:22.750 align:start position:0%
paying for the best good guys as well to
ensure<00:09:22.160><c> that</c><00:09:22.240><c> you</c><00:09:22.360><c> find</c><00:09:22.600><c> those</c>

00:09:22.750 --> 00:09:22.760 align:start position:0%
ensure that you find those
 

00:09:22.760 --> 00:09:24.630 align:start position:0%
ensure that you find those
vulnerabilities<00:09:23.519><c> before</c><00:09:23.760><c> you</c><00:09:23.880><c> go</c><00:09:24.000><c> to</c><00:09:24.079><c> mainnet</c>

00:09:24.630 --> 00:09:24.640 align:start position:0%
vulnerabilities before you go to mainnet
 

00:09:24.640 --> 00:09:27.230 align:start position:0%
vulnerabilities before you go to mainnet
so<00:09:25.320><c> if</c><00:09:25.440><c> you're</c><00:09:25.839><c> kind</c><00:09:25.959><c> of</c><00:09:26.079><c> bootstrapping</c><00:09:27.079><c> just</c>

00:09:27.230 --> 00:09:27.240 align:start position:0%
so if you're kind of bootstrapping just
 

00:09:27.240 --> 00:09:28.990 align:start position:0%
so if you're kind of bootstrapping just
try<00:09:27.399><c> to</c><00:09:27.560><c> keep</c><00:09:27.760><c> your</c><00:09:27.959><c> code</c><00:09:28.399><c> as</c><00:09:28.560><c> small</c><00:09:28.839><c> as</c>

00:09:28.990 --> 00:09:29.000 align:start position:0%
try to keep your code as small as
 

00:09:29.000 --> 00:09:31.750 align:start position:0%
try to keep your code as small as
possible<00:09:29.519><c> as</c><00:09:29.640><c> simple</c><00:09:29.959><c> as</c><00:09:30.160><c> possible</c><00:09:31.000><c> use</c><00:09:31.480><c> other</c>

00:09:31.750 --> 00:09:31.760 align:start position:0%
possible as simple as possible use other
 

00:09:31.760 --> 00:09:33.430 align:start position:0%
possible as simple as possible use other
code<00:09:32.079><c> that's</c><00:09:32.320><c> already</c><00:09:32.560><c> been</c><00:09:32.720><c> audited</c><00:09:33.160><c> if</c>

00:09:33.430 --> 00:09:33.440 align:start position:0%
code that's already been audited if
 

00:09:33.440 --> 00:09:36.470 align:start position:0%
code that's already been audited if
possible<00:09:34.440><c> um</c><00:09:35.160><c> and</c><00:09:35.440><c> when</c><00:09:35.600><c> you</c><00:09:35.839><c> actually</c><00:09:36.120><c> do</c><00:09:36.320><c> do</c>

00:09:36.470 --> 00:09:36.480 align:start position:0%
possible um and when you actually do do
 

00:09:36.480 --> 00:09:38.350 align:start position:0%
possible um and when you actually do do
an<00:09:36.640><c> audit</c><00:09:37.360><c> don't</c><00:09:37.560><c> go</c><00:09:37.680><c> for</c><00:09:37.839><c> the</c><00:09:37.959><c> cheapest</c>

00:09:38.350 --> 00:09:38.360 align:start position:0%
an audit don't go for the cheapest
 

00:09:38.360 --> 00:09:39.829 align:start position:0%
an audit don't go for the cheapest
provider<00:09:38.839><c> because</c><00:09:39.040><c> you</c><00:09:39.200><c> really</c><00:09:39.399><c> want</c><00:09:39.560><c> to</c><00:09:39.720><c> get</c>

00:09:39.829 --> 00:09:39.839 align:start position:0%
provider because you really want to get
 

00:09:39.839 --> 00:09:41.550 align:start position:0%
provider because you really want to get
that<00:09:40.040><c> top</c><00:09:40.279><c> talent</c><00:09:40.720><c> even</c><00:09:40.880><c> if</c><00:09:41.000><c> you</c><00:09:41.120><c> have</c><00:09:41.200><c> a</c><00:09:41.320><c> small</c>

00:09:41.550 --> 00:09:41.560 align:start position:0%
that top talent even if you have a small
 

00:09:41.560 --> 00:09:44.800 align:start position:0%
that top talent even if you have a small
code<00:09:41.800><c> base</c>

