WEBVTT
Kind: captions
Language: en

00:00:00.120 --> 00:00:03.800 align:start position:0%
 
hello<00:00:00.840><c> again</c><00:00:01.399><c> so</c><00:00:02.399><c> it's</c><00:00:03.000><c> actually</c><00:00:03.210><c> not</c><00:00:03.540><c> brand</c>

00:00:03.800 --> 00:00:03.810 align:start position:0%
hello again so it's actually not brand
 

00:00:03.810 --> 00:00:06.800 align:start position:0%
hello again so it's actually not brand
new<00:00:03.929><c> in</c><00:00:04.080><c> like</c><00:00:04.500><c> blockchain</c><00:00:05.330><c> terms</c><00:00:06.330><c> because</c>

00:00:06.800 --> 00:00:06.810 align:start position:0%
new in like blockchain terms because
 

00:00:06.810 --> 00:00:08.990 align:start position:0%
new in like blockchain terms because
it's<00:00:06.990><c> it's</c><00:00:07.290><c> a</c><00:00:07.379><c> year</c><00:00:07.649><c> old</c><00:00:07.859><c> so</c><00:00:08.130><c> it's</c><00:00:08.250><c> like</c><00:00:08.460><c> really</c>

00:00:08.990 --> 00:00:09.000 align:start position:0%
it's it's a year old so it's like really
 

00:00:09.000 --> 00:00:10.150 align:start position:0%
it's it's a year old so it's like really
old<00:00:09.240><c> at</c><00:00:09.389><c> this</c><00:00:09.510><c> point</c>

00:00:10.150 --> 00:00:10.160 align:start position:0%
old at this point
 

00:00:10.160 --> 00:00:16.640 align:start position:0%
old at this point
okay<00:00:11.160><c> you'll</c><00:00:12.019><c> which</c><00:00:13.019><c> is</c><00:00:13.320><c> it</c><00:00:14.089><c> okay</c><00:00:15.470><c> so</c><00:00:16.470><c> some</c><00:00:16.619><c> of</c>

00:00:16.640 --> 00:00:16.650 align:start position:0%
okay you'll which is it okay so some of
 

00:00:16.650 --> 00:00:18.260 align:start position:0%
okay you'll which is it okay so some of
you<00:00:16.859><c> may</c><00:00:17.130><c> have</c><00:00:17.279><c> attended</c><00:00:17.369><c> eff</c><00:00:17.760><c> country</c><00:00:18.090><c> and</c>

00:00:18.260 --> 00:00:18.270 align:start position:0%
you may have attended eff country and
 

00:00:18.270 --> 00:00:19.849 align:start position:0%
you may have attended eff country and
may<00:00:18.359><c> have</c><00:00:18.510><c> seen</c><00:00:18.720><c> this</c><00:00:18.930><c> at</c><00:00:19.080><c> a</c><00:00:19.109><c> talk</c><00:00:19.410><c> called</c>

00:00:19.849 --> 00:00:19.859 align:start position:0%
may have seen this at a talk called
 

00:00:19.859 --> 00:00:23.689 align:start position:0%
may have seen this at a talk called
Yuliya<00:00:20.750><c> which</c><00:00:21.750><c> I</c><00:00:22.020><c> had</c><00:00:22.289><c> last</c><00:00:22.529><c> year</c><00:00:22.769><c> there's</c>

00:00:23.689 --> 00:00:23.699 align:start position:0%
Yuliya which I had last year there's
 

00:00:23.699 --> 00:00:25.179 align:start position:0%
Yuliya which I had last year there's
some<00:00:23.820><c> overlap</c><00:00:24.119><c> between</c><00:00:24.180><c> that</c><00:00:24.510><c> and</c><00:00:24.539><c> this</c><00:00:24.810><c> one</c>

00:00:25.179 --> 00:00:25.189 align:start position:0%
some overlap between that and this one
 

00:00:25.189 --> 00:00:27.920 align:start position:0%
some overlap between that and this one
but<00:00:26.189><c> yeah</c><00:00:26.789><c> after</c><00:00:27.060><c> definitely</c><00:00:27.269><c> we</c><00:00:27.630><c> did</c><00:00:27.779><c> learn</c>

00:00:27.920 --> 00:00:27.930 align:start position:0%
but yeah after definitely we did learn
 

00:00:27.930 --> 00:00:29.630 align:start position:0%
but yeah after definitely we did learn
that<00:00:28.170><c> there's</c><00:00:28.349><c> another</c><00:00:28.560><c> language</c><00:00:28.769><c> Julia</c><00:00:29.400><c> and</c>

00:00:29.630 --> 00:00:29.640 align:start position:0%
that there's another language Julia and
 

00:00:29.640 --> 00:00:31.220 align:start position:0%
that there's another language Julia and
maybe<00:00:30.210><c> we</c><00:00:30.390><c> shouldn't</c><00:00:30.689><c> go</c><00:00:30.779><c> our</c><00:00:30.929><c> language</c>

00:00:31.220 --> 00:00:31.230 align:start position:0%
maybe we shouldn't go our language
 

00:00:31.230 --> 00:00:32.930 align:start position:0%
maybe we shouldn't go our language
Julia's<00:00:31.590><c> well</c><00:00:31.830><c> so</c><00:00:32.009><c> we</c><00:00:32.130><c> decided</c><00:00:32.460><c> to</c><00:00:32.610><c> rename</c><00:00:32.880><c> it</c>

00:00:32.930 --> 00:00:32.940 align:start position:0%
Julia's well so we decided to rename it
 

00:00:32.940 --> 00:00:35.510 align:start position:0%
Julia's well so we decided to rename it
to<00:00:33.090><c> you</c><00:00:33.530><c> so</c><00:00:34.530><c> that's</c><00:00:34.649><c> that's</c><00:00:34.950><c> the</c><00:00:35.190><c> real</c><00:00:35.309><c> talk</c>

00:00:35.510 --> 00:00:35.520 align:start position:0%
to you so that's that's the real talk
 

00:00:35.520 --> 00:00:38.900 align:start position:0%
to you so that's that's the real talk
about<00:00:35.809><c> okay</c><00:00:36.809><c> the</c><00:00:37.020><c> design</c><00:00:37.500><c> goes</c><00:00:37.770><c> for</c><00:00:38.070><c> you</c><00:00:38.219><c> the</c>

00:00:38.900 --> 00:00:38.910 align:start position:0%
about okay the design goes for you the
 

00:00:38.910 --> 00:00:41.150 align:start position:0%
about okay the design goes for you the
couple<00:00:39.210><c> of</c><00:00:39.270><c> these</c><00:00:39.420><c> angles</c><00:00:39.840><c> we</c><00:00:40.020><c> had</c><00:00:40.200><c> but</c><00:00:40.950><c> first</c>

00:00:41.150 --> 00:00:41.160 align:start position:0%
couple of these angles we had but first
 

00:00:41.160 --> 00:00:43.040 align:start position:0%
couple of these angles we had but first
of<00:00:41.309><c> all</c><00:00:41.460><c> it</c><00:00:41.910><c> has</c><00:00:42.120><c> to</c><00:00:42.149><c> be</c><00:00:42.360><c> easy</c><00:00:42.540><c> to</c><00:00:42.629><c> read</c><00:00:42.840><c> and</c>

00:00:43.040 --> 00:00:43.050 align:start position:0%
of all it has to be easy to read and
 

00:00:43.050 --> 00:00:44.139 align:start position:0%
of all it has to be easy to read and
write

00:00:44.139 --> 00:00:44.149 align:start position:0%
write
 

00:00:44.149 --> 00:00:46.690 align:start position:0%
write
secondly<00:00:45.149><c> it</c><00:00:45.360><c> has</c><00:00:45.600><c> to</c><00:00:45.780><c> be</c><00:00:45.899><c> a</c><00:00:45.930><c> good</c><00:00:46.200><c> base</c><00:00:46.379><c> for</c>

00:00:46.690 --> 00:00:46.700 align:start position:0%
secondly it has to be a good base for
 

00:00:46.700 --> 00:00:48.650 align:start position:0%
secondly it has to be a good base for
transformations<00:00:47.700><c> for</c><00:00:47.969><c> more</c><00:00:48.180><c> importantly</c>

00:00:48.650 --> 00:00:48.660 align:start position:0%
transformations for more importantly
 

00:00:48.660 --> 00:00:52.310 align:start position:0%
transformations for more importantly
optimizations<00:00:49.500><c> on</c><00:00:49.860><c> top</c><00:00:50.219><c> of</c><00:00:50.340><c> it</c><00:00:50.520><c> and</c><00:00:50.780><c> the</c><00:00:51.780><c> third</c>

00:00:52.310 --> 00:00:52.320 align:start position:0%
optimizations on top of it and the third
 

00:00:52.320 --> 00:00:54.319 align:start position:0%
optimizations on top of it and the third
main<00:00:52.559><c> point</c><00:00:52.890><c> is</c><00:00:53.160><c> that</c><00:00:53.190><c> it</c><00:00:53.579><c> should</c><00:00:53.879><c> be</c><00:00:54.059><c> a</c><00:00:54.090><c> really</c>

00:00:54.319 --> 00:00:54.329 align:start position:0%
main point is that it should be a really
 

00:00:54.329 --> 00:00:57.229 align:start position:0%
main point is that it should be a really
good<00:00:54.510><c> base</c><00:00:54.719><c> for</c><00:00:55.050><c> auditing</c><00:00:55.890><c> so</c><00:00:56.760><c> actually</c><00:00:57.090><c> these</c>

00:00:57.229 --> 00:00:57.239 align:start position:0%
good base for auditing so actually these
 

00:00:57.239 --> 00:00:59.590 align:start position:0%
good base for auditing so actually these
three<00:00:57.480><c> points</c><00:00:57.660><c> play</c><00:00:58.050><c> together</c>

00:00:59.590 --> 00:00:59.600 align:start position:0%
three points play together
 

00:00:59.600 --> 00:01:03.709 align:start position:0%
three points play together
by<00:01:00.600><c> having</c><00:01:01.140><c> it</c><00:01:01.260><c> easy</c><00:01:01.350><c> to</c><00:01:01.590><c> audit</c><00:01:02.210><c> the</c><00:01:03.210><c> we're</c>

00:01:03.709 --> 00:01:03.719 align:start position:0%
by having it easy to audit the we're
 

00:01:03.719 --> 00:01:07.250 align:start position:0%
by having it easy to audit the we're
writing<00:01:04.530><c> code</c><00:01:05.339><c> as</c><00:01:05.640><c> like</c><00:01:06.299><c> single</c><00:01:06.750><c> instructions</c>

00:01:07.250 --> 00:01:07.260 align:start position:0%
writing code as like single instructions
 

00:01:07.260 --> 00:01:09.679 align:start position:0%
writing code as like single instructions
in<00:01:07.409><c> a</c><00:01:07.470><c> function</c><00:01:08.150><c> you</c><00:01:09.150><c> know</c><00:01:09.270><c> the</c><00:01:09.479><c> smaller</c>

00:01:09.679 --> 00:01:09.689 align:start position:0%
in a function you know the smaller
 

00:01:09.689 --> 00:01:11.990 align:start position:0%
in a function you know the smaller
decoded<00:01:10.110><c> the</c><00:01:10.260><c> easier</c><00:01:10.500><c> to</c><00:01:10.619><c> audit</c><00:01:10.950><c> and</c><00:01:11.130><c> and</c><00:01:11.850><c> as</c><00:01:11.970><c> a</c>

00:01:11.990 --> 00:01:12.000 align:start position:0%
decoded the easier to audit and and as a
 

