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:12.870 align:start position:0%
 
[Music]

00:00:12.870 --> 00:00:12.880 align:start position:0%
 
 

00:00:12.880 --> 00:00:15.390 align:start position:0%
 
hi<00:00:13.120><c> everyone</c><00:00:13.599><c> good</c><00:00:13.759><c> morning</c><00:00:14.719><c> my</c><00:00:14.879><c> name</c><00:00:15.040><c> is</c>

00:00:15.390 --> 00:00:15.400 align:start position:0%
hi everyone good morning my name is
 

00:00:15.400 --> 00:00:18.710 align:start position:0%
hi everyone good morning my name is
Teresa<00:00:16.400><c> I</c><00:00:16.520><c> am</c><00:00:16.800><c> a</c><00:00:17.039><c> smart</c><00:00:17.480><c> contract</c><00:00:17.920><c> auditor</c><00:00:18.560><c> at</c>

00:00:18.710 --> 00:00:18.720 align:start position:0%
Teresa I am a smart contract auditor at
 

00:00:18.720 --> 00:00:19.630 align:start position:0%
Teresa I am a smart contract auditor at
chain

00:00:19.630 --> 00:00:19.640 align:start position:0%
chain
 

00:00:19.640 --> 00:00:22.070 align:start position:0%
chain
security<00:00:20.640><c> uh</c><00:00:20.760><c> and</c><00:00:20.920><c> today</c><00:00:21.279><c> I'll</c><00:00:21.480><c> talk</c><00:00:21.720><c> about</c>

00:00:22.070 --> 00:00:22.080 align:start position:0%
security uh and today I'll talk about
 

00:00:22.080 --> 00:00:24.750 align:start position:0%
security uh and today I'll talk about
things<00:00:22.400><c> you</c><00:00:22.640><c> didn't</c><00:00:22.960><c> know</c><00:00:23.279><c> about</c><00:00:23.560><c> contract</c>

00:00:24.750 --> 00:00:24.760 align:start position:0%
things you didn't know about contract
 

00:00:24.760 --> 00:00:28.029 align:start position:0%
things you didn't know about contract
deployment<00:00:25.760><c> so</c><00:00:26.199><c> uh</c><00:00:26.359><c> I</c><00:00:26.480><c> suppose</c><00:00:27.080><c> many</c><00:00:27.400><c> of</c><00:00:27.560><c> you</c>

00:00:28.029 --> 00:00:28.039 align:start position:0%
deployment so uh I suppose many of you
 

00:00:28.039 --> 00:00:30.150 align:start position:0%
deployment so uh I suppose many of you
have<00:00:28.320><c> deployed</c><00:00:28.760><c> a</c><00:00:28.840><c> smart</c><00:00:29.160><c> contract</c><00:00:29.599><c> at</c><00:00:29.759><c> some</c>

00:00:30.150 --> 00:00:30.160 align:start position:0%
have deployed a smart contract at some
 

00:00:30.160 --> 00:00:33.310 align:start position:0%
have deployed a smart contract at some
point<00:00:31.160><c> and</c><00:00:31.439><c> this</c><00:00:31.599><c> session</c><00:00:31.920><c> aims</c><00:00:32.200><c> to</c><00:00:32.399><c> take</c><00:00:32.880><c> a</c>

00:00:33.310 --> 00:00:33.320 align:start position:0%
point and this session aims to take a
 

00:00:33.320 --> 00:00:34.910 align:start position:0%
point and this session aims to take a
behind<00:00:33.640><c> the</c><00:00:33.760><c> scenes</c><00:00:34.079><c> look</c><00:00:34.239><c> at</c><00:00:34.440><c> what</c><00:00:34.600><c> happens</c>

00:00:34.910 --> 00:00:34.920 align:start position:0%
behind the scenes look at what happens
 

00:00:34.920 --> 00:00:36.030 align:start position:0%
behind the scenes look at what happens
at<00:00:35.120><c> this</c>

00:00:36.030 --> 00:00:36.040 align:start position:0%
at this
 

00:00:36.040 --> 00:00:39.389 align:start position:0%
at this
process<00:00:37.040><c> um</c><00:00:37.680><c> so</c><00:00:38.120><c> as</c><00:00:38.200><c> a</c><00:00:38.320><c> short</c><00:00:38.559><c> recap</c><00:00:39.079><c> these</c><00:00:39.239><c> are</c>

00:00:39.389 --> 00:00:39.399 align:start position:0%
process um so as a short recap these are
 

00:00:39.399 --> 00:00:42.430 align:start position:0%
process um so as a short recap these are
the<00:00:39.600><c> three</c><00:00:39.920><c> ways</c><00:00:40.760><c> to</c><00:00:41.120><c> to</c><00:00:41.360><c> deploy</c><00:00:42.160><c> uh</c><00:00:42.280><c> to</c>

00:00:42.430 --> 00:00:42.440 align:start position:0%
the three ways to to deploy uh to
 

00:00:42.440 --> 00:00:44.110 align:start position:0%
the three ways to to deploy uh to
initiate<00:00:42.840><c> smart</c><00:00:43.200><c> contract</c><00:00:43.520><c> deployment</c><00:00:43.960><c> on</c>

00:00:44.110 --> 00:00:44.120 align:start position:0%
initiate smart contract deployment on
 

00:00:44.120 --> 00:00:46.389 align:start position:0%
initiate smart contract deployment on
ethereum<00:00:44.960><c> so</c><00:00:45.239><c> either</c><00:00:45.559><c> via</c><00:00:45.800><c> the</c><00:00:46.000><c> creation</c>

00:00:46.389 --> 00:00:46.399 align:start position:0%
ethereum so either via the creation
 

00:00:46.399 --> 00:00:49.029 align:start position:0%
ethereum so either via the creation
transaction<00:00:47.079><c> or</c><00:00:47.320><c> the</c><00:00:47.559><c> create</c><00:00:47.920><c> or</c><00:00:48.160><c> create</c><00:00:48.480><c> two</c>

00:00:49.029 --> 00:00:49.039 align:start position:0%
transaction or the create or create two
 

00:00:49.039 --> 00:00:53.510 align:start position:0%
transaction or the create or create two
op<00:00:49.760><c> codes</c><00:00:50.760><c> um</c><00:00:51.000><c> all</c><00:00:51.120><c> of</c><00:00:51.360><c> these</c><00:00:52.280><c> will</c><00:00:52.879><c> um</c><00:00:53.160><c> trigger</c>

00:00:53.510 --> 00:00:53.520 align:start position:0%
op codes um all of these will um trigger
 

00:00:53.520 --> 00:00:57.549 align:start position:0%
op codes um all of these will um trigger
the<00:00:53.879><c> evm</c><00:00:54.879><c> um</c><00:00:55.520><c> to</c><00:00:56.079><c> execute</c><00:00:56.760><c> execute</c><00:00:57.160><c> the</c><00:00:57.280><c> init</c>

00:00:57.549 --> 00:00:57.559 align:start position:0%
the evm um to execute execute the init
 

00:00:57.559 --> 00:01:00.950 align:start position:0%
the evm um to execute execute the init
code<00:00:57.840><c> so</c><00:00:58.039><c> will</c><00:00:58.440><c> it</c><00:00:58.519><c> will</c><00:00:58.719><c> trigger</c><00:00:59.359><c> um</c><00:00:59.559><c> constru</c>

00:01:00.950 --> 00:01:00.960 align:start position:0%
code so will it will trigger um constru
 

00:01:00.960 --> 00:01:03.910 align:start position:0%
code so will it will trigger um constru
uh<00:01:01.680><c> execution</c><00:01:02.680><c> now</c><00:01:02.879><c> the</c><00:01:03.039><c> question</c><00:01:03.359><c> becomes</c>

00:01:03.910 --> 00:01:03.920 align:start position:0%
uh execution now the question becomes
 

00:01:03.920 --> 00:01:06.789 align:start position:0%
uh execution now the question becomes
what<00:01:04.040><c> if</c><00:01:04.159><c> we</c><00:01:04.320><c> want</c><00:01:04.439><c> to</c><00:01:04.600><c> deploy</c><00:01:04.960><c> a</c>

00:01:06.789 --> 00:01:06.799 align:start position:0%
what if we want to deploy a
 

00:01:06.799 --> 00:01:09.390 align:start position:0%
what if we want to deploy a
contract<00:01:07.799><c> at</c><00:01:08.000><c> an</c><00:01:08.159><c> address</c><00:01:08.720><c> of</c><00:01:08.840><c> an</c><00:01:09.000><c> already</c>

00:01:09.390 --> 00:01:09.400 align:start position:0%
contract at an address of an already
 

00:01:09.400 --> 00:01:11.710 align:start position:0%
contract at an address of an already
existing<00:01:09.920><c> account</c><00:01:10.240><c> can</c><00:01:10.400><c> we</c><00:01:10.520><c> do</c><00:01:10.759><c> that</c><00:01:11.400><c> and</c><00:01:11.520><c> for</c>

00:01:11.710 --> 00:01:11.720 align:start position:0%
existing account can we do that and for
 

00:01:11.720 --> 00:01:13.190 align:start position:0%
existing account can we do that and for
that<00:01:11.880><c> we</c><00:01:12.000><c> must</c><00:01:12.479><c> understand</c><00:01:12.680><c> what</c><00:01:12.799><c> it</c><00:01:12.880><c> means</c>

00:01:13.190 --> 00:01:13.200 align:start position:0%
that we must understand what it means
 

00:01:13.200 --> 00:01:17.030 align:start position:0%
that we must understand what it means
for<00:01:13.400><c> a</c><00:01:13.560><c> cont</c><00:01:14.200><c> contract</c><00:01:15.200><c> um</c><00:01:15.640><c> for</c><00:01:15.960><c> an</c><00:01:16.200><c> account</c><00:01:16.479><c> to</c>

00:01:17.030 --> 00:01:17.040 align:start position:0%
for a cont contract um for an account to
 

00:01:17.040 --> 00:01:20.990 align:start position:0%
for a cont contract um for an account to
exist<00:01:18.040><c> so</c><00:01:18.280><c> let's</c><00:01:19.159><c> um</c><00:01:19.479><c> recap</c><00:01:20.079><c> that</c><00:01:20.640><c> every</c>

00:01:20.990 --> 00:01:21.000 align:start position:0%
exist so let's um recap that every
 

00:01:21.000 --> 00:01:24.590 align:start position:0%
exist so let's um recap that every
account<00:01:21.840><c> holds</c><00:01:22.159><c> a</c><00:01:22.360><c> state</c><00:01:23.200><c> um</c><00:01:23.479><c> we</c><00:01:23.680><c> have</c><00:01:24.119><c> a</c><00:01:24.320><c> state</c>

00:01:24.590 --> 00:01:24.600 align:start position:0%
account holds a state um we have a state
 

00:01:24.600 --> 00:01:27.670 align:start position:0%
account holds a state um we have a state
that<00:01:24.720><c> contains</c><00:01:25.079><c> four</c><00:01:25.600><c> Fields</c><00:01:26.600><c> uh</c><00:01:26.720><c> the</c><00:01:26.840><c> nons</c>

00:01:27.670 --> 00:01:27.680 align:start position:0%
that contains four Fields uh the nons
 

00:01:27.680 --> 00:01:30.749 align:start position:0%
that contains four Fields uh the nons
the<00:01:27.880><c> balance</c><00:01:28.880><c> the</c><00:01:29.040><c> storage</c><00:01:29.439><c> route</c><00:01:30.400><c> and</c><00:01:30.640><c> the</c>

00:01:30.749 --> 00:01:30.759 align:start position:0%
the balance the storage route and the
 

00:01:30.759 --> 00:01:33.789 align:start position:0%
the balance the storage route and the
code<00:01:31.360><c> hash</c><00:01:32.360><c> and</c><00:01:32.600><c> for</c><00:01:32.840><c> account</c><00:01:33.200><c> existence</c>

00:01:33.789 --> 00:01:33.799 align:start position:0%
code hash and for account existence
 

00:01:33.799 --> 00:01:36.789 align:start position:0%
code hash and for account existence
let's<00:01:34.040><c> go</c><00:01:34.280><c> all</c><00:01:34.399><c> the</c><00:01:34.520><c> way</c><00:01:34.759><c> back</c><00:01:35.000><c> to</c><00:01:35.200><c> EIP</c><00:01:35.840><c> 161</c>

00:01:36.789 --> 00:01:36.799 align:start position:0%
let's go all the way back to EIP 161
 

00:01:36.799 --> 00:01:40.069 align:start position:0%
let's go all the way back to EIP 161
that<00:01:37.520><c> specifies</c><00:01:38.520><c> prior</c><00:01:38.880><c> to</c><00:01:39.079><c> the</c><00:01:39.280><c> execution</c><00:01:39.960><c> of</c>

00:01:40.069 --> 00:01:40.079 align:start position:0%
that specifies prior to the execution of
 

00:01:40.079 --> 00:01:42.990 align:start position:0%
that specifies prior to the execution of
the<00:01:40.200><c> init</c><00:01:40.560><c> code</c><00:01:41.560><c> uh</c><00:01:41.680><c> the</c><00:01:41.759><c> nons</c><00:01:42.320><c> is</c><00:01:42.479><c> incremented</c>

00:01:42.990 --> 00:01:43.000 align:start position:0%
the init code uh the nons is incremented
 

00:01:43.000 --> 00:01:47.749 align:start position:0%
the init code uh the nons is incremented
by<00:01:43.200><c> one</c><00:01:44.200><c> so</c><00:01:44.680><c> this</c><00:01:44.840><c> means</c><00:01:45.280><c> for</c><00:01:45.520><c> an</c><00:01:46.040><c> address</c><00:01:47.040><c> um</c>

00:01:47.749 --> 00:01:47.759 align:start position:0%
by one so this means for an address um
 

00:01:47.759 --> 00:01:50.590 align:start position:0%
by one so this means for an address um
of<00:01:47.920><c> a</c><00:01:48.040><c> non-zero</c><00:01:48.520><c> nons</c><00:01:49.200><c> we</c><00:01:49.280><c> can</c><00:01:49.479><c> say</c><00:01:49.960><c> an</c><00:01:50.159><c> account</c>

00:01:50.590 --> 00:01:50.600 align:start position:0%
of a non-zero nons we can say an account
 

00:01:50.600 --> 00:01:53.630 align:start position:0%
of a non-zero nons we can say an account
exists<00:01:51.040><c> at</c><00:01:51.240><c> that</c><00:01:51.479><c> address</c><00:01:52.280><c> all</c><00:01:52.439><c> right</c><00:01:53.079><c> but</c><00:01:53.399><c> uh</c>

00:01:53.630 --> 00:01:53.640 align:start position:0%
exists at that address all right but uh
 

00:01:53.640 --> 00:01:55.550 align:start position:0%
exists at that address all right but uh
what<00:01:53.880><c> what</c><00:01:54.040><c> does</c><00:01:54.280><c> this</c><00:01:54.479><c> mean</c><00:01:55.159><c> what</c><00:01:55.280><c> are</c><00:01:55.439><c> the</c>

00:01:55.550 --> 00:01:55.560 align:start position:0%
what what does this mean what are the
 

00:01:55.560 --> 00:01:57.310 align:start position:0%
what what does this mean what are the
implications<00:01:56.200><c> on</c><00:01:56.399><c> contract</c><00:01:56.759><c> deployment</c><00:01:57.240><c> can</c>

00:01:57.310 --> 00:01:57.320 align:start position:0%
implications on contract deployment can
 

00:01:57.320 --> 00:02:00.469 align:start position:0%
implications on contract deployment can
we<00:01:57.479><c> deploy</c><00:01:57.880><c> at</c><00:01:58.039><c> an</c><00:01:58.240><c> address</c><00:01:59.240><c> with</c><00:01:59.719><c> uh</c><00:02:00.000><c> um</c>

00:02:00.469 --> 00:02:00.479 align:start position:0%
we deploy at an address with uh um
 