00:01:12.000 --> 00:01:14.030 align:start position:0%
decoded the easier to audit and and as a
result<00:01:12.360><c> it's</c><00:01:12.510><c> quite</c><00:01:12.689><c> easy</c><00:01:12.840><c> to</c><00:01:13.049><c> read</c><00:01:13.229><c> but</c><00:01:13.799><c> it's</c>

00:01:14.030 --> 00:01:14.040 align:start position:0%
result it's quite easy to read but it's
 

00:01:14.040 --> 00:01:16.100 align:start position:0%
result it's quite easy to read but it's
not<00:01:14.250><c> well</c><00:01:14.430><c> optimized</c><00:01:14.880><c> it</c><00:01:15.360><c> uses</c><00:01:15.630><c> a</c><00:01:15.689><c> lot</c><00:01:15.780><c> of</c><00:01:15.900><c> gas</c>

00:01:16.100 --> 00:01:16.110 align:start position:0%
not well optimized it uses a lot of gas
 

00:01:16.110 --> 00:01:18.200 align:start position:0%
not well optimized it uses a lot of gas
so<00:01:16.710><c> that's</c><00:01:16.890><c> why</c><00:01:17.070><c> we</c><00:01:17.310><c> need</c><00:01:17.400><c> a</c><00:01:17.460><c> lot</c><00:01:17.729><c> of</c><00:01:17.759><c> good</c>

00:01:18.200 --> 00:01:18.210 align:start position:0%
so that's why we need a lot of good
 

00:01:18.210 --> 00:01:21.080 align:start position:0%
so that's why we need a lot of good
optimization<00:01:18.420><c> steps</c><00:01:19.170><c> on</c><00:01:19.439><c> top</c><00:01:19.590><c> of</c><00:01:19.710><c> it</c><00:01:19.970><c> and</c><00:01:20.970><c> the</c>

00:01:21.080 --> 00:01:21.090 align:start position:0%
optimization steps on top of it and the
 

00:01:21.090 --> 00:01:23.450 align:start position:0%
optimization steps on top of it and the
last<00:01:21.270><c> big</c><00:01:21.450><c> point</c><00:01:21.689><c> for</c><00:01:22.080><c> the</c><00:01:22.680><c> design</c><00:01:22.950><c> goals</c><00:01:23.189><c> is</c>

00:01:23.450 --> 00:01:23.460 align:start position:0%
last big point for the design goals is
 

00:01:23.460 --> 00:01:26.120 align:start position:0%
last big point for the design goals is
to<00:01:23.490><c> support</c><00:01:24.119><c> multiple</c><00:01:24.270><c> target</c><00:01:24.840><c> VMs</c><00:01:25.259><c> and</c><00:01:25.500><c> of</c>

00:01:26.120 --> 00:01:26.130 align:start position:0%
to support multiple target VMs and of
 

00:01:26.130 --> 00:01:27.710 align:start position:0%
to support multiple target VMs and of
course<00:01:26.369><c> it</c><00:01:26.490><c> supports</c><00:01:26.580><c> EVM</c><00:01:27.240><c> but</c><00:01:27.479><c> it</c><00:01:27.570><c> also</c>

00:01:27.710 --> 00:01:27.720 align:start position:0%
course it supports EVM but it also
 

00:01:27.720 --> 00:01:31.450 align:start position:0%
course it supports EVM but it also
supports<00:01:27.930><c> even</c><00:01:28.409><c> 1.5</c><00:01:28.950><c> and</c><00:01:29.250><c> II</c><00:01:30.000><c> wasn't</c>

00:01:31.450 --> 00:01:31.460 align:start position:0%
supports even 1.5 and II wasn't
 

00:01:31.460 --> 00:01:34.249 align:start position:0%
supports even 1.5 and II wasn't
okay<00:01:32.460><c> some</c><00:01:32.700><c> of</c><00:01:32.729><c> the</c><00:01:32.850><c> features</c><00:01:33.329><c> we</c><00:01:33.540><c> have</c><00:01:33.570><c> in</c><00:01:33.930><c> Yul</c>

00:01:34.249 --> 00:01:34.259 align:start position:0%
okay some of the features we have in Yul
 

00:01:34.259 --> 00:01:36.890 align:start position:0%
okay some of the features we have in Yul
itself<00:01:34.650><c> it</c><00:01:35.220><c> does</c><00:01:35.460><c> look</c><00:01:35.729><c> like</c><00:01:35.759><c> in</c><00:01:36.360><c> assembly</c>

00:01:36.890 --> 00:01:36.900 align:start position:0%
itself it does look like in assembly
 

00:01:36.900 --> 00:01:40.219 align:start position:0%
itself it does look like in assembly
language<00:01:37.159><c> but</c><00:01:38.159><c> it's</c><00:01:38.310><c> heavily</c><00:01:38.759><c> augmented</c><00:01:39.720><c> from</c>

00:01:40.219 --> 00:01:40.229 align:start position:0%
language but it's heavily augmented from
 

00:01:40.229 --> 00:01:42.469 align:start position:0%
language but it's heavily augmented from
an<00:01:40.439><c> assembly</c><00:01:41.189><c> language</c><00:01:41.280><c> first</c><00:01:41.909><c> of</c><00:01:42.119><c> all</c><00:01:42.210><c> it</c><00:01:42.329><c> has</c>

00:01:42.469 --> 00:01:42.479 align:start position:0%
an assembly language first of all it has
 

00:01:42.479 --> 00:01:45.499 align:start position:0%
an assembly language first of all it has
variables<00:01:43.020><c> and</c><00:01:43.979><c> it</c><00:01:44.070><c> also</c><00:01:44.220><c> has</c><00:01:44.369><c> blocks</c><00:01:44.729><c> and</c><00:01:45.090><c> the</c>

00:01:45.499 --> 00:01:45.509 align:start position:0%
variables and it also has blocks and the
 

00:01:45.509 --> 00:01:47.480 align:start position:0%
variables and it also has blocks and the
blocks<00:01:45.540><c> are</c><00:01:45.930><c> the</c><00:01:46.020><c> own</c><00:01:46.140><c> scopes</c><00:01:46.590><c> variables</c>

00:01:47.480 --> 00:01:47.490 align:start position:0%
blocks are the own scopes variables
 

00:01:47.490 --> 00:01:48.889 align:start position:0%
blocks are the own scopes variables
declared<00:01:47.670><c> in</c><00:01:48.030><c> blocks</c><00:01:48.270><c> are</c><00:01:48.540><c> not</c><00:01:48.600><c> visible</c>

00:01:48.889 --> 00:01:48.899 align:start position:0%
declared in blocks are not visible
 

00:01:48.899 --> 00:01:51.620 align:start position:0%
declared in blocks are not visible
outside<00:01:49.200><c> and</c><00:01:49.680><c> you</c><00:01:49.799><c> can</c><00:01:49.979><c> nest</c><00:01:50.159><c> blocks</c><00:01:50.430><c> and</c><00:01:50.729><c> then</c>

00:01:51.620 --> 00:01:51.630 align:start position:0%
outside and you can nest blocks and then
 

00:01:51.630 --> 00:01:53.420 align:start position:0%
outside and you can nest blocks and then
we<00:01:51.720><c> also</c><00:01:51.840><c> have</c><00:01:52.200><c> two</c><00:01:52.649><c> really</c><00:01:52.860><c> high</c><00:01:53.130><c> level</c>

00:01:53.420 --> 00:01:53.430 align:start position:0%
we also have two really high level
 

00:01:53.430 --> 00:01:55.639 align:start position:0%
we also have two really high level
constructs<00:01:53.909><c> which</c><00:01:54.630><c> are</c><00:01:54.810><c> quite</c><00:01:55.020><c> uncommon</c><00:01:55.350><c> in</c>

00:01:55.639 --> 00:01:55.649 align:start position:0%
constructs which are quite uncommon in
 

00:01:55.649 --> 00:01:58.010 align:start position:0%
constructs which are quite uncommon in
assembly<00:01:56.040><c> languages</c><00:01:56.340><c> via</c><00:01:57.270><c> for</c><00:01:57.570><c> loop</c><00:01:57.719><c> and</c><00:01:57.960><c> we</c>

00:01:58.010 --> 00:01:58.020 align:start position:0%
assembly languages via for loop and we
 

00:01:58.020 --> 00:02:00.789 align:start position:0%
assembly languages via for loop and we
have<00:01:58.590><c> a</c><00:01:58.619><c> state</c><00:01:58.950><c> switch</c><00:01:59.430><c> statement</c>

00:02:00.789 --> 00:02:00.799 align:start position:0%
have a state switch statement
 

00:02:00.799 --> 00:02:03.639 align:start position:0%
have a state switch statement
but<00:02:01.799><c> we</c><00:02:01.860><c> do</c><00:02:02.040><c> also</c><00:02:02.399><c> have</c><00:02:02.579><c> like</c><00:02:02.939><c> this</c>

00:02:03.639 --> 00:02:03.649 align:start position:0%
but we do also have like this
 

00:02:03.649 --> 00:02:07.010 align:start position:0%
but we do also have like this
single<00:02:04.649><c> condition</c><00:02:05.250><c> if</c><00:02:06.119><c> statement</c><00:02:06.659><c> for</c><00:02:06.899><c> those</c>

00:02:07.010 --> 00:02:07.020 align:start position:0%
single condition if statement for those
 

00:02:07.020 --> 00:02:08.779 align:start position:0%
single condition if statement for those
cases<00:02:07.409><c> where</c><00:02:07.680><c> a</c><00:02:07.710><c> switch</c><00:02:08.039><c> statement</c><00:02:08.160><c> would</c><00:02:08.610><c> be</c>

00:02:08.779 --> 00:02:08.789 align:start position:0%
cases where a switch statement would be
 

00:02:08.789 --> 00:02:12.199 align:start position:0%
cases where a switch statement would be
in<00:02:08.879><c> a</c><00:02:08.970><c> work</c><00:02:09.090><c> you'll</c><00:02:09.679><c> more</c><00:02:10.679><c> importantly</c><00:02:11.209><c> as</c>

00:02:12.199 --> 00:02:12.209 align:start position:0%
in a work you'll more importantly as
 

00:02:12.209 --> 00:02:13.580 align:start position:0%
in a work you'll more importantly as
mentioned<00:02:12.599><c> we</c><00:02:12.629><c> have</c><00:02:12.780><c> functions</c><00:02:13.200><c> and</c><00:02:13.379><c> we</c>

00:02:13.580 --> 00:02:13.590 align:start position:0%
mentioned we have functions and we
 

00:02:13.590 --> 00:02:15.740 align:start position:0%
mentioned we have functions and we
function<00:02:13.890><c> calls</c><00:02:14.390><c> functions</c><00:02:15.390><c> can</c><00:02:15.510><c> be</c><00:02:15.540><c> fee</c>

00:02:15.740 --> 00:02:15.750 align:start position:0%
function calls functions can be fee
 

00:02:15.750 --> 00:02:20.270 align:start position:0%
function calls functions can be fee
redefined<00:02:16.230><c> and</c><00:02:16.760><c> lastly</c><00:02:17.760><c> we</c><00:02:18.450><c> have</c><00:02:18.629><c> types</c><00:02:19.280><c> and</c>

00:02:20.270 --> 00:02:20.280 align:start position:0%
redefined and lastly we have types and
 

00:02:20.280 --> 00:02:22.160 align:start position:0%
redefined and lastly we have types and
that's<00:02:20.489><c> kind</c><00:02:21.000><c> of</c><00:02:21.060><c> unheard</c><00:02:21.239><c> of</c><00:02:21.599><c> in</c><00:02:21.840><c> assembly</c>