00:02:00.479 --> 00:02:03.670 align:start position:0%
we deploy at an address with uh um
nonzero<00:02:00.960><c> noner</c><00:02:01.320><c> nonzero</c><00:02:01.759><c> code</c><00:02:02.119><c> hash</c><00:02:03.119><c> um</c><00:02:03.399><c> well</c>

00:02:03.670 --> 00:02:03.680 align:start position:0%
nonzero noner nonzero code hash um well
 

00:02:03.680 --> 00:02:06.990 align:start position:0%
nonzero noner nonzero code hash um well
we<00:02:03.840><c> can't</c><00:02:04.240><c> there's</c><00:02:04.520><c> EAP</c><00:02:05.320><c> 684</c><00:02:06.320><c> that</c><00:02:06.479><c> will</c>

00:02:06.990 --> 00:02:07.000 align:start position:0%
we can't there's EAP 684 that will
 

00:02:07.000 --> 00:02:09.790 align:start position:0%
we can't there's EAP 684 that will
revert<00:02:07.600><c> if</c><00:02:07.719><c> you</c><00:02:07.960><c> try</c><00:02:08.360><c> to</c><00:02:08.920><c> um</c><00:02:09.200><c> initiate</c>

00:02:09.790 --> 00:02:09.800 align:start position:0%
revert if you try to um initiate
 

00:02:09.800 --> 00:02:12.589 align:start position:0%
revert if you try to um initiate
creation<00:02:10.800><c> on</c><00:02:11.520><c> an</c><00:02:11.760><c> at</c><00:02:11.920><c> an</c><00:02:12.120><c> address</c><00:02:12.440><c> with</c>

00:02:12.589 --> 00:02:12.599 align:start position:0%
creation on an at an address with
 

00:02:12.599 --> 00:02:15.390 align:start position:0%
creation on an at an address with
nonzero<00:02:13.040><c> nons</c><00:02:13.440><c> and</c><00:02:13.560><c> non-zero</c><00:02:14.000><c> code</c><00:02:14.280><c> hash</c><00:02:15.120><c> um</c>

00:02:15.390 --> 00:02:15.400 align:start position:0%
nonzero nons and non-zero code hash um
 

00:02:15.400 --> 00:02:17.190 align:start position:0%
nonzero nons and non-zero code hash um
what<00:02:15.519><c> about</c><00:02:15.720><c> the</c><00:02:15.879><c> storage</c><00:02:16.599><c> do</c><00:02:16.760><c> we</c><00:02:16.879><c> need</c><00:02:17.000><c> to</c>

00:02:17.190 --> 00:02:17.200 align:start position:0%
what about the storage do we need to
 

00:02:17.200 --> 00:02:19.830 align:start position:0%
what about the storage do we need to
care<00:02:17.480><c> about</c><00:02:17.879><c> the</c><00:02:18.000><c> storage</c><00:02:18.360><c> route</c><00:02:19.360><c> um</c>

00:02:19.830 --> 00:02:19.840 align:start position:0%
care about the storage route um
 

00:02:19.840 --> 00:02:22.110 align:start position:0%
care about the storage route um
interesting<00:02:20.720><c> interestingly</c><00:02:21.519><c> yes</c><00:02:21.879><c> there's</c>

00:02:22.110 --> 00:02:22.120 align:start position:0%
interesting interestingly yes there's
 

00:02:22.120 --> 00:02:24.509 align:start position:0%
interesting interestingly yes there's
also<00:02:22.360><c> a</c><00:02:22.480><c> check</c><00:02:22.760><c> on</c><00:02:23.040><c> that</c><00:02:23.920><c> and</c><00:02:24.080><c> this</c><00:02:24.239><c> has</c><00:02:24.360><c> more</c>

00:02:24.509 --> 00:02:24.519 align:start position:0%
also a check on that and this has more
 

00:02:24.519 --> 00:02:26.309 align:start position:0%
also a check on that and this has more
of<00:02:24.599><c> a</c><00:02:24.760><c> historic</c><00:02:25.120><c> flavor</c><00:02:25.680><c> there</c><00:02:25.760><c> are</c><00:02:25.959><c> still</c><00:02:26.239><c> a</c>

00:02:26.309 --> 00:02:26.319 align:start position:0%
of a historic flavor there are still a
 

00:02:26.319 --> 00:02:29.509 align:start position:0%
of a historic flavor there are still a
few<00:02:26.560><c> contracts</c><00:02:27.000><c> on</c><00:02:27.160><c> Main</c><00:02:27.440><c> net</c><00:02:28.120><c> that</c><00:02:28.360><c> have</c><00:02:29.319><c> um</c>

00:02:29.509 --> 00:02:29.519 align:start position:0%
few contracts on Main net that have um
 

00:02:29.519 --> 00:02:31.869 align:start position:0%
few contracts on Main net that have um
zero<00:02:30.040><c> nons</c><00:02:30.440><c> zero</c><00:02:30.720><c> code</c><00:02:31.040><c> hash</c><00:02:31.280><c> but</c><00:02:31.440><c> nonzero</c>

00:02:31.869 --> 00:02:31.879 align:start position:0%
zero nons zero code hash but nonzero
 

00:02:31.879 --> 00:02:34.430 align:start position:0%
zero nons zero code hash but nonzero
storage<00:02:32.599><c> and</c><00:02:32.760><c> these</c><00:02:32.840><c> are</c><00:02:33.040><c> from</c><00:02:33.360><c> before</c><00:02:33.800><c> EIP</c>

00:02:34.430 --> 00:02:34.440 align:start position:0%
storage and these are from before EIP
 

00:02:34.440 --> 00:02:35.949 align:start position:0%
storage and these are from before EIP
161<00:02:35.040><c> that</c><00:02:35.160><c> I</c><00:02:35.280><c> just</c><00:02:35.400><c> mentioned</c><00:02:35.720><c> on</c><00:02:35.840><c> the</c>

00:02:35.949 --> 00:02:35.959 align:start position:0%
161 that I just mentioned on the
 

00:02:35.959 --> 00:02:38.070 align:start position:0%
161 that I just mentioned on the
previous<00:02:36.360><c> slides</c><00:02:37.360><c> all</c><00:02:37.440><c> right</c><00:02:37.599><c> and</c><00:02:37.720><c> what</c><00:02:37.879><c> about</c>

00:02:38.070 --> 00:02:38.080 align:start position:0%
previous slides all right and what about
 

00:02:38.080 --> 00:02:41.710 align:start position:0%
previous slides all right and what about
the<00:02:38.400><c> balance</c><00:02:39.400><c> um</c><00:02:39.920><c> can</c><00:02:40.080><c> we</c><00:02:40.280><c> create</c><00:02:40.879><c> at</c><00:02:41.480><c> an</c>

00:02:41.710 --> 00:02:41.720 align:start position:0%
the balance um can we create at an
 

00:02:41.720 --> 00:02:44.589 align:start position:0%
the balance um can we create at an
address<00:02:42.120><c> with</c><00:02:42.280><c> non-zero</c><00:02:42.760><c> balance</c><00:02:43.760><c> yes</c><00:02:44.239><c> yes</c><00:02:44.440><c> we</c>

00:02:44.589 --> 00:02:44.599 align:start position:0%
address with non-zero balance yes yes we
 

00:02:44.599 --> 00:02:48.270 align:start position:0%
address with non-zero balance yes yes we
can<00:02:45.239><c> and</c><00:02:45.400><c> then</c><00:02:45.920><c> um</c><00:02:46.920><c> that</c><00:02:47.400><c> number</c><00:02:47.680><c> of</c><00:02:47.840><c> way</c><00:02:48.120><c> is</c>

00:02:48.270 --> 00:02:48.280 align:start position:0%
can and then um that number of way is
 

00:02:48.280 --> 00:02:52.790 align:start position:0%
can and then um that number of way is
just<00:02:48.440><c> owned</c><00:02:48.800><c> by</c><00:02:48.959><c> the</c><00:02:49.519><c> address</c><00:02:50.519><c> all</c><00:02:50.720><c> right</c><00:02:51.800><c> um</c>

00:02:52.790 --> 00:02:52.800 align:start position:0%
just owned by the address all right um
 