00:02:22.160 --> 00:02:22.170 align:start position:0%
that's kind of unheard of in assembly
 

00:02:22.170 --> 00:02:24.259 align:start position:0%
that's kind of unheard of in assembly
languages<00:02:22.530><c> so</c><00:02:23.459><c> that's</c><00:02:23.640><c> why</c><00:02:23.730><c> you'll</c><00:02:23.910><c> is</c><00:02:24.120><c> more</c>

00:02:24.259 --> 00:02:24.269 align:start position:0%
languages so that's why you'll is more
 

00:02:24.269 --> 00:02:26.059 align:start position:0%
languages so that's why you'll is more
like<00:02:24.420><c> an</c><00:02:24.540><c> intermediate</c><00:02:25.410><c> language</c><00:02:25.560><c> for</c>

00:02:26.059 --> 00:02:26.069 align:start position:0%
like an intermediate language for
 

00:02:26.069 --> 00:02:27.830 align:start position:0%
like an intermediate language for
compilers<00:02:26.550><c> than</c><00:02:26.760><c> an</c><00:02:26.879><c> assembly</c><00:02:27.360><c> language</c><00:02:27.450><c> but</c>

00:02:27.830 --> 00:02:27.840 align:start position:0%
compilers than an assembly language but
 

00:02:27.840 --> 00:02:31.190 align:start position:0%
compilers than an assembly language but
it<00:02:27.930><c> can</c><00:02:28.170><c> be</c><00:02:28.319><c> used</c><00:02:28.560><c> in</c><00:02:29.099><c> SM</c><00:02:29.760><c> and</c><00:02:30.030><c> s</c><00:02:30.450><c> an</c><00:02:30.780><c> assembly</c>

00:02:31.190 --> 00:02:31.200 align:start position:0%
it can be used in SM and s an assembly
 

00:02:31.200 --> 00:02:34.869 align:start position:0%
it can be used in SM and s an assembly
language<00:02:31.370><c> to</c><00:02:32.370><c> write</c><00:02:32.549><c> manually</c><00:02:33.510><c> contracts</c><00:02:34.019><c> in</c>

00:02:34.869 --> 00:02:34.879 align:start position:0%
language to write manually contracts in
 

00:02:34.879 --> 00:02:37.580 align:start position:0%
language to write manually contracts in
okay<00:02:35.879><c> just</c><00:02:36.150><c> what</c><00:02:36.299><c> it</c><00:02:36.420><c> looks</c><00:02:36.629><c> like</c><00:02:36.840><c> an</c><00:02:37.140><c> example</c>

00:02:37.580 --> 00:02:37.590 align:start position:0%
okay just what it looks like an example
 

00:02:37.590 --> 00:02:39.740 align:start position:0%
okay just what it looks like an example
of<00:02:37.680><c> the</c><00:02:37.860><c> switch</c><00:02:38.390><c> construct</c><00:02:39.390><c> this</c><00:02:39.569><c> is</c><00:02:39.720><c> a</c>

00:02:39.740 --> 00:02:39.750 align:start position:0%
of the switch construct this is a
 

00:02:39.750 --> 00:02:41.900 align:start position:0%
of the switch construct this is a
function<00:02:40.200><c> there's</c><00:02:41.010><c> a</c><00:02:41.099><c> switch</c><00:02:41.310><c> statement</c><00:02:41.430><c> with</c>

00:02:41.900 --> 00:02:41.910 align:start position:0%
function there's a switch statement with
 

00:02:41.910 --> 00:02:45.440 align:start position:0%
function there's a switch statement with
three<00:02:42.150><c> cases</c><00:02:43.160><c> the</c><00:02:44.160><c> case</c><00:02:44.340><c> zero</c><00:02:44.610><c> one</c><00:02:44.910><c> and</c><00:02:45.120><c> the</c>

00:02:45.440 --> 00:02:45.450 align:start position:0%
three cases the case zero one and the
 

00:02:45.450 --> 00:02:47.240 align:start position:0%
three cases the case zero one and the
default<00:02:45.750><c> as</c><00:02:46.349><c> you</c><00:02:46.410><c> see</c><00:02:46.620><c> there</c><00:02:46.769><c> is</c><00:02:46.829><c> no</c><00:02:46.980><c> break</c>

00:02:47.240 --> 00:02:47.250 align:start position:0%
default as you see there is no break
 

00:02:47.250 --> 00:02:50.960 align:start position:0%
default as you see there is no break
statement<00:02:48.000><c> in</c><00:02:48.180><c> the</c><00:02:48.540><c> textual</c><00:02:49.170><c> blocks</c><00:02:49.970><c> because</c>

00:02:50.960 --> 00:02:50.970 align:start position:0%
statement in the textual blocks because
 

00:02:50.970 --> 00:02:53.270 align:start position:0%
statement in the textual blocks because
it<00:02:51.120><c> there's</c><00:02:51.299><c> no</c><00:02:51.420><c> fault</c><00:02:51.720><c> true</c><00:02:51.930><c> if</c><00:02:52.650><c> it</c><00:02:52.829><c> goes</c><00:02:52.980><c> to</c><00:02:53.130><c> k</c>

00:02:53.270 --> 00:02:53.280 align:start position:0%
it there's no fault true if it goes to k
 

00:02:53.280 --> 00:02:56.120 align:start position:0%
it there's no fault true if it goes to k
zero<00:02:53.310><c> it</c><00:02:53.670><c> wouldn't</c><00:02:53.940><c> go</c><00:02:54.090><c> to</c><00:02:54.569><c> case</c><00:02:54.840><c> one</c><00:02:55.079><c> but</c><00:02:55.980><c> this</c>

00:02:56.120 --> 00:02:56.130 align:start position:0%
zero it wouldn't go to case one but this
 

00:02:56.130 --> 00:02:57.500 align:start position:0%
zero it wouldn't go to case one but this
can<00:02:56.280><c> be</c><00:02:56.310><c> written</c><00:02:56.519><c> as</c><00:02:56.760><c> a</c><00:02:56.790><c> for</c><00:02:57.060><c> loop</c><00:02:57.180><c> as</c><00:02:57.329><c> well</c>

00:02:57.500 --> 00:02:57.510 align:start position:0%
can be written as a for loop as well
 

00:02:57.510 --> 00:02:59.750 align:start position:0%
can be written as a for loop as well
city<00:02:58.140><c> is</c><00:02:58.230><c> what</c><00:02:58.440><c> it</c><00:02:58.530><c> looks</c><00:02:58.709><c> like</c><00:02:58.799><c> writing</c><00:02:59.459><c> it</c><00:02:59.670><c> as</c>

00:02:59.750 --> 00:02:59.760 align:start position:0%
city is what it looks like writing it as
 

00:02:59.760 --> 00:03:01.520 align:start position:0%
city is what it looks like writing it as
a<00:02:59.790><c> for</c><00:03:00.030><c> loop</c><00:03:00.150><c> now</c><00:03:00.930><c> here</c><00:03:01.140><c> you</c><00:03:01.230><c> can</c><00:03:01.349><c> identify</c>

00:03:01.520 --> 00:03:01.530 align:start position:0%
a for loop now here you can identify
 

00:03:01.530 --> 00:03:05.420 align:start position:0%
a for loop now here you can identify
that<00:03:02.250><c> it</c><00:03:03.209><c> is</c><00:03:03.450><c> closer</c><00:03:03.900><c> to</c><00:03:04.049><c> assembling</c><00:03:04.590><c> because</c>

00:03:05.420 --> 00:03:05.430 align:start position:0%
that it is closer to assembling because
 

00:03:05.430 --> 00:03:09.140 align:start position:0%
that it is closer to assembling because
we<00:03:05.549><c> have</c><00:03:05.700><c> those</c><00:03:05.819><c> idiom</c><00:03:06.360><c> like</c><00:03:06.709><c> instructions</c><00:03:08.150><c> LT</c>

00:03:09.140 --> 00:03:09.150 align:start position:0%
we have those idiom like instructions LT
 

00:03:09.150 --> 00:03:11.360 align:start position:0%
we have those idiom like instructions LT
for<00:03:09.329><c> less</c><00:03:09.450><c> than</c><00:03:09.629><c> add</c><00:03:09.900><c> and</c><00:03:10.230><c> what</c><00:03:10.950><c> is</c><00:03:11.040><c> less</c><00:03:11.220><c> or</c>

00:03:11.360 --> 00:03:11.370 align:start position:0%
for less than add and what is less or
 

00:03:11.370 --> 00:03:15.130 align:start position:0%
for less than add and what is less or
more<00:03:11.569><c> so</c><00:03:12.569><c> it</c><00:03:12.690><c> is</c><00:03:12.870><c> like</c><00:03:13.110><c> an</c><00:03:13.230><c> Augmented</c><00:03:13.680><c> assembly</c>

00:03:15.130 --> 00:03:15.140 align:start position:0%
more so it is like an Augmented assembly
 

00:03:15.140 --> 00:03:19.849 align:start position:0%
more so it is like an Augmented assembly
okay<00:03:16.410><c> you'll</c><00:03:16.769><c> itself</c><00:03:17.660><c> originates</c><00:03:18.660><c> from</c><00:03:18.859><c> the</c>

00:03:19.849 --> 00:03:19.859 align:start position:0%
okay you'll itself originates from the
 

00:03:19.859 --> 00:03:21.410 align:start position:0%
okay you'll itself originates from the
solid<00:03:20.280><c> eight</c><00:03:20.370><c> in</c><00:03:20.579><c> lies</c><00:03:20.730><c> assembly</c><00:03:21.090><c> which</c><00:03:21.239><c> you</c>

00:03:21.410 --> 00:03:21.420 align:start position:0%
solid eight in lies assembly which you
 

00:03:21.420 --> 00:03:22.970 align:start position:0%
solid eight in lies assembly which you
guys<00:03:21.569><c> probably</c><00:03:21.989><c> are</c><00:03:22.200><c> familiar</c><00:03:22.560><c> with</c><00:03:22.680><c> because</c>

00:03:22.970 --> 00:03:22.980 align:start position:0%
guys probably are familiar with because
 

00:03:22.980 --> 00:03:25.699 align:start position:0%
guys probably are familiar with because
it<00:03:23.069><c> can</c><00:03:23.100><c> be</c><00:03:23.340><c> used</c><00:03:23.519><c> within</c><00:03:23.760><c> solidity</c><00:03:24.440><c> so</c><00:03:25.440><c> this</c>

00:03:25.699 --> 00:03:25.709 align:start position:0%
it can be used within solidity so this
 

00:03:25.709 --> 00:03:26.930 align:start position:0%
it can be used within solidity so this
analysis<00:03:26.130><c> time</c><00:03:26.220><c> he</c><00:03:26.310><c> was</c><00:03:26.430><c> interest</c><00:03:26.670><c> like</c><00:03:26.819><c> two</c>

00:03:26.930 --> 00:03:26.940 align:start position:0%
analysis time he was interest like two
 

00:03:26.940 --> 00:03:29.030 align:start position:0%
analysis time he was interest like two
years<00:03:27.120><c> ago</c><00:03:27.359><c> it</c><00:03:27.630><c> had</c><00:03:27.870><c> instructions</c><00:03:28.470><c> and</c><00:03:28.680><c> jumps</c>

00:03:29.030 --> 00:03:29.040 align:start position:0%
years ago it had instructions and jumps
 