00:02:52.800 --> 00:02:55.869 align:start position:0%
just owned by the address all right um
now<00:02:53.400><c> during</c><00:02:54.040><c> contract</c><00:02:54.720><c> construction</c><00:02:55.720><c> um</c>

00:02:55.869 --> 00:02:55.879 align:start position:0%
now during contract construction um
 

00:02:55.879 --> 00:02:57.710 align:start position:0%
now during contract construction um
there's<00:02:56.239><c> quite</c><00:02:56.440><c> a</c><00:02:56.599><c> specific</c><00:02:56.959><c> behavior</c><00:02:57.360><c> of</c><00:02:57.519><c> the</c>

00:02:57.710 --> 00:02:57.720 align:start position:0%
there's quite a specific behavior of the
 

00:02:57.720 --> 00:03:00.350 align:start position:0%
there's quite a specific behavior of the
evm<00:02:58.720><c> um</c><00:02:58.879><c> so</c><00:02:59.280><c> usually</c>

00:03:00.350 --> 00:03:00.360 align:start position:0%
evm um so usually
 

00:03:00.360 --> 00:03:03.149 align:start position:0%
evm um so usually
when<00:03:00.599><c> you</c><00:03:01.319><c> um</c><00:03:02.239><c> when</c><00:03:02.360><c> you</c><00:03:02.480><c> measure</c><00:03:02.760><c> the</c><00:03:02.879><c> code</c>

00:03:03.149 --> 00:03:03.159 align:start position:0%
when you um when you measure the code
 

00:03:03.159 --> 00:03:05.509 align:start position:0%
when you um when you measure the code
size<00:03:03.360><c> of</c><00:03:03.480><c> a</c><00:03:03.640><c> contract</c><00:03:04.280><c> from</c><00:03:04.879><c> within</c><00:03:05.200><c> a</c>

00:03:05.509 --> 00:03:05.519 align:start position:0%
size of a contract from within a
 

00:03:05.519 --> 00:03:08.070 align:start position:0%
size of a contract from within a
contract<00:03:06.519><c> and</c><00:03:06.799><c> externally</c><00:03:07.599><c> it</c><00:03:07.720><c> should</c><00:03:07.920><c> give</c>

00:03:08.070 --> 00:03:08.080 align:start position:0%
contract and externally it should give
 

00:03:08.080 --> 00:03:11.190 align:start position:0%
contract and externally it should give
you<00:03:08.280><c> the</c><00:03:08.440><c> same</c><00:03:09.200><c> size</c><00:03:09.519><c> the</c><00:03:09.640><c> same</c><00:03:09.840><c> bite</c><00:03:10.200><c> length</c>

00:03:11.190 --> 00:03:11.200 align:start position:0%
you the same size the same bite length
 

00:03:11.200 --> 00:03:13.550 align:start position:0%
you the same size the same bite length
um<00:03:11.519><c> interestingly</c><00:03:12.360><c> during</c><00:03:13.040><c> deployment</c>

00:03:13.550 --> 00:03:13.560 align:start position:0%
um interestingly during deployment
 

00:03:13.560 --> 00:03:15.229 align:start position:0%
um interestingly during deployment
during<00:03:13.799><c> contract</c><00:03:14.200><c> construction</c><00:03:14.920><c> this</c><00:03:15.040><c> does</c>

00:03:15.229 --> 00:03:15.239 align:start position:0%
during contract construction this does
 

00:03:15.239 --> 00:03:18.789 align:start position:0%
during contract construction this does
not<00:03:15.400><c> hold</c><00:03:16.400><c> so</c><00:03:16.879><c> measuring</c><00:03:17.879><c> um</c><00:03:18.040><c> the</c><00:03:18.159><c> code</c><00:03:18.480><c> size</c>

00:03:18.789 --> 00:03:18.799 align:start position:0%
not hold so measuring um the code size
 

00:03:18.799 --> 00:03:22.070 align:start position:0%
not hold so measuring um the code size
from<00:03:19.040><c> within</c><00:03:19.959><c> and</c><00:03:20.400><c> uh</c><00:03:20.480><c> from</c><00:03:20.840><c> externally</c><00:03:21.840><c> will</c>

00:03:22.070 --> 00:03:22.080 align:start position:0%
from within and uh from externally will
 

00:03:22.080 --> 00:03:26.030 align:start position:0%
from within and uh from externally will
give<00:03:22.239><c> you</c><00:03:23.159><c> different</c><00:03:24.159><c> um</c><00:03:24.560><c> values</c><00:03:24.920><c> and</c><00:03:25.120><c> this</c><00:03:25.239><c> is</c>

00:03:26.030 --> 00:03:26.040 align:start position:0%
give you different um values and this is
 

00:03:26.040 --> 00:03:28.149 align:start position:0%
give you different um values and this is
uh<00:03:26.159><c> an</c><00:03:26.319><c> important</c><00:03:26.680><c> detail</c><00:03:27.200><c> to</c>

00:03:28.149 --> 00:03:28.159 align:start position:0%
uh an important detail to
 

00:03:28.159 --> 00:03:30.630 align:start position:0%
uh an important detail to
know<00:03:29.159><c> um</c>

00:03:30.630 --> 00:03:30.640 align:start position:0%
know um
 

00:03:30.640 --> 00:03:32.710 align:start position:0%
know um
and<00:03:30.840><c> one</c><00:03:31.040><c> important</c><00:03:31.799><c> aspect</c><00:03:32.159><c> I</c><00:03:32.239><c> would</c><00:03:32.400><c> also</c>

00:03:32.710 --> 00:03:32.720 align:start position:0%
and one important aspect I would also
 

00:03:32.720 --> 00:03:36.710 align:start position:0%
and one important aspect I would also
want<00:03:32.840><c> to</c><00:03:33.000><c> shed</c><00:03:33.480><c> light</c><00:03:33.720><c> on</c><00:03:34.159><c> is</c><00:03:35.080><c> the</c><00:03:36.080><c> the</c><00:03:36.239><c> values</c>

00:03:36.710 --> 00:03:36.720 align:start position:0%
want to shed light on is the the values
 

00:03:36.720 --> 00:03:38.509 align:start position:0%
want to shed light on is the the values
xcode<00:03:37.280><c> hash</c><00:03:37.480><c> can</c><00:03:37.599><c> take</c><00:03:38.080><c> and</c><00:03:38.239><c> this</c><00:03:38.319><c> is</c>

00:03:38.509 --> 00:03:38.519 align:start position:0%
xcode hash can take and this is
 

00:03:38.519 --> 00:03:41.110 align:start position:0%
xcode hash can take and this is
specifically<00:03:39.239><c> important</c><00:03:40.200><c> if</c><00:03:40.280><c> you</c><00:03:40.439><c> do</c><00:03:40.640><c> eoa</c>

00:03:41.110 --> 00:03:41.120 align:start position:0%
specifically important if you do eoa
 

00:03:41.120 --> 00:03:44.589 align:start position:0%
specifically important if you do eoa
checks<00:03:41.439><c> using</c><00:03:41.760><c> xcode</c><00:03:42.239><c> hash</c><00:03:42.720><c> you</c><00:03:42.879><c> must</c><00:03:43.200><c> know</c><00:03:44.159><c> um</c>

00:03:44.589 --> 00:03:44.599 align:start position:0%
checks using xcode hash you must know um
 

00:03:44.599 --> 00:03:46.070 align:start position:0%
checks using xcode hash you must know um
what<00:03:44.760><c> states</c><00:03:45.080><c> you</c><00:03:45.200><c> can</c><00:03:45.319><c> be</c><00:03:45.480><c> in</c><00:03:45.640><c> and</c><00:03:45.840><c> what</c>

00:03:46.070 --> 00:03:46.080 align:start position:0%
what states you can be in and what
 

00:03:46.080 --> 00:03:48.190 align:start position:0%
what states you can be in and what
values<00:03:46.439><c> xcode</c><00:03:46.879><c> hash</c><00:03:47.080><c> can</c><00:03:47.239><c> take</c><00:03:47.760><c> so</c><00:03:47.920><c> for</c><00:03:48.080><c> an</c>