00:03:29.040 --> 00:03:30.890 align:start position:0%
years ago it had instructions and jumps
didn't<00:03:29.790><c> really</c><00:03:29.970><c> add</c><00:03:30.060><c> anything</c><00:03:30.239><c> else</c><00:03:30.510><c> it</c><00:03:30.780><c> did</c>

00:03:30.890 --> 00:03:30.900 align:start position:0%
didn't really add anything else it did
 

00:03:30.900 --> 00:03:32.420 align:start position:0%
didn't really add anything else it did
add<00:03:31.019><c> like</c><00:03:31.170><c> variables</c><00:03:31.590><c> but</c><00:03:31.769><c> didn't</c><00:03:32.010><c> had</c><00:03:32.220><c> all</c>

00:03:32.420 --> 00:03:32.430 align:start position:0%
add like variables but didn't had all
 

00:03:32.430 --> 00:03:34.930 align:start position:0%
add like variables but didn't had all
these<00:03:32.549><c> nice</c><00:03:32.790><c> features</c><00:03:33.269><c> I</c><00:03:33.420><c> explained</c>

00:03:34.930 --> 00:03:34.940 align:start position:0%
these nice features I explained
 

00:03:34.940 --> 00:03:36.920 align:start position:0%
these nice features I explained
these<00:03:35.940><c> nice</c><00:03:36.120><c> features</c><00:03:36.510><c> we</c><00:03:36.630><c> introduced</c>

00:03:36.920 --> 00:03:36.930 align:start position:0%
these nice features we introduced
 

00:03:36.930 --> 00:03:38.780 align:start position:0%
these nice features we introduced
probably<00:03:37.290><c> a</c><00:03:37.319><c> year</c><00:03:37.440><c> ago</c><00:03:37.709><c> we</c><00:03:38.489><c> added</c><00:03:38.670><c> the</c>

00:03:38.780 --> 00:03:38.790 align:start position:0%
probably a year ago we added the
 

00:03:38.790 --> 00:03:41.030 align:start position:0%
probably a year ago we added the
functions<00:03:39.180><c> and</c><00:03:39.450><c> foreign</c><00:03:39.959><c> switch</c><00:03:40.170><c> and</c><00:03:40.859><c> they</c>

00:03:41.030 --> 00:03:41.040 align:start position:0%
functions and foreign switch and they
 

00:03:41.040 --> 00:03:44.360 align:start position:0%
functions and foreign switch and they
can<00:03:41.220><c> be</c><00:03:41.310><c> used</c><00:03:41.430><c> for</c><00:03:41.700><c> a</c><00:03:41.940><c> year</c><00:03:42.299><c> at</c><00:03:42.450><c> this</c><00:03:42.599><c> point</c><00:03:43.370><c> now</c>

00:03:44.360 --> 00:03:44.370 align:start position:0%
can be used for a year at this point now
 

00:03:44.370 --> 00:03:45.800 align:start position:0%
can be used for a year at this point now
with<00:03:44.519><c> zero</c><00:03:44.549><c> five</c><00:03:44.880><c> zero</c><00:03:44.910><c> if</c><00:03:45.299><c> you're</c><00:03:45.419><c> making</c><00:03:45.599><c> a</c>

00:03:45.800 --> 00:03:45.810 align:start position:0%
with zero five zero if you're making a
 

00:03:45.810 --> 00:03:49.099 align:start position:0%
with zero five zero if you're making a
big<00:03:45.989><c> change</c><00:03:46.019><c> and</c><00:03:46.639><c> we're</c><00:03:47.639><c> removing</c><00:03:48.000><c> some</c><00:03:48.510><c> of</c>

00:03:49.099 --> 00:03:49.109 align:start position:0%
big change and we're removing some of
 

00:03:49.109 --> 00:03:50.990 align:start position:0%
big change and we're removing some of
the<00:03:49.260><c> features</c><00:03:49.650><c> in</c><00:03:49.680><c> an</c><00:03:50.040><c> inline</c><00:03:50.430><c> assembly</c><00:03:50.849><c> we're</c>

00:03:50.990 --> 00:03:51.000 align:start position:0%
the features in an inline assembly we're
 

00:03:51.000 --> 00:03:53.240 align:start position:0%
the features in an inline assembly we're
removing<00:03:51.209><c> jumps</c><00:03:51.780><c> but</c><00:03:52.530><c> you</c><00:03:52.650><c> guys</c><00:03:52.829><c> shouldn't</c><00:03:53.190><c> be</c>

00:03:53.240 --> 00:03:53.250 align:start position:0%
removing jumps but you guys shouldn't be
 

00:03:53.250 --> 00:03:55.280 align:start position:0%
removing jumps but you guys shouldn't be
afraid<00:03:53.790><c> because</c><00:03:54.120><c> the</c><00:03:54.630><c> foreign</c><00:03:54.989><c> switch</c>

00:03:55.280 --> 00:03:55.290 align:start position:0%
afraid because the foreign switch
 

00:03:55.290 --> 00:03:57.349 align:start position:0%
afraid because the foreign switch
statements<00:03:55.829><c> are</c><00:03:56.250><c> very</c><00:03:56.280><c> better</c><00:03:56.849><c> to</c><00:03:57.120><c> do</c><00:03:57.239><c> the</c>

00:03:57.349 --> 00:03:57.359 align:start position:0%
statements are very better to do the
 

00:03:57.359 --> 00:03:59.440 align:start position:0%
statements are very better to do the
same<00:03:57.569><c> things</c><00:03:57.870><c> you</c><00:03:58.139><c> were</c><00:03:58.500><c> doing</c><00:03:58.650><c> with</c><00:03:58.799><c> jumps</c>

00:03:59.440 --> 00:03:59.450 align:start position:0%
same things you were doing with jumps
 

00:03:59.450 --> 00:04:02.240 align:start position:0%
same things you were doing with jumps
here<00:04:00.450><c> I</c><00:04:00.510><c> also</c><00:04:00.690><c> must</c><00:04:00.989><c> mention</c><00:04:01.260><c> that</c><00:04:01.500><c> even</c>

00:04:02.240 --> 00:04:02.250 align:start position:0%
here I also must mention that even
 

00:04:02.250 --> 00:04:03.009 align:start position:0%
here I also must mention that even
though

00:04:03.009 --> 00:04:03.019 align:start position:0%
though
 

00:04:03.019 --> 00:04:05.900 align:start position:0%
though
in<00:04:04.019><c> an</c><00:04:04.230><c> item</c><00:04:04.620><c> there</c><00:04:04.769><c> was</c><00:04:04.889><c> a</c><00:04:04.919><c> single</c><00:04:05.400><c> version</c><00:04:05.669><c> of</c>

00:04:05.900 --> 00:04:05.910 align:start position:0%
in an item there was a single version of
 

00:04:05.910 --> 00:04:08.089 align:start position:0%
in an item there was a single version of
a<00:04:06.630><c> line</c><00:04:06.780><c> assembly</c><00:04:07.109><c> presented</c><00:04:07.650><c> to</c><00:04:07.769><c> you</c><00:04:07.889><c> guys</c>

00:04:08.089 --> 00:04:08.099 align:start position:0%
a line assembly presented to you guys
 

00:04:08.099 --> 00:04:09.979 align:start position:0%
a line assembly presented to you guys
but<00:04:08.819><c> in</c><00:04:08.940><c> the</c><00:04:09.030><c> back</c><00:04:09.150><c> end</c><00:04:09.329><c> we</c><00:04:09.450><c> had</c><00:04:09.599><c> like</c><00:04:09.780><c> three</c>

00:04:09.979 --> 00:04:09.989 align:start position:0%
but in the back end we had like three
 

00:04:09.989 --> 00:04:12.199 align:start position:0%
but in the back end we had like three
different<00:04:10.109><c> versions</c><00:04:10.650><c> of</c><00:04:10.769><c> it</c><00:04:10.950><c> and</c><00:04:11.220><c> the</c><00:04:11.910><c> solidi</c>

00:04:12.199 --> 00:04:12.209 align:start position:0%
different versions of it and the solidi
 

00:04:12.209 --> 00:04:13.940 align:start position:0%
different versions of it and the solidi
compiler<00:04:12.599><c> can</c><00:04:12.900><c> be</c><00:04:13.019><c> used</c><00:04:13.200><c> in</c><00:04:13.290><c> assembler</c><00:04:13.709><c> mode</c>

00:04:13.940 --> 00:04:13.950 align:start position:0%
compiler can be used in assembler mode
 

00:04:13.950 --> 00:04:15.589 align:start position:0%
compiler can be used in assembler mode
and<00:04:14.190><c> all</c><00:04:14.639><c> these</c><00:04:14.760><c> three</c><00:04:15.120><c> different</c><00:04:15.269><c> versions</c>

00:04:15.589 --> 00:04:15.599 align:start position:0%
and all these three different versions
 

00:04:15.599 --> 00:04:18.140 align:start position:0%
and all these three different versions
can<00:04:15.989><c> be</c><00:04:16.139><c> accessed</c><00:04:16.530><c> to</c><00:04:16.769><c> the</c><00:04:16.950><c> assembler</c><00:04:17.310><c> mode</c><00:04:17.489><c> so</c>

00:04:18.140 --> 00:04:18.150 align:start position:0%
can be accessed to the assembler mode so
 

00:04:18.150 --> 00:04:19.839 align:start position:0%
can be accessed to the assembler mode so
the<00:04:18.239><c> first</c><00:04:18.419><c> version</c><00:04:18.599><c> is</c><00:04:18.870><c> this</c>

00:04:19.839 --> 00:04:19.849 align:start position:0%
the first version is this
 

00:04:19.849 --> 00:04:22.640 align:start position:0%
the first version is this
inline<00:04:20.849><c> assembly</c><00:04:21.269><c> the</c><00:04:21.479><c> bad</c><00:04:21.630><c> one</c><00:04:21.840><c> which</c><00:04:22.469><c> has</c>

00:04:22.640 --> 00:04:22.650 align:start position:0%
inline assembly the bad one which has
 

00:04:22.650 --> 00:04:25.550 align:start position:0%
inline assembly the bad one which has
jumps<00:04:23.010><c> the</c><00:04:23.669><c> second</c><00:04:24.030><c> version</c><00:04:24.210><c> is</c><00:04:24.479><c> the</c><00:04:25.169><c> strict</c>

00:04:25.550 --> 00:04:25.560 align:start position:0%
jumps the second version is the strict
 

00:04:25.560 --> 00:04:27.580 align:start position:0%
jumps the second version is the strict
inline<00:04:25.860><c> assembly</c><00:04:26.340><c> which</c><00:04:26.550><c> is</c><00:04:26.580><c> you</c><00:04:27.260><c> as</c><00:04:27.410><c> I</c>

00:04:27.580 --> 00:04:27.590 align:start position:0%
inline assembly which is you as I
 

00:04:27.590 --> 00:04:29.650 align:start position:0%
inline assembly which is you as I
explained<00:04:28.070><c> but</c><00:04:28.760><c> the</c><00:04:28.850><c> third</c><00:04:29.090><c> version</c><00:04:29.330><c> is</c>

00:04:29.650 --> 00:04:29.660 align:start position:0%
explained but the third version is
 

00:04:29.660 --> 00:04:32.850 align:start position:0%
explained but the third version is
district'<00:04:30.590><c> inline</c><00:04:30.860><c> assembly</c><00:04:31.310><c> with</c><00:04:31.700><c> types</c>

00:04:32.850 --> 00:04:32.860 align:start position:0%
district' inline assembly with types
 