00:03:48.190 --> 00:03:48.200 align:start position:0%
values xcode hash can take so for an
 

00:03:48.200 --> 00:03:52.030 align:start position:0%
values xcode hash can take so for an
empty<00:03:48.760><c> account</c><00:03:49.760><c> uh</c><00:03:49.879><c> so</c><00:03:50.159><c> to</c><00:03:50.360><c> recap</c><00:03:51.000><c> xcode</c><00:03:51.519><c> hash</c>

00:03:52.030 --> 00:03:52.040 align:start position:0%
empty account uh so to recap xcode hash
 

00:03:52.040 --> 00:03:55.229 align:start position:0%
empty account uh so to recap xcode hash
returns<00:03:53.040><c> um</c><00:03:53.280><c> the</c><00:03:53.400><c> code</c><00:03:53.760><c> hash</c><00:03:54.439><c> of</c><00:03:54.799><c> the</c><00:03:54.920><c> address</c>

00:03:55.229 --> 00:03:55.239 align:start position:0%
returns um the code hash of the address
 

00:03:55.239 --> 00:03:57.030 align:start position:0%
returns um the code hash of the address
you<00:03:55.439><c> query</c><00:03:55.959><c> so</c><00:03:56.079><c> for</c><00:03:56.200><c> an</c><00:03:56.319><c> empty</c><00:03:56.640><c> account</c><00:03:56.959><c> that</c>

00:03:57.030 --> 00:03:57.040 align:start position:0%
you query so for an empty account that
 

00:03:57.040 --> 00:03:59.830 align:start position:0%
you query so for an empty account that
will<00:03:57.239><c> be</c><00:03:58.000><c> um</c><00:03:58.319><c> the</c><00:03:58.480><c> value</c><00:03:58.720><c> on</c><00:03:58.840><c> the</c><00:03:59.000><c> top</c><00:03:59.200><c> right</c>

00:03:59.830 --> 00:03:59.840 align:start position:0%
will be um the value on the top right
 

00:03:59.840 --> 00:04:04.030 align:start position:0%
will be um the value on the top right
the<00:04:00.280><c> Zero</c><00:04:00.840><c> by</c><00:04:01.079><c> string</c><00:04:01.959><c> now</c><00:04:02.640><c> if</c><00:04:02.760><c> we</c><00:04:03.040><c> deploy</c>

00:04:04.030 --> 00:04:04.040 align:start position:0%
the Zero by string now if we deploy
 

00:04:04.040 --> 00:04:07.229 align:start position:0%
the Zero by string now if we deploy
successfully<00:04:04.920><c> to</c><00:04:05.120><c> an</c><00:04:05.280><c> empty</c><00:04:06.120><c> address</c><00:04:07.120><c> this</c>

00:04:07.229 --> 00:04:07.239 align:start position:0%
successfully to an empty address this
 

00:04:07.239 --> 00:04:09.509 align:start position:0%
successfully to an empty address this
will<00:04:07.439><c> just</c><00:04:07.560><c> take</c><00:04:07.879><c> any</c><00:04:08.120><c> value</c><00:04:08.480><c> the</c><00:04:08.599><c> hash</c><00:04:08.879><c> of</c><00:04:09.200><c> of</c>

00:04:09.509 --> 00:04:09.519 align:start position:0%
will just take any value the hash of of
 

00:04:09.519 --> 00:04:12.869 align:start position:0%
will just take any value the hash of of
of<00:04:09.640><c> the</c><00:04:09.760><c> code</c><00:04:10.239><c> deployed</c><00:04:11.239><c> um</c><00:04:11.799><c> all</c><00:04:11.959><c> right</c><00:04:12.599><c> now</c>

00:04:12.869 --> 00:04:12.879 align:start position:0%
of the code deployed um all right now
 

00:04:12.879 --> 00:04:14.710 align:start position:0%
of the code deployed um all right now
how<00:04:13.040><c> can</c><00:04:13.200><c> we</c><00:04:13.400><c> get</c><00:04:13.599><c> from</c><00:04:13.840><c> the</c><00:04:14.000><c> zero</c><00:04:14.360><c> address</c>

00:04:14.710 --> 00:04:14.720 align:start position:0%
how can we get from the zero address
 

00:04:14.720 --> 00:04:16.270 align:start position:0%
how can we get from the zero address
from<00:04:14.879><c> an</c><00:04:15.000><c> empty</c><00:04:15.360><c> account</c><00:04:15.560><c> to</c><00:04:15.760><c> the</c><00:04:15.879><c> hash</c><00:04:16.079><c> of</c><00:04:16.160><c> the</c>

00:04:16.270 --> 00:04:16.280 align:start position:0%
from an empty account to the hash of the
 

00:04:16.280 --> 00:04:18.629 align:start position:0%
from an empty account to the hash of the
empty<00:04:16.560><c> string</c><00:04:17.320><c> this</c><00:04:17.440><c> is</c><00:04:17.600><c> if</c><00:04:17.720><c> you</c><00:04:17.880><c> just</c><00:04:18.040><c> send</c><00:04:18.359><c> if</c>

00:04:18.629 --> 00:04:18.639 align:start position:0%
empty string this is if you just send if
 

00:04:18.639 --> 00:04:21.350 align:start position:0%
empty string this is if you just send if
to<00:04:18.759><c> a</c><00:04:18.880><c> random</c><00:04:19.199><c> address</c><00:04:19.959><c> where</c><00:04:20.160><c> no</c><00:04:20.680><c> contract</c>

00:04:21.350 --> 00:04:21.360 align:start position:0%
to a random address where no contract
 

00:04:21.360 --> 00:04:25.230 align:start position:0%
to a random address where no contract
lives<00:04:22.360><c> um</c><00:04:22.680><c> excode</c><00:04:23.160><c> hash</c><00:04:23.400><c> will</c><00:04:23.680><c> return</c><00:04:24.680><c> um</c><00:04:25.080><c> the</c>

00:04:25.230 --> 00:04:25.240 align:start position:0%
lives um excode hash will return um the
 

00:04:25.240 --> 00:04:27.150 align:start position:0%
lives um excode hash will return um the
hash<00:04:25.440><c> of</c><00:04:25.520><c> the</c><00:04:25.639><c> empty</c><00:04:25.919><c> string</c><00:04:26.479><c> and</c><00:04:26.600><c> also</c><00:04:26.840><c> during</c>

00:04:27.150 --> 00:04:27.160 align:start position:0%
hash of the empty string and also during
 

00:04:27.160 --> 00:04:28.710 align:start position:0%
hash of the empty string and also during
contract<00:04:27.479><c> construction</c><00:04:28.120><c> this</c><00:04:28.240><c> will</c><00:04:28.400><c> be</c>

00:04:28.710 --> 00:04:28.720 align:start position:0%
contract construction this will be
 

00:04:28.720 --> 00:04:31.990 align:start position:0%
contract construction this will be
returned<00:04:30.000><c> then</c><00:04:30.280><c> from</c><00:04:30.600><c> the</c><00:04:31.120><c> from</c><00:04:31.360><c> this</c><00:04:31.560><c> value</c>

00:04:31.990 --> 00:04:32.000 align:start position:0%
returned then from the from this value
 

00:04:32.000 --> 00:04:34.029 align:start position:0%
returned then from the from this value
you<00:04:32.080><c> can</c><00:04:32.280><c> of</c><00:04:32.440><c> course</c><00:04:32.759><c> then</c><00:04:33.000><c> create</c><00:04:33.639><c> on</c><00:04:33.880><c> this</c>

00:04:34.029 --> 00:04:34.039 align:start position:0%
you can of course then create on this
 

00:04:34.039 --> 00:04:36.230 align:start position:0%
you can of course then create on this
contract<00:04:34.400><c> because</c><00:04:34.600><c> the</c><00:04:34.720><c> non</c><00:04:35.039><c> is</c><00:04:35.199><c> still</c><00:04:36.080><c> at</c>

00:04:36.230 --> 00:04:36.240 align:start position:0%
contract because the non is still at
 

00:04:36.240 --> 00:04:38.350 align:start position:0%
contract because the non is still at
this<00:04:36.440><c> account</c><00:04:37.039><c> uh</c><00:04:37.240><c> at</c><00:04:37.360><c> this</c><00:04:37.479><c> address</c><00:04:37.840><c> sorry</c>

00:04:38.350 --> 00:04:38.360 align:start position:0%
this account uh at this address sorry
 

00:04:38.360 --> 00:04:40.070 align:start position:0%
this account uh at this address sorry
because<00:04:38.680><c> the</c><00:04:38.800><c> non</c><00:04:39.080><c> is</c><00:04:39.199><c> still</c><00:04:39.360><c> set</c><00:04:39.560><c> to</c><00:04:39.720><c> zero</c><00:04:39.960><c> so</c>

00:04:40.070 --> 00:04:40.080 align:start position:0%
because the non is still set to zero so
 

00:04:40.080 --> 00:04:43.550 align:start position:0%
because the non is still set to zero so
you<00:04:40.160><c> can</c><00:04:40.320><c> create</c><00:04:40.639><c> on</c><00:04:40.919><c> that</c><00:04:41.720><c> now</c><00:04:42.680><c> um</c><00:04:43.240><c> I</c><00:04:43.320><c> want</c><00:04:43.440><c> to</c>

00:04:43.550 --> 00:04:43.560 align:start position:0%
you can create on that now um I want to
 

00:04:43.560 --> 00:04:46.029 align:start position:0%
you can create on that now um I want to
finish<00:04:43.840><c> off</c><00:04:44.039><c> by</c><00:04:44.199><c> asking</c><00:04:44.479><c> if</c><00:04:44.759><c> this</c><00:04:45.680><c> is</c><00:04:45.840><c> the</c>

00:04:46.029 --> 00:04:46.039 align:start position:0%
finish off by asking if this is the
 

00:04:46.039 --> 00:04:48.310 align:start position:0%
finish off by asking if this is the
complete<00:04:46.479><c> picture</c><00:04:47.080><c> and</c><00:04:47.199><c> in</c><00:04:47.400><c> interest</c><00:04:47.720><c> of</c><00:04:47.960><c> time</c>

00:04:48.310 --> 00:04:48.320 align:start position:0%
complete picture and in interest of time
 

00:04:48.320 --> 00:04:53.990 align:start position:0%
complete picture and in interest of time
I'm<00:04:49.240><c> taking</c><00:04:49.600><c> this</c><00:04:49.800><c> away</c><00:04:50.039><c> for</c><00:04:50.280><c> you</c><00:04:51.720><c> um</c><00:04:52.720><c> well</c><00:04:53.080><c> no</c>

00:04:53.990 --> 00:04:54.000 align:start position:0%
I'm taking this away for you um well no
 

00:04:54.000 --> 00:04:56.629 align:start position:0%
I'm taking this away for you um well no
you<00:04:54.160><c> can</c><00:04:54.520><c> still</c><00:04:55.080><c> still</c><00:04:55.360><c> after</c><00:04:55.720><c> Cancun</c><00:04:56.440><c> this</c>

00:04:56.629 --> 00:04:56.639 align:start position:0%
you can still still after Cancun this
 

00:04:56.639 --> 00:04:59.749 align:start position:0%
you can still still after Cancun this
still<00:04:56.919><c> holds</c><00:04:57.360><c> so</c><00:04:57.800><c> you</c><00:04:57.960><c> must</c><00:04:58.199><c> not</c><00:04:58.479><c> rely</c><00:04:59.440><c> when</c>

00:04:59.749 --> 00:04:59.759 align:start position:0%
still holds so you must not rely when
 

00:04:59.759 --> 00:05:03.430 align:start position:0%
still holds so you must not rely when
you<00:04:59.840><c> do</c><00:04:59.960><c> an</c><00:05:00.039><c> EA</c><00:05:00.440><c> check</c><00:05:01.280><c> that</c><00:05:02.000><c> um</c><00:05:02.560><c> once</c><00:05:02.919><c> you</c><00:05:03.120><c> get</c>

00:05:03.430 --> 00:05:03.440 align:start position:0%
you do an EA check that um once you get
 

00:05:03.440 --> 00:05:06.350 align:start position:0%
you do an EA check that um once you get
the<00:05:03.600><c> result</c><00:05:04.160><c> of</c><00:05:04.520><c> a</c><00:05:04.720><c> random</c><00:05:05.680><c> a</c><00:05:05.840><c> random</c><00:05:06.120><c> bite</c>

00:05:06.350 --> 00:05:06.360 align:start position:0%
the result of a random a random bite
 

00:05:06.360 --> 00:05:08.189 align:start position:0%
the result of a random a random bite
string<00:05:06.639><c> that</c><00:05:06.800><c> this</c><00:05:06.919><c> will</c><00:05:07.080><c> hold</c><00:05:07.960><c> because</c>

00:05:08.189 --> 00:05:08.199 align:start position:0%
string that this will hold because
 

00:05:08.199 --> 00:05:09.550 align:start position:0%
string that this will hold because
within<00:05:08.520><c> the</c><00:05:08.639><c> same</c>

00:05:09.550 --> 00:05:09.560 align:start position:0%
within the same
 

00:05:09.560 --> 00:05:12.430 align:start position:0%
within the same
transaction<00:05:10.560><c> contract</c><00:05:11.080><c> State</c><00:05:11.320><c> can</c><00:05:11.479><c> still</c><00:05:11.639><c> be</c>

00:05:12.430 --> 00:05:12.440 align:start position:0%
transaction contract State can still be
 

00:05:12.440 --> 00:05:15.310 align:start position:0%
transaction contract State can still be
deleted<00:05:13.440><c> um</c><00:05:14.000><c> yeah</c><00:05:14.120><c> so</c><00:05:14.280><c> don't</c><00:05:14.520><c> let</c><00:05:14.759><c> yourself</c><00:05:15.160><c> be</c>

00:05:15.310 --> 00:05:15.320 align:start position:0%
deleted um yeah so don't let yourself be
 

00:05:15.320 --> 00:05:17.749 align:start position:0%
deleted um yeah so don't let yourself be
deceived<00:05:16.039><c> by</c><00:05:16.240><c> the</c><00:05:16.520><c> return</c><00:05:16.720><c> value</c><00:05:16.960><c> of</c><00:05:17.080><c> xcode</c>

00:05:17.749 --> 00:05:17.759 align:start position:0%
deceived by the return value of xcode
 

00:05:17.759 --> 00:05:21.110 align:start position:0%
deceived by the return value of xcode
hash<00:05:18.759><c> um</c><00:05:19.039><c> so</c><00:05:19.199><c> in</c><00:05:19.360><c> summary</c><00:05:19.960><c> we've</c><00:05:20.160><c> seen</c><00:05:20.919><c> that</c>

00:05:21.110 --> 00:05:21.120 align:start position:0%
hash um so in summary we've seen that
 

00:05:21.120 --> 00:05:22.830 align:start position:0%
hash um so in summary we've seen that
for<00:05:21.360><c> account</c><00:05:21.680><c> existence</c><00:05:22.120><c> the</c><00:05:22.280><c> non</c><00:05:22.560><c> is</c>

00:05:22.830 --> 00:05:22.840 align:start position:0%
for account existence the non is
 

00:05:22.840 --> 00:05:24.790 align:start position:0%
for account existence the non is
incremented<00:05:23.840><c> and</c><00:05:24.000><c> this</c><00:05:24.080><c> is</c><00:05:24.199><c> done</c><00:05:24.479><c> before</c>

00:05:24.790 --> 00:05:24.800 align:start position:0%
incremented and this is done before
 

00:05:24.800 --> 00:05:27.150 align:start position:0%
incremented and this is done before
Constructor<00:05:25.319><c> execution</c><00:05:26.319><c> we</c><00:05:26.440><c> learned</c><00:05:26.919><c> that</c>

00:05:27.150 --> 00:05:27.160 align:start position:0%
Constructor execution we learned that
 

00:05:27.160 --> 00:05:28.909 align:start position:0%
Constructor execution we learned that
you<00:05:27.280><c> cannot</c><00:05:27.600><c> create</c><00:05:27.840><c> on</c><00:05:28.080><c> existing</c><00:05:28.479><c> accounts</c>