00:04:32.860 --> 00:04:34.900 align:start position:0%
district' inline assembly with types
now<00:04:33.860><c> with</c><00:04:33.980><c> zero</c><00:04:34.010><c> five</c><00:04:34.310><c> zero</c><00:04:34.340><c> we're</c><00:04:34.700><c> not</c><00:04:34.790><c> gonna</c>

00:04:34.900 --> 00:04:34.910 align:start position:0%
now with zero five zero we're not gonna
 

00:04:34.910 --> 00:04:36.150 align:start position:0%
now with zero five zero we're not gonna
have<00:04:35.060><c> types</c><00:04:35.300><c> yet</c>

00:04:36.150 --> 00:04:36.160 align:start position:0%
have types yet
 

00:04:36.160 --> 00:04:39.580 align:start position:0%
have types yet
but<00:04:37.160><c> with</c><00:04:37.340><c> zero</c><00:04:37.370><c> six</c><00:04:37.790><c> zero</c><00:04:38.200><c> we</c><00:04:39.200><c> are</c><00:04:39.230><c> planning</c>

00:04:39.580 --> 00:04:39.590 align:start position:0%
but with zero six zero we are planning
 

00:04:39.590 --> 00:04:42.970 align:start position:0%
but with zero six zero we are planning
to<00:04:39.620><c> have</c><00:04:39.950><c> full</c><00:04:40.760><c> complete</c><00:04:41.330><c> you'll</c><00:04:41.570><c> support</c><00:04:42.230><c> now</c>

00:04:42.970 --> 00:04:42.980 align:start position:0%
to have full complete you'll support now
 

00:04:42.980 --> 00:04:44.680 align:start position:0%
to have full complete you'll support now
I<00:04:43.010><c> must</c><00:04:43.310><c> expand</c><00:04:43.850><c> here</c><00:04:44.030><c> what</c><00:04:44.210><c> what</c><00:04:44.480><c> the</c><00:04:44.570><c> hell</c>

00:04:44.680 --> 00:04:44.690 align:start position:0%
I must expand here what what the hell
 

00:04:44.690 --> 00:04:46.000 align:start position:0%
I must expand here what what the hell
does<00:04:44.840><c> it</c><00:04:44.870><c> mean</c>

00:04:46.000 --> 00:04:46.010 align:start position:0%
does it mean
 

00:04:46.010 --> 00:04:48.910 align:start position:0%
does it mean
soon<00:04:46.790><c> it</c><00:04:46.910><c> here</c><00:04:47.180><c> iam</c><00:04:47.360><c> basically</c><00:04:48.140><c> deploying</c><00:04:48.800><c> a</c>

00:04:48.910 --> 00:04:48.920 align:start position:0%
soon it here iam basically deploying a
 

00:04:48.920 --> 00:04:52.240 align:start position:0%
soon it here iam basically deploying a
contract<00:04:49.340><c> is</c><00:04:49.550><c> a</c><00:04:50.210><c> two-step</c><00:04:50.840><c> process</c><00:04:51.160><c> there's</c><00:04:52.160><c> a</c>

00:04:52.240 --> 00:04:52.250 align:start position:0%
contract is a two-step process there's a
 

00:04:52.250 --> 00:04:54.490 align:start position:0%
contract is a two-step process there's a
constructor<00:04:52.880><c> which</c><00:04:53.750><c> we</c><00:04:53.870><c> usually</c><00:04:54.020><c> call</c><00:04:54.230><c> the</c>

00:04:54.490 --> 00:04:54.500 align:start position:0%
constructor which we usually call the
 

00:04:54.500 --> 00:04:56.500 align:start position:0%
constructor which we usually call the
init<00:04:54.740><c> code</c><00:04:54.950><c> this</c><00:04:55.580><c> is</c><00:04:55.760><c> being</c><00:04:55.970><c> sent</c><00:04:56.300><c> to</c><00:04:56.360><c> the</c>

00:04:56.500 --> 00:04:56.510 align:start position:0%
init code this is being sent to the
 

00:04:56.510 --> 00:04:58.750 align:start position:0%
init code this is being sent to the
network<00:04:56.840><c> this</c><00:04:57.050><c> constructor</c><00:04:57.620><c> is</c><00:04:57.740><c> executed</c><00:04:57.770><c> it</c>

00:04:58.750 --> 00:04:58.760 align:start position:0%
network this constructor is executed it
 

00:04:58.760 --> 00:05:01.030 align:start position:0%
network this constructor is executed it
can<00:04:58.970><c> change</c><00:04:59.240><c> the</c><00:04:59.450><c> state</c><00:04:59.750><c> and</c><00:05:00.620><c> it</c><00:05:00.740><c> can</c><00:05:00.890><c> also</c>

00:05:01.030 --> 00:05:01.040 align:start position:0%
can change the state and it can also
 

00:05:01.040 --> 00:05:03.040 align:start position:0%
can change the state and it can also
return<00:05:01.400><c> a</c><00:05:01.430><c> byte</c><00:05:01.700><c> code</c><00:05:01.970><c> which</c><00:05:02.540><c> is</c><00:05:02.690><c> stored</c><00:05:02.990><c> in</c>

00:05:03.040 --> 00:05:03.050 align:start position:0%
return a byte code which is stored in
 

00:05:03.050 --> 00:05:04.660 align:start position:0%
return a byte code which is stored in
the<00:05:03.110><c> state</c><00:05:03.380><c> and</c><00:05:03.500><c> that's</c><00:05:03.620><c> the</c><00:05:03.860><c> byte</c><00:05:04.010><c> code</c><00:05:04.040><c> for</c>

00:05:04.660 --> 00:05:04.670 align:start position:0%
the state and that's the byte code for
 

00:05:04.670 --> 00:05:07.210 align:start position:0%
the state and that's the byte code for
your<00:05:04.790><c> contract</c><00:05:05.470><c> currently</c><00:05:06.470><c> there</c><00:05:06.620><c> is</c><00:05:06.710><c> no</c><00:05:06.740><c> way</c>

00:05:07.210 --> 00:05:07.220 align:start position:0%
your contract currently there is no way
 

00:05:07.220 --> 00:05:11.320 align:start position:0%
your contract currently there is no way
to<00:05:07.300><c> represent</c><00:05:08.300><c> these</c><00:05:08.780><c> two</c><00:05:08.990><c> stages</c><00:05:09.320><c> in</c><00:05:09.890><c> you</c><00:05:10.330><c> but</c>

00:05:11.320 --> 00:05:11.330 align:start position:0%
to represent these two stages in you but
 

00:05:11.330 --> 00:05:13.210 align:start position:0%
to represent these two stages in you but
we<00:05:11.420><c> do</c><00:05:11.540><c> have</c><00:05:11.630><c> a</c><00:05:11.690><c> plan</c><00:05:11.900><c> to</c><00:05:12.080><c> do</c><00:05:12.170><c> that</c><00:05:12.410><c> and</c><00:05:12.620><c> that's</c>

00:05:13.210 --> 00:05:13.220 align:start position:0%
we do have a plan to do that and that's
 

00:05:13.220 --> 00:05:15.610 align:start position:0%
we do have a plan to do that and that's
what<00:05:13.340><c> we</c><00:05:13.460><c> call</c><00:05:13.640><c> you'll</c><00:05:13.850><c> object</c><00:05:14.530><c> so</c><00:05:15.530><c> that's</c>

00:05:15.610 --> 00:05:15.620 align:start position:0%
what we call you'll object so that's
 

00:05:15.620 --> 00:05:17.670 align:start position:0%
what we call you'll object so that's
like<00:05:15.800><c> the</c><00:05:15.860><c> next</c><00:05:16.190><c> big</c><00:05:16.370><c> part</c><00:05:16.670><c> we</c><00:05:16.820><c> have</c><00:05:16.910><c> to</c><00:05:16.970><c> do</c><00:05:17.150><c> and</c>

00:05:17.670 --> 00:05:17.680 align:start position:0%
like the next big part we have to do and
 

00:05:17.680 --> 00:05:21.040 align:start position:0%
like the next big part we have to do and
then<00:05:18.680><c> you</c><00:05:19.040><c> will</c><00:05:19.340><c> be</c><00:05:19.460><c> fully</c><00:05:19.730><c> capable</c><00:05:19.970><c> to</c><00:05:20.750><c> write</c>

00:05:21.040 --> 00:05:21.050 align:start position:0%
then you will be fully capable to write
 

00:05:21.050 --> 00:05:24.430 align:start position:0%
then you will be fully capable to write
contracts<00:05:21.650><c> in</c><00:05:21.940><c> and</c><00:05:22.940><c> then</c><00:05:23.630><c> lastly</c><00:05:23.900><c> probably</c><00:05:24.350><c> at</c>

00:05:24.430 --> 00:05:24.440 align:start position:0%
contracts in and then lastly probably at
 

00:05:24.440 --> 00:05:27.700 align:start position:0%
contracts in and then lastly probably at
zero<00:05:24.740><c> seven</c><00:05:25.040><c> zero</c><00:05:25.450><c> we're</c><00:05:26.450><c> gonna</c><00:05:26.540><c> have</c><00:05:26.810><c> types</c>

00:05:27.700 --> 00:05:27.710 align:start position:0%
zero seven zero we're gonna have types
 

00:05:27.710 --> 00:05:29.980 align:start position:0%
zero seven zero we're gonna have types
mandatory<00:05:28.520><c> and</c><00:05:28.970><c> we</c><00:05:29.300><c> can</c><00:05:29.390><c> have</c><00:05:29.510><c> user-defined</c>

00:05:29.980 --> 00:05:29.990 align:start position:0%
mandatory and we can have user-defined
 

00:05:29.990 --> 00:05:31.960 align:start position:0%
mandatory and we can have user-defined
types<00:05:30.170><c> but</c><00:05:30.860><c> you</c><00:05:30.980><c> say</c><00:05:31.100><c> defined</c><00:05:31.400><c> types</c><00:05:31.610><c> here</c><00:05:31.940><c> I</c>

00:05:31.960 --> 00:05:31.970 align:start position:0%
types but you say defined types here I
 

00:05:31.970 --> 00:05:34.510 align:start position:0%
types but you say defined types here I
actually<00:05:32.240><c> mean</c><00:05:32.660><c> a</c><00:05:33.140><c> specific</c><00:05:33.800><c> type</c><00:05:33.950><c> for</c><00:05:34.280><c> a</c>

00:05:34.510 --> 00:05:34.520 align:start position:0%
actually mean a specific type for a
 

00:05:34.520 --> 00:05:36.550 align:start position:0%
actually mean a specific type for a
memory<00:05:34.790><c> pointer</c><00:05:35.210><c> a</c><00:05:35.480><c> specific</c><00:05:36.260><c> type</c><00:05:36.440><c> or</c>

00:05:36.550 --> 00:05:36.560 align:start position:0%
memory pointer a specific type or
 

00:05:36.560 --> 00:05:38.830 align:start position:0%
memory pointer a specific type or
storage<00:05:36.890><c> key</c><00:05:37.100><c> and</c><00:05:37.340><c> storage</c><00:05:37.580><c> value</c><00:05:37.910><c> may</c><00:05:38.810><c> be</c>

00:05:38.830 --> 00:05:38.840 align:start position:0%
storage key and storage value may be
 

00:05:38.840 --> 00:05:42.390 align:start position:0%
storage key and storage value may be
actually<00:05:39.530><c> user-defined</c><00:05:40.070><c> types</c><00:05:40.330><c> later</c>

00:05:42.390 --> 00:05:42.400 align:start position:0%
actually user-defined types later
 