00:05:28.909 --> 00:05:28.919 align:start position:0%
you cannot create on existing accounts
 

00:05:28.919 --> 00:05:30.469 align:start position:0%
you cannot create on existing accounts
or<00:05:29.080><c> an</c><00:05:29.240><c> EAS</c>

00:05:30.469 --> 00:05:30.479 align:start position:0%
or an EAS
 

00:05:30.479 --> 00:05:31.909 align:start position:0%
or an EAS
and<00:05:30.680><c> there</c><00:05:30.840><c> exists</c><00:05:31.160><c> still</c><00:05:31.319><c> some</c><00:05:31.520><c> Legacy</c>

00:05:31.909 --> 00:05:31.919 align:start position:0%
and there exists still some Legacy
 

00:05:31.919 --> 00:05:34.350 align:start position:0%
and there exists still some Legacy
contracts<00:05:32.400><c> with</c><00:05:32.520><c> nonzero</c><00:05:33.120><c> storage</c><00:05:33.840><c> but</c><00:05:34.039><c> zero</c>

00:05:34.350 --> 00:05:34.360 align:start position:0%
contracts with nonzero storage but zero
 

00:05:34.360 --> 00:05:37.870 align:start position:0%
contracts with nonzero storage but zero
nons<00:05:34.960><c> and</c><00:05:35.080><c> zero</c><00:05:35.600><c> code</c><00:05:36.600><c> and</c><00:05:36.880><c> for</c><00:05:37.039><c> the</c><00:05:37.199><c> xcode</c><00:05:37.680><c> has</c>

00:05:37.870 --> 00:05:37.880 align:start position:0%
nons and zero code and for the xcode has
 

00:05:37.880 --> 00:05:39.550 align:start position:0%
nons and zero code and for the xcode has
transitions<00:05:38.400><c> I</c><00:05:38.560><c> really</c><00:05:38.800><c> encourage</c><00:05:39.199><c> you</c><00:05:39.360><c> to</c>

00:05:39.550 --> 00:05:39.560 align:start position:0%
transitions I really encourage you to
 

00:05:39.560 --> 00:05:42.670 align:start position:0%
transitions I really encourage you to
try<00:05:39.759><c> it</c><00:05:39.840><c> out</c><00:05:40.039><c> yourself</c><00:05:40.639><c> we</c><00:05:40.800><c> set</c><00:05:40.960><c> up</c><00:05:41.160><c> this</c><00:05:41.360><c> remix</c>

00:05:42.670 --> 00:05:42.680 align:start position:0%
try it out yourself we set up this remix
 

00:05:42.680 --> 00:05:46.270 align:start position:0%
try it out yourself we set up this remix
workspace<00:05:43.680><c> and</c><00:05:44.639><c> uh</c><00:05:44.759><c> where</c><00:05:44.880><c> you</c><00:05:45.000><c> can</c><00:05:45.280><c> measure</c>

00:05:46.270 --> 00:05:46.280 align:start position:0%
workspace and uh where you can measure
 

00:05:46.280 --> 00:05:49.550 align:start position:0%
workspace and uh where you can measure
um<00:05:46.520><c> the</c><00:05:46.639><c> output</c><00:05:47.000><c> of</c><00:05:47.120><c> the</c><00:05:47.199><c> op</c><00:05:47.479><c> codes</c><00:05:48.240><c> and</c><00:05:49.240><c> um</c>

00:05:49.550 --> 00:05:49.560 align:start position:0%
um the output of the op codes and um
 

00:05:49.560 --> 00:05:51.430 align:start position:0%
um the output of the op codes and um
yeah<00:05:49.759><c> play</c><00:05:49.960><c> around</c><00:05:50.240><c> with</c><00:05:50.400><c> that</c><00:05:50.560><c> to</c><00:05:50.720><c> really</c>

00:05:51.430 --> 00:05:51.440 align:start position:0%
yeah play around with that to really
 

00:05:51.440 --> 00:05:54.950 align:start position:0%
yeah play around with that to really
understand<00:05:52.440><c> um</c><00:05:53.039><c> the</c><00:05:53.680><c> transitions</c><00:05:54.680><c> thank</c><00:05:54.840><c> you</c>

00:05:54.950 --> 00:05:54.960 align:start position:0%
understand um the transitions thank you
 

00:05:54.960 --> 00:05:56.230 align:start position:0%
understand um the transitions thank you
very<00:05:55.120><c> much</c><00:05:55.240><c> for</c><00:05:55.360><c> your</c><00:05:55.520><c> attention</c><00:05:55.919><c> and</c><00:05:56.080><c> if</c><00:05:56.160><c> you</c>

00:05:56.230 --> 00:05:56.240 align:start position:0%
very much for your attention and if you
 

00:05:56.240 --> 00:05:58.070 align:start position:0%
very much for your attention and if you
want<00:05:56.319><c> to</c><00:05:56.440><c> reach</c><00:05:56.639><c> out</c><00:05:56.800><c> to</c><00:05:56.960><c> us</c><00:05:57.240><c> I'm</c><00:05:57.479><c> happy</c><00:05:57.880><c> to</c>

00:05:58.070 --> 00:05:58.080 align:start position:0%
want to reach out to us I'm happy to
 

00:05:58.080 --> 00:06:00.189 align:start position:0%
want to reach out to us I'm happy to
chat<00:05:58.360><c> after</c><00:05:58.639><c> this</c><00:05:58.840><c> talk</c><00:05:59.479><c> uh</c><00:05:59.680><c> and</c><00:05:59.800><c> you</c><00:05:59.880><c> can</c><00:06:00.000><c> also</c>

00:06:00.189 --> 00:06:00.199 align:start position:0%
chat after this talk uh and you can also
 

00:06:00.199 --> 00:06:02.990 align:start position:0%
chat after this talk uh and you can also
do<00:06:00.319><c> so</c><00:06:00.520><c> via</c><00:06:00.759><c> the</c><00:06:00.880><c> platforms</c><00:06:01.720><c> thank</c><00:06:01.919><c> you</c><00:06:02.840><c> thank</c>

00:06:02.990 --> 00:06:03.000 align:start position:0%
do so via the platforms thank you thank
 

00:06:03.000 --> 00:06:04.029 align:start position:0%
do so via the platforms thank you thank
you

00:06:04.029 --> 00:06:04.039 align:start position:0%
you
 

00:06:04.039 --> 00:06:07.150 align:start position:0%
you
Teresa<00:06:05.039><c> question</c><00:06:05.600><c> time</c><00:06:06.319><c> the</c><00:06:06.440><c> one</c><00:06:06.599><c> I</c><00:06:06.720><c> love</c><00:06:07.000><c> the</c>

00:06:07.150 --> 00:06:07.160 align:start position:0%
Teresa question time the one I love the
 

00:06:07.160 --> 00:06:10.510 align:start position:0%
Teresa question time the one I love the
most<00:06:07.680><c> who</c><00:06:07.800><c> is</c><00:06:07.919><c> going</c><00:06:08.440><c> first</c><00:06:09.440><c> question</c><00:06:09.720><c> for</c><00:06:10.039><c> oh</c>

00:06:10.510 --> 00:06:10.520 align:start position:0%
most who is going first question for oh
 

00:06:10.520 --> 00:06:15.189 align:start position:0%
most who is going first question for oh
okay<00:06:11.520><c> ah</c><00:06:11.680><c> I'll</c>

00:06:15.189 --> 00:06:15.199 align:start position:0%
 
 

00:06:15.199 --> 00:06:17.150 align:start position:0%
 
try

00:06:17.150 --> 00:06:17.160 align:start position:0%
try
 

00:06:17.160 --> 00:06:22.430 align:start position:0%
try
thank<00:06:18.160><c> yeah</c><00:06:18.720><c> so</c><00:06:19.599><c> how</c><00:06:19.840><c> would</c><00:06:20.199><c> this</c><00:06:20.800><c> uh</c><00:06:21.400><c> EA</c><00:06:21.919><c> check</c>

00:06:22.430 --> 00:06:22.440 align:start position:0%
thank yeah so how would this uh EA check
 