00:05:42.400 --> 00:05:44.770 align:start position:0%
actually user-defined types later
okay<00:05:43.400><c> so</c><00:05:43.460><c> when</c><00:05:43.940><c> are</c><00:05:44.150><c> we</c><00:05:44.180><c> gonna</c><00:05:44.330><c> have</c><00:05:44.570><c> this</c><00:05:44.720><c> in</c>

00:05:44.770 --> 00:05:44.780 align:start position:0%
okay so when are we gonna have this in
 

00:05:44.780 --> 00:05:47.110 align:start position:0%
okay so when are we gonna have this in
solidity<00:05:45.230><c> it's</c><00:05:45.770><c> gonna</c><00:05:45.920><c> take</c><00:05:46.130><c> a</c><00:05:46.160><c> while</c><00:05:46.430><c> but</c>

00:05:47.110 --> 00:05:47.120 align:start position:0%
solidity it's gonna take a while but
 

00:05:47.120 --> 00:05:49.180 align:start position:0%
solidity it's gonna take a while but
it's<00:05:47.270><c> already</c><00:05:47.540><c> in</c><00:05:47.750><c> solidity</c><00:05:48.140><c> partially</c><00:05:49.040><c> it's</c>

00:05:49.180 --> 00:05:49.190 align:start position:0%
it's already in solidity partially it's
 

00:05:49.190 --> 00:05:51.670 align:start position:0%
it's already in solidity partially it's
being<00:05:49.400><c> used</c><00:05:49.610><c> in</c><00:05:49.760><c> the</c><00:05:49.850><c> ABI</c><00:05:50.090><c> encoding</c><00:05:50.690><c> v2</c><00:05:51.050><c> which</c>

00:05:51.670 --> 00:05:51.680 align:start position:0%
being used in the ABI encoding v2 which
 

00:05:51.680 --> 00:05:53.320 align:start position:0%
being used in the ABI encoding v2 which
is<00:05:51.800><c> a</c><00:05:51.830><c> complete</c><00:05:52.160><c> rewrite</c><00:05:52.310><c> of</c><00:05:52.520><c> the</c><00:05:52.790><c> API</c><00:05:53.000><c> stuff</c>

00:05:53.320 --> 00:05:53.330 align:start position:0%
is a complete rewrite of the API stuff
 

00:05:53.330 --> 00:05:57.250 align:start position:0%
is a complete rewrite of the API stuff
are<00:05:53.990><c> we</c><00:05:54.140><c> gonna</c><00:05:54.290><c> talk</c><00:05:54.650><c> tomorrow</c><00:05:55.640><c> at</c><00:05:56.570><c> Great</c>

00:05:57.250 --> 00:05:57.260 align:start position:0%
are we gonna talk tomorrow at Great
 

00:05:57.260 --> 00:05:58.570 align:start position:0%
are we gonna talk tomorrow at Great
Lengths<00:05:57.650><c> about</c><00:05:57.860><c> all</c><00:05:58.070><c> the</c><00:05:58.160><c> changes</c><00:05:58.490><c> in</c>

00:05:58.570 --> 00:05:58.580 align:start position:0%
Lengths about all the changes in
 

00:05:58.580 --> 00:06:00.070 align:start position:0%
Lengths about all the changes in
solidity<00:05:58.940><c> so</c><00:05:59.180><c> you</c><00:05:59.420><c> guys</c><00:05:59.570><c> should</c><00:05:59.720><c> listen</c><00:05:59.840><c> to</c>

00:06:00.070 --> 00:06:00.080 align:start position:0%
solidity so you guys should listen to
 

00:06:00.080 --> 00:06:02.200 align:start position:0%
solidity so you guys should listen to
that<00:06:00.280><c> there</c><00:06:01.280><c> are</c><00:06:01.340><c> two</c><00:06:01.430><c> blockers</c><00:06:01.730><c> we</c><00:06:02.030><c> have</c><00:06:02.120><c> this</c>

00:06:02.200 --> 00:06:02.210 align:start position:0%
that there are two blockers we have this
 

00:06:02.210 --> 00:06:04.360 align:start position:0%
that there are two blockers we have this
in<00:06:02.360><c> solidity</c><00:06:02.720><c> have</c><00:06:03.110><c> optimizations</c><00:06:03.860><c> but</c><00:06:04.310><c> the</c>

00:06:04.360 --> 00:06:04.370 align:start position:0%
in solidity have optimizations but the
 

00:06:04.370 --> 00:06:06.430 align:start position:0%
in solidity have optimizations but the
good<00:06:04.520><c> news</c><00:06:04.600><c> there's</c><00:06:05.600><c> a</c><00:06:05.690><c> lot</c><00:06:05.810><c> of</c><00:06:05.900><c> optimization</c>

00:06:06.430 --> 00:06:06.440 align:start position:0%
good news there's a lot of optimization
 

00:06:06.440 --> 00:06:08.410 align:start position:0%
good news there's a lot of optimization
work<00:06:06.620><c> already</c><00:06:06.950><c> being</c><00:06:07.160><c> done</c><00:06:07.370><c> so</c><00:06:07.880><c> that</c><00:06:08.060><c> should</c>

00:06:08.410 --> 00:06:08.420 align:start position:0%
work already being done so that should
 

00:06:08.420 --> 00:06:10.780 align:start position:0%
work already being done so that should
be<00:06:08.480><c> covered</c><00:06:08.780><c> soon</c><00:06:08.960><c> enough</c><00:06:09.170><c> but</c><00:06:09.980><c> the</c><00:06:10.250><c> other</c><00:06:10.460><c> big</c>

00:06:10.780 --> 00:06:10.790 align:start position:0%
be covered soon enough but the other big
 

00:06:10.790 --> 00:06:13.600 align:start position:0%
be covered soon enough but the other big
blocker<00:06:11.270><c> is</c><00:06:11.770><c> rewriting</c><00:06:12.770><c> this</c><00:06:13.010><c> code</c><00:06:13.220><c> generator</c>

00:06:13.600 --> 00:06:13.610 align:start position:0%
blocker is rewriting this code generator
 

00:06:13.610 --> 00:06:16.390 align:start position:0%
blocker is rewriting this code generator
so<00:06:14.420><c> in</c><00:06:14.510><c> solidity</c><00:06:14.900><c> we</c><00:06:15.320><c> take</c><00:06:15.560><c> the</c><00:06:15.770><c> source</c><00:06:16.160><c> code</c>

00:06:16.390 --> 00:06:16.400 align:start position:0%
so in solidity we take the source code
 

00:06:16.400 --> 00:06:20.560 align:start position:0%
so in solidity we take the source code
we<00:06:16.610><c> do</c><00:06:16.820><c> the</c><00:06:17.540><c> Perseid</c><00:06:18.020><c> we</c><00:06:18.170><c> do</c><00:06:18.820><c> analysis</c><00:06:19.820><c> etc</c><00:06:19.940><c> and</c>

00:06:20.560 --> 00:06:20.570 align:start position:0%
we do the Perseid we do analysis etc and
 

00:06:20.570 --> 00:06:22.630 align:start position:0%
we do the Perseid we do analysis etc and
in<00:06:20.900><c> one</c><00:06:21.050><c> stage</c><00:06:21.350><c> we</c><00:06:21.380><c> generate</c><00:06:21.860><c> EVM</c><00:06:22.160><c> bytecode</c>

00:06:22.630 --> 00:06:22.640 align:start position:0%
in one stage we generate EVM bytecode
 

00:06:22.640 --> 00:06:25.510 align:start position:0%
in one stage we generate EVM bytecode
which<00:06:22.910><c> probably</c><00:06:23.750><c> is</c><00:06:23.900><c> a</c><00:06:23.930><c> bad</c><00:06:24.020><c> idea</c><00:06:24.280><c> so</c><00:06:25.280><c> we</c><00:06:25.370><c> need</c>

00:06:25.510 --> 00:06:25.520 align:start position:0%
which probably is a bad idea so we need
 

00:06:25.520 --> 00:06:27.820 align:start position:0%
which probably is a bad idea so we need
to<00:06:25.640><c> rewrite</c><00:06:25.970><c> this</c><00:06:26.150><c> this</c><00:06:26.210><c> one</c><00:06:26.840><c> step</c><00:06:27.170><c> into</c><00:06:27.710><c> two</c>

00:06:27.820 --> 00:06:27.830 align:start position:0%
to rewrite this this one step into two
 

00:06:27.830 --> 00:06:30.010 align:start position:0%
to rewrite this this one step into two
steps<00:06:28.160><c> to</c><00:06:28.580><c> generate</c><00:06:28.910><c> Yule</c><00:06:29.150><c> and</c><00:06:29.390><c> then</c><00:06:29.690><c> use</c><00:06:29.840><c> you</c>

00:06:30.010 --> 00:06:30.020 align:start position:0%
steps to generate Yule and then use you
 

00:06:30.020 --> 00:06:32.590 align:start position:0%
steps to generate Yule and then use you
to<00:06:30.200><c> giant</c><00:06:30.500><c> EVM</c><00:06:30.830><c> but</c><00:06:31.670><c> this</c><00:06:31.850><c> only</c><00:06:32.060><c> gonna</c><00:06:32.270><c> start</c>

00:06:32.590 --> 00:06:32.600 align:start position:0%
to giant EVM but this only gonna start
 

00:06:32.600 --> 00:06:34.570 align:start position:0%
to giant EVM but this only gonna start
up<00:06:32.720><c> to</c><00:06:32.810><c> zero</c><00:06:33.050><c> five</c><00:06:33.260><c> zero</c><00:06:33.290><c> but</c><00:06:34.160><c> that's</c><00:06:34.310><c> like</c><00:06:34.490><c> the</c>

00:06:34.570 --> 00:06:34.580 align:start position:0%
up to zero five zero but that's like the
 

00:06:34.580 --> 00:06:37.140 align:start position:0%
up to zero five zero but that's like the
big<00:06:34.730><c> plan</c><00:06:34.940><c> for</c><00:06:35.270><c> next</c><00:06:35.990><c> year</c>

00:06:37.140 --> 00:06:37.150 align:start position:0%
big plan for next year
 

00:06:37.150 --> 00:06:39.450 align:start position:0%
big plan for next year
okay<00:06:38.150><c> there</c><00:06:38.390><c> other</c><00:06:38.690><c> languages</c><00:06:39.140><c> actually</c>

00:06:39.450 --> 00:06:39.460 align:start position:0%
okay there other languages actually
 

00:06:39.460 --> 00:06:42.400 align:start position:0%
okay there other languages actually
already<00:06:40.460><c> involved</c><00:06:40.730><c> with</c><00:06:40.880><c> you</c><00:06:41.350><c> apart</c><00:06:42.350><c> from</c>

00:06:42.400 --> 00:06:42.410 align:start position:0%
already involved with you apart from
 

00:06:42.410 --> 00:06:43.810 align:start position:0%
already involved with you apart from
solidity<00:06:42.830><c> there's</c><00:06:43.130><c> this</c><00:06:43.250><c> language</c><00:06:43.580><c> called</c>

00:06:43.810 --> 00:06:43.820 align:start position:0%
solidity there's this language called
 

00:06:43.820 --> 00:06:46.690 align:start position:0%
solidity there's this language called
Flint<00:06:44.110><c> which</c><00:06:45.110><c> is</c><00:06:45.350><c> a</c><00:06:45.380><c> swift</c><00:06:45.860><c> light</c><00:06:46.280><c> language</c>

00:06:46.690 --> 00:06:46.700 align:start position:0%
Flint which is a swift light language
 