00:06:22.440 --> 00:06:24.990 align:start position:0%
thank yeah so how would this uh EA check
transform<00:06:23.120><c> after</c><00:06:23.400><c> the</c><00:06:23.880><c> EIP</c>

00:06:24.990 --> 00:06:25.000 align:start position:0%
transform after the EIP
 

00:06:25.000 --> 00:06:28.309 align:start position:0%
transform after the EIP
7702<00:06:26.000><c> where</c><00:06:26.240><c> they</c><00:06:26.599><c> implement</c><00:06:27.080><c> the</c><00:06:27.280><c> aop</c><00:06:27.880><c> code</c>

00:06:28.309 --> 00:06:28.319 align:start position:0%
7702 where they implement the aop code
 

00:06:28.319 --> 00:06:33.029 align:start position:0%
7702 where they implement the aop code
and<00:06:28.560><c> then</c><00:06:28.960><c> EOS</c><00:06:29.599><c> can</c><00:06:29.800><c> also</c><00:06:30.199><c> have</c><00:06:30.479><c> EXT</c><00:06:30.960><c> code</c>

00:06:33.029 --> 00:06:33.039 align:start position:0%
and then EOS can also have EXT code
 

00:06:33.039 --> 00:06:37.070 align:start position:0%
and then EOS can also have EXT code
P<00:06:34.360><c> um</c><00:06:35.360><c> I'm</c><00:06:35.599><c> not</c><00:06:35.759><c> sure</c><00:06:36.000><c> could</c><00:06:36.160><c> you</c><00:06:36.319><c> specify</c>

00:06:37.070 --> 00:06:37.080 align:start position:0%
P um I'm not sure could you specify
 

00:06:37.080 --> 00:06:41.990 align:start position:0%
P um I'm not sure could you specify
which<00:06:37.400><c> EIP</c><00:06:38.400><c> uh</c><00:06:38.800><c> the</c><00:06:39.520><c> 7702</c><00:06:40.520><c> the</c><00:06:40.680><c> aop</c><00:06:41.199><c> code</c>

00:06:41.990 --> 00:06:42.000 align:start position:0%
which EIP uh the 7702 the aop code
 

00:06:42.000 --> 00:06:47.150 align:start position:0%
which EIP uh the 7702 the aop code
EIP<00:06:43.000><c> um</c><00:06:43.599><c> where</c><00:06:43.800><c> we</c><00:06:43.919><c> can</c><00:06:44.160><c> delegate</c><00:06:45.160><c> uh</c><00:06:45.280><c> EU</c><00:06:45.919><c> to</c>

00:06:47.150 --> 00:06:47.160 align:start position:0%
EIP um where we can delegate uh EU to
 

00:06:47.160 --> 00:06:52.230 align:start position:0%
EIP um where we can delegate uh EU to
contract<00:06:48.160><c> I</c><00:06:48.400><c> see</c><00:06:49.720><c> um</c><00:06:50.720><c> I'm</c><00:06:51.160><c> not</c><00:06:51.400><c> entirely</c><00:06:51.919><c> sure</c>

00:06:52.230 --> 00:06:52.240 align:start position:0%
contract I see um I'm not entirely sure
 

00:06:52.240 --> 00:06:54.469 align:start position:0%
contract I see um I'm not entirely sure
about<00:06:52.560><c> that</c><00:06:52.800><c> but</c><00:06:52.919><c> what</c><00:06:53.039><c> is</c><00:06:53.199><c> important</c><00:06:53.720><c> for</c><00:06:54.280><c> for</c>

00:06:54.469 --> 00:06:54.479 align:start position:0%
about that but what is important for for
 

00:06:54.479 --> 00:06:57.749 align:start position:0%
about that but what is important for for
now<00:06:54.759><c> during</c><00:06:55.479><c> um</c><00:06:55.919><c> after</c><00:06:56.280><c> the</c><00:06:56.440><c> Cancun</c><00:06:56.879><c> upgrade</c>

00:06:57.749 --> 00:06:57.759 align:start position:0%
now during um after the Cancun upgrade
 

00:06:57.759 --> 00:07:00.510 align:start position:0%
now during um after the Cancun upgrade
is<00:06:57.919><c> that</c><00:06:58.199><c> within</c><00:06:58.520><c> the</c><00:06:58.639><c> same</c><00:06:58.879><c> transaction</c>

00:07:00.510 --> 00:07:00.520 align:start position:0%
is that within the same transaction
 

00:07:00.520 --> 00:07:02.309 align:start position:0%
is that within the same transaction
um<00:07:00.879><c> well</c><00:07:01.000><c> you</c><00:07:01.120><c> can</c><00:07:01.280><c> have</c><00:07:01.400><c> a</c><00:07:01.599><c> creation</c><00:07:02.039><c> and</c><00:07:02.240><c> you</c>

00:07:02.309 --> 00:07:02.319 align:start position:0%
um well you can have a creation and you
 

00:07:02.319 --> 00:07:05.110 align:start position:0%
um well you can have a creation and you
can<00:07:02.520><c> have</c><00:07:03.000><c> any</c><00:07:03.599><c> function</c><00:07:04.039><c> execution</c><00:07:04.840><c> and</c><00:07:04.960><c> then</c>

00:07:05.110 --> 00:07:05.120 align:start position:0%
can have any function execution and then
 

00:07:05.120 --> 00:07:06.029 align:start position:0%
can have any function execution and then
still<00:07:05.400><c> the</c>

00:07:06.029 --> 00:07:06.039 align:start position:0%
still the
 

00:07:06.039 --> 00:07:10.350 align:start position:0%
still the
self-destruct<00:07:07.039><c> and</c><00:07:07.280><c> that</c><00:07:07.400><c> is</c><00:07:08.000><c> um</c><00:07:08.680><c> I</c><00:07:09.240><c> think</c><00:07:10.240><c> uh</c>

00:07:10.350 --> 00:07:10.360 align:start position:0%
self-destruct and that is um I think uh
 

00:07:10.360 --> 00:07:13.029 align:start position:0%
self-destruct and that is um I think uh
for<00:07:10.639><c> right</c><00:07:10.840><c> now</c><00:07:11.720><c> what</c><00:07:11.840><c> is</c><00:07:12.000><c> often</c><00:07:12.240><c> left</c><00:07:12.639><c> out</c><00:07:12.800><c> of</c>

00:07:13.029 --> 00:07:13.039 align:start position:0%
for right now what is often left out of
 

00:07:13.039 --> 00:07:16.270 align:start position:0%
for right now what is often left out of
sight<00:07:13.400><c> is</c><00:07:13.599><c> that</c><00:07:14.360><c> um</c><00:07:14.919><c> yeah</c><00:07:15.360><c> it's</c><00:07:15.840><c> still</c><00:07:16.160><c> the</c>

00:07:16.270 --> 00:07:16.280 align:start position:0%
sight is that um yeah it's still the
 

00:07:16.280 --> 00:07:19.909 align:start position:0%
sight is that um yeah it's still the
same<00:07:16.479><c> transaction</c><00:07:17.240><c> and</c><00:07:17.440><c> SAR</c><00:07:18.000><c> can</c><00:07:18.160><c> still</c>

00:07:19.909 --> 00:07:19.919 align:start position:0%
same transaction and SAR can still
 

00:07:19.919 --> 00:07:30.510 align:start position:0%
same transaction and SAR can still
occur<00:07:20.919><c> last</c><00:07:21.199><c> question</c>

00:07:30.510 --> 00:07:30.520 align:start position:0%
 
 

00:07:30.520 --> 00:07:33.230 align:start position:0%
 
one<00:07:30.720><c> more</c><00:07:30.960><c> question</c><00:07:31.440><c> no</c><00:07:31.599><c> more</c>

00:07:33.230 --> 00:07:33.240 align:start position:0%
one more question no more
 

00:07:33.240 --> 00:07:37.919 align:start position:0%
one more question no more
question<00:07:34.240><c> oh</c><00:07:34.599><c> okay</c><00:07:35.080><c> Teresa</c><00:07:35.639><c> thank</c><00:07:35.759><c> you</c>