00:06:46.700 --> 00:06:50.140 align:start position:0%
Flint which is a swift light language
and<00:06:47.180><c> it</c><00:06:47.540><c> targets</c><00:06:47.810><c> you</c><00:06:48.410><c> it</c><00:06:49.310><c> actually</c><00:06:49.490><c> works</c><00:06:49.820><c> I</c>

00:06:50.140 --> 00:06:50.150 align:start position:0%
and it targets you it actually works I
 

00:06:50.150 --> 00:06:52.920 align:start position:0%
and it targets you it actually works I
just<00:06:50.570><c> tried</c><00:06:50.900><c> it</c><00:06:50.930><c> yesterday</c><00:06:51.340><c> and</c>

00:06:52.920 --> 00:06:52.930 align:start position:0%
just tried it yesterday and
 

00:06:52.930 --> 00:06:54.580 align:start position:0%
just tried it yesterday and
okay<00:06:53.930><c> it's</c><00:06:54.050><c> not</c><00:06:54.140><c> compliant</c><00:06:54.500><c> with</c>

00:06:54.580 --> 00:06:54.590 align:start position:0%
okay it's not compliant with
 

00:06:54.590 --> 00:06:57.400 align:start position:0%
okay it's not compliant with
zero-five-zero<00:06:55.040><c> but</c><00:06:55.400><c> it</c><00:06:55.550><c> works</c><00:06:56.110><c> there's</c><00:06:57.110><c> is</c><00:06:57.380><c> a</c>

00:06:57.400 --> 00:06:57.410 align:start position:0%
zero-five-zero but it works there's is a
 

00:06:57.410 --> 00:06:59.770 align:start position:0%
zero-five-zero but it works there's is a
prototype<00:06:58.100><c> lll</c><00:06:58.670><c> to</c><00:06:58.820><c> your</c><00:06:58.940><c> compiler</c><00:06:59.300><c> which</c><00:06:59.630><c> is</c>

00:06:59.770 --> 00:06:59.780 align:start position:0%
prototype lll to your compiler which is
 

00:06:59.780 --> 00:07:02.620 align:start position:0%
prototype lll to your compiler which is
really<00:06:59.960><c> small</c><00:07:00.400><c> and</c><00:07:01.400><c> there's</c><00:07:02.030><c> also</c><00:07:02.210><c> this</c><00:07:02.480><c> other</c>

00:07:02.620 --> 00:07:02.630 align:start position:0%
really small and there's also this other
 

00:07:02.630 --> 00:07:05.020 align:start position:0%
really small and there's also this other
language<00:07:02.840><c> called</c><00:07:03.170><c> logic</c><00:07:03.530><c> on</c><00:07:03.680><c> which</c><00:07:04.520><c> was</c><00:07:04.790><c> a</c>

00:07:05.020 --> 00:07:05.030 align:start position:0%
language called logic on which was a
 

00:07:05.030 --> 00:07:08.350 align:start position:0%
language called logic on which was a
each<00:07:05.780><c> Berlin</c><00:07:06.230><c> project</c><00:07:06.790><c> which</c><00:07:07.790><c> also</c><00:07:07.940><c> targets</c>

00:07:08.350 --> 00:07:08.360 align:start position:0%
each Berlin project which also targets
 

00:07:08.360 --> 00:07:09.270 align:start position:0%
each Berlin project which also targets
you

00:07:09.270 --> 00:07:09.280 align:start position:0%
you
 

00:07:09.280 --> 00:07:11.950 align:start position:0%
you
hopefully<00:07:10.280><c> I</c><00:07:10.310><c> mean</c><00:07:10.610><c> that's</c><00:07:10.790><c> my</c><00:07:11.360><c> personal</c><00:07:11.720><c> hope</c>

00:07:11.950 --> 00:07:11.960 align:start position:0%
hopefully I mean that's my personal hope
 

00:07:11.960 --> 00:07:14.290 align:start position:0%
hopefully I mean that's my personal hope
but<00:07:12.200><c> probably</c><00:07:12.950><c> the</c><00:07:13.250><c> entire</c><00:07:13.310><c> sold</c><00:07:13.760><c> it</c><00:07:13.850><c> ensures</c>

00:07:14.290 --> 00:07:14.300 align:start position:0%
but probably the entire sold it ensures
 

00:07:14.300 --> 00:07:16.510 align:start position:0%
but probably the entire sold it ensures
that<00:07:14.470><c> that</c><00:07:15.470><c> you</c><00:07:15.620><c> will</c><00:07:15.710><c> going</c><00:07:15.830><c> to</c><00:07:15.890><c> be</c><00:07:15.980><c> used</c><00:07:16.220><c> and</c>

00:07:16.510 --> 00:07:16.520 align:start position:0%
that that you will going to be used and
 

00:07:16.520 --> 00:07:18.430 align:start position:0%
that that you will going to be used and
utilized<00:07:16.640><c> by</c><00:07:17.090><c> the</c><00:07:17.150><c> entire</c><00:07:17.570><c> ecosystem</c><00:07:18.170><c> and</c>

00:07:18.430 --> 00:07:18.440 align:start position:0%
utilized by the entire ecosystem and
 

00:07:18.440 --> 00:07:20.050 align:start position:0%
utilized by the entire ecosystem and
hopefully<00:07:19.040><c> we</c><00:07:19.160><c> can</c><00:07:19.310><c> convince</c><00:07:19.520><c> the</c><00:07:19.850><c> viper</c>

00:07:20.050 --> 00:07:20.060 align:start position:0%
hopefully we can convince the viper
 

00:07:20.060 --> 00:07:22.210 align:start position:0%
hopefully we can convince the viper
people<00:07:20.570><c> to</c><00:07:21.020><c> also</c><00:07:21.230><c> use</c><00:07:21.380><c> it</c><00:07:21.560><c> and</c><00:07:21.770><c> get</c><00:07:21.950><c> all</c><00:07:22.100><c> the</c>

00:07:22.210 --> 00:07:22.220 align:start position:0%
people to also use it and get all the
 

00:07:22.220 --> 00:07:23.580 align:start position:0%
people to also use it and get all the
benefits<00:07:22.580><c> we</c><00:07:22.760><c> have</c>

00:07:23.580 --> 00:07:23.590 align:start position:0%
benefits we have
 

00:07:23.590 --> 00:07:26.370 align:start position:0%
benefits we have
okay<00:07:24.590><c> the</c><00:07:24.770><c> tools</c><00:07:25.040><c> regarding</c><00:07:25.520><c> you</c>

00:07:26.370 --> 00:07:26.380 align:start position:0%
okay the tools regarding you
 

00:07:26.380 --> 00:07:28.690 align:start position:0%
okay the tools regarding you
obviously<00:07:27.380><c> pretty</c><00:07:27.920><c> much</c><00:07:28.100><c> everything</c><00:07:28.460><c> is</c><00:07:28.580><c> the</c>

00:07:28.690 --> 00:07:28.700 align:start position:0%
obviously pretty much everything is the
 

00:07:28.700 --> 00:07:30.580 align:start position:0%
obviously pretty much everything is the
solid<00:07:28.970><c> is</c><00:07:29.120><c> in</c><00:07:29.420><c> this</c><00:07:29.630><c> solidity</c><00:07:29.960><c> compiler</c><00:07:30.350><c> which</c>

00:07:30.580 --> 00:07:30.590 align:start position:0%
solid is in this solidity compiler which
 

00:07:30.590 --> 00:07:34.150 align:start position:0%
solid is in this solidity compiler which
is<00:07:30.710><c> C++</c><00:07:31.450><c> but</c><00:07:32.450><c> there's</c><00:07:32.660><c> also</c><00:07:32.930><c> already</c><00:07:33.440><c> a</c><00:07:33.740><c> rust</c>

00:07:34.150 --> 00:07:34.160 align:start position:0%
is C++ but there's also already a rust
 

00:07:34.160 --> 00:07:36.910 align:start position:0%
is C++ but there's also already a rust
implementation<00:07:34.820><c> of</c><00:07:34.940><c> you</c><00:07:35.140><c> and</c><00:07:36.140><c> it</c><00:07:36.320><c> interests</c>

00:07:36.910 --> 00:07:36.920 align:start position:0%
implementation of you and it interests
 

00:07:36.920 --> 00:07:38.080 align:start position:0%
implementation of you and it interests
implementation<00:07:37.490><c> of</c><00:07:37.550><c> this</c><00:07:37.640><c> called</c><00:07:37.910><c> you'll</c>

00:07:38.080 --> 00:07:38.090 align:start position:0%
implementation of this called you'll
 

00:07:38.090 --> 00:07:38.910 align:start position:0%
implementation of this called you'll
serve

00:07:38.910 --> 00:07:38.920 align:start position:0%
serve
 

00:07:38.920 --> 00:07:42.400 align:start position:0%
serve
it<00:07:39.920><c> is</c><00:07:40.130><c> trust</c><00:07:40.340><c> implementation</c><00:07:41.140><c> you</c><00:07:42.140><c> can</c>

00:07:42.400 --> 00:07:42.410 align:start position:0%
it is trust implementation you can
 

00:07:42.410 --> 00:07:45.160 align:start position:0%
it is trust implementation you can
create<00:07:42.770><c> your</c><00:07:43.490><c> code</c><00:07:43.840><c> programmatically</c><00:07:44.840><c> and</c>

00:07:45.160 --> 00:07:45.170 align:start position:0%
create your code programmatically and
 

00:07:45.170 --> 00:07:46.810 align:start position:0%
create your code programmatically and
you<00:07:45.470><c> can</c><00:07:45.620><c> print</c><00:07:45.830><c> it</c><00:07:45.890><c> out</c><00:07:46.010><c> but</c><00:07:46.520><c> you</c><00:07:46.580><c> can</c><00:07:46.700><c> also</c>

00:07:46.810 --> 00:07:46.820 align:start position:0%
you can print it out but you can also
 

00:07:46.820 --> 00:07:49.720 align:start position:0%
you can print it out but you can also
parse<00:07:47.240><c> you'll</c><00:07:47.780><c> code</c><00:07:48.080><c> do</c><00:07:48.890><c> transformations</c><00:07:49.580><c> on</c>

00:07:49.720 --> 00:07:49.730 align:start position:0%
parse you'll code do transformations on
 

00:07:49.730 --> 00:07:52.630 align:start position:0%
parse you'll code do transformations on
it<00:07:49.820><c> and</c><00:07:50.000><c> printed</c><00:07:50.270><c> out</c><00:07:50.620><c> and</c><00:07:51.620><c> this</c><00:07:51.830><c> rust</c><00:07:52.280><c> library</c>

00:07:52.630 --> 00:07:52.640 align:start position:0%
it and printed out and this rust library
 

00:07:52.640 --> 00:07:54.430 align:start position:0%
it and printed out and this rust library
is<00:07:52.700><c> also</c><00:07:53.000><c> integrated</c><00:07:53.330><c> with</c><00:07:53.540><c> so</c><00:07:53.780><c> see</c><00:07:54.050><c> to</c><00:07:54.260><c> tap</c>

00:07:54.430 --> 00:07:54.440 align:start position:0%
is also integrated with so see to tap
 

00:07:54.440 --> 00:07:55.930 align:start position:0%
is also integrated with so see to tap
into<00:07:54.680><c> the</c><00:07:54.770><c> optimization</c><00:07:54.980><c> steps</c><00:07:55.550><c> and</c><00:07:55.820><c> the</c>

00:07:55.930 --> 00:07:55.940 align:start position:0%
into the optimization steps and the
 

00:07:55.940 --> 00:07:57.510 align:start position:0%
into the optimization steps and the
compiler

00:07:57.510 --> 00:07:57.520 align:start position:0%
compiler
 

00:07:57.520 --> 00:07:59.920 align:start position:0%
compiler
there's<00:07:58.520><c> like</c><00:07:58.730><c> one</c><00:07:58.970><c> other</c><00:07:59.090><c> use</c><00:07:59.360><c> case</c><00:07:59.570><c> I</c><00:07:59.690><c> really</c>

00:07:59.920 --> 00:07:59.930 align:start position:0%
there's like one other use case I really
 

00:07:59.930 --> 00:08:03.120 align:start position:0%
there's like one other use case I really
like<00:08:00.220><c> called</c><00:08:01.220><c> why</c><00:08:02.120><c> EVM</c>

00:08:03.120 --> 00:08:03.130 align:start position:0%
like called why EVM
 

00:08:03.130 --> 00:08:07.690 align:start position:0%
like called why EVM
so<00:08:04.130><c> basically</c><00:08:04.520><c> yvm</c><00:08:05.180><c> is</c><00:08:05.710><c> came</c><00:08:06.710><c> from</c><00:08:06.740><c> a</c><00:08:07.190><c> need</c><00:08:07.460><c> we</c>

00:08:07.690 --> 00:08:07.700 align:start position:0%
so basically yvm is came from a need we
 

00:08:07.700 --> 00:08:10.570 align:start position:0%
so basically yvm is came from a need we
have<00:08:07.730><c> any</c><00:08:08.090><c> wasn't</c><00:08:08.800><c> so</c><00:08:09.800><c> but</c><00:08:09.920><c> he</c><00:08:09.980><c> wasn't</c><00:08:10.190><c> even</c><00:08:10.550><c> a</c>

00:08:10.570 --> 00:08:10.580 align:start position:0%
have any wasn't so but he wasn't even a
 

00:08:10.580 --> 00:08:12.790 align:start position:0%
have any wasn't so but he wasn't even a
replace<00:08:10.940><c> the</c><00:08:11.120><c> VM</c><00:08:11.300><c> entirely</c><00:08:11.660><c> and</c><00:08:11.990><c> we</c><00:08:12.590><c> want</c><00:08:12.740><c> to</c>

00:08:12.790 --> 00:08:12.800 align:start position:0%
replace the VM entirely and we want to
 

00:08:12.800 --> 00:08:13.980 align:start position:0%
replace the VM entirely and we want to
give<00:08:12.980><c> you</c><00:08:13.160><c> this</c>

00:08:13.980 --> 00:08:13.990 align:start position:0%
give you this
 

00:08:13.990 --> 00:08:17.470 align:start position:0%
give you this
webassembly<00:08:14.990><c> only</c><00:08:15.470><c> client</c><00:08:15.980><c> but</c><00:08:16.880><c> probably</c><00:08:17.390><c> you</c>

00:08:17.470 --> 00:08:17.480 align:start position:0%
webassembly only client but probably you
 

00:08:17.480 --> 00:08:19.420 align:start position:0%
webassembly only client but probably you
still<00:08:17.660><c> going</c><00:08:17.810><c> to</c><00:08:17.870><c> execute</c><00:08:18.080><c> even</c><00:08:18.290><c> bytecode</c><00:08:18.830><c> and</c>

00:08:19.420 --> 00:08:19.430 align:start position:0%
still going to execute even bytecode and
 

00:08:19.430 --> 00:08:21.820 align:start position:0%
still going to execute even bytecode and
you<00:08:19.520><c> can</c><00:08:19.670><c> do</c><00:08:19.760><c> that</c><00:08:19.880><c> with</c><00:08:20.060><c> ye</c><00:08:20.240><c> VM</c><00:08:20.630><c> so</c><00:08:21.320><c> why</c><00:08:21.470><c> a</c><00:08:21.500><c> VM</c>

00:08:21.820 --> 00:08:21.830 align:start position:0%
you can do that with ye VM so why a VM
 

00:08:21.830 --> 00:08:23.440 align:start position:0%
you can do that with ye VM so why a VM
translates<00:08:22.310><c> even</c><00:08:22.760><c> byte</c><00:08:22.940><c> code</c><00:08:23.180><c> into</c><00:08:23.420><c> your</c>

00:08:23.440 --> 00:08:23.450 align:start position:0%
translates even byte code into your
 

00:08:23.450 --> 00:08:25.570 align:start position:0%
translates even byte code into your
source<00:08:23.870><c> code</c><00:08:24.110><c> which</c><00:08:24.740><c> can</c><00:08:24.950><c> be</c><00:08:25.070><c> also</c><00:08:25.280><c> compared</c>

00:08:25.570 --> 00:08:25.580 align:start position:0%
source code which can be also compared
 

00:08:25.580 --> 00:08:27.910 align:start position:0%
source code which can be also compared
back<00:08:25.700><c> to</c><00:08:25.820><c> a</c><00:08:25.850><c> VM</c><00:08:26.180><c> and</c><00:08:26.420><c> validated</c><00:08:26.930><c> but</c><00:08:27.500><c> it</c><00:08:27.620><c> can</c><00:08:27.800><c> be</c>

00:08:27.910 --> 00:08:27.920 align:start position:0%
back to a VM and validated but it can be
 

00:08:27.920 --> 00:08:30.820 align:start position:0%
back to a VM and validated but it can be
also<00:08:28.040><c> compiled</c><00:08:28.610><c> to</c><00:08:28.880><c> II</c><00:08:29.210><c> wasn't</c><00:08:29.570><c> directly</c><00:08:30.050><c> I</c>

00:08:30.820 --> 00:08:30.830 align:start position:0%
also compiled to II wasn't directly I
 

00:08:30.830 --> 00:08:33.430 align:start position:0%
also compiled to II wasn't directly I
think<00:08:31.220><c> this</c><00:08:31.550><c> really</c><00:08:31.700><c> cool</c><00:08:31.910><c> project</c><00:08:32.360><c> and</c><00:08:32.510><c> I</c>

00:08:33.430 --> 00:08:33.440 align:start position:0%
think this really cool project and I
 

00:08:33.440 --> 00:08:36.580 align:start position:0%
think this really cool project and I
hope<00:08:33.680><c> that</c><00:08:33.950><c> they're</c><00:08:34.880><c> gonna</c><00:08:34.969><c> be</c><00:08:35.150><c> utter</c><00:08:35.590><c> you</c>

00:08:36.580 --> 00:08:36.590 align:start position:0%
hope that they're gonna be utter you
 

00:08:36.590 --> 00:08:38.050 align:start position:0%
hope that they're gonna be utter you
know<00:08:36.680><c> independent</c><00:08:37.070><c> third-party</c>

00:08:38.050 --> 00:08:38.060 align:start position:0%
know independent third-party
 

00:08:38.060 --> 00:08:40.779 align:start position:0%
know independent third-party
you'll<00:08:38.570><c> implementations</c><00:08:39.260><c> and</c><00:08:39.590><c> analyzers</c><00:08:40.280><c> for</c>

00:08:40.779 --> 00:08:40.789 align:start position:0%
you'll implementations and analyzers for
 

00:08:40.789 --> 00:08:42.940 align:start position:0%
you'll implementations and analyzers for
you

00:08:42.940 --> 00:08:42.950 align:start position:0%
 
 

00:08:42.950 --> 00:08:44.890 align:start position:0%
 
so<00:08:43.490><c> basically</c><00:08:43.820><c> that</c><00:08:44.060><c> that's</c><00:08:44.390><c> what</c><00:08:44.540><c> I</c><00:08:44.570><c> wanted</c>

00:08:44.890 --> 00:08:44.900 align:start position:0%
so basically that that's what I wanted
 

00:08:44.900 --> 00:08:46.930 align:start position:0%
so basically that that's what I wanted
to<00:08:45.050><c> tell</c><00:08:45.500><c> you</c><00:08:45.530><c> guys</c><00:08:45.680><c> you</c><00:08:46.460><c> should</c><00:08:46.520><c> check</c><00:08:46.820><c> the</c>

00:08:46.930 --> 00:08:46.940 align:start position:0%
to tell you guys you should check the
 

00:08:46.940 --> 00:08:48.970 align:start position:0%
to tell you guys you should check the
documentation<00:08:47.570><c> so</c><00:08:48.110><c> make</c><00:08:48.290><c> sure</c><00:08:48.320><c> you</c><00:08:48.680><c> follow</c>

00:08:48.970 --> 00:08:48.980 align:start position:0%
documentation so make sure you follow
 

00:08:48.980 --> 00:08:51.699 align:start position:0%
documentation so make sure you follow
the<00:08:49.310><c> link</c><00:08:49.940><c> I</c><00:08:50.120><c> have</c><00:08:50.180><c> there</c><00:08:50.690><c> which</c><00:08:51.019><c> is</c><00:08:51.199><c> latest</c>

00:08:51.699 --> 00:08:51.709 align:start position:0%
the link I have there which is latest
 

00:08:51.709 --> 00:08:55.210 align:start position:0%
the link I have there which is latest
don't<00:08:52.519><c> go</c><00:08:52.730><c> to</c><00:08:52.819><c> the</c><00:08:53.029><c> 0</c><00:08:53.269><c> for</c><00:08:53.480><c> 24</c><00:08:54.019><c> or</c><00:08:54.230><c> 25</c><00:08:54.680><c> version</c>

00:08:55.210 --> 00:08:55.220 align:start position:0%
don't go to the 0 for 24 or 25 version
 

00:08:55.220 --> 00:08:56.970 align:start position:0%
don't go to the 0 for 24 or 25 version
of<00:08:55.279><c> it</c><00:08:55.430><c> go</c><00:08:55.879><c> to</c><00:08:55.910><c> the</c><00:08:56.149><c> latest</c>

00:08:56.970 --> 00:08:56.980 align:start position:0%
of it go to the latest
 

00:08:56.980 --> 00:09:00.430 align:start position:0%
of it go to the latest
also<00:08:57.980><c> join</c><00:08:58.160><c> our</c><00:08:58.370><c> channel</c><00:08:58.639><c> ask</c><00:08:59.420><c> any</c><00:08:59.720><c> questions</c>

00:09:00.430 --> 00:09:00.440 align:start position:0%
also join our channel ask any questions
 

00:09:00.440 --> 00:09:02.980 align:start position:0%
also join our channel ask any questions
interact<00:09:00.829><c> with</c><00:09:00.949><c> us</c><00:09:01.069><c> and</c><00:09:01.540><c> please</c><00:09:02.540><c> contribute</c>

00:09:02.980 --> 00:09:02.990 align:start position:0%
interact with us and please contribute
 

00:09:02.990 --> 00:09:06.639 align:start position:0%
interact with us and please contribute
to<00:09:03.290><c> user</c><00:09:03.649><c> in</c><00:09:03.829><c> yvm</c><00:09:04.399><c> we</c><00:09:04.910><c> need</c><00:09:05.060><c> your</c><00:09:05.209><c> help</c><00:09:05.649><c> thank</c>

00:09:06.639 --> 00:09:06.649 align:start position:0%
to user in yvm we need your help thank
 

00:09:06.649 --> 00:09:09.740 align:start position:0%
to user in yvm we need your help thank
you<00:09:06.740><c> guys</c>

00:09:09.740 --> 00:09:09.750 align:start position:0%
 
 

00:09:09.750 --> 00:09:18.470 align:start position:0%
 
[Applause]

00:09:18.470 --> 00:09:18.480 align:start position:0%
 
 

00:09:18.480 --> 00:09:20.540 align:start position:0%
 
you

