WEBVTT
Kind: captions
Language: en

00:00:01.070 --> 00:00:12.130 align:start position:0%
 
[Applause]

00:00:12.130 --> 00:00:12.140 align:start position:0%
 
 

00:00:12.140 --> 00:00:14.510 align:start position:0%
 
you<00:00:13.140><c> may</c><00:00:13.290><c> as</c><00:00:13.350><c> well</c><00:00:13.440><c> just</c><00:00:13.710><c> dive</c><00:00:14.130><c> in</c><00:00:14.340><c> because</c>

00:00:14.510 --> 00:00:14.520 align:start position:0%
you may as well just dive in because
 

00:00:14.520 --> 00:00:17.210 align:start position:0%
you may as well just dive in because
there's<00:00:14.760><c> a</c><00:00:14.790><c> lot</c><00:00:14.940><c> to</c><00:00:15.150><c> to</c><00:00:15.600><c> get</c><00:00:15.809><c> through</c><00:00:16.049><c> here</c><00:00:16.440><c> so</c>

00:00:17.210 --> 00:00:17.220 align:start position:0%
there's a lot to to get through here so
 

00:00:17.220 --> 00:00:20.540 align:start position:0%
there's a lot to to get through here so
today<00:00:17.670><c> we're</c><00:00:18.390><c> gonna</c><00:00:18.480><c> be</c><00:00:18.600><c> talking</c><00:00:18.840><c> about</c><00:00:19.550><c> the</c>

00:00:20.540 --> 00:00:20.550 align:start position:0%
today we're gonna be talking about the
 

00:00:20.550 --> 00:00:23.630 align:start position:0%
today we're gonna be talking about the
dark<00:00:20.850><c> parts</c><00:00:21.300><c> of</c><00:00:22.170><c> contract</c><00:00:22.770><c> run</c><00:00:23.010><c> time</c><00:00:23.250><c> new</c>

00:00:23.630 --> 00:00:23.640 align:start position:0%
dark parts of contract run time new
 

00:00:23.640 --> 00:00:27.530 align:start position:0%
dark parts of contract run time new
ability<00:00:24.800><c> more</c><00:00:25.800><c> specifically</c><00:00:26.540><c> defending</c>

00:00:27.530 --> 00:00:27.540 align:start position:0%
ability more specifically defending
 

00:00:27.540 --> 00:00:30.769 align:start position:0%
ability more specifically defending
against<00:00:27.810><c> that</c><00:00:28.110><c> I'm</c><00:00:29.040><c> 0h</c><00:00:29.640><c> thank</c><00:00:30.419><c> you</c><00:00:30.509><c> guys</c><00:00:30.660><c> for</c>

00:00:30.769 --> 00:00:30.779 align:start position:0%
against that I'm 0h thank you guys for
 

00:00:30.779 --> 00:00:34.850 align:start position:0%
against that I'm 0h thank you guys for
being<00:00:30.930><c> here</c><00:00:32.180><c> alright</c><00:00:33.180><c> so</c><00:00:33.480><c> here's</c><00:00:34.350><c> the</c><00:00:34.500><c> gist</c><00:00:34.739><c> of</c>

00:00:34.850 --> 00:00:34.860 align:start position:0%
being here alright so here's the gist of
 

00:00:34.860 --> 00:00:38.660 align:start position:0%
being here alright so here's the gist of
it<00:00:35.989><c> deployed</c><00:00:36.989><c> contract</c><00:00:37.500><c> code</c><00:00:37.739><c> is</c><00:00:38.100><c> not</c>

00:00:38.660 --> 00:00:38.670 align:start position:0%
it deployed contract code is not
 

00:00:38.670 --> 00:00:45.680 align:start position:0%
it deployed contract code is not
immutable<00:00:41.930><c> here's</c><00:00:42.930><c> the</c><00:00:43.140><c> link</c><00:00:43.380><c> to</c><00:00:44.300><c> the</c><00:00:45.300><c> repo</c>

00:00:45.680 --> 00:00:45.690 align:start position:0%
immutable here's the link to the repo
 

00:00:45.690 --> 00:00:47.240 align:start position:0%
immutable here's the link to the repo
that's<00:00:45.840><c> got</c><00:00:46.080><c> all</c><00:00:46.410><c> of</c><00:00:46.650><c> the</c><00:00:46.770><c> code</c><00:00:46.980><c> that</c><00:00:47.160><c> we're</c>

00:00:47.240 --> 00:00:47.250 align:start position:0%
that's got all of the code that we're
 

00:00:47.250 --> 00:00:50.450 align:start position:0%
that's got all of the code that we're
going<00:00:47.340><c> to</c><00:00:47.400><c> go</c><00:00:47.520><c> through</c><00:00:47.790><c> today</c><00:00:49.220><c> so</c><00:00:50.220><c> you</c><00:00:50.310><c> can</c>

00:00:50.450 --> 00:00:50.460 align:start position:0%
going to go through today so you can
 

00:00:50.460 --> 00:00:56.360 align:start position:0%
going to go through today so you can
kind<00:00:50.700><c> of</c><00:00:50.730><c> review</c><00:00:51.500><c> async</c><00:00:52.500><c> or</c><00:00:52.890><c> follow</c><00:00:53.220><c> along</c><00:00:55.370><c> so</c>

00:00:56.360 --> 00:00:56.370 align:start position:0%
kind of review async or follow along so
 

00:00:56.370 --> 00:00:59.000 align:start position:0%
kind of review async or follow along so
we<00:00:56.550><c> won't</c><00:00:56.760><c> get</c><00:00:56.880><c> too</c><00:00:57.150><c> bogged</c><00:00:58.110><c> down</c><00:00:58.320><c> in</c><00:00:58.650><c> like</c>

00:00:59.000 --> 00:00:59.010 align:start position:0%
we won't get too bogged down in like
 

00:00:59.010 --> 00:01:02.210 align:start position:0%
we won't get too bogged down in like
working<00:00:59.520><c> through</c><00:00:59.700><c> it</c><00:00:59.880><c> and</c><00:01:00.120><c> fly</c><00:01:00.300><c> it</c><00:01:00.330><c> by</c><00:01:00.570><c> mind</c><00:01:01.220><c> a</c>

00:01:02.210 --> 00:01:02.220 align:start position:0%
working through it and fly it by mind a
 

00:01:02.220 --> 00:01:06.410 align:start position:0%
working through it and fly it by mind a
lot<00:01:02.880><c> to</c><00:01:03.060><c> digest</c><00:01:03.180><c> but</c><00:01:04.970><c> that</c><00:01:05.970><c> this</c><00:01:06.150><c> will</c><00:01:06.299><c> have</c>

00:01:06.410 --> 00:01:06.420 align:start position:0%
lot to digest but that this will have
 

00:01:06.420 --> 00:01:09.740 align:start position:0%
lot to digest but that this will have
everything<00:01:08.090><c> all</c><00:01:09.090><c> right</c><00:01:09.210><c> so</c><00:01:09.420><c> here's</c><00:01:09.630><c> we're</c>

00:01:09.740 --> 00:01:09.750 align:start position:0%
everything all right so here's we're
 

00:01:09.750 --> 00:01:11.920 align:start position:0%
everything all right so here's we're
going<00:01:09.869><c> to</c><00:01:09.930><c> talk</c><00:01:10.049><c> about</c><00:01:10.200><c> today</c><00:01:10.500><c> first</c>

00:01:11.920 --> 00:01:11.930 align:start position:0%
going to talk about today first
 

00:01:11.930 --> 00:01:15.010 align:start position:0%
going to talk about today first
contracts<00:01:12.930><c> can</c><00:01:13.140><c> be</c><00:01:13.170><c> destroyed</c><00:01:13.830><c> and</c><00:01:14.220><c> then</c>

00:01:15.010 --> 00:01:15.020 align:start position:0%
contracts can be destroyed and then
 

00:01:15.020 --> 00:01:18.649 align:start position:0%
contracts can be destroyed and then
redeployed<00:01:16.640><c> zombie</c><00:01:17.640><c> contracts</c><00:01:18.300><c> is</c><00:01:18.390><c> another</c>

00:01:18.649 --> 00:01:18.659 align:start position:0%
redeployed zombie contracts is another
 

00:01:18.659 --> 00:01:22.880 align:start position:0%
redeployed zombie contracts is another
sort<00:01:19.230><c> of</c><00:01:19.290><c> term</c><00:01:19.680><c> for</c><00:01:19.950><c> this</c><00:01:20.780><c> secondly</c><00:01:21.890><c> depending</c>

00:01:22.880 --> 00:01:22.890 align:start position:0%
sort of term for this secondly depending
 

00:01:22.890 --> 00:01:25.070 align:start position:0%
sort of term for this secondly depending
on<00:01:22.980><c> the</c><00:01:23.130><c> way</c><00:01:23.310><c> that</c><00:01:23.340><c> you</c><00:01:23.610><c> deploy</c><00:01:23.850><c> them</c><00:01:24.150><c> these</c>

00:01:25.070 --> 00:01:25.080 align:start position:0%
on the way that you deploy them these
 

00:01:25.080 --> 00:01:26.390 align:start position:0%
on the way that you deploy them these
contracts<00:01:25.560><c> can</c><00:01:25.680><c> actually</c><00:01:25.920><c> be</c><00:01:26.010><c> redeployed</c>

00:01:26.390 --> 00:01:26.400 align:start position:0%
contracts can actually be redeployed
 

00:01:26.400 --> 00:01:30.680 align:start position:0%
contracts can actually be redeployed
brand<00:01:27.360><c> new</c><00:01:27.630><c> runtime</c><00:01:28.050><c> code</c><00:01:29.240><c> third</c><00:01:30.240><c> we're</c><00:01:30.570><c> going</c>

00:01:30.680 --> 00:01:30.690 align:start position:0%
brand new runtime code third we're going
 

00:01:30.690 --> 00:01:32.450 align:start position:0%
brand new runtime code third we're going
to<00:01:30.750><c> discuss</c><00:01:31.380><c> some</c><00:01:31.409><c> techniques</c><00:01:31.740><c> that</c><00:01:32.250><c> you</c><00:01:32.340><c> can</c>

00:01:32.450 --> 00:01:32.460 align:start position:0%
to discuss some techniques that you can
 

00:01:32.460 --> 00:01:34.880 align:start position:0%
to discuss some techniques that you can
use<00:01:32.520><c> to</c><00:01:33.030><c> protect</c><00:01:33.180><c> yourself</c><00:01:33.720><c> against</c><00:01:34.380><c> these</c>

00:01:34.880 --> 00:01:34.890 align:start position:0%
use to protect yourself against these
 

00:01:34.890 --> 00:01:38.240 align:start position:0%
use to protect yourself against these
mutable<00:01:35.370><c> contracts</c><00:01:36.170><c> finally</c><00:01:37.170><c> we'll</c><00:01:37.830><c> explore</c>

00:01:38.240 --> 00:01:38.250 align:start position:0%
mutable contracts finally we'll explore
 

00:01:38.250 --> 00:01:40.370 align:start position:0%
mutable contracts finally we'll explore
any<00:01:38.610><c> ways</c><00:01:38.790><c> that</c><00:01:39.060><c> this</c><00:01:39.210><c> is</c><00:01:39.360><c> actually</c><00:01:39.840><c> you</c><00:01:40.170><c> can</c>

00:01:40.370 --> 00:01:40.380 align:start position:0%
any ways that this is actually you can
 

00:01:40.380 --> 00:01:44.060 align:start position:0%
any ways that this is actually you can
build<00:01:40.979><c> cool</c><00:01:41.400><c> new</c><00:01:42.000><c> stuff</c><00:01:42.170><c> doing</c><00:01:43.170><c> this</c><00:01:43.440><c> if</c>

00:01:44.060 --> 00:01:44.070 align:start position:0%
build cool new stuff doing this if
 

00:01:44.070 --> 00:01:48.910 align:start position:0%
build cool new stuff doing this if
you're<00:01:44.400><c> willing</c><00:01:44.760><c> to</c><00:01:45.049><c> sort</c><00:01:46.049><c> of</c><00:01:46.250><c> Trailways</c>

00:01:48.910 --> 00:01:48.920 align:start position:0%
you're willing to sort of Trailways
 

00:01:48.920 --> 00:01:52.670 align:start position:0%
you're willing to sort of Trailways
okay<00:01:50.180><c> so</c><00:01:51.180><c> just</c><00:01:51.240><c> so</c><00:01:51.570><c> we're</c><00:01:51.750><c> all</c><00:01:51.780><c> on</c><00:01:51.960><c> the</c><00:01:52.440><c> same</c>

00:01:52.670 --> 00:01:52.680 align:start position:0%
okay so just so we're all on the same
 

00:01:52.680 --> 00:01:57.190 align:start position:0%
okay so just so we're all on the same
page<00:01:54.020><c> go</c><00:01:55.020><c> over</c><00:01:55.230><c> some</c><00:01:55.410><c> of</c><00:01:55.500><c> the</c><00:01:55.590><c> four</c><00:01:56.100><c> teens</c>

00:01:57.190 --> 00:01:57.200 align:start position:0%
page go over some of the four teens
 

00:01:57.200 --> 00:01:59.210 align:start position:0%
page go over some of the four teens
basically<00:01:58.200><c> understand</c><00:01:58.650><c> here</c>

00:01:59.210 --> 00:01:59.220 align:start position:0%
basically understand here
 

00:01:59.220 --> 00:02:03.380 align:start position:0%
basically understand here
first<00:01:59.820><c> off</c><00:02:00.770><c> contact</c><00:02:01.770><c> creation</c><00:02:02.520><c> code</c><00:02:02.790><c> is</c><00:02:03.240><c> the</c>

00:02:03.380 --> 00:02:03.390 align:start position:0%
first off contact creation code is the
 

00:02:03.390 --> 00:02:05.140 align:start position:0%
first off contact creation code is the
byte<00:02:03.570><c> code</c><00:02:03.600><c> that</c><00:02:04.080><c> you</c><00:02:04.170><c> feed</c><00:02:04.410><c> into</c><00:02:04.590><c> your</c>

00:02:05.140 --> 00:02:05.150 align:start position:0%
byte code that you feed into your
 

00:02:05.150 --> 00:02:07.910 align:start position:0%
byte code that you feed into your
creating<00:02:06.150><c> a</c><00:02:06.240><c> contract</c><00:02:06.690><c> whereas</c><00:02:07.170><c> the</c><00:02:07.350><c> runtime</c>

00:02:07.910 --> 00:02:07.920 align:start position:0%
creating a contract whereas the runtime
 

00:02:07.920 --> 00:02:10.130 align:start position:0%
creating a contract whereas the runtime
code<00:02:08.250><c> is</c><00:02:08.850><c> what</c><00:02:09.149><c> gets</c><00:02:09.360><c> returned</c><00:02:09.720><c> from</c><00:02:09.990><c> the</c>

00:02:10.130 --> 00:02:10.140 align:start position:0%
code is what gets returned from the
 

00:02:10.140 --> 00:02:14.360 align:start position:0%
code is what gets returned from the
creation<00:02:10.590><c> code</c><00:02:10.830><c> and</c><00:02:11.180><c> will</c><00:02:12.180><c> actually</c><00:02:13.160><c> run</c><00:02:14.160><c> when</c>

00:02:14.360 --> 00:02:14.370 align:start position:0%
creation code and will actually run when
 

00:02:14.370 --> 00:02:18.050 align:start position:0%
creation code and will actually run when
you<00:02:14.460><c> call</c><00:02:14.670><c> the</c><00:02:14.820><c> contract</c><00:02:15.530><c> secondly</c><00:02:16.850><c> we've</c><00:02:17.850><c> got</c>

00:02:18.050 --> 00:02:18.060 align:start position:0%
you call the contract secondly we've got
 

00:02:18.060 --> 00:02:22.010 align:start position:0%
you call the contract secondly we've got
contract<00:02:18.840><c> storage</c><00:02:19.650><c> which</c><00:02:20.280><c> is</c><00:02:20.640><c> a</c><00:02:21.060><c> storehouse</c>

00:02:22.010 --> 00:02:22.020 align:start position:0%
contract storage which is a storehouse
 

00:02:22.020 --> 00:02:25.430 align:start position:0%
contract storage which is a storehouse
load<00:02:22.670><c> standard</c><00:02:23.670><c> storage</c><00:02:24.140><c> but</c><00:02:25.140><c> then</c><00:02:25.290><c> you've</c>

00:02:25.430 --> 00:02:25.440 align:start position:0%
load standard storage but then you've
 

00:02:25.440 --> 00:02:28.610 align:start position:0%
load standard storage but then you've
also<00:02:25.560><c> got</c><00:02:25.740><c> runtime</c><00:02:26.400><c> code</c><00:02:26.700><c> from</c><00:02:27.450><c> before</c><00:02:27.620><c> which</c>

00:02:28.610 --> 00:02:28.620 align:start position:0%
also got runtime code from before which
 

00:02:28.620 --> 00:02:31.400 align:start position:0%
also got runtime code from before which
in<00:02:28.980><c> addition</c><00:02:29.130><c> to</c><00:02:29.550><c> running</c><00:02:29.670><c> logic</c><00:02:30.300><c> all</c><00:02:31.080><c> of</c><00:02:31.230><c> that</c>

00:02:31.400 --> 00:02:31.410 align:start position:0%
in addition to running logic all of that
 

00:02:31.410 --> 00:02:34.390 align:start position:0%
in addition to running logic all of that
is<00:02:31.890><c> where</c><00:02:32.160><c> you're</c><00:02:32.340><c> gonna</c><00:02:32.430><c> hold</c><00:02:33.170><c> the</c><00:02:34.170><c> actual</c>

00:02:34.390 --> 00:02:34.400 align:start position:0%
is where you're gonna hold the actual
 

00:02:34.400 --> 00:02:37.490 align:start position:0%
is where you're gonna hold the actual
like<00:02:35.450><c> constants</c><00:02:36.450><c> and</c><00:02:36.690><c> your</c><00:02:36.840><c> contracts</c><00:02:37.320><c> in</c>

00:02:37.490 --> 00:02:37.500 align:start position:0%
like constants and your contracts in
 

00:02:37.500 --> 00:02:42.320 align:start position:0%
like constants and your contracts in
that<00:02:37.650><c> matter</c><00:02:38.780><c> okay</c><00:02:39.780><c> so</c><00:02:39.890><c> the</c><00:02:40.890><c> og</c><00:02:41.490><c> original</c>

00:02:42.320 --> 00:02:42.330 align:start position:0%
that matter okay so the og original
 

00:02:42.330 --> 00:02:45.170 align:start position:0%
that matter okay so the og original
method<00:02:42.840><c> here</c><00:02:43.110><c> is</c><00:02:43.140><c> create</c><00:02:43.770><c> or</c><00:02:44.370><c> actually</c>

00:02:45.170 --> 00:02:45.180 align:start position:0%
method here is create or actually
 

00:02:45.180 --> 00:02:47.030 align:start position:0%
method here is create or actually
deploying<00:02:45.480><c> contracts</c><00:02:46.080><c> that's</c><00:02:46.410><c> what</c><00:02:46.620><c> happens</c>

00:02:47.030 --> 00:02:47.040 align:start position:0%
deploying contracts that's what happens
 

00:02:47.040 --> 00:02:49.970 align:start position:0%
deploying contracts that's what happens
when<00:02:47.190><c> you're</c><00:02:47.310><c> actually</c><00:02:48.410><c> deploying</c><00:02:49.410><c> at</c><00:02:49.740><c> a</c>

00:02:49.970 --> 00:02:49.980 align:start position:0%
when you're actually deploying at a
 

00:02:49.980 --> 00:02:52.160 align:start position:0%
when you're actually deploying at a
contract<00:02:50.820><c> via</c><00:02:51.030><c> transaction</c><00:02:51.870><c> to</c><00:02:51.930><c> the</c><00:02:51.959><c> Bill</c>

00:02:52.160 --> 00:02:52.170 align:start position:0%
contract via transaction to the Bill
 

00:02:52.170 --> 00:02:55.550 align:start position:0%
contract via transaction to the Bill
aggress<00:02:52.970><c> uses</c><00:02:53.970><c> the</c><00:02:54.360><c> employers</c><00:02:55.019><c> address</c><00:02:55.230><c> and</c>

00:02:55.550 --> 00:02:55.560 align:start position:0%
aggress uses the employers address and
 

00:02:55.560 --> 00:02:57.199 align:start position:0%
aggress uses the employers address and
the<00:02:55.620><c> nonce</c><00:02:55.830><c> to</c><00:02:56.100><c> determine</c><00:02:56.519><c> the</c><00:02:56.580><c> address</c><00:02:57.000><c> the</c>

00:02:57.199 --> 00:02:57.209 align:start position:0%
the nonce to determine the address the
 

00:02:57.209 --> 00:02:59.750 align:start position:0%
the nonce to determine the address the
new<00:02:57.300><c> kid</c><00:02:57.510><c> on</c><00:02:57.600><c> the</c><00:02:57.660><c> block</c><00:02:57.750><c> create</c><00:02:58.350><c> two</c><00:02:58.760><c> instead</c>

00:02:59.750 --> 00:02:59.760 align:start position:0%
new kid on the block create two instead
 

00:02:59.760 --> 00:03:01.550 align:start position:0%
new kid on the block create two instead
of<00:02:59.850><c> using</c><00:03:00.000><c> the</c><00:03:00.209><c> nonce</c><00:03:00.450><c> of</c><00:03:00.690><c> the</c><00:03:00.780><c> the</c><00:03:01.200><c> deployer</c>

00:03:01.550 --> 00:03:01.560 align:start position:0%
of using the nonce of the the deployer
 

00:03:01.560 --> 00:03:04.580 align:start position:0%
of using the nonce of the the deployer
it's<00:03:02.160><c> basing</c><00:03:03.030><c> that</c><00:03:03.180><c> address</c><00:03:04.050><c> and</c><00:03:04.260><c> poised</c><00:03:04.560><c> to</c>

00:03:04.580 --> 00:03:04.590 align:start position:0%
it's basing that address and poised to
 

00:03:04.590 --> 00:03:07.940 align:start position:0%
it's basing that address and poised to
off<00:03:04.950><c> of</c><00:03:05.130><c> the</c><00:03:05.310><c> deployment</c><00:03:05.989><c> address</c><00:03:06.989><c> the</c><00:03:07.560><c> salt</c>

00:03:07.940 --> 00:03:07.950 align:start position:0%
off of the deployment address the salt
 

00:03:07.950 --> 00:03:11.300 align:start position:0%
off of the deployment address the salt
and<00:03:08.510><c> the</c><00:03:09.510><c> initialization</c><00:03:09.959><c> contract</c><00:03:10.860><c> creation</c>

00:03:11.300 --> 00:03:11.310 align:start position:0%
and the initialization contract creation
 

00:03:11.310 --> 00:03:14.449 align:start position:0%
and the initialization contract creation
code<00:03:11.840><c> okay</c><00:03:13.040><c> self-destructs</c><00:03:14.040><c> I'm</c><00:03:14.190><c> sure</c><00:03:14.370><c> you</c>

00:03:14.449 --> 00:03:14.459 align:start position:0%
code okay self-destructs I'm sure you
 

00:03:14.459 --> 00:03:16.940 align:start position:0%
code okay self-destructs I'm sure you
guys<00:03:14.610><c> are</c><00:03:14.640><c> all</c><00:03:14.850><c> familiar</c><00:03:15.000><c> with</c><00:03:15.330><c> this</c><00:03:15.950><c> to</c>

00:03:16.940 --> 00:03:16.950 align:start position:0%
guys are all familiar with this to
 

00:03:16.950 --> 00:03:20.120 align:start position:0%
guys are all familiar with this to
actually<00:03:17.480><c> feature</c><00:03:18.480><c> in</c><00:03:18.930><c> my</c><00:03:19.170><c> original</c>

00:03:20.120 --> 00:03:20.130 align:start position:0%
actually feature in my original
 

00:03:20.130 --> 00:03:22.220 align:start position:0%
actually feature in my original
aetherium<00:03:20.670><c> foundation</c><00:03:21.209><c> hello</c><00:03:21.540><c> world</c><00:03:21.840><c> that</c>

00:03:22.220 --> 00:03:22.230 align:start position:0%
aetherium foundation hello world that
 

00:03:22.230 --> 00:03:24.720 align:start position:0%
aetherium foundation hello world that
this<00:03:22.500><c> was</c><00:03:22.709><c> like</c><00:03:23.030><c> seen</c><00:03:24.030><c> as</c><00:03:24.209><c> you</c><00:03:24.510><c> do</c>

00:03:24.720 --> 00:03:24.730 align:start position:0%
this was like seen as you do
 

00:03:24.730 --> 00:03:27.059 align:start position:0%
this was like seen as you do
your<00:03:25.050><c> civic</c><00:03:26.050><c> duty</c><00:03:26.080><c> on</c><00:03:26.470><c> the</c><00:03:26.560><c> block</c><00:03:26.739><c> chaining</c>

00:03:27.059 --> 00:03:27.069 align:start position:0%
your civic duty on the block chaining
 

00:03:27.069 --> 00:03:29.039 align:start position:0%
your civic duty on the block chaining
cleaning<00:03:27.519><c> up</c><00:03:27.610><c> back</c><00:03:27.790><c> to</c><00:03:27.940><c> yourself</c><00:03:28.120><c> and</c><00:03:28.690><c> then</c><00:03:28.930><c> of</c>

00:03:29.039 --> 00:03:29.049 align:start position:0%
cleaning up back to yourself and then of
 

00:03:29.049 --> 00:03:31.710 align:start position:0%
cleaning up back to yourself and then of
course<00:03:29.290><c> the</c><00:03:30.040><c> parody</c><00:03:30.459><c> multi-state</c><00:03:31.060><c> hack</c><00:03:31.299><c> and</c><00:03:31.659><c> a</c>

00:03:31.710 --> 00:03:31.720 align:start position:0%
course the parody multi-state hack and a
 

00:03:31.720 --> 00:03:33.899 align:start position:0%
course the parody multi-state hack and a
whole<00:03:31.989><c> bunch</c><00:03:32.019><c> of</c><00:03:32.409><c> very</c><00:03:32.739><c> sharp</c><00:03:33.099><c> edge</c><00:03:33.280><c> cases</c><00:03:33.580><c> of</c>

00:03:33.899 --> 00:03:33.909 align:start position:0%
whole bunch of very sharp edge cases of
 

00:03:33.909 --> 00:03:36.149 align:start position:0%
whole bunch of very sharp edge cases of
that<00:03:34.060><c> most</c><00:03:34.330><c> developers</c><00:03:34.569><c> -</c><00:03:35.140><c> just</c><00:03:35.349><c> saying</c><00:03:35.890><c> avoid</c>

00:03:36.149 --> 00:03:36.159 align:start position:0%
that most developers - just saying avoid
 

00:03:36.159 --> 00:03:39.330 align:start position:0%
that most developers - just saying avoid
this<00:03:36.610><c> like</c><00:03:36.819><c> the</c><00:03:36.940><c> plague</c><00:03:37.950><c> I'm</c><00:03:38.950><c> not</c><00:03:39.159><c> most</c>

00:03:39.330 --> 00:03:39.340 align:start position:0%
this like the plague I'm not most
 

00:03:39.340 --> 00:03:42.330 align:start position:0%
this like the plague I'm not most
developers<00:03:39.790><c> there</c><00:03:40.510><c> are</c><00:03:40.750><c> a</c><00:03:41.379><c> couple</c><00:03:41.830><c> of</c><00:03:42.010><c> cool</c>

00:03:42.330 --> 00:03:42.340 align:start position:0%
developers there are a couple of cool
 

00:03:42.340 --> 00:03:44.190 align:start position:0%
developers there are a couple of cool
things<00:03:42.700><c> you</c><00:03:42.790><c> can</c><00:03:42.970><c> do</c><00:03:43.120><c> with</c><00:03:43.269><c> it</c><00:03:43.450><c> if</c><00:03:43.660><c> you're</c>

00:03:44.190 --> 00:03:44.200 align:start position:0%
things you can do with it if you're
 

00:03:44.200 --> 00:03:46.039 align:start position:0%
things you can do with it if you're
willing<00:03:44.410><c> to</c><00:03:44.440><c> take</c><00:03:44.620><c> along</c><00:03:44.830><c> a</c><00:03:44.980><c> wild</c><00:03:45.370><c> side</c><00:03:45.549><c> but</c>

00:03:46.039 --> 00:03:46.049 align:start position:0%
willing to take along a wild side but
 

00:03:46.049 --> 00:03:48.720 align:start position:0%
willing to take along a wild side but
always<00:03:47.049><c> tread</c><00:03:47.530><c> with</c><00:03:47.680><c> caution</c><00:03:47.890><c> when</c><00:03:48.610><c> you're</c>

00:03:48.720 --> 00:03:48.730 align:start position:0%
always tread with caution when you're
 

00:03:48.730 --> 00:03:50.280 align:start position:0%
always tread with caution when you're
using<00:03:49.060><c> self-destructed</c><00:03:49.900><c> one</c><00:03:50.080><c> of</c><00:03:50.170><c> those</c>

00:03:50.280 --> 00:03:50.290 align:start position:0%
using self-destructed one of those
 

00:03:50.290 --> 00:03:54.770 align:start position:0%
using self-destructed one of those
things<00:03:50.560><c> that</c><00:03:50.739><c> self</c><00:03:51.459><c> destruct</c><00:03:51.940><c> can</c><00:03:52.860><c> enable</c><00:03:53.860><c> or</c>

00:03:54.770 --> 00:03:54.780 align:start position:0%
things that self destruct can enable or
 

00:03:54.780 --> 00:03:59.880 align:start position:0%
things that self destruct can enable or
exploit<00:03:55.780><c> is</c><00:03:56.670><c> reliance</c><00:03:57.670><c> so</c><00:03:58.349><c> the</c><00:03:59.349><c> gist</c><00:03:59.680><c> of</c><00:03:59.799><c> a</c>

00:03:59.880 --> 00:03:59.890 align:start position:0%
exploit is reliance so the gist of a
 

00:03:59.890 --> 00:04:03.990 align:start position:0%
exploit is reliance so the gist of a
contract<00:04:00.459><c> redeployment</c><00:04:01.769><c> let's</c><00:04:02.769><c> go</c><00:04:03.040><c> over</c><00:04:03.430><c> how</c>

00:04:03.990 --> 00:04:04.000 align:start position:0%
contract redeployment let's go over how
 

00:04:04.000 --> 00:04:06.990 align:start position:0%
contract redeployment let's go over how
this<00:04:04.510><c> sort</c><00:04:04.750><c> of</c><00:04:04.810><c> comes</c><00:04:05.049><c> down</c><00:04:05.319><c> to</c><00:04:05.590><c> be</c><00:04:05.799><c> if</c><00:04:06.519><c> I</c><00:04:06.670><c> try</c>

00:04:06.990 --> 00:04:07.000 align:start position:0%
this sort of comes down to be if I try
 

00:04:07.000 --> 00:04:09.030 align:start position:0%
this sort of comes down to be if I try
an<00:04:07.180><c> employee</c><00:04:07.629><c> to</c><00:04:08.319><c> an</c><00:04:08.410><c> accountant</c><00:04:08.890><c> that's</c>

00:04:09.030 --> 00:04:09.040 align:start position:0%
an employee to an accountant that's
 

00:04:09.040 --> 00:04:10.349 align:start position:0%
an employee to an accountant that's
already<00:04:09.250><c> got</c><00:04:09.459><c> a</c><00:04:09.519><c> contract</c><00:04:10.030><c> this</c><00:04:10.150><c> is</c><00:04:10.209><c> a</c>

00:04:10.349 --> 00:04:10.359 align:start position:0%
already got a contract this is a
 

00:04:10.359 --> 00:04:12.119 align:start position:0%
already got a contract this is a
scenario<00:04:10.690><c> that</c><00:04:10.900><c> in</c><00:04:11.140><c> a</c><00:04:11.170><c> creative</c><00:04:11.590><c> only</c><00:04:11.890><c> world</c>

00:04:12.119 --> 00:04:12.129 align:start position:0%
scenario that in a creative only world
 

00:04:12.129 --> 00:04:14.190 align:start position:0%
scenario that in a creative only world
isn't<00:04:12.489><c> going</c><00:04:12.609><c> to</c><00:04:12.670><c> happen</c><00:04:12.819><c> without</c><00:04:13.510><c> a</c><00:04:13.750><c> hash</c>

00:04:14.190 --> 00:04:14.200 align:start position:0%
isn't going to happen without a hash
 

00:04:14.200 --> 00:04:16.800 align:start position:0%
isn't going to happen without a hash
collision<00:04:14.769><c> because</c><00:04:15.190><c> the</c><00:04:15.970><c> non-singer</c><00:04:16.570><c> minute</c>

00:04:16.800 --> 00:04:16.810 align:start position:0%
collision because the non-singer minute
 

00:04:16.810 --> 00:04:20.789 align:start position:0%
collision because the non-singer minute
every<00:04:17.019><c> time</c><00:04:17.260><c> but</c><00:04:17.859><c> pretty</c><00:04:18.699><c> to</c><00:04:18.850><c> world</c><00:04:19.650><c> if</c><00:04:20.650><c> you</c>

00:04:20.789 --> 00:04:20.799 align:start position:0%
every time but pretty to world if you
 

00:04:20.799 --> 00:04:23.550 align:start position:0%
every time but pretty to world if you
try<00:04:21.039><c> to</c><00:04:21.570><c> feed</c><00:04:22.570><c> in</c><00:04:22.720><c> those</c><00:04:22.930><c> exact</c><00:04:23.260><c> same</c>

00:04:23.550 --> 00:04:23.560 align:start position:0%
try to feed in those exact same
 

00:04:23.560 --> 00:04:26.070 align:start position:0%
try to feed in those exact same
arguments<00:04:24.460><c> it's</c><00:04:24.940><c> just</c><00:04:25.180><c> gonna</c><00:04:25.300><c> fail</c><00:04:25.600><c> right</c>

00:04:26.070 --> 00:04:26.080 align:start position:0%
arguments it's just gonna fail right
 

00:04:26.080 --> 00:04:28.320 align:start position:0%
arguments it's just gonna fail right
there's<00:04:27.070><c> already</c><00:04:27.250><c> a</c><00:04:27.400><c> contract</c><00:04:27.910><c> there</c><00:04:28.120><c> whether</c>

00:04:28.320 --> 00:04:28.330 align:start position:0%
there's already a contract there whether
 

00:04:28.330 --> 00:04:31.770 align:start position:0%
there's already a contract there whether
or<00:04:28.479><c> not</c><00:04:28.570><c> there's</c><00:04:28.780><c> code</c><00:04:29.080><c> this</c><00:04:29.889><c> is</c><00:04:30.010><c> invalid</c><00:04:30.780><c> but</c>

00:04:31.770 --> 00:04:31.780 align:start position:0%
or not there's code this is invalid but
 

00:04:31.780 --> 00:04:34.260 align:start position:0%
or not there's code this is invalid but
when<00:04:31.960><c> you</c><00:04:32.050><c> self-destruct</c><00:04:32.560><c> a</c><00:04:33.010><c> contract</c><00:04:33.490><c> what's</c>

00:04:34.260 --> 00:04:34.270 align:start position:0%
when you self-destruct a contract what's
 

00:04:34.270 --> 00:04:35.580 align:start position:0%
when you self-destruct a contract what's
actually<00:04:34.479><c> happening</c><00:04:34.960><c> it's</c><00:04:35.139><c> more</c><00:04:35.380><c> than</c><00:04:35.530><c> the</c>

00:04:35.580 --> 00:04:35.590 align:start position:0%
actually happening it's more than the
 

00:04:35.590 --> 00:04:38.190 align:start position:0%
actually happening it's more than the
runtime<00:04:36.190><c> code</c><00:04:36.430><c> getting</c><00:04:36.729><c> in</c><00:04:36.789><c> there</c><00:04:36.940><c> now</c><00:04:37.200><c> the</c>

00:04:38.190 --> 00:04:38.200 align:start position:0%
runtime code getting in there now the
 

00:04:38.200 --> 00:04:40.589 align:start position:0%
runtime code getting in there now the
entire<00:04:38.560><c> thing</c><00:04:38.860><c> is</c><00:04:38.979><c> white</c><00:04:39.280><c> you've</c><00:04:39.970><c> got</c><00:04:40.180><c> no</c><00:04:40.360><c> nuts</c>

00:04:40.589 --> 00:04:40.599 align:start position:0%
entire thing is white you've got no nuts
 

00:04:40.599 --> 00:04:43.740 align:start position:0%
entire thing is white you've got no nuts
no<00:04:41.020><c> residual</c><00:04:41.950><c> balance</c><00:04:42.400><c> no</c><00:04:43.300><c> it</c><00:04:43.419><c> stinks</c>

00:04:43.740 --> 00:04:43.750 align:start position:0%
no residual balance no it stinks
 

00:04:43.750 --> 00:04:45.900 align:start position:0%
no residual balance no it stinks
everything<00:04:44.500><c> is</c><00:04:44.590><c> going</c><00:04:44.889><c> as</c><00:04:45.460><c> far</c><00:04:45.669><c> as</c><00:04:45.789><c> the</c>

00:04:45.900 --> 00:04:45.910 align:start position:0%
everything is going as far as the
 

00:04:45.910 --> 00:04:47.520 align:start position:0%
everything is going as far as the
blockchain<00:04:46.360><c> is</c><00:04:46.389><c> concerning</c><00:04:46.840><c> this</c><00:04:47.020><c> contract</c>

00:04:47.520 --> 00:04:47.530 align:start position:0%
blockchain is concerning this contract
 

00:04:47.530 --> 00:04:50.279 align:start position:0%
blockchain is concerning this contract
it's<00:04:47.680><c> never</c><00:04:47.919><c> intestine</c><00:04:48.690><c> so</c><00:04:49.690><c> then</c><00:04:49.870><c> once</c><00:04:50.110><c> it's</c>

00:04:50.279 --> 00:04:50.289 align:start position:0%
it's never intestine so then once it's
 

00:04:50.289 --> 00:04:52.140 align:start position:0%
it's never intestine so then once it's
already<00:04:50.680><c> been</c><00:04:50.800><c> wiped</c><00:04:51.099><c> what</c><00:04:51.550><c> happens</c><00:04:51.910><c> when</c><00:04:52.120><c> I</c>

00:04:52.140 --> 00:04:52.150 align:start position:0%
already been wiped what happens when I
 

00:04:52.150 --> 00:04:54.629 align:start position:0%
already been wiped what happens when I
haven't<00:04:52.450><c> went</c><00:04:52.660><c> to</c><00:04:52.870><c> me</c><00:04:52.990><c> again</c><00:04:53.380><c> well</c><00:04:54.250><c> in</c><00:04:54.490><c> that</c>

00:04:54.629 --> 00:04:54.639 align:start position:0%
haven't went to me again well in that
 

00:04:54.639 --> 00:04:58.200 align:start position:0%
haven't went to me again well in that
case<00:04:54.700><c> refine</c><00:04:55.889><c> the</c><00:04:56.889><c> contract</c><00:04:57.580><c> can</c><00:04:57.729><c> be</c><00:04:57.789><c> deployed</c>

00:04:58.200 --> 00:04:58.210 align:start position:0%
case refine the contract can be deployed
 

00:04:58.210 --> 00:05:01.800 align:start position:0%
case refine the contract can be deployed
no<00:04:58.360><c> problem</c><00:04:58.810><c> but</c><00:04:59.770><c> if</c><00:04:59.800><c> I</c><00:05:00.099><c> was</c><00:05:00.389><c> relying</c><00:05:01.389><c> on</c><00:05:01.630><c> this</c>

00:05:01.800 --> 00:05:01.810 align:start position:0%
no problem but if I was relying on this
 

00:05:01.810 --> 00:05:04.890 align:start position:0%
no problem but if I was relying on this
estate<00:05:02.020><c> or</c><00:05:02.470><c> the</c><00:05:02.710><c> dogs</c><00:05:02.919><c> of</c><00:05:03.250><c> whatever</c><00:05:03.900><c> property</c>

00:05:04.890 --> 00:05:04.900 align:start position:0%
estate or the dogs of whatever property
 

00:05:04.900 --> 00:05:09.360 align:start position:0%
estate or the dogs of whatever property
you<00:05:04.990><c> know</c><00:05:05.110><c> that</c><00:05:05.349><c> contract</c><00:05:06.030><c> before</c><00:05:07.800><c> this</c><00:05:08.800><c> you</c>

00:05:09.360 --> 00:05:09.370 align:start position:0%
you know that contract before this you
 

00:05:09.370 --> 00:05:12.000 align:start position:0%
you know that contract before this you
got<00:05:09.520><c> white</c><00:05:09.789><c> and</c><00:05:09.820><c> then</c><00:05:10.450><c> look</c><00:05:10.690><c> back</c><00:05:10.900><c> well</c><00:05:11.860><c> now</c>

00:05:12.000 --> 00:05:12.010 align:start position:0%
got white and then look back well now
 

00:05:12.010 --> 00:05:14.730 align:start position:0%
got white and then look back well now
you're<00:05:12.490><c> in</c><00:05:12.520><c> trouble</c><00:05:12.789><c> right</c><00:05:13.139><c> so</c><00:05:14.139><c> let's</c><00:05:14.410><c> look</c><00:05:14.620><c> at</c>

00:05:14.730 --> 00:05:14.740 align:start position:0%
you're in trouble right so let's look at
 

00:05:14.740 --> 00:05:17.780 align:start position:0%
you're in trouble right so let's look at
an<00:05:14.830><c> example</c><00:05:14.919><c> of</c><00:05:15.400><c> how</c><00:05:15.970><c> this</c><00:05:16.150><c> might</c><00:05:16.210><c> work</c>

00:05:17.780 --> 00:05:17.790 align:start position:0%
an example of how this might work
 

00:05:17.790 --> 00:05:21.200 align:start position:0%
an example of how this might work
and<00:05:18.440><c> bear</c><00:05:19.440><c> in</c><00:05:19.560><c> mind</c><00:05:19.590><c> that</c><00:05:20.070><c> the</c><00:05:20.580><c> code</c><00:05:20.880><c> won't</c>

00:05:21.200 --> 00:05:21.210 align:start position:0%
and bear in mind that the code won't
 

00:05:21.210 --> 00:05:23.420 align:start position:0%
and bear in mind that the code won't
actually<00:05:21.390><c> even</c><00:05:21.990><c> be</c><00:05:22.110><c> changing</c><00:05:22.650><c> this</c><00:05:22.890><c> is</c><00:05:23.070><c> just</c>

00:05:23.420 --> 00:05:23.430 align:start position:0%
actually even be changing this is just
 

00:05:23.430 --> 00:05:27.530 align:start position:0%
actually even be changing this is just
an<00:05:23.580><c> example</c><00:05:24.860><c> greatly</c><00:05:25.860><c> simplified</c><00:05:26.460><c> like</c><00:05:27.180><c> a</c>

00:05:27.530 --> 00:05:27.540 align:start position:0%
an example greatly simplified like a
 

00:05:27.540 --> 00:05:30.470 align:start position:0%
an example greatly simplified like a
more<00:05:27.960><c> realistic</c><00:05:28.290><c> world</c><00:05:29.070><c> use</c><00:05:30.060><c> case</c><00:05:30.270><c> would</c><00:05:30.450><c> be</c>

00:05:30.470 --> 00:05:30.480 align:start position:0%
more realistic world use case would be
 

00:05:30.480 --> 00:05:32.690 align:start position:0%
more realistic world use case would be
like<00:05:30.660><c> this</c><00:05:30.810><c> add</c><00:05:31.170><c> X</c><00:05:31.440><c> or</c><00:05:31.710><c> a</c><00:05:31.740><c> swap</c><00:05:32.100><c> contract</c><00:05:32.130><c> or</c>

00:05:32.690 --> 00:05:32.700 align:start position:0%
like this add X or a swap contract or
 

00:05:32.700 --> 00:05:33.830 align:start position:0%
like this add X or a swap contract or
something<00:05:32.910><c> like</c><00:05:32.970><c> that</c><00:05:33.060><c> but</c><00:05:33.600><c> this</c><00:05:33.660><c> is</c><00:05:33.780><c> a</c>

00:05:33.830 --> 00:05:33.840 align:start position:0%
something like that but this is a
 

00:05:33.840 --> 00:05:36.800 align:start position:0%
something like that but this is a
contract<00:05:34.230><c> that</c><00:05:34.380><c> we</c><00:05:35.040><c> approve</c><00:05:35.760><c> to</c><00:05:36.090><c> transfer</c><00:05:36.570><c> our</c>

00:05:36.800 --> 00:05:36.810 align:start position:0%
contract that we approve to transfer our
 

00:05:36.810 --> 00:05:40.220 align:start position:0%
contract that we approve to transfer our
ship<00:05:37.080><c> coins</c><00:05:37.380><c> okay</c><00:05:38.070><c> and</c><00:05:38.840><c> initially</c><00:05:39.840><c> it's</c><00:05:39.960><c> in</c>

00:05:40.220 --> 00:05:40.230 align:start position:0%
ship coins okay and initially it's in
 

00:05:40.230 --> 00:05:42.770 align:start position:0%
ship coins okay and initially it's in
testing<00:05:40.740><c> mode</c><00:05:40.790><c> so</c><00:05:41.790><c> don't</c><00:05:42.030><c> approve</c><00:05:42.330><c> and</c><00:05:42.570><c> it's</c><00:05:42.690><c> a</c>

00:05:42.770 --> 00:05:42.780 align:start position:0%
testing mode so don't approve and it's a
 

00:05:42.780 --> 00:05:45.050 align:start position:0%
testing mode so don't approve and it's a
testing<00:05:43.170><c> mode</c><00:05:43.350><c> because</c><00:05:43.740><c> anyone</c><00:05:44.730><c> can</c><00:05:44.910><c> move</c>

00:05:45.050 --> 00:05:45.060 align:start position:0%
testing mode because anyone can move
 

00:05:45.060 --> 00:05:46.580 align:start position:0%
testing mode because anyone can move
your<00:05:45.270><c> your</c><00:05:45.600><c> funds</c><00:05:45.780><c> around</c><00:05:45.930><c> but</c><00:05:46.230><c> then</c><00:05:46.320><c> we</c><00:05:46.410><c> turn</c>

00:05:46.580 --> 00:05:46.590 align:start position:0%
your your funds around but then we turn
 

00:05:46.590 --> 00:05:50.840 align:start position:0%
your your funds around but then we turn
the<00:05:46.740><c> testing</c><00:05:47.100><c> mode</c><00:05:47.250><c> off</c><00:05:47.690><c> but</c><00:05:48.980><c> then</c><00:05:49.980><c> the</c>

00:05:50.840 --> 00:05:50.850 align:start position:0%
the testing mode off but then the
 

00:05:50.850 --> 00:05:53.270 align:start position:0%
the testing mode off but then the
contract<00:05:51.660><c> can</c><00:05:51.810><c> be</c><00:05:51.840><c> destroyed</c><00:05:52.260><c> retired</c><00:05:52.860><c> and</c>

00:05:53.270 --> 00:05:53.280 align:start position:0%
contract can be destroyed retired and
 

00:05:53.280 --> 00:05:56.000 align:start position:0%
contract can be destroyed retired and
once<00:05:54.270><c> you</c><00:05:54.450><c> reapply</c><00:05:54.870><c> it</c><00:05:55.110><c> it's</c><00:05:55.290><c> back</c><00:05:55.440><c> in</c><00:05:55.650><c> testing</c>

00:05:56.000 --> 00:05:56.010 align:start position:0%
once you reapply it it's back in testing
 

00:05:56.010 --> 00:05:59.060 align:start position:0%
once you reapply it it's back in testing
mode<00:05:56.160><c> and</c><00:05:56.370><c> into</c><00:05:56.880><c> the</c><00:05:56.970><c> fund</c><00:05:57.180><c> stolen</c><00:05:57.570><c> okay</c><00:05:58.200><c> so</c>

00:05:59.060 --> 00:05:59.070 align:start position:0%
mode and into the fund stolen okay so
 

00:05:59.070 --> 00:06:03.620 align:start position:0%
mode and into the fund stolen okay so
this<00:06:00.030><c> is</c><00:06:00.210><c> a</c><00:06:00.240><c> problem</c><00:06:00.810><c> and</c><00:06:02.120><c> really</c><00:06:03.120><c> low</c><00:06:03.390><c> hanging</c>

00:06:03.620 --> 00:06:03.630 align:start position:0%
this is a problem and really low hanging
 

00:06:03.630 --> 00:06:06.380 align:start position:0%
this is a problem and really low hanging
fruit<00:06:04.020><c> if</c><00:06:04.320><c> my</c><00:06:04.710><c> series</c><00:06:05.070><c> be</c><00:06:05.220><c> careful</c><00:06:05.640><c> with</c><00:06:06.180><c> your</c>

00:06:06.380 --> 00:06:06.390 align:start position:0%
fruit if my series be careful with your
 

00:06:06.390 --> 00:06:08.870 align:start position:0%
fruit if my series be careful with your
giving<00:06:06.840><c> me</c><00:06:07.160><c> approvals</c><00:06:08.160><c> out</c><00:06:08.310><c> you</c><00:06:08.520><c> guys</c><00:06:08.610><c> already</c>

00:06:08.870 --> 00:06:08.880 align:start position:0%
giving me approvals out you guys already
 

00:06:08.880 --> 00:06:11.390 align:start position:0%
giving me approvals out you guys already
know<00:06:09.090><c> that</c><00:06:09.120><c> but</c><00:06:09.990><c> let's</c><00:06:10.170><c> look</c><00:06:10.380><c> at</c><00:06:10.560><c> that</c><00:06:10.830><c> so</c>

00:06:11.390 --> 00:06:11.400 align:start position:0%
know that but let's look at that so
 

00:06:11.400 --> 00:06:14.240 align:start position:0%
know that but let's look at that so
remediation<00:06:12.150><c> to</c><00:06:12.390><c> this</c><00:06:12.620><c> which</c><00:06:13.620><c> here's</c><00:06:14.100><c> our</c>

00:06:14.240 --> 00:06:14.250 align:start position:0%
remediation to this which here's our
 

00:06:14.250 --> 00:06:18.560 align:start position:0%
remediation to this which here's our
same<00:06:14.940><c> coin</c><00:06:15.860><c> mover</c><00:06:16.860><c> contract</c><00:06:17.520><c> and</c><00:06:17.850><c> we've</c>

00:06:18.560 --> 00:06:18.570 align:start position:0%
same coin mover contract and we've
 

00:06:18.570 --> 00:06:20.900 align:start position:0%
same coin mover contract and we've
stripped<00:06:18.780><c> out</c><00:06:18.960><c> the</c><00:06:19.110><c> testing</c><00:06:19.470><c> mode</c><00:06:19.620><c> so</c><00:06:20.010><c> you're</c>

00:06:20.900 --> 00:06:20.910 align:start position:0%
stripped out the testing mode so you're
 

00:06:20.910 --> 00:06:23.330 align:start position:0%
stripped out the testing mode so you're
good<00:06:21.120><c> you</c><00:06:21.450><c> can</c><00:06:21.560><c> approve</c><00:06:22.560><c> this</c><00:06:22.800><c> contract</c>

00:06:23.330 --> 00:06:23.340 align:start position:0%
good you can approve this contract
 

00:06:23.340 --> 00:06:25.520 align:start position:0%
good you can approve this contract
you're<00:06:23.940><c> gonna</c><00:06:24.060><c> be</c><00:06:24.180><c> the</c><00:06:24.270><c> only</c><00:06:24.390><c> one</c><00:06:24.630><c> that's</c><00:06:25.260><c> able</c>

00:06:25.520 --> 00:06:25.530 align:start position:0%
you're gonna be the only one that's able
 

00:06:25.530 --> 00:06:28.580 align:start position:0%
you're gonna be the only one that's able
to<00:06:26.130><c> call</c><00:06:26.400><c> the</c><00:06:26.520><c> transfer</c><00:06:26.910><c> from</c><00:06:27.060><c> that</c><00:06:27.330><c> bit</c><00:06:27.590><c> we're</c>

00:06:28.580 --> 00:06:28.590 align:start position:0%
to call the transfer from that bit we're
 

00:06:28.590 --> 00:06:31.480 align:start position:0%
to call the transfer from that bit we're
all<00:06:28.740><c> set</c><00:06:29.100><c> we've</c><00:06:29.820><c> fixed</c><00:06:30.450><c> this</c><00:06:30.690><c> problem</c>

00:06:31.480 --> 00:06:31.490 align:start position:0%
all set we've fixed this problem
 

00:06:31.490 --> 00:06:35.630 align:start position:0%
all set we've fixed this problem
everyone<00:06:32.490><c> you</c><00:06:32.670><c> can</c><00:06:32.880><c> rest</c><00:06:33.090><c> easy</c><00:06:34.550><c> except</c><00:06:35.550><c> you</c>

00:06:35.630 --> 00:06:35.640 align:start position:0%
everyone you can rest easy except you
 

00:06:35.640 --> 00:06:38.860 align:start position:0%
everyone you can rest easy except you
can't<00:06:35.880><c> because</c><00:06:36.480><c> if</c><00:06:36.810><c> it</c><00:06:37.290><c> was</c><00:06:37.440><c> deployed</c><00:06:37.860><c> via</c>

00:06:38.860 --> 00:06:38.870 align:start position:0%
can't because if it was deployed via
 

00:06:38.870 --> 00:06:41.870 align:start position:0%
can't because if it was deployed via
some<00:06:39.870><c> of</c><00:06:39.960><c> these</c><00:06:40.020><c> tricky</c><00:06:40.380><c> methods</c><00:06:40.770><c> then</c><00:06:41.700><c> you're</c>

00:06:41.870 --> 00:06:41.880 align:start position:0%
some of these tricky methods then you're
 

00:06:41.880 --> 00:06:43.430 align:start position:0%
some of these tricky methods then you're
you're<00:06:42.270><c> backing</c><00:06:42.600><c> the</c><00:06:42.690><c> same</c><00:06:42.870><c> problem</c><00:06:43.260><c> where</c>

00:06:43.430 --> 00:06:43.440 align:start position:0%
you're backing the same problem where
 

00:06:43.440 --> 00:06:46.790 align:start position:0%
you're backing the same problem where
they<00:06:43.980><c> could</c><00:06:44.190><c> deploy</c><00:06:44.460><c> a</c><00:06:44.700><c> contract</c><00:06:45.270><c> vendors</c><00:06:45.800><c> can</c>

00:06:46.790 --> 00:06:46.800 align:start position:0%
they could deploy a contract vendors can
 

00:06:46.800 --> 00:06:49.220 align:start position:0%
they could deploy a contract vendors can
move<00:06:46.920><c> your</c><00:06:47.040><c> funds</c><00:06:47.280><c> again</c><00:06:47.550><c> and</c><00:06:47.760><c> the</c><00:06:48.300><c> phenomenon</c>

00:06:49.220 --> 00:06:49.230 align:start position:0%
move your funds again and the phenomenon
 

00:06:49.230 --> 00:06:52.670 align:start position:0%
move your funds again and the phenomenon
here<00:06:49.560><c> is</c><00:06:49.680><c> it</c><00:06:49.830><c> the</c><00:06:50.220><c> phrasing</c><00:06:51.180><c> I</c><00:06:51.500><c> started</c><00:06:52.500><c> using</c>

00:06:52.670 --> 00:06:52.680 align:start position:0%
here is it the phrasing I started using
 

00:06:52.680 --> 00:06:55.220 align:start position:0%
here is it the phrasing I started using
for<00:06:53.010><c> this</c><00:06:53.160><c> particular</c><00:06:53.640><c> type</c><00:06:54.360><c> of</c><00:06:54.390><c> redeployment</c>

00:06:55.220 --> 00:06:55.230 align:start position:0%
for this particular type of redeployment
 

00:06:55.230 --> 00:06:57.020 align:start position:0%
for this particular type of redeployment
where<00:06:55.800><c> you've</c><00:06:55.890><c> got</c><00:06:56.010><c> brand</c><00:06:56.250><c> new</c><00:06:56.340><c> code</c><00:06:56.670><c> coming</c>

00:06:57.020 --> 00:06:57.030 align:start position:0%
where you've got brand new code coming
 

00:06:57.030 --> 00:07:00.200 align:start position:0%
where you've got brand new code coming
in<00:06:57.150><c> it</c><00:06:57.270><c> is</c><00:06:57.450><c> metamorphism</c><00:06:58.940><c> there's</c><00:06:59.940><c> enough</c>

00:07:00.200 --> 00:07:00.210 align:start position:0%
in it is metamorphism there's enough
 

00:07:00.210 --> 00:07:02.300 align:start position:0%
in it is metamorphism there's enough
this<00:07:00.390><c> also</c><00:07:00.630><c> goes</c><00:07:01.320><c> by</c><00:07:01.530><c> like</c><00:07:01.680><c> malleable</c>

00:07:02.300 --> 00:07:02.310 align:start position:0%
this also goes by like malleable
 

00:07:02.310 --> 00:07:04.340 align:start position:0%
this also goes by like malleable
contracts<00:07:03.240><c> this</c><00:07:03.450><c> there's</c><00:07:03.840><c> a</c><00:07:03.900><c> few</c><00:07:04.080><c> different</c>

00:07:04.340 --> 00:07:04.350 align:start position:0%
contracts this there's a few different
 

00:07:04.350 --> 00:07:07.940 align:start position:0%
contracts this there's a few different
ways<00:07:04.380><c> of</c><00:07:04.680><c> describing</c><00:07:05.160><c> this</c><00:07:05.490><c> a</c><00:07:06.950><c> metamorphic</c>

00:07:07.940 --> 00:07:07.950 align:start position:0%
ways of describing this a metamorphic
 

00:07:07.950 --> 00:07:10.540 align:start position:0%
ways of describing this a metamorphic
contract<00:07:08.460><c> is</c><00:07:08.760><c> one</c><00:07:09.180><c> that</c><00:07:09.540><c> has</c>

00:07:10.540 --> 00:07:10.550 align:start position:0%
contract is one that has
 

00:07:10.550 --> 00:07:13.220 align:start position:0%
contract is one that has
non-deterministic<00:07:11.550><c> creation</c><00:07:12.300><c> code</c><00:07:12.540><c> so</c><00:07:13.200><c> you</c>

00:07:13.220 --> 00:07:13.230 align:start position:0%
non-deterministic creation code so you
 

00:07:13.230 --> 00:07:14.589 align:start position:0%
non-deterministic creation code so you
feed<00:07:13.590><c> it</c><00:07:13.740><c> the</c><00:07:13.860><c> same</c>

00:07:14.589 --> 00:07:14.599 align:start position:0%
feed it the same
 

00:07:14.599 --> 00:07:15.909 align:start position:0%
feed it the same
Dick's<00:07:14.779><c> creation</c><00:07:15.409><c> code</c><00:07:15.679><c> that</c><00:07:15.830><c> you're</c>

00:07:15.909 --> 00:07:15.919 align:start position:0%
Dick's creation code that you're
 

00:07:15.919 --> 00:07:19.629 align:start position:0%
Dick's creation code that you're
sourcing<00:07:16.550><c> but</c><00:07:17.919><c> how</c><00:07:18.919><c> you're</c><00:07:19.099><c> going</c><00:07:19.219><c> to</c><00:07:19.339><c> derive</c>

00:07:19.629 --> 00:07:19.639 align:start position:0%
sourcing but how you're going to derive
 

00:07:19.639 --> 00:07:21.669 align:start position:0%
sourcing but how you're going to derive
the<00:07:19.969><c> runtime</c><00:07:20.419><c> code</c><00:07:20.719><c> from</c><00:07:20.990><c> something</c><00:07:21.439><c> other</c>

00:07:21.669 --> 00:07:21.679 align:start position:0%
the runtime code from something other
 

00:07:21.679 --> 00:07:25.029 align:start position:0%
the runtime code from something other
than<00:07:22.069><c> that</c><00:07:22.729><c> creation</c><00:07:23.419><c> code</c><00:07:23.629><c> payload</c><00:07:24.199><c> so</c>

00:07:25.029 --> 00:07:25.039 align:start position:0%
than that creation code payload so
 

00:07:25.039 --> 00:07:27.579 align:start position:0%
than that creation code payload so
here's<00:07:25.249><c> the</c><00:07:25.459><c> basic</c><00:07:25.669><c> rules</c><00:07:26.270><c> of</c><00:07:26.479><c> how</c><00:07:26.899><c> this</c>

00:07:27.579 --> 00:07:27.589 align:start position:0%
here's the basic rules of how this
 

00:07:27.589 --> 00:07:30.519 align:start position:0%
here's the basic rules of how this
happens<00:07:28.099><c> first</c><00:07:28.520><c> off</c><00:07:28.789><c> you</c><00:07:29.419><c> have</c><00:07:29.449><c> to</c><00:07:29.929><c> destroy</c>

00:07:30.519 --> 00:07:30.529 align:start position:0%
happens first off you have to destroy
 

00:07:30.529 --> 00:07:32.379 align:start position:0%
happens first off you have to destroy
the<00:07:30.559><c> existing</c><00:07:31.039><c> contract</c><00:07:31.610><c> you</c><00:07:31.879><c> have</c><00:07:32.059><c> to</c><00:07:32.209><c> call</c>

00:07:32.379 --> 00:07:32.389 align:start position:0%
the existing contract you have to call
 

00:07:32.389 --> 00:07:36.100 align:start position:0%
the existing contract you have to call
self-destruct<00:07:33.080><c> on</c><00:07:33.819><c> second</c><00:07:34.819><c> you</c><00:07:35.629><c> have</c><00:07:35.839><c> to</c><00:07:35.990><c> use</c>

00:07:36.100 --> 00:07:36.110 align:start position:0%
self-destruct on second you have to use
 

00:07:36.110 --> 00:07:38.439 align:start position:0%
self-destruct on second you have to use
create<00:07:36.529><c> -</c><00:07:36.800><c> and</c><00:07:37.069><c> the</c><00:07:37.580><c> interesting</c><00:07:38.270><c> thing</c><00:07:38.389><c> about</c>

00:07:38.439 --> 00:07:38.449 align:start position:0%
create - and the interesting thing about
 

00:07:38.449 --> 00:07:40.089 align:start position:0%
create - and the interesting thing about
this<00:07:38.719><c> is</c><00:07:38.899><c> it</c><00:07:39.050><c> doesn't</c><00:07:39.229><c> have</c><00:07:39.379><c> to</c><00:07:39.619><c> be</c><00:07:39.740><c> deployed</c>

00:07:40.089 --> 00:07:40.099 align:start position:0%
this is it doesn't have to be deployed
 

00:07:40.099 --> 00:07:43.409 align:start position:0%
this is it doesn't have to be deployed
directly<00:07:40.550><c> from</c><00:07:40.879><c> creating</c><00:07:41.389><c> -</c><00:07:41.569><c> because</c><00:07:42.559><c> and</c>

00:07:43.409 --> 00:07:43.419 align:start position:0%
directly from creating - because and
 

00:07:43.419 --> 00:07:46.510 align:start position:0%
directly from creating - because and
anywhere<00:07:44.419><c> along</c><00:07:44.659><c> the</c><00:07:44.869><c> chain</c><00:07:45.139><c> some</c><00:07:45.860><c> contract</c>

00:07:46.510 --> 00:07:46.520 align:start position:0%
anywhere along the chain some contract
 

00:07:46.520 --> 00:07:48.929 align:start position:0%
anywhere along the chain some contract
uses<00:07:47.509><c> created</c><00:07:47.869><c> -</c><00:07:48.020><c> and</c><00:07:48.050><c> then</c><00:07:48.289><c> all</c><00:07:48.529><c> those</c>

00:07:48.929 --> 00:07:48.939 align:start position:0%
uses created - and then all those
 

00:07:48.939 --> 00:07:51.100 align:start position:0%
uses created - and then all those
intermediate<00:07:49.939><c> contracts</c><00:07:50.419><c> get</c><00:07:50.569><c> destroyed</c>

00:07:51.100 --> 00:07:51.110 align:start position:0%
intermediate contracts get destroyed
 

00:07:51.110 --> 00:07:53.760 align:start position:0%
intermediate contracts get destroyed
that<00:07:51.680><c> you</c><00:07:51.860><c> can</c><00:07:52.039><c> redeploy</c><00:07:52.339><c> all</c><00:07:52.639><c> the</c><00:07:52.789><c> way</c><00:07:52.909><c> up</c>

00:07:53.760 --> 00:07:53.770 align:start position:0%
that you can redeploy all the way up
 

00:07:53.770 --> 00:07:56.469 align:start position:0%
that you can redeploy all the way up
third<00:07:54.800><c> the</c><00:07:55.430><c> deployment</c><00:07:55.699><c> address</c><00:07:56.240><c> the</c>

00:07:56.469 --> 00:07:56.479 align:start position:0%
third the deployment address the
 

00:07:56.479 --> 00:07:58.809 align:start position:0%
third the deployment address the
creation<00:07:56.959><c> code</c><00:07:57.199><c> and</c><00:07:57.619><c> the</c><00:07:57.830><c> salt</c><00:07:58.099><c> can't</c><00:07:58.520><c> change</c>

00:07:58.809 --> 00:07:58.819 align:start position:0%
creation code and the salt can't change
 

00:07:58.819 --> 00:07:59.889 align:start position:0%
creation code and the salt can't change
because<00:07:59.180><c> otherwise</c><00:07:59.389><c> you're</c><00:07:59.599><c> going</c><00:07:59.629><c> to</c><00:07:59.749><c> have</c><00:07:59.809><c> a</c>

00:07:59.889 --> 00:07:59.899 align:start position:0%
because otherwise you're going to have a
 

00:07:59.899 --> 00:08:03.070 align:start position:0%
because otherwise you're going to have a
new<00:08:00.110><c> address</c><00:08:00.319><c> and</c><00:08:01.189><c> lastly</c><00:08:01.580><c> once</c><00:08:02.509><c> those</c><00:08:02.719><c> three</c>

00:08:03.070 --> 00:08:03.080 align:start position:0%
new address and lastly once those three
 

00:08:03.080 --> 00:08:06.699 align:start position:0%
new address and lastly once those three
rules<00:08:03.319><c> are</c><00:08:03.589><c> are</c><00:08:04.689><c> adhered</c><00:08:05.689><c> to</c><00:08:05.749><c> anything</c><00:08:06.499><c> is</c>

00:08:06.699 --> 00:08:06.709 align:start position:0%
rules are are adhered to anything is
 

00:08:06.709 --> 00:08:09.579 align:start position:0%
rules are are adhered to anything is
fair<00:08:07.039><c> game</c><00:08:07.099><c> and</c><00:08:07.610><c> is</c><00:08:07.729><c> good</c><00:08:07.939><c> so</c><00:08:08.809><c> let's</c><00:08:09.439><c> talk</c>

00:08:09.579 --> 00:08:09.589 align:start position:0%
fair game and is good so let's talk
 

00:08:09.589 --> 00:08:11.980 align:start position:0%
fair game and is good so let's talk
about<00:08:09.649><c> some</c><00:08:10.039><c> of</c><00:08:10.069><c> the</c><00:08:10.369><c> main</c><00:08:11.269><c> ways</c><00:08:11.569><c> that</c><00:08:11.869><c> this</c>

00:08:11.980 --> 00:08:11.990 align:start position:0%
about some of the main ways that this
 

00:08:11.990 --> 00:08:15.070 align:start position:0%
about some of the main ways that this
would<00:08:12.229><c> work</c><00:08:12.379><c> first</c><00:08:13.159><c> off</c><00:08:13.399><c> a</c><00:08:14.080><c> straightforward</c>

00:08:15.070 --> 00:08:15.080 align:start position:0%
would work first off a straightforward
 

00:08:15.080 --> 00:08:16.899 align:start position:0%
would work first off a straightforward
way<00:08:15.139><c> to</c><00:08:15.169><c> do</c><00:08:15.439><c> this</c><00:08:15.589><c> is</c><00:08:15.769><c> to</c><00:08:15.919><c> go</c><00:08:16.039><c> slow</c><00:08:16.279><c> man</c><00:08:16.610><c> under</c>

00:08:16.899 --> 00:08:16.909 align:start position:0%
way to do this is to go slow man under
 

00:08:16.909 --> 00:08:20.230 align:start position:0%
way to do this is to go slow man under
contract<00:08:17.389><c> so</c><00:08:18.459><c> what</c><00:08:19.459><c> I</c><00:08:19.490><c> could</c><00:08:19.729><c> do</c><00:08:19.879><c> is</c><00:08:20.059><c> I</c><00:08:20.180><c> can</c>

00:08:20.230 --> 00:08:20.240 align:start position:0%
contract so what I could do is I can
 

00:08:20.240 --> 00:08:22.509 align:start position:0%
contract so what I could do is I can
store<00:08:20.839><c> the</c><00:08:21.110><c> address</c><00:08:21.259><c> that</c><00:08:21.830><c> I</c><00:08:21.949><c> want</c><00:08:22.159><c> to</c><00:08:22.249><c> clone</c>

00:08:22.509 --> 00:08:22.519 align:start position:0%
store the address that I want to clone
 

00:08:22.519 --> 00:08:26.859 align:start position:0%
store the address that I want to clone
in<00:08:22.909><c> contract</c><00:08:23.719><c> storage</c><00:08:24.110><c> and</c><00:08:24.409><c> then</c><00:08:24.949><c> my</c><00:08:25.869><c> creation</c>

00:08:26.859 --> 00:08:26.869 align:start position:0%
in contract storage and then my creation
 

00:08:26.869 --> 00:08:29.170 align:start position:0%
in contract storage and then my creation
code<00:08:27.080><c> is</c><00:08:27.529><c> going</c><00:08:27.709><c> to</c><00:08:27.769><c> go</c><00:08:27.889><c> get</c><00:08:28.249><c> that</c><00:08:28.399><c> address</c><00:08:28.909><c> and</c>

00:08:29.170 --> 00:08:29.180 align:start position:0%
code is going to go get that address and
 

00:08:29.180 --> 00:08:31.659 align:start position:0%
code is going to go get that address and
clone<00:08:30.050><c> the</c><00:08:30.079><c> contract</c><00:08:30.709><c> now</c><00:08:31.039><c> this</c><00:08:31.219><c> has</c><00:08:31.369><c> some</c>

00:08:31.659 --> 00:08:31.669 align:start position:0%
clone the contract now this has some
 

00:08:31.669 --> 00:08:33.490 align:start position:0%
clone the contract now this has some
limitations<00:08:32.269><c> you</c><00:08:32.389><c> can't</c><00:08:32.630><c> use</c><00:08:32.810><c> a</c><00:08:32.839><c> constructor</c>

00:08:33.490 --> 00:08:33.500 align:start position:0%
limitations you can't use a constructor
 

00:08:33.500 --> 00:08:36.550 align:start position:0%
limitations you can't use a constructor
sort<00:08:33.949><c> of</c><00:08:34.039><c> like</c><00:08:34.219><c> with</c><00:08:34.959><c> common</c><00:08:35.959><c> upgradability</c>

00:08:36.550 --> 00:08:36.560 align:start position:0%
sort of like with common upgradability
 

00:08:36.560 --> 00:08:37.870 align:start position:0%
sort of like with common upgradability
patterns<00:08:36.979><c> you</c><00:08:37.069><c> have</c><00:08:37.099><c> to</c><00:08:37.339><c> call</c><00:08:37.579><c> into</c><00:08:37.729><c> an</c>

00:08:37.870 --> 00:08:37.880 align:start position:0%
patterns you have to call into an
 

00:08:37.880 --> 00:08:40.779 align:start position:0%
patterns you have to call into an
initializer<00:08:39.009><c> another</c><00:08:40.009><c> way</c><00:08:40.159><c> to</c><00:08:40.219><c> do</c><00:08:40.459><c> it</c><00:08:40.610><c> is</c>

00:08:40.779 --> 00:08:40.789 align:start position:0%
initializer another way to do it is
 

00:08:40.789 --> 00:08:43.089 align:start position:0%
initializer another way to do it is
using<00:08:41.240><c> what</c><00:08:41.360><c> I</c><00:08:41.389><c> call</c><00:08:41.449><c> a</c><00:08:41.659><c> transient</c><00:08:42.380><c> deploy</c><00:08:42.769><c> and</c>

00:08:43.089 --> 00:08:43.099 align:start position:0%
using what I call a transient deploy and
 

00:08:43.099 --> 00:08:45.699 align:start position:0%
using what I call a transient deploy and
the<00:08:43.849><c> transit</c><00:08:44.269><c> deployer</c><00:08:44.569><c> is</c><00:08:45.199><c> going</c><00:08:45.500><c> to</c><00:08:45.560><c> use</c>

00:08:45.699 --> 00:08:45.709 align:start position:0%
the transit deployer is going to use
 

00:08:45.709 --> 00:08:46.900 align:start position:0%
the transit deployer is going to use
this<00:08:45.889><c> trick</c><00:08:46.130><c> where</c><00:08:46.339><c> it's</c><00:08:46.490><c> going</c><00:08:46.639><c> to</c><00:08:46.699><c> rather</c>

00:08:46.900 --> 00:08:46.910 align:start position:0%
this trick where it's going to rather
 

00:08:46.910 --> 00:08:48.280 align:start position:0%
this trick where it's going to rather
than<00:08:47.029><c> getting</c><00:08:47.269><c> if</c><00:08:47.389><c> an</c><00:08:47.540><c> address</c><00:08:47.720><c> it's</c><00:08:48.019><c> gonna</c><00:08:48.110><c> go</c>

00:08:48.280 --> 00:08:48.290 align:start position:0%
than getting if an address it's gonna go
 

00:08:48.290 --> 00:08:50.019 align:start position:0%
than getting if an address it's gonna go
get<00:08:48.500><c> the</c><00:08:48.649><c> actual</c><00:08:48.800><c> creation</c><00:08:49.430><c> code</c><00:08:49.610><c> that</c><00:08:49.790><c> wants</c>

00:08:50.019 --> 00:08:50.029 align:start position:0%
get the actual creation code that wants
 

00:08:50.029 --> 00:08:52.059 align:start position:0%
get the actual creation code that wants
to<00:08:50.060><c> deploy</c><00:08:50.420><c> that</c><00:08:50.990><c> it's</c><00:08:51.170><c> gonna</c><00:08:51.319><c> deploy</c><00:08:51.709><c> its</c><00:08:51.920><c> own</c>

00:08:52.059 --> 00:08:52.069 align:start position:0%
to deploy that it's gonna deploy its own
 

00:08:52.069 --> 00:08:56.139 align:start position:0%
to deploy that it's gonna deploy its own
contract<00:08:52.730><c> via</c><00:08:52.970><c> create</c><00:08:53.680><c> using</c><00:08:54.680><c> that</c><00:08:55.149><c> creation</c>

00:08:56.139 --> 00:08:56.149 align:start position:0%
contract via create using that creation
 

00:08:56.149 --> 00:08:57.699 align:start position:0%
contract via create using that creation
code<00:08:56.329><c> and</c><00:08:56.569><c> create</c><00:08:56.930><c> doesn't</c><00:08:57.350><c> have</c><00:08:57.439><c> the</c><00:08:57.560><c> same</c>

00:08:57.699 --> 00:08:57.709 align:start position:0%
code and create doesn't have the same
 

00:08:57.709 --> 00:09:00.100 align:start position:0%
code and create doesn't have the same
limitations<00:08:58.130><c> on</c><00:08:58.639><c> being</c><00:08:58.699><c> you</c><00:08:59.360><c> can</c><00:08:59.509><c> change</c><00:08:59.779><c> the</c>

00:09:00.100 --> 00:09:00.110 align:start position:0%
limitations on being you can change the
 

00:09:00.110 --> 00:09:02.439 align:start position:0%
limitations on being you can change the
creation<00:09:00.769><c> code</c><00:09:00.889><c> all</c><00:09:01.040><c> you</c><00:09:01.189><c> want</c><00:09:01.370><c> but</c><00:09:02.089><c> then</c><00:09:02.269><c> if</c>

00:09:02.439 --> 00:09:02.449 align:start position:0%
creation code all you want but then if
 

00:09:02.449 --> 00:09:05.620 align:start position:0%
creation code all you want but then if
if<00:09:02.689><c> the</c><00:09:03.759><c> transient</c><00:09:04.759><c> contract</c><00:09:05.180><c> immediately</c>

00:09:05.620 --> 00:09:05.630 align:start position:0%
if the transient contract immediately
 

00:09:05.630 --> 00:09:07.840 align:start position:0%
if the transient contract immediately
destroys<00:09:06.259><c> itself</c><00:09:06.560><c> after</c><00:09:06.800><c> it's</c><00:09:07.069><c> done</c><00:09:07.250><c> so</c><00:09:07.759><c> then</c>

00:09:07.840 --> 00:09:07.850 align:start position:0%
destroys itself after it's done so then
 

00:09:07.850 --> 00:09:10.050 align:start position:0%
destroys itself after it's done so then
if<00:09:07.939><c> you</c><00:09:08.029><c> want</c><00:09:08.180><c> to</c><00:09:08.209><c> go</c><00:09:08.300><c> back</c><00:09:08.480><c> and</c><00:09:08.660><c> redeploy</c>

00:09:10.050 --> 00:09:10.060 align:start position:0%
if you want to go back and redeploy
 

00:09:10.060 --> 00:09:13.389 align:start position:0%
if you want to go back and redeploy
remember<00:09:11.060><c> the</c><00:09:11.180><c> nonce</c><00:09:11.480><c> of</c><00:09:11.930><c> that</c><00:09:12.800><c> contract</c><00:09:13.220><c> is</c>

00:09:13.389 --> 00:09:13.399 align:start position:0%
remember the nonce of that contract is
 

00:09:13.399 --> 00:09:16.540 align:start position:0%
remember the nonce of that contract is
reset<00:09:13.850><c> so</c><00:09:14.389><c> create</c><00:09:15.319><c> is</c><00:09:15.560><c> going</c><00:09:15.769><c> to</c><00:09:15.829><c> hit</c><00:09:16.220><c> the</c><00:09:16.339><c> same</c>

00:09:16.540 --> 00:09:16.550 align:start position:0%
reset so create is going to hit the same
 

00:09:16.550 --> 00:09:19.900 align:start position:0%
reset so create is going to hit the same
ad<00:09:16.730><c> that's</c><00:09:16.970><c> again</c><00:09:17.290><c> this</c><00:09:18.290><c> has</c><00:09:18.829><c> the</c><00:09:18.980><c> limitation</c>

00:09:19.900 --> 00:09:19.910 align:start position:0%
ad that's again this has the limitation
 

00:09:19.910 --> 00:09:23.200 align:start position:0%
ad that's again this has the limitation
you<00:09:20.210><c> want</c><00:09:20.360><c> to</c><00:09:20.420><c> do</c><00:09:20.540><c> this</c><00:09:20.690><c> there's</c><00:09:21.230><c> two</c><00:09:22.210><c> contract</c>

00:09:23.200 --> 00:09:23.210 align:start position:0%
you want to do this there's two contract
 

00:09:23.210 --> 00:09:25.810 align:start position:0%
you want to do this there's two contract
appoints<00:09:23.600><c> so</c><00:09:24.140><c> there's</c><00:09:24.500><c> some</c><00:09:24.680><c> overhead</c><00:09:25.100><c> but</c>

00:09:25.810 --> 00:09:25.820 align:start position:0%
appoints so there's some overhead but
 

00:09:25.820 --> 00:09:27.850 align:start position:0%
appoints so there's some overhead but
it's<00:09:25.970><c> a</c><00:09:26.060><c> way</c><00:09:26.210><c> to</c><00:09:26.240><c> do</c><00:09:26.540><c> it</c><00:09:26.660><c> and</c><00:09:26.870><c> more</c><00:09:27.320><c> flexible</c>

00:09:27.850 --> 00:09:27.860 align:start position:0%
it's a way to do it and more flexible
 

00:09:27.860 --> 00:09:30.610 align:start position:0%
it's a way to do it and more flexible
fashion<00:09:28.070><c> and</c><00:09:28.490><c> support</c><00:09:28.790><c> constructors</c><00:09:29.620><c> finally</c>

00:09:30.610 --> 00:09:30.620 align:start position:0%
fashion and support constructors finally
 

00:09:30.620 --> 00:09:32.980 align:start position:0%
fashion and support constructors finally
my<00:09:30.830><c> personal</c><00:09:31.550><c> favorite</c><00:09:31.940><c> pattern</c><00:09:32.390><c> for</c><00:09:32.630><c> this</c><00:09:32.780><c> I</c>

00:09:32.980 --> 00:09:32.990 align:start position:0%
my personal favorite pattern for this I
 

00:09:32.990 --> 00:09:35.380 align:start position:0%
my personal favorite pattern for this I
call<00:09:33.590><c> the</c><00:09:33.680><c> metamorphic</c><00:09:34.400><c> delegator</c><00:09:34.940><c> pattern</c>

00:09:35.380 --> 00:09:35.390 align:start position:0%
call the metamorphic delegator pattern
 

00:09:35.390 --> 00:09:37.600 align:start position:0%
call the metamorphic delegator pattern
I'm<00:09:36.080><c> going</c><00:09:36.260><c> to</c><00:09:36.320><c> what</c><00:09:36.560><c> you</c><00:09:36.650><c> do</c><00:09:36.770><c> here</c><00:09:37.130><c> is</c><00:09:37.280><c> you</c><00:09:37.460><c> can</c>

00:09:37.600 --> 00:09:37.610 align:start position:0%
I'm going to what you do here is you can
 

00:09:37.610 --> 00:09:39.550 align:start position:0%
I'm going to what you do here is you can
actually<00:09:37.670><c> take</c><00:09:37.940><c> your</c><00:09:38.180><c> target</c><00:09:38.810><c> creation</c><00:09:39.320><c> code</c>

00:09:39.550 --> 00:09:39.560 align:start position:0%
actually take your target creation code
 

00:09:39.560 --> 00:09:42.990 align:start position:0%
actually take your target creation code
and<00:09:39.830><c> you</c><00:09:40.310><c> put</c><00:09:40.610><c> it</c><00:09:40.730><c> into</c><00:09:41.030><c> the</c><00:09:41.450><c> runtime</c><00:09:42.020><c> code</c><00:09:42.440><c> of</c>

00:09:42.990 --> 00:09:43.000 align:start position:0%
and you put it into the runtime code of
 

00:09:43.000 --> 00:09:46.690 align:start position:0%
and you put it into the runtime code of
another<00:09:44.000><c> contract</c><00:09:44.870><c> then</c><00:09:45.350><c> when</c><00:09:46.220><c> you</c><00:09:46.340><c> deploy</c>

00:09:46.690 --> 00:09:46.700 align:start position:0%
another contract then when you deploy
 

00:09:46.700 --> 00:09:49.660 align:start position:0%
another contract then when you deploy
this<00:09:47.150><c> metamorphic</c><00:09:47.900><c> contract</c><00:09:48.440><c> it's</c><00:09:49.340><c> going</c><00:09:49.610><c> to</c>

00:09:49.660 --> 00:09:49.670 align:start position:0%
this metamorphic contract it's going to
 

00:09:49.670 --> 00:09:52.750 align:start position:0%
this metamorphic contract it's going to
delegate<00:09:50.180><c> call</c><00:09:50.450><c> into</c><00:09:51.080><c> that</c><00:09:51.110><c> that</c><00:09:51.920><c> creation</c>

00:09:52.750 --> 00:09:52.760 align:start position:0%
delegate call into that that creation
 

00:09:52.760 --> 00:09:55.900 align:start position:0%
delegate call into that that creation
code<00:09:52.940><c> in</c><00:09:53.120><c> runtime</c><00:09:53.570><c> code</c><00:09:53.840><c> contract</c><00:09:54.530><c> and</c><00:09:54.910><c> it'll</c>

00:09:55.900 --> 00:09:55.910 align:start position:0%
code in runtime code contract and it'll
 

00:09:55.910 --> 00:09:58.930 align:start position:0%
code in runtime code contract and it'll
set<00:09:56.570><c> up</c><00:09:56.600><c> all</c><00:09:56.960><c> the</c><00:09:57.560><c> initialization</c><00:09:58.250><c> stuff</c><00:09:58.820><c> in</c>

00:09:58.930 --> 00:09:58.940 align:start position:0%
set up all the initialization stuff in
 

00:09:58.940 --> 00:10:01.680 align:start position:0%
set up all the initialization stuff in
the<00:09:59.000><c> constructor</c><00:09:59.540><c> and</c><00:09:59.810><c> then</c><00:10:00.140><c> return</c><00:10:00.680><c> your</c>

00:10:01.680 --> 00:10:01.690 align:start position:0%
the constructor and then return your
 

00:10:01.690 --> 00:10:04.930 align:start position:0%
the constructor and then return your
target<00:10:02.690><c> code</c><00:10:02.900><c> which</c><00:10:03.860><c> had</c><00:10:04.040><c> been</c><00:10:04.280><c> rights</c><00:10:04.670><c> to</c><00:10:04.820><c> my</c>

00:10:04.930 --> 00:10:04.940 align:start position:0%
target code which had been rights to my
 

00:10:04.940 --> 00:10:08.260 align:start position:0%
target code which had been rights to my
time<00:10:05.320><c> so</c><00:10:06.320><c> first</c><00:10:06.920><c> let's</c><00:10:07.160><c> look</c><00:10:07.250><c> at</c><00:10:07.640><c> what</c><00:10:07.880><c> a</c>

00:10:08.260 --> 00:10:08.270 align:start position:0%
time so first let's look at what a
 

00:10:08.270 --> 00:10:10.780 align:start position:0%
time so first let's look at what a
cloner<00:10:08.780><c> might</c><00:10:09.110><c> look</c><00:10:09.290><c> like</c><00:10:09.610><c> this</c><00:10:10.610><c> is</c><00:10:10.760><c> a</c>

00:10:10.780 --> 00:10:10.790 align:start position:0%
cloner might look like this is a
 

00:10:10.790 --> 00:10:14.380 align:start position:0%
cloner might look like this is a
standard<00:10:11.780><c> non</c><00:10:12.310><c> metamorphic</c><00:10:13.310><c> loner</c><00:10:13.520><c> where</c><00:10:14.180><c> the</c>

00:10:14.380 --> 00:10:14.390 align:start position:0%
standard non metamorphic loner where the
 

00:10:14.390 --> 00:10:16.690 align:start position:0%
standard non metamorphic loner where the
creation<00:10:15.170><c> code</c><00:10:15.290><c> changes</c><00:10:15.800><c> this</c><00:10:16.220><c> is</c><00:10:16.340><c> just</c><00:10:16.550><c> going</c>

00:10:16.690 --> 00:10:16.700 align:start position:0%
creation code changes this is just going
 

00:10:16.700 --> 00:10:19.630 align:start position:0%
creation code changes this is just going
to<00:10:16.760><c> take</c><00:10:17.600><c> our</c><00:10:18.230><c> target</c><00:10:18.800><c> and</c><00:10:19.040><c> put</c><00:10:19.400><c> it</c><00:10:19.460><c> on</c><00:10:19.550><c> the</c>

00:10:19.630 --> 00:10:19.640 align:start position:0%
to take our target and put it on the
 

00:10:19.640 --> 00:10:23.290 align:start position:0%
to take our target and put it on the
stack<00:10:19.880><c> and</c><00:10:19.910><c> then</c><00:10:20.270><c> copy</c><00:10:20.960><c> the</c><00:10:21.140><c> code</c><00:10:21.320><c> and</c><00:10:22.150><c> this</c><00:10:23.150><c> is</c>

00:10:23.290 --> 00:10:23.300 align:start position:0%
stack and then copy the code and this is
 

00:10:23.300 --> 00:10:26.110 align:start position:0%
stack and then copy the code and this is
what<00:10:23.750><c> a</c><00:10:23.780><c> factory</c><00:10:24.530><c> that</c><00:10:24.560><c> spits</c><00:10:25.460><c> out</c><00:10:25.580><c> that</c><00:10:25.820><c> clone</c>

00:10:26.110 --> 00:10:26.120 align:start position:0%
what a factory that spits out that clone
 

00:10:26.120 --> 00:10:28.870 align:start position:0%
what a factory that spits out that clone
might<00:10:26.390><c> look</c><00:10:26.600><c> like</c><00:10:26.660><c> as</c><00:10:27.170><c> you</c><00:10:27.800><c> can</c><00:10:28.010><c> see</c><00:10:28.220><c> our</c>

00:10:28.870 --> 00:10:28.880 align:start position:0%
might look like as you can see our
 

00:10:28.880 --> 00:10:31.240 align:start position:0%
might look like as you can see our
creation<00:10:29.780><c> code</c><00:10:29.900><c> is</c><00:10:29.990><c> gonna</c><00:10:30.080><c> change</c><00:10:30.440><c> so</c><00:10:30.890><c> if</c><00:10:31.130><c> we</c>

00:10:31.240 --> 00:10:31.250 align:start position:0%
creation code is gonna change so if we
 

00:10:31.250 --> 00:10:32.890 align:start position:0%
creation code is gonna change so if we
try<00:10:31.400><c> to</c><00:10:31.490><c> clone</c><00:10:31.880><c> a</c><00:10:31.910><c> new</c><00:10:32.030><c> address</c><00:10:32.390><c> it's</c><00:10:32.750><c> not</c>

00:10:32.890 --> 00:10:32.900 align:start position:0%
try to clone a new address it's not
 

00:10:32.900 --> 00:10:35.020 align:start position:0%
try to clone a new address it's not
going<00:10:33.050><c> to</c><00:10:33.110><c> work</c><00:10:33.290><c> so</c><00:10:33.620><c> here's</c><00:10:34.160><c> a</c><00:10:34.220><c> metamorphic</c>

00:10:35.020 --> 00:10:35.030 align:start position:0%
going to work so here's a metamorphic
 

00:10:35.030 --> 00:10:37.780 align:start position:0%
going to work so here's a metamorphic
version<00:10:35.600><c> of</c><00:10:35.900><c> that</c><00:10:36.200><c> clone</c><00:10:36.560><c> army</c><00:10:36.860><c> and</c><00:10:37.070><c> what</c><00:10:37.640><c> this</c>

00:10:37.780 --> 00:10:37.790 align:start position:0%
version of that clone army and what this
 

00:10:37.790 --> 00:10:39.970 align:start position:0%
version of that clone army and what this
is<00:10:37.910><c> going</c><00:10:38.030><c> to</c><00:10:38.090><c> do</c><00:10:38.360><c> is</c><00:10:38.630><c> we</c><00:10:38.780><c> store</c><00:10:39.200><c> the</c><00:10:39.590><c> address</c>

00:10:39.970 --> 00:10:39.980 align:start position:0%
is going to do is we store the address
 

00:10:39.980 --> 00:10:41.710 align:start position:0%
is going to do is we store the address
you<00:10:40.070><c> want</c><00:10:40.160><c> to</c><00:10:40.280><c> clone</c><00:10:40.490><c> on</c><00:10:40.700><c> the</c><00:10:40.910><c> factory</c><00:10:41.510><c> and</c>

00:10:41.710 --> 00:10:41.720 align:start position:0%
you want to clone on the factory and
 

00:10:41.720 --> 00:10:44.110 align:start position:0%
you want to clone on the factory and
then<00:10:41.960><c> this</c><00:10:42.440><c> calls</c><00:10:42.770><c> into</c><00:10:43.190><c> the</c><00:10:43.370><c> fall</c><00:10:43.610><c> back</c><00:10:43.820><c> on</c>

00:10:44.110 --> 00:10:44.120 align:start position:0%
then this calls into the fall back on
 

00:10:44.120 --> 00:10:46.990 align:start position:0%
then this calls into the fall back on
the<00:10:44.930><c> contract</c><00:10:45.350><c> it</c><00:10:45.470><c> deploys</c><00:10:45.740><c> it</c><00:10:46.010><c> does</c><00:10:46.580><c> a</c><00:10:46.610><c> static</c>

00:10:46.990 --> 00:10:47.000 align:start position:0%
the contract it deploys it does a static
 

00:10:47.000 --> 00:10:48.760 align:start position:0%
the contract it deploys it does a static
column<00:10:47.180><c> gets</c><00:10:47.450><c> that</c><00:10:47.690><c> address</c><00:10:48.050><c> and</c><00:10:48.200><c> then</c><00:10:48.320><c> uses</c>

00:10:48.760 --> 00:10:48.770 align:start position:0%
column gets that address and then uses
 

00:10:48.770 --> 00:10:52.400 align:start position:0%
column gets that address and then uses
that<00:10:48.800><c> to</c><00:10:50.080><c> copy</c><00:10:51.080><c> the</c><00:10:51.530><c> code</c>

00:10:52.400 --> 00:10:52.410 align:start position:0%
that to copy the code
 

00:10:52.410 --> 00:10:54.680 align:start position:0%
that to copy the code
contract<00:10:52.980><c> and</c><00:10:53.699><c> this</c><00:10:54.060><c> is</c><00:10:54.209><c> what</c><00:10:54.360><c> that</c><00:10:54.389><c> might</c>

00:10:54.680 --> 00:10:54.690 align:start position:0%
contract and this is what that might
 

00:10:54.690 --> 00:10:56.900 align:start position:0%
contract and this is what that might
look<00:10:54.720><c> like</c><00:10:54.870><c> it</c><00:10:55.170><c> does</c><00:10:55.319><c> simply</c><00:10:55.709><c> fall</c><00:10:55.920><c> back</c><00:10:56.160><c> that</c>

00:10:56.900 --> 00:10:56.910 align:start position:0%
look like it does simply fall back that
 

00:10:56.910 --> 00:11:00.499 align:start position:0%
look like it does simply fall back that
is<00:10:57.300><c> just</c><00:10:57.509><c> going</c><00:10:57.690><c> to</c><00:10:58.129><c> grab</c><00:10:59.129><c> the</c><00:10:59.430><c> target</c><00:11:00.389><c> address</c>

00:11:00.499 --> 00:11:00.509 align:start position:0%
is just going to grab the target address
 

00:11:00.509 --> 00:11:04.100 align:start position:0%
is just going to grab the target address
and<00:11:01.050><c> storage</c><00:11:01.500><c> and</c><00:11:01.769><c> give</c><00:11:02.430><c> it</c><00:11:02.519><c> back</c><00:11:02.779><c> so</c><00:11:03.779><c> then</c><00:11:03.990><c> you</c>

00:11:04.100 --> 00:11:04.110 align:start position:0%
and storage and give it back so then you
 

00:11:04.110 --> 00:11:05.629 align:start position:0%
and storage and give it back so then you
can<00:11:04.259><c> see</c><00:11:04.440><c> here</c><00:11:04.649><c> your</c><00:11:04.889><c> reasonable</c><00:11:05.310><c> never</c>

00:11:05.629 --> 00:11:05.639 align:start position:0%
can see here your reasonable never
 

00:11:05.639 --> 00:11:07.970 align:start position:0%
can see here your reasonable never
changes<00:11:06.180><c> but</c><00:11:06.720><c> every</c><00:11:06.959><c> time</c><00:11:07.139><c> you</c><00:11:07.319><c> call</c><00:11:07.470><c> this</c><00:11:07.680><c> as</c>

00:11:07.970 --> 00:11:07.980 align:start position:0%
changes but every time you call this as
 

00:11:07.980 --> 00:11:09.920 align:start position:0%
changes but every time you call this as
long<00:11:08.250><c> as</c><00:11:08.370><c> we</c><00:11:08.490><c> can</c><00:11:08.670><c> destroy</c><00:11:09.269><c> it</c><00:11:09.329><c> an</c><00:11:09.509><c> existing</c>

00:11:09.920 --> 00:11:09.930 align:start position:0%
long as we can destroy it an existing
 

00:11:09.930 --> 00:11:13.369 align:start position:0%
long as we can destroy it an existing
clone<00:11:10.230><c> we</c><00:11:11.009><c> can</c><00:11:11.160><c> keep</c><00:11:11.339><c> adding</c><00:11:12.199><c> upgrading</c><00:11:13.199><c> to</c>

00:11:13.369 --> 00:11:13.379 align:start position:0%
clone we can keep adding upgrading to
 

00:11:13.379 --> 00:11:17.809 align:start position:0%
clone we can keep adding upgrading to
new<00:11:13.970><c> cloned</c><00:11:14.970><c> contracts</c><00:11:16.579><c> let's</c><00:11:17.579><c> look</c><00:11:17.699><c> at</c><00:11:17.759><c> the</c>

00:11:17.809 --> 00:11:17.819 align:start position:0%
new cloned contracts let's look at the
 

00:11:17.819 --> 00:11:19.670 align:start position:0%
new cloned contracts let's look at the
transient<00:11:18.240><c> deployment</c><00:11:19.050><c> this</c><00:11:19.170><c> is</c><00:11:19.230><c> a</c><00:11:19.410><c> little</c>

00:11:19.670 --> 00:11:19.680 align:start position:0%
transient deployment this is a little
 

00:11:19.680 --> 00:11:21.710 align:start position:0%
transient deployment this is a little
more<00:11:19.829><c> involved</c><00:11:20.149><c> but</c><00:11:21.149><c> what</c><00:11:21.389><c> we're</c><00:11:21.540><c> basically</c>

00:11:21.710 --> 00:11:21.720 align:start position:0%
more involved but what we're basically
 

00:11:21.720 --> 00:11:23.480 align:start position:0%
more involved but what we're basically
going<00:11:21.959><c> to</c><00:11:22.019><c> do</c><00:11:22.199><c> here</c><00:11:22.410><c> is</c><00:11:22.649><c> we're</c><00:11:22.860><c> going</c><00:11:22.949><c> to</c><00:11:23.009><c> call</c>

00:11:23.480 --> 00:11:23.490 align:start position:0%
going to do here is we're going to call
 

00:11:23.490 --> 00:11:25.819 align:start position:0%
going to do here is we're going to call
in<00:11:23.730><c> to</c><00:11:24.060><c> the</c><00:11:24.089><c> fallback</c><00:11:24.360><c> same</c><00:11:24.870><c> thing</c><00:11:25.199><c> but</c><00:11:25.709><c> we're</c>

00:11:25.819 --> 00:11:25.829 align:start position:0%
in to the fallback same thing but we're
 

00:11:25.829 --> 00:11:26.900 align:start position:0%
in to the fallback same thing but we're
not<00:11:25.949><c> going</c><00:11:26.069><c> to</c><00:11:26.100><c> add</c><00:11:26.310><c> this</c><00:11:26.430><c> we're</c><00:11:26.610><c> getting</c><00:11:26.790><c> the</c>

00:11:26.900 --> 00:11:26.910 align:start position:0%
not going to add this we're getting the
 

00:11:26.910 --> 00:11:29.689 align:start position:0%
not going to add this we're getting the
creation<00:11:27.300><c> code</c><00:11:27.540><c> then</c><00:11:28.350><c> we</c><00:11:28.500><c> take</c><00:11:28.680><c> that</c><00:11:28.740><c> we</c><00:11:29.490><c> don't</c>

00:11:29.689 --> 00:11:29.699 align:start position:0%
creation code then we take that we don't
 

00:11:29.699 --> 00:11:31.790 align:start position:0%
creation code then we take that we don't
know<00:11:29.790><c> the</c><00:11:29.970><c> size</c><00:11:30.720><c> of</c><00:11:30.930><c> it</c><00:11:31.079><c> ahead</c><00:11:31.350><c> of</c><00:11:31.500><c> time</c><00:11:31.589><c> so</c>

00:11:31.790 --> 00:11:31.800 align:start position:0%
know the size of it ahead of time so
 

00:11:31.800 --> 00:11:34.069 align:start position:0%
know the size of it ahead of time so
we're<00:11:32.490><c> gonna</c><00:11:32.610><c> use</c><00:11:32.699><c> return</c><00:11:33.360><c> data</c><00:11:33.629><c> size</c><00:11:33.810><c> when</c>

00:11:34.069 --> 00:11:34.079 align:start position:0%
we're gonna use return data size when
 

00:11:34.079 --> 00:11:36.170 align:start position:0%
we're gonna use return data size when
turning<00:11:34.410><c> data</c><00:11:34.529><c> copy</c><00:11:34.829><c> to</c><00:11:35.490><c> put</c><00:11:35.639><c> it</c><00:11:35.730><c> into</c><00:11:35.879><c> memory</c>

00:11:36.170 --> 00:11:36.180 align:start position:0%
turning data copy to put it into memory
 

00:11:36.180 --> 00:11:39.410 align:start position:0%
turning data copy to put it into memory
and<00:11:36.389><c> then</c><00:11:36.480><c> we</c><00:11:37.050><c> create</c><00:11:37.379><c> now</c><00:11:38.009><c> if</c><00:11:38.220><c> this</c><00:11:38.459><c> if</c><00:11:39.120><c> it</c>

00:11:39.410 --> 00:11:39.420 align:start position:0%
and then we create now if this if it
 

00:11:39.420 --> 00:11:41.600 align:start position:0%
and then we create now if this if it
reverts<00:11:39.720><c> your</c><00:11:40.319><c> bill</c><00:11:40.680><c> and</c><00:11:40.800><c> grab</c><00:11:41.040><c> that</c><00:11:41.279><c> revert</c>

00:11:41.600 --> 00:11:41.610 align:start position:0%
reverts your bill and grab that revert
 

00:11:41.610 --> 00:11:44.569 align:start position:0%
reverts your bill and grab that revert
the<00:11:41.730><c> reason</c><00:11:42.029><c> and</c><00:11:42.240><c> return</c><00:11:42.839><c> it</c><00:11:42.990><c> otherwise</c><00:11:43.579><c> we're</c>

00:11:44.569 --> 00:11:44.579 align:start position:0%
the reason and return it otherwise we're
 

00:11:44.579 --> 00:11:46.369 align:start position:0%
the reason and return it otherwise we're
gonna<00:11:44.670><c> self-destruct</c><00:11:45.149><c> this</c><00:11:45.750><c> contract</c><00:11:46.230><c> so</c>

00:11:46.369 --> 00:11:46.379 align:start position:0%
gonna self-destruct this contract so
 

00:11:46.379 --> 00:11:48.499 align:start position:0%
gonna self-destruct this contract so
that<00:11:46.410><c> we</c><00:11:46.589><c> can</c><00:11:46.709><c> do</c><00:11:46.889><c> it</c><00:11:47.040><c> again</c><00:11:47.250><c> and</c><00:11:47.519><c> then</c><00:11:48.269><c> all</c><00:11:48.360><c> we</c>

00:11:48.499 --> 00:11:48.509 align:start position:0%
that we can do it again and then all we
 

00:11:48.509 --> 00:11:50.689 align:start position:0%
that we can do it again and then all we
got<00:11:48.629><c> to</c><00:11:48.750><c> do</c><00:11:48.839><c> is</c><00:11:48.959><c> self</c><00:11:49.170><c> destruct</c><00:11:49.560><c> this</c><00:11:49.769><c> up</c>

00:11:50.689 --> 00:11:50.699 align:start position:0%
got to do is self destruct this up
 

00:11:50.699 --> 00:11:55.939 align:start position:0%
got to do is self destruct this up
contract<00:11:51.600><c> and</c><00:11:51.949><c> redeploy</c><00:11:53.779><c> so</c><00:11:54.779><c> this</c><00:11:55.379><c> one</c><00:11:55.620><c> it</c>

00:11:55.939 --> 00:11:55.949 align:start position:0%
contract and redeploy so this one it
 

00:11:55.949 --> 00:11:57.710 align:start position:0%
contract and redeploy so this one it
looks<00:11:56.220><c> pretty</c><00:11:56.550><c> similar</c><00:11:56.730><c> to</c><00:11:57.060><c> the</c><00:11:57.149><c> last</c><00:11:57.329><c> example</c>

00:11:57.710 --> 00:11:57.720 align:start position:0%
looks pretty similar to the last example
 

00:11:57.720 --> 00:12:02.179 align:start position:0%
looks pretty similar to the last example
of<00:11:58.350><c> a</c><00:11:58.470><c> factory</c><00:11:59.060><c> rather</c><00:12:00.060><c> than</c><00:12:00.649><c> storing</c><00:12:01.649><c> an</c>

00:12:02.179 --> 00:12:02.189 align:start position:0%
of a factory rather than storing an
 

00:12:02.189 --> 00:12:06.050 align:start position:0%
of a factory rather than storing an
address<00:12:02.519><c> restoring</c><00:12:03.000><c> a</c><00:12:03.149><c> binary</c><00:12:03.860><c> and</c><00:12:04.939><c> the</c><00:12:05.939><c> other</c>

00:12:06.050 --> 00:12:06.060 align:start position:0%
address restoring a binary and the other
 

00:12:06.060 --> 00:12:07.790 align:start position:0%
address restoring a binary and the other
the<00:12:06.389><c> other</c><00:12:06.480><c> stuff</c><00:12:06.810><c> of</c><00:12:06.959><c> this</c><00:12:07.050><c> that's</c><00:12:07.290><c> important</c>

00:12:07.790 --> 00:12:07.800 align:start position:0%
the other stuff of this that's important
 

00:12:07.800 --> 00:12:10.220 align:start position:0%
the other stuff of this that's important
is<00:12:07.980><c> we</c><00:12:08.519><c> have</c><00:12:08.699><c> to</c><00:12:08.910><c> we</c><00:12:09.300><c> know</c><00:12:09.509><c> what</c><00:12:09.750><c> the</c><00:12:09.839><c> nonce</c><00:12:10.050><c> is</c>

00:12:10.220 --> 00:12:10.230 align:start position:0%
is we have to we know what the nonce is
 

00:12:10.230 --> 00:12:13.850 align:start position:0%
is we have to we know what the nonce is
gonna<00:12:10.439><c> be</c><00:12:10.560><c> one</c><00:12:10.800><c> on</c><00:12:11.519><c> the</c><00:12:12.470><c> transient</c><00:12:13.470><c> deployer</c>

00:12:13.850 --> 00:12:13.860 align:start position:0%
gonna be one on the transient deployer
 

00:12:13.860 --> 00:12:15.980 align:start position:0%
gonna be one on the transient deployer
so<00:12:14.459><c> we</c><00:12:14.550><c> can</c><00:12:14.699><c> use</c><00:12:14.850><c> that</c><00:12:15.000><c> our</c><00:12:15.149><c> LT</c><00:12:15.389><c> encoding</c><00:12:15.810><c> to</c>

00:12:15.980 --> 00:12:15.990 align:start position:0%
so we can use that our LT encoding to
 

00:12:15.990 --> 00:12:17.389 align:start position:0%
so we can use that our LT encoding to
figure<00:12:16.290><c> out</c><00:12:16.439><c> what</c><00:12:16.649><c> the</c><00:12:16.769><c> address</c><00:12:17.069><c> is</c>

00:12:17.389 --> 00:12:17.399 align:start position:0%
figure out what the address is
 

00:12:17.399 --> 00:12:20.780 align:start position:0%
figure out what the address is
and<00:12:18.000><c> we're</c><00:12:18.149><c> pointing</c><00:12:18.509><c> to</c><00:12:19.550><c> alright</c><00:12:20.550><c> and</c><00:12:20.699><c> then</c>

00:12:20.780 --> 00:12:20.790 align:start position:0%
and we're pointing to alright and then
 

00:12:20.790 --> 00:12:23.660 align:start position:0%
and we're pointing to alright and then
the<00:12:20.910><c> blesses</c><00:12:21.360><c> metamorphic</c><00:12:22.019><c> delegator</c><00:12:22.670><c> this</c>

00:12:23.660 --> 00:12:23.670 align:start position:0%
the blesses metamorphic delegator this
 

00:12:23.670 --> 00:12:26.660 align:start position:0%
the blesses metamorphic delegator this
one<00:12:23.970><c> is</c><00:12:24.509><c> basically</c><00:12:24.959><c> two</c><00:12:25.230><c> steps</c><00:12:25.529><c> step</c><00:12:26.160><c> one</c><00:12:26.430><c> is</c>

00:12:26.660 --> 00:12:26.670 align:start position:0%
one is basically two steps step one is
 

00:12:26.670 --> 00:12:29.780 align:start position:0%
one is basically two steps step one is
that<00:12:27.300><c> you</c><00:12:27.449><c> need</c><00:12:27.870><c> to</c><00:12:28.079><c> insert</c><00:12:28.980><c> that</c><00:12:29.040><c> creation</c>

00:12:29.780 --> 00:12:29.790 align:start position:0%
that you need to insert that creation
 

00:12:29.790 --> 00:12:31.579 align:start position:0%
that you need to insert that creation
code<00:12:29.939><c> into</c><00:12:30.449><c> the</c><00:12:30.480><c> runtime</c><00:12:31.079><c> code</c><00:12:31.290><c> of</c><00:12:31.410><c> another</c>

00:12:31.579 --> 00:12:31.589 align:start position:0%
code into the runtime code of another
 

00:12:31.589 --> 00:12:34.129 align:start position:0%
code into the runtime code of another
contract<00:12:32.130><c> this</c><00:12:32.699><c> is</c><00:12:32.880><c> what</c><00:12:33.329><c> I</c><00:12:33.360><c> called</c><00:12:33.600><c> preload</c>

00:12:34.129 --> 00:12:34.139 align:start position:0%
contract this is what I called preload
 

00:12:34.139 --> 00:12:36.799 align:start position:0%
contract this is what I called preload
or<00:12:34.439><c> block</c><00:12:35.370><c> of</c><00:12:35.399><c> code</c><00:12:35.579><c> you</c><00:12:35.850><c> can</c><00:12:35.970><c> insert</c><00:12:36.329><c> in</c><00:12:36.509><c> front</c>

00:12:36.799 --> 00:12:36.809 align:start position:0%
or block of code you can insert in front
 

00:12:36.809 --> 00:12:39.199 align:start position:0%
or block of code you can insert in front
of<00:12:36.930><c> whatever</c><00:12:37.079><c> arbitrary</c><00:12:38.009><c> runtime</c><00:12:38.790><c> you</c><00:12:39.000><c> want</c>

00:12:39.199 --> 00:12:39.209 align:start position:0%
of whatever arbitrary runtime you want
 

00:12:39.209 --> 00:12:39.560 align:start position:0%
of whatever arbitrary runtime you want
to<00:12:39.269><c> be</c>

00:12:39.560 --> 00:12:39.570 align:start position:0%
to be
 

00:12:39.570 --> 00:12:41.960 align:start position:0%
to be
deploying<00:12:40.230><c> and</c><00:12:41.040><c> it</c><00:12:41.160><c> will</c><00:12:41.250><c> play</c><00:12:41.519><c> it</c><00:12:41.579><c> for</c><00:12:41.820><c> you</c>

00:12:41.960 --> 00:12:41.970 align:start position:0%
deploying and it will play it for you
 

00:12:41.970 --> 00:12:45.769 align:start position:0%
deploying and it will play it for you
you<00:12:42.300><c> can</c><00:12:42.420><c> also</c><00:12:42.540><c> use</c><00:12:42.810><c> like</c><00:12:42.959><c> libraries</c><00:12:43.649><c> and</c><00:12:44.779><c> the</c>

00:12:45.769 --> 00:12:45.779 align:start position:0%
you can also use like libraries and the
 

00:12:45.779 --> 00:12:48.170 align:start position:0%
you can also use like libraries and the
cool<00:12:46.560><c> thing</c><00:12:46.589><c> about</c><00:12:46.800><c> this</c><00:12:47.070><c> is</c><00:12:47.339><c> you</c><00:12:47.759><c> can</c><00:12:47.880><c> do</c><00:12:48.029><c> this</c>

00:12:48.170 --> 00:12:48.180 align:start position:0%
cool thing about this is you can do this
 

00:12:48.180 --> 00:12:48.680 align:start position:0%
cool thing about this is you can do this
ahead<00:12:48.300><c> of</c><00:12:48.449><c> time</c>

00:12:48.680 --> 00:12:48.690 align:start position:0%
ahead of time
 

00:12:48.690 --> 00:12:52.519 align:start position:0%
ahead of time
you<00:12:49.199><c> can</c><00:12:49.320><c> even</c><00:12:49.440><c> reuse</c><00:12:50.120><c> the</c><00:12:51.120><c> same</c><00:12:51.529><c> creation</c>

00:12:52.519 --> 00:12:52.529 align:start position:0%
you can even reuse the same creation
 

00:12:52.529 --> 00:12:55.430 align:start position:0%
you can even reuse the same creation
code<00:12:52.769><c> in</c><00:12:53.130><c> runtime</c><00:12:53.519><c> code</c><00:12:53.970><c> blocks</c><00:12:54.300><c> then</c><00:12:55.230><c> once</c>

00:12:55.430 --> 00:12:55.440 align:start position:0%
code in runtime code blocks then once
 

00:12:55.440 --> 00:12:57.319 align:start position:0%
code in runtime code blocks then once
you've<00:12:55.589><c> got</c><00:12:55.800><c> that</c><00:12:56.009><c> that</c><00:12:56.459><c> contract</c><00:12:56.850><c> deployed</c>

00:12:57.319 --> 00:12:57.329 align:start position:0%
you've got that that contract deployed
 

00:12:57.329 --> 00:13:02.499 align:start position:0%
you've got that that contract deployed
then<00:12:59.180><c> here's</c><00:13:00.180><c> a</c><00:13:00.240><c> metamorphic</c><00:13:01.170><c> delegator</c>

00:13:02.499 --> 00:13:02.509 align:start position:0%
then here's a metamorphic delegator
 

00:13:02.509 --> 00:13:04.790 align:start position:0%
then here's a metamorphic delegator
payload<00:13:03.509><c> here</c><00:13:03.779><c> we're</c><00:13:04.410><c> just</c><00:13:04.440><c> gonna</c><00:13:04.589><c> put</c><00:13:04.769><c> a</c>

00:13:04.790 --> 00:13:04.800 align:start position:0%
payload here we're just gonna put a
 

00:13:04.800 --> 00:13:06.259 align:start position:0%
payload here we're just gonna put a
bunch<00:13:04.889><c> of</c><00:13:05.069><c> zeros</c><00:13:05.279><c> on</c><00:13:05.370><c> the</c><00:13:05.399><c> stack</c><00:13:05.670><c> to</c><00:13:05.880><c> use</c><00:13:06.000><c> later</c>

00:13:06.259 --> 00:13:06.269 align:start position:0%
bunch of zeros on the stack to use later
 

00:13:06.269 --> 00:13:08.629 align:start position:0%
bunch of zeros on the stack to use later
then<00:13:06.990><c> we</c><00:13:07.079><c> go</c><00:13:07.259><c> and</c><00:13:07.410><c> get</c><00:13:07.500><c> the</c><00:13:07.800><c> address</c><00:13:07.980><c> from</c><00:13:08.490><c> the</c>

00:13:08.629 --> 00:13:08.639 align:start position:0%
then we go and get the address from the
 

00:13:08.639 --> 00:13:11.240 align:start position:0%
then we go and get the address from the
fallback<00:13:09.290><c> the</c><00:13:10.290><c> creation</c><00:13:10.769><c> and</c><00:13:10.889><c> runtime</c>

00:13:11.240 --> 00:13:11.250 align:start position:0%
fallback the creation and runtime
 

00:13:11.250 --> 00:13:13.639 align:start position:0%
fallback the creation and runtime
address<00:13:11.779><c> then</c><00:13:12.779><c> we're</c><00:13:12.959><c> going</c><00:13:13.110><c> to</c><00:13:13.139><c> delegate</c>

00:13:13.639 --> 00:13:13.649 align:start position:0%
address then we're going to delegate
 

00:13:13.649 --> 00:13:17.240 align:start position:0%
address then we're going to delegate
call<00:13:13.920><c> in</c><00:13:14.250><c> to</c><00:13:14.579><c> that</c><00:13:14.699><c> address</c><00:13:14.910><c> and</c><00:13:16.250><c> either</c>

00:13:17.240 --> 00:13:17.250 align:start position:0%
call in to that address and either
 

00:13:17.250 --> 00:13:20.030 align:start position:0%
call in to that address and either
bubble<00:13:18.149><c> up</c><00:13:18.240><c> the</c><00:13:18.360><c> revert</c><00:13:18.630><c> reason</c><00:13:19.050><c> or</c><00:13:19.560><c> return</c>

00:13:20.030 --> 00:13:20.040 align:start position:0%
bubble up the revert reason or return
 

00:13:20.040 --> 00:13:22.189 align:start position:0%
bubble up the revert reason or return
the<00:13:20.759><c> runtime</c><00:13:21.180><c> code</c><00:13:21.300><c> because</c><00:13:21.779><c> we're</c><00:13:21.990><c> in</c><00:13:22.110><c> a</c>

00:13:22.189 --> 00:13:22.199 align:start position:0%
the runtime code because we're in a
 

00:13:22.199 --> 00:13:24.050 align:start position:0%
the runtime code because we're in a
constructor<00:13:22.740><c> by</c><00:13:23.160><c> returning</c><00:13:23.579><c> that</c><00:13:23.699><c> code</c><00:13:23.910><c> we</c>

00:13:24.050 --> 00:13:24.060 align:start position:0%
constructor by returning that code we
 

00:13:24.060 --> 00:13:25.309 align:start position:0%
constructor by returning that code we
write<00:13:24.269><c> it</c><00:13:24.389><c> to</c><00:13:24.660><c> storage</c>

00:13:25.309 --> 00:13:25.319 align:start position:0%
write it to storage
 

00:13:25.319 --> 00:13:29.360 align:start position:0%
write it to storage
or<00:13:26.220><c> to</c><00:13:26.399><c> run</c><00:13:26.550><c> times</c><00:13:27.350><c> so</c><00:13:28.350><c> here's</c><00:13:28.620><c> the</c><00:13:28.889><c> factory</c>

00:13:29.360 --> 00:13:29.370 align:start position:0%
or to run times so here's the factory
 

00:13:29.370 --> 00:13:32.660 align:start position:0%
or to run times so here's the factory
for<00:13:29.550><c> this</c><00:13:30.079><c> it's</c><00:13:31.079><c> basically</c><00:13:31.440><c> going</c><00:13:31.860><c> to</c><00:13:31.920><c> take</c>

00:13:32.660 --> 00:13:32.670 align:start position:0%
for this it's basically going to take
 

00:13:32.670 --> 00:13:35.629 align:start position:0%
for this it's basically going to take
our<00:13:32.880><c> creation</c><00:13:33.329><c> code</c><00:13:33.509><c> and</c><00:13:33.870><c> deploy</c><00:13:34.470><c> a</c><00:13:35.009><c> creation</c>

00:13:35.629 --> 00:13:35.639 align:start position:0%
our creation code and deploy a creation
 

00:13:35.639 --> 00:13:37.759 align:start position:0%
our creation code and deploy a creation
and<00:13:35.850><c> code</c><00:13:36.180><c> in</c><00:13:36.360><c> run</c><00:13:36.569><c> time</c><00:13:36.600><c> storage</c><00:13:37.230><c> contract</c>

00:13:37.759 --> 00:13:37.769 align:start position:0%
and code in run time storage contract
 

00:13:37.769 --> 00:13:39.710 align:start position:0%
and code in run time storage contract
once<00:13:38.490><c> again</c><00:13:38.699><c> this</c><00:13:39.000><c> is</c><00:13:39.180><c> something</c><00:13:39.360><c> you</c><00:13:39.480><c> could</c>

00:13:39.710 --> 00:13:39.720 align:start position:0%
once again this is something you could
 

00:13:39.720 --> 00:13:42.889 align:start position:0%
once again this is something you could
do<00:13:39.899><c> ahead</c><00:13:40.050><c> of</c><00:13:40.199><c> time</c><00:13:40.319><c> and</c><00:13:40.769><c> reuse</c><00:13:41.639><c> if</c><00:13:42.569><c> you</c><00:13:42.690><c> wanted</c>

00:13:42.889 --> 00:13:42.899 align:start position:0%
do ahead of time and reuse if you wanted
 

00:13:42.899 --> 00:13:44.420 align:start position:0%
do ahead of time and reuse if you wanted
to<00:13:43.019><c> really</c><00:13:43.170><c> choose</c><00:13:43.529><c> select</c><00:13:43.829><c> the</c><00:13:43.920><c> efficiency</c>

00:13:44.420 --> 00:13:44.430 align:start position:0%
to really choose select the efficiency
 

00:13:44.430 --> 00:13:46.759 align:start position:0%
to really choose select the efficiency
out<00:13:44.459><c> of</c><00:13:44.579><c> it</c><00:13:44.790><c> and</c><00:13:45.029><c> then</c><00:13:45.540><c> we're</c><00:13:46.380><c> gonna</c><00:13:46.470><c> take</c><00:13:46.709><c> it</c>

00:13:46.759 --> 00:13:46.769 align:start position:0%
out of it and then we're gonna take it
 

00:13:46.769 --> 00:13:48.980 align:start position:0%
out of it and then we're gonna take it
and<00:13:47.160><c> deploy</c><00:13:47.610><c> our</c><00:13:47.850><c> fix</c><00:13:48.240><c> non-deterministic</c>

00:13:48.980 --> 00:13:48.990 align:start position:0%
and deploy our fix non-deterministic
 

00:13:48.990 --> 00:13:52.189 align:start position:0%
and deploy our fix non-deterministic
byte<00:13:49.319><c> code</c><00:13:49.560><c> that</c><00:13:49.800><c> goes</c><00:13:50.089><c> graphs</c><00:13:51.089><c> that</c><00:13:51.690><c> address</c>

00:13:52.189 --> 00:13:52.199 align:start position:0%
byte code that goes graphs that address
 

00:13:52.199 --> 00:13:56.920 align:start position:0%
byte code that goes graphs that address
and<00:13:52.500><c> delegate</c><00:13:53.010><c> causing</c><00:13:54.860><c> so</c><00:13:55.860><c> this</c><00:13:56.399><c> obviously</c>

00:13:56.920 --> 00:13:56.930 align:start position:0%
and delegate causing so this obviously
 

00:13:56.930 --> 00:13:59.329 align:start position:0%
and delegate causing so this obviously
if<00:13:57.930><c> you</c><00:13:58.079><c> want</c><00:13:58.260><c> to</c><00:13:58.319><c> go</c><00:13:58.410><c> down</c><00:13:58.680><c> this</c><00:13:58.860><c> rabbit</c><00:13:59.069><c> all</c>

00:13:59.329 --> 00:13:59.339 align:start position:0%
if you want to go down this rabbit all
 

00:13:59.339 --> 00:14:02.360 align:start position:0%
if you want to go down this rabbit all
there's<00:13:59.519><c> a</c><00:13:59.579><c> lot</c><00:13:59.610><c> to</c><00:14:00.029><c> it</c><00:14:00.740><c> if</c><00:14:01.740><c> these</c><00:14:02.100><c> are</c><00:14:02.190><c> kind</c><00:14:02.339><c> of</c>

00:14:02.360 --> 00:14:02.370 align:start position:0%
there's a lot to it if these are kind of
 

00:14:02.370 --> 00:14:05.750 align:start position:0%
there's a lot to it if these are kind of
minimal<00:14:02.760><c> examples</c><00:14:03.269><c> where</c><00:14:03.949><c> you</c><00:14:04.949><c> can</c><00:14:05.130><c> supply</c>

00:14:05.750 --> 00:14:05.760 align:start position:0%
minimal examples where you can supply
 

00:14:05.760 --> 00:14:07.340 align:start position:0%
minimal examples where you can supply
your<00:14:06.000><c> own</c><00:14:06.029><c> salts</c><00:14:06.420><c> you</c><00:14:06.510><c> can</c><00:14:06.630><c> do</c><00:14:06.720><c> all</c><00:14:06.990><c> kinds</c><00:14:07.290><c> of</c>

00:14:07.340 --> 00:14:07.350 align:start position:0%
your own salts you can do all kinds of
 

00:14:07.350 --> 00:14:10.009 align:start position:0%
your own salts you can do all kinds of
tricks<00:14:07.529><c> so</c><00:14:07.829><c> I</c><00:14:08.190><c> put</c><00:14:08.490><c> together</c><00:14:08.579><c> a</c><00:14:08.959><c> sort</c><00:14:09.959><c> of</c>

00:14:10.009 --> 00:14:10.019 align:start position:0%
tricks so I put together a sort of
 

00:14:10.019 --> 00:14:13.730 align:start position:0%
tricks so I put together a sort of
utility<00:14:10.500><c> contract</c><00:14:10.980><c> of</c><00:14:11.190><c> homework</c><00:14:11.819><c> that</c><00:14:12.120><c> is</c><00:14:12.959><c> it</c>

00:14:13.730 --> 00:14:13.740 align:start position:0%
utility contract of homework that is it
 

00:14:13.740 --> 00:14:15.350 align:start position:0%
utility contract of homework that is it
uses<00:14:14.190><c> this</c><00:14:14.310><c> a</c><00:14:14.370><c> metamorphic</c><00:14:14.910><c> delegator</c>

00:14:15.350 --> 00:14:15.360 align:start position:0%
uses this a metamorphic delegator
 

00:14:15.360 --> 00:14:18.949 align:start position:0%
uses this a metamorphic delegator
pattern<00:14:15.779><c> but</c><00:14:16.380><c> what</c><00:14:16.500><c> it</c><00:14:16.589><c> does</c><00:14:16.860><c> in</c><00:14:17.610><c> CNF</c><00:14:18.180><c> T's</c><00:14:18.420><c> but</c>

00:14:18.949 --> 00:14:18.959 align:start position:0%
pattern but what it does in CNF T's but
 

00:14:18.959 --> 00:14:21.050 align:start position:0%
pattern but what it does in CNF T's but
you<00:14:19.110><c> Clark</c><00:14:19.560><c> addresses</c><00:14:20.370><c> ahead</c><00:14:20.610><c> of</c><00:14:20.699><c> time</c><00:14:20.880><c> and</c>

00:14:21.050 --> 00:14:21.060 align:start position:0%
you Clark addresses ahead of time and
 

00:14:21.060 --> 00:14:24.199 align:start position:0%
you Clark addresses ahead of time and
then<00:14:21.720><c> deploy</c><00:14:22.500><c> or</c><00:14:22.949><c> redeploy</c><00:14:23.459><c> contracts</c><00:14:24.029><c> to</c>

00:14:24.199 --> 00:14:24.209 align:start position:0%
then deploy or redeploy contracts to
 

00:14:24.209 --> 00:14:26.329 align:start position:0%
then deploy or redeploy contracts to
those<00:14:24.329><c> addresses</c><00:14:24.779><c> and</c><00:14:25.470><c> also</c><00:14:25.800><c> sort</c><00:14:26.069><c> of</c><00:14:26.160><c> makes</c>

00:14:26.329 --> 00:14:26.339 align:start position:0%
those addresses and also sort of makes
 

00:14:26.339 --> 00:14:26.590 align:start position:0%
those addresses and also sort of makes
the

00:14:26.590 --> 00:14:26.600 align:start position:0%
the
 

00:14:26.600 --> 00:14:29.980 align:start position:0%
the
Plumtree<00:14:28.550><c> you're</c><00:14:29.269><c> welcome</c><00:14:29.540><c> to</c><00:14:29.569><c> check</c><00:14:29.779><c> it</c><00:14:29.810><c> out</c>

00:14:29.980 --> 00:14:29.990 align:start position:0%
Plumtree you're welcome to check it out
 

00:14:29.990 --> 00:14:31.420 align:start position:0%
Plumtree you're welcome to check it out
and<00:14:30.230><c> also</c><00:14:30.380><c> have</c><00:14:30.649><c> you</c><00:14:30.740><c> answer</c><00:14:30.949><c> any</c><00:14:31.069><c> questions</c>

00:14:31.420 --> 00:14:31.430 align:start position:0%
and also have you answer any questions
 

00:14:31.430 --> 00:14:33.069 align:start position:0%
and also have you answer any questions
about<00:14:31.519><c> it</c><00:14:31.819><c> now</c>

00:14:33.069 --> 00:14:33.079 align:start position:0%
about it now
 

00:14:33.079 --> 00:14:35.290 align:start position:0%
about it now
a<00:14:33.110><c> hope</c><00:14:33.649><c> this</c><00:14:33.889><c> film</c><00:14:34.130><c> might</c><00:14:34.459><c> make</c><00:14:34.759><c> you</c><00:14:34.970><c> a</c><00:14:35.000><c> bit</c>

00:14:35.290 --> 00:14:35.300 align:start position:0%
a hope this film might make you a bit
 

00:14:35.300 --> 00:14:37.569 align:start position:0%
a hope this film might make you a bit
squeamish<00:14:35.839><c> I</c><00:14:36.319><c> know</c><00:14:36.740><c> most</c><00:14:37.040><c> the</c><00:14:37.160><c> people</c><00:14:37.339><c> I</c>

00:14:37.569 --> 00:14:37.579 align:start position:0%
squeamish I know most the people I
 

00:14:37.579 --> 00:14:41.379 align:start position:0%
squeamish I know most the people I
explained<00:14:38.329><c> this</c><00:14:38.480><c> to</c><00:14:38.540><c> it</c><00:14:38.839><c> really</c><00:14:39.910><c> goes</c><00:14:40.910><c> against</c>

00:14:41.379 --> 00:14:41.389 align:start position:0%
explained this to it really goes against
 

00:14:41.389 --> 00:14:45.610 align:start position:0%
explained this to it really goes against
the<00:14:41.680><c> standard</c><00:14:43.569><c> immutable</c><00:14:44.569><c> principles</c><00:14:44.839><c> of</c>

00:14:45.610 --> 00:14:45.620 align:start position:0%
the standard immutable principles of
 

00:14:45.620 --> 00:14:48.819 align:start position:0%
the standard immutable principles of
what<00:14:45.800><c> we're</c><00:14:46.009><c> doing</c><00:14:46.310><c> so</c><00:14:47.110><c> let's</c><00:14:48.110><c> talk</c><00:14:48.290><c> about</c><00:14:48.350><c> how</c>

00:14:48.819 --> 00:14:48.829 align:start position:0%
what we're doing so let's talk about how
 

00:14:48.829 --> 00:14:51.069 align:start position:0%
what we're doing so let's talk about how
you<00:14:49.699><c> can</c><00:14:49.880><c> protect</c><00:14:50.089><c> against</c><00:14:50.600><c> this</c><00:14:50.750><c> because</c><00:14:50.899><c> the</c>

00:14:51.069 --> 00:14:51.079 align:start position:0%
you can protect against this because the
 

00:14:51.079 --> 00:14:54.280 align:start position:0%
you can protect against this because the
truth<00:14:51.259><c> is</c><00:14:51.410><c> it's</c><00:14:51.589><c> impossible</c><00:14:52.149><c> so</c><00:14:53.290><c> there's</c>

00:14:54.280 --> 00:14:54.290 align:start position:0%
truth is it's impossible so there's
 

00:14:54.290 --> 00:14:56.949 align:start position:0%
truth is it's impossible so there's
three<00:14:54.680><c> big</c><00:14:54.980><c> things</c><00:14:55.250><c> first</c><00:14:55.819><c> off</c><00:14:56.060><c> the</c><00:14:56.660><c> best</c>

00:14:56.949 --> 00:14:56.959 align:start position:0%
three big things first off the best
 

00:14:56.959 --> 00:14:58.780 align:start position:0%
three big things first off the best
protection<00:14:57.410><c> you</c><00:14:57.649><c> can</c><00:14:57.709><c> provide</c><00:14:58.069><c> is</c><00:14:58.339><c> to</c><00:14:58.370><c> make</c>

00:14:58.780 --> 00:14:58.790 align:start position:0%
protection you can provide is to make
 

00:14:58.790 --> 00:15:01.449 align:start position:0%
protection you can provide is to make
sure<00:14:58.819><c> the</c><00:14:59.660><c> contract</c><00:15:00.170><c> cannot</c><00:15:00.529><c> be</c><00:15:00.769><c> destroyed</c>

00:15:01.449 --> 00:15:01.459 align:start position:0%
sure the contract cannot be destroyed
 

00:15:01.459 --> 00:15:03.639 align:start position:0%
sure the contract cannot be destroyed
it's<00:15:01.940><c> not</c><00:15:02.149><c> quite</c><00:15:02.509><c> as</c><00:15:02.630><c> simple</c><00:15:02.810><c> it's</c><00:15:03.259><c> like</c><00:15:03.380><c> no</c>

00:15:03.639 --> 00:15:03.649 align:start position:0%
it's not quite as simple it's like no
 

00:15:03.649 --> 00:15:05.800 align:start position:0%
it's not quite as simple it's like no
self-destruct<00:15:04.069><c> opcodes</c><00:15:04.759><c> because</c><00:15:05.600><c> you</c><00:15:05.690><c> can</c>

00:15:05.800 --> 00:15:05.810 align:start position:0%
self-destruct opcodes because you can
 

00:15:05.810 --> 00:15:07.629 align:start position:0%
self-destruct opcodes because you can
also<00:15:05.930><c> if</c><00:15:06.319><c> there's</c><00:15:06.500><c> delegate</c><00:15:06.980><c> calls</c><00:15:07.190><c> with</c><00:15:07.459><c> call</c>

00:15:07.629 --> 00:15:07.639 align:start position:0%
also if there's delegate calls with call
 

00:15:07.639 --> 00:15:09.370 align:start position:0%
also if there's delegate calls with call
codes<00:15:07.940><c> those</c><00:15:08.690><c> could</c><00:15:08.990><c> trigger</c><00:15:09.259><c> a</c>

00:15:09.370 --> 00:15:09.380 align:start position:0%
codes those could trigger a
 

00:15:09.380 --> 00:15:11.050 align:start position:0%
codes those could trigger a
self-destruct<00:15:09.589><c> in</c><00:15:10.130><c> the</c><00:15:10.190><c> context</c><00:15:10.699><c> of</c><00:15:10.759><c> your</c>

00:15:11.050 --> 00:15:11.060 align:start position:0%
self-destruct in the context of your
 

00:15:11.060 --> 00:15:13.990 align:start position:0%
self-destruct in the context of your
contract<00:15:11.810><c> and</c><00:15:11.990><c> in</c><00:15:12.500><c> this</c><00:15:12.620><c> world</c><00:15:13.009><c> where</c><00:15:13.399><c> it's</c>

00:15:13.990 --> 00:15:14.000 align:start position:0%
contract and in this world where it's
 

00:15:14.000 --> 00:15:15.759 align:start position:0%
contract and in this world where it's
upgradeable<00:15:14.569><c> everything</c><00:15:15.079><c> and</c><00:15:15.410><c> proxy</c>

00:15:15.759 --> 00:15:15.769 align:start position:0%
upgradeable everything and proxy
 

00:15:15.769 --> 00:15:17.410 align:start position:0%
upgradeable everything and proxy
everything<00:15:15.889><c> this</c><00:15:16.639><c> is</c><00:15:16.819><c> actually</c><00:15:17.120><c> a</c><00:15:17.149><c> harder</c>

00:15:17.410 --> 00:15:17.420 align:start position:0%
everything this is actually a harder
 

00:15:17.420 --> 00:15:19.990 align:start position:0%
everything this is actually a harder
guarantee<00:15:17.810><c> to</c><00:15:18.380><c> provide</c><00:15:18.800><c> in</c><00:15:19.130><c> many</c><00:15:19.370><c> cases</c><00:15:19.790><c> than</c>

00:15:19.990 --> 00:15:20.000 align:start position:0%
guarantee to provide in many cases than
 

00:15:20.000 --> 00:15:22.689 align:start position:0%
guarantee to provide in many cases than
many<00:15:20.720><c> of</c><00:15:20.810><c> us</c><00:15:20.899><c> would</c><00:15:21.050><c> like</c><00:15:21.339><c> what</c><00:15:22.339><c> you</c><00:15:22.430><c> can</c><00:15:22.550><c> do</c>

00:15:22.689 --> 00:15:22.699 align:start position:0%
many of us would like what you can do
 

00:15:22.699 --> 00:15:24.460 align:start position:0%
many of us would like what you can do
though<00:15:22.850><c> if</c><00:15:23.000><c> you</c><00:15:23.120><c> can</c><00:15:23.149><c> provide</c><00:15:23.779><c> this</c><00:15:23.990><c> guarantee</c>

00:15:24.460 --> 00:15:24.470 align:start position:0%
though if you can provide this guarantee
 

00:15:24.470 --> 00:15:27.189 align:start position:0%
though if you can provide this guarantee
if<00:15:25.100><c> you</c><00:15:25.250><c> give</c><00:15:25.459><c> your</c><00:15:25.670><c> contracts</c><00:15:26.209><c> to</c><00:15:26.329><c> this</c><00:15:26.449><c> this</c>

00:15:27.189 --> 00:15:27.199 align:start position:0%
if you give your contracts to this this
 

00:15:27.199 --> 00:15:30.490 align:start position:0%
if you give your contracts to this this
registry<00:15:28.009><c> indestructible</c><00:15:29.000><c> buddy</c><00:15:29.209><c> it'll</c><00:15:30.139><c> scan</c>

00:15:30.490 --> 00:15:30.500 align:start position:0%
registry indestructible buddy it'll scan
 

00:15:30.500 --> 00:15:33.850 align:start position:0%
registry indestructible buddy it'll scan
them<00:15:30.769><c> and</c><00:15:31.839><c> stamp</c><00:15:32.839><c> them</c><00:15:32.990><c> it's</c><00:15:33.199><c> like</c><00:15:33.350><c> this</c><00:15:33.709><c> is</c>

00:15:33.850 --> 00:15:33.860 align:start position:0%
them and stamp them it's like this is
 

00:15:33.860 --> 00:15:36.759 align:start position:0%
them and stamp them it's like this is
indestructible<00:15:34.279><c> you're</c><00:15:35.149><c> good</c><00:15:35.389><c> so</c><00:15:36.380><c> that's</c><00:15:36.470><c> one</c>

00:15:36.759 --> 00:15:36.769 align:start position:0%
indestructible you're good so that's one
 

00:15:36.769 --> 00:15:38.920 align:start position:0%
indestructible you're good so that's one
way<00:15:36.949><c> you</c><00:15:37.009><c> can</c><00:15:37.310><c> protect</c><00:15:37.639><c> another</c><00:15:38.600><c> thing</c><00:15:38.839><c> you</c>

00:15:38.920 --> 00:15:38.930 align:start position:0%
way you can protect another thing you
 

00:15:38.930 --> 00:15:40.840 align:start position:0%
way you can protect another thing you
can<00:15:39.110><c> do</c><00:15:39.259><c> is</c><00:15:39.560><c> you</c><00:15:40.040><c> can</c><00:15:40.130><c> ensure</c><00:15:40.459><c> that</c><00:15:40.490><c> the</c>

00:15:40.840 --> 00:15:40.850 align:start position:0%
can do is you can ensure that the
 

00:15:40.850 --> 00:15:43.569 align:start position:0%
can do is you can ensure that the
contracts<00:15:41.480><c> are</c><00:15:41.630><c> being</c><00:15:41.930><c> deployed</c><00:15:42.410><c> and</c><00:15:42.860><c> mutable</c>

00:15:43.569 --> 00:15:43.579 align:start position:0%
contracts are being deployed and mutable
 

00:15:43.579 --> 00:15:45.879 align:start position:0%
contracts are being deployed and mutable
it's<00:15:44.329><c> not</c><00:15:44.480><c> just</c><00:15:44.750><c> quite</c><00:15:45.079><c> as</c><00:15:45.170><c> simple</c><00:15:45.470><c> as</c><00:15:45.560><c> create</c>

00:15:45.879 --> 00:15:45.889 align:start position:0%
it's not just quite as simple as create
 

00:15:45.889 --> 00:15:48.660 align:start position:0%
it's not just quite as simple as create
has<00:15:46.130><c> to</c><00:15:46.250><c> create</c><00:15:46.699><c> all</c><00:15:46.970><c> the</c><00:15:47.660><c> way</c><00:15:47.810><c> down</c><00:15:48.110><c> to</c><00:15:48.410><c> like</c>

00:15:48.660 --> 00:15:48.670 align:start position:0%
has to create all the way down to like
 

00:15:48.670 --> 00:15:51.100 align:start position:0%
has to create all the way down to like
something<00:15:49.670><c> that</c><00:15:49.819><c> has</c><00:15:49.970><c> never</c><00:15:50.209><c> touched</c><00:15:50.630><c> create</c>

00:15:51.100 --> 00:15:51.110 align:start position:0%
something that has never touched create
 

00:15:51.110 --> 00:15:52.720 align:start position:0%
something that has never touched create
two<00:15:51.319><c> because</c><00:15:51.620><c> you</c><00:15:51.740><c> can</c><00:15:51.889><c> bubble</c><00:15:52.130><c> them</c><00:15:52.370><c> all</c><00:15:52.490><c> up</c>

00:15:52.720 --> 00:15:52.730 align:start position:0%
two because you can bubble them all up
 

00:15:52.730 --> 00:15:54.939 align:start position:0%
two because you can bubble them all up
or<00:15:53.209><c> you</c><00:15:53.870><c> know</c><00:15:53.990><c> it's</c><00:15:54.170><c> created</c><00:15:54.620><c> by</c><00:15:54.740><c> something</c>

00:15:54.939 --> 00:15:54.949 align:start position:0%
or you know it's created by something
 

00:15:54.949 --> 00:15:57.730 align:start position:0%
or you know it's created by something
that<00:15:55.069><c> is</c><00:15:55.189><c> itself</c><00:15:55.610><c> indestructible</c><00:15:56.740><c> finally</c>

00:15:57.730 --> 00:15:57.740 align:start position:0%
that is itself indestructible finally
 

00:15:57.740 --> 00:16:00.400 align:start position:0%
that is itself indestructible finally
you<00:15:58.189><c> can</c><00:15:58.339><c> go</c><00:15:58.519><c> through</c><00:15:58.850><c> beautiful</c><00:15:59.569><c> create</c><00:16:00.199><c> two</c>

00:16:00.400 --> 00:16:00.410 align:start position:0%
you can go through beautiful create two
 

00:16:00.410 --> 00:16:02.710 align:start position:0%
you can go through beautiful create two
factories<00:16:01.009><c> there</c><00:16:01.339><c> is</c><00:16:01.459><c> a</c><00:16:01.490><c> example</c><00:16:02.300><c> of</c><00:16:02.540><c> one</c><00:16:02.689><c> that</c>

00:16:02.710 --> 00:16:02.720 align:start position:0%
factories there is a example of one that
 

00:16:02.720 --> 00:16:03.550 align:start position:0%
factories there is a example of one that
you<00:16:02.870><c> can</c><00:16:03.050><c> use</c>

00:16:03.550 --> 00:16:03.560 align:start position:0%
you can use
 

00:16:03.560 --> 00:16:06.189 align:start position:0%
you can use
they<00:16:04.129><c> to</c><00:16:04.189><c> factory</c><00:16:04.939><c> Dottie</c><00:16:05.180><c> and</c><00:16:05.569><c> other</c>

00:16:06.189 --> 00:16:06.199 align:start position:0%
they to factory Dottie and other
 

00:16:06.199 --> 00:16:08.710 align:start position:0%
they to factory Dottie and other
contracts<00:16:07.040><c> that</c><00:16:07.129><c> do</c><00:16:07.279><c> similar</c><00:16:07.459><c> stuff</c><00:16:07.939><c> and</c><00:16:08.149><c> then</c>

00:16:08.710 --> 00:16:08.720 align:start position:0%
contracts that do similar stuff and then
 

00:16:08.720 --> 00:16:11.139 align:start position:0%
contracts that do similar stuff and then
you<00:16:08.870><c> basically</c><00:16:09.019><c> just</c><00:16:09.230><c> track</c><00:16:09.709><c> once</c><00:16:10.220><c> you've</c>

00:16:11.139 --> 00:16:11.149 align:start position:0%
you basically just track once you've
 

00:16:11.149 --> 00:16:13.420 align:start position:0%
you basically just track once you've
used<00:16:11.180><c> a</c><00:16:11.600><c> particular</c><00:16:11.749><c> assault</c><00:16:12.560><c> and</c><00:16:12.800><c> an</c><00:16:12.860><c> info</c><00:16:13.189><c> or</c>

00:16:13.420 --> 00:16:13.430 align:start position:0%
used a particular assault and an info or
 

00:16:13.430 --> 00:16:17.439 align:start position:0%
used a particular assault and an info or
whatever<00:16:13.730><c> and</c><00:16:14.149><c> don't</c><00:16:14.600><c> let</c><00:16:14.779><c> your</c><00:16:14.899><c> be</c><00:16:16.180><c> the</c><00:16:17.180><c> third</c>

00:16:17.439 --> 00:16:17.449 align:start position:0%
whatever and don't let your be the third
 

00:16:17.449 --> 00:16:20.590 align:start position:0%
whatever and don't let your be the third
thing<00:16:17.720><c> here</c><00:16:18.079><c> is</c><00:16:18.560><c> that</c><00:16:18.610><c> you</c><00:16:19.610><c> can</c><00:16:19.790><c> check</c><00:16:20.120><c> the</c><00:16:20.329><c> run</c>

00:16:20.590 --> 00:16:20.600 align:start position:0%
thing here is that you can check the run
 

00:16:20.600 --> 00:16:23.679 align:start position:0%
thing here is that you can check the run
time<00:16:20.959><c> the</c><00:16:21.259><c> Xcode</c><00:16:22.069><c> hash</c><00:16:22.339><c> into</c><00:16:22.910><c> the</c><00:16:23.029><c> contracts</c>

00:16:23.679 --> 00:16:23.689 align:start position:0%
time the Xcode hash into the contracts
 

00:16:23.689 --> 00:16:25.329 align:start position:0%
time the Xcode hash into the contracts
that<00:16:23.839><c> you</c><00:16:23.899><c> want</c><00:16:24.230><c> to</c><00:16:24.290><c> interact</c><00:16:24.800><c> with</c><00:16:24.920><c> them</c><00:16:25.160><c> make</c>

00:16:25.329 --> 00:16:25.339 align:start position:0%
that you want to interact with them make
 

00:16:25.339 --> 00:16:27.069 align:start position:0%
that you want to interact with them make
sure<00:16:25.370><c> they</c><00:16:25.730><c> haven't</c><00:16:25.910><c> changed</c><00:16:26.240><c> at</c><00:16:26.600><c> the</c><00:16:26.689><c> injury</c>

00:16:27.069 --> 00:16:27.079 align:start position:0%
sure they haven't changed at the injury
 

00:16:27.079 --> 00:16:29.139 align:start position:0%
sure they haven't changed at the injury
now<00:16:27.620><c> this</c><00:16:27.800><c> isn't</c><00:16:28.009><c> going</c><00:16:28.220><c> to</c><00:16:28.279><c> protect</c><00:16:28.459><c> against</c>

00:16:29.139 --> 00:16:29.149 align:start position:0%
now this isn't going to protect against
 

00:16:29.149 --> 00:16:31.569 align:start position:0%
now this isn't going to protect against
a<00:16:29.329><c> standard</c><00:16:29.839><c> read</c><00:16:30.589><c> employs</c><00:16:30.920><c> the</c><00:16:31.189><c> zombie</c>

00:16:31.569 --> 00:16:31.579 align:start position:0%
a standard read employs the zombie
 

00:16:31.579 --> 00:16:32.920 align:start position:0%
a standard read employs the zombie
deploys<00:16:31.910><c> it's</c><00:16:32.059><c> only</c><00:16:32.240><c> gonna</c><00:16:32.389><c> protect</c><00:16:32.689><c> against</c>

00:16:32.920 --> 00:16:32.930 align:start position:0%
deploys it's only gonna protect against
 

00:16:32.930 --> 00:16:34.720 align:start position:0%
deploys it's only gonna protect against
a<00:16:32.990><c> metamorphic</c><00:16:33.620><c> contract</c><00:16:34.100><c> so</c><00:16:34.279><c> you</c><00:16:34.370><c> so</c><00:16:34.519><c> be</c>

00:16:34.720 --> 00:16:34.730 align:start position:0%
a metamorphic contract so you so be
 

00:16:34.730 --> 00:16:36.939 align:start position:0%
a metamorphic contract so you so be
careful<00:16:35.149><c> about</c><00:16:35.230><c> steak</c><00:16:36.230><c> and</c><00:16:36.439><c> might</c><00:16:36.559><c> get</c><00:16:36.709><c> wiped</c>

00:16:36.939 --> 00:16:36.949 align:start position:0%
careful about steak and might get wiped
 

00:16:36.949 --> 00:16:39.129 align:start position:0%
careful about steak and might get wiped
in<00:16:37.189><c> between</c><00:16:37.550><c> if</c><00:16:38.120><c> something</c><00:16:38.480><c> is</c><00:16:38.569><c> destructible</c>

00:16:39.129 --> 00:16:39.139 align:start position:0%
in between if something is destructible
 

00:16:39.139 --> 00:16:42.639 align:start position:0%
in between if something is destructible
and<00:16:39.620><c> you</c><00:16:40.069><c> can</c><00:16:40.220><c> register</c><00:16:41.110><c> just</c><00:16:42.110><c> ahead</c><00:16:42.379><c> of</c><00:16:42.410><c> time</c>

00:16:42.639 --> 00:16:42.649 align:start position:0%
and you can register just ahead of time
 

00:16:42.649 --> 00:16:44.439 align:start position:0%
and you can register just ahead of time
and<00:16:42.829><c> use</c><00:16:42.980><c> a</c><00:16:43.009><c> registry</c><00:16:43.550><c> like</c><00:16:43.730><c> this</c><00:16:43.939><c> one</c><00:16:44.120><c> code</c>

00:16:44.439 --> 00:16:44.449 align:start position:0%
and use a registry like this one code
 

00:16:44.449 --> 00:16:46.569 align:start position:0%
and use a registry like this one code
cache<00:16:44.689><c> cache</c><00:16:45.019><c> as</c><00:16:45.230><c> an</c><00:16:45.350><c> example</c><00:16:45.649><c> and</c><00:16:46.309><c> now</c><00:16:46.399><c> if</c><00:16:46.459><c> you</c>

00:16:46.569 --> 00:16:46.579 align:start position:0%
cache cache as an example and now if you
 

00:16:46.579 --> 00:16:49.269 align:start position:0%
cache cache as an example and now if you
combine<00:16:46.759><c> two</c><00:16:47.209><c> and</c><00:16:47.420><c> three</c><00:16:47.689><c> you've</c><00:16:48.279><c> covered</c>

00:16:49.269 --> 00:16:49.279 align:start position:0%
combine two and three you've covered
 

00:16:49.279 --> 00:16:51.999 align:start position:0%
combine two and three you've covered
most<00:16:49.610><c> of</c><00:16:49.730><c> your</c><00:16:49.910><c> bases</c><00:16:50.360><c> if</c><00:16:50.600><c> one</c><00:16:51.439><c> bit</c><00:16:51.709><c> is</c><00:16:51.829><c> not</c>

00:16:51.999 --> 00:16:52.009 align:start position:0%
most of your bases if one bit is not
 

00:16:52.009 --> 00:16:54.509 align:start position:0%
most of your bases if one bit is not
available<00:16:52.550><c> and</c><00:16:52.910><c> the</c><00:16:53.240><c> biggest</c><00:16:53.540><c> thing</c><00:16:53.720><c> here</c><00:16:54.019><c> is</c>

00:16:54.509 --> 00:16:54.519 align:start position:0%
available and the biggest thing here is
 

00:16:54.519 --> 00:16:57.160 align:start position:0%
available and the biggest thing here is
educate<00:16:55.519><c> people</c><00:16:55.699><c> about</c><00:16:55.970><c> this</c><00:16:56.360><c> slate</c><00:16:56.720><c> this</c>

00:16:57.160 --> 00:16:57.170 align:start position:0%
educate people about this slate this
 

00:16:57.170 --> 00:16:59.559 align:start position:0%
educate people about this slate this
should<00:16:57.470><c> be</c><00:16:57.620><c> in</c><00:16:57.800><c> the</c><00:16:57.889><c> checklist</c><00:16:58.339><c> during</c><00:16:59.180><c> an</c>

00:16:59.559 --> 00:16:59.569 align:start position:0%
should be in the checklist during an
 

00:16:59.569 --> 00:17:04.569 align:start position:0%
should be in the checklist during an
audit<00:16:59.839><c> to</c><00:17:00.529><c> make</c><00:17:00.680><c> sure</c><00:17:00.860><c> that</c><00:17:01.129><c> just</c><00:17:01.879><c> like</c><00:17:03.579><c> can't</c>

00:17:04.569 --> 00:17:04.579 align:start position:0%
audit to make sure that just like can't
 

00:17:04.579 --> 00:17:06.760 align:start position:0%
audit to make sure that just like can't
you<00:17:05.179><c> have</c><00:17:05.270><c> the</c><00:17:05.419><c> right</c><00:17:05.539><c> trust</c><00:17:05.870><c> assumptions</c><00:17:06.409><c> or</c>

00:17:06.760 --> 00:17:06.770 align:start position:0%
you have the right trust assumptions or
 

00:17:06.770 --> 00:17:08.319 align:start position:0%
you have the right trust assumptions or
dealing<00:17:07.400><c> with</c><00:17:07.520><c> ownership</c><00:17:07.789><c> you</c><00:17:08.089><c> have</c><00:17:08.179><c> the</c>

00:17:08.319 --> 00:17:08.329 align:start position:0%
dealing with ownership you have the
 

00:17:08.329 --> 00:17:09.490 align:start position:0%
dealing with ownership you have the
trade<00:17:08.539><c> trust</c><00:17:08.809><c> assumptions</c><00:17:09.289><c> when</c><00:17:09.380><c> you're</c>

00:17:09.490 --> 00:17:09.500 align:start position:0%
trade trust assumptions when you're
 

00:17:09.500 --> 00:17:10.960 align:start position:0%
trade trust assumptions when you're
doing<00:17:09.679><c> their</c><00:17:09.860><c> deployment</c><00:17:10.370><c> methods</c><00:17:10.669><c> if</c>

00:17:10.960 --> 00:17:10.970 align:start position:0%
doing their deployment methods if
 

00:17:10.970 --> 00:17:14.980 align:start position:0%
doing their deployment methods if
they're<00:17:12.309><c> susceptible</c><00:17:13.309><c> to</c><00:17:13.640><c> this</c><00:17:13.850><c> all</c><00:17:14.809><c> right</c>

00:17:14.980 --> 00:17:14.990 align:start position:0%
they're susceptible to this all right
 

00:17:14.990 --> 00:17:17.740 align:start position:0%
they're susceptible to this all right
all<00:17:15.470><c> your</c><00:17:15.709><c> white</c><00:17:15.890><c> hats</c><00:17:16.100><c> can</c><00:17:16.370><c> take</c><00:17:16.520><c> breath</c><00:17:17.030><c> for</c>

00:17:17.740 --> 00:17:17.750 align:start position:0%
all your white hats can take breath for
 

00:17:17.750 --> 00:17:21.279 align:start position:0%
all your white hats can take breath for
the<00:17:17.809><c> rest</c><00:17:18.020><c> of</c><00:17:18.199><c> us</c><00:17:18.319><c> let's</c><00:17:19.250><c> talk</c><00:17:19.399><c> about</c><00:17:20.140><c> some</c><00:17:21.140><c> of</c>

00:17:21.279 --> 00:17:21.289 align:start position:0%
the rest of us let's talk about some of
 

00:17:21.289 --> 00:17:23.799 align:start position:0%
the rest of us let's talk about some of
the<00:17:21.439><c> cool</c><00:17:21.740><c> things</c><00:17:22.189><c> that</c><00:17:22.549><c> you</c><00:17:22.760><c> can</c><00:17:22.970><c> do</c><00:17:23.270><c> with</c>

00:17:23.799 --> 00:17:23.809 align:start position:0%
the cool things that you can do with
 

00:17:23.809 --> 00:17:27.819 align:start position:0%
the cool things that you can do with
this<00:17:23.959><c> technology</c><00:17:24.939><c> so</c><00:17:25.939><c> first</c><00:17:26.569><c> off</c><00:17:26.829><c> contract</c>

00:17:27.819 --> 00:17:27.829 align:start position:0%
this technology so first off contract
 

00:17:27.829 --> 00:17:30.970 align:start position:0%
this technology so first off contract
deployments<00:17:28.459><c> it's</c><00:17:29.240><c> actually</c><00:17:29.630><c> really</c><00:17:30.080><c> cool</c><00:17:30.649><c> to</c>

00:17:30.970 --> 00:17:30.980 align:start position:0%
deployments it's actually really cool to
 

00:17:30.980 --> 00:17:32.799 align:start position:0%
deployments it's actually really cool to
be<00:17:31.100><c> able</c><00:17:31.250><c> to</c><00:17:31.669><c> park</c><00:17:31.970><c> an</c><00:17:32.059><c> address</c><00:17:32.360><c> ahead</c><00:17:32.600><c> of</c><00:17:32.659><c> time</c>

00:17:32.799 --> 00:17:32.809 align:start position:0%
be able to park an address ahead of time
 

00:17:32.809 --> 00:17:34.870 align:start position:0%
be able to park an address ahead of time
and<00:17:32.990><c> to</c><00:17:33.110><c> find</c><00:17:33.350><c> an</c><00:17:33.710><c> address</c><00:17:34.070><c> that's</c><00:17:34.399><c> efficient</c>

00:17:34.870 --> 00:17:34.880 align:start position:0%
and to find an address that's efficient
 

00:17:34.880 --> 00:17:37.510 align:start position:0%
and to find an address that's efficient
without<00:17:35.780><c> needing</c><00:17:36.169><c> to</c><00:17:36.409><c> tie</c><00:17:36.679><c> that</c><00:17:36.860><c> into</c><00:17:37.070><c> the</c>

00:17:37.510 --> 00:17:37.520 align:start position:0%
without needing to tie that into the
 

00:17:37.520 --> 00:17:39.850 align:start position:0%
without needing to tie that into the
creation<00:17:37.909><c> code</c><00:17:38.120><c> so</c><00:17:38.390><c> you</c><00:17:38.659><c> use</c><00:17:39.080><c> an</c><00:17:39.230><c> address</c><00:17:39.380><c> that</c>

00:17:39.850 --> 00:17:39.860 align:start position:0%
creation code so you use an address that
 

00:17:39.860 --> 00:17:42.100 align:start position:0%
creation code so you use an address that
has<00:17:40.039><c> lots</c><00:17:40.340><c> of</c><00:17:40.460><c> zero</c><00:17:40.730><c> lights</c><00:17:40.970><c> you</c><00:17:41.750><c> can</c><00:17:41.899><c> save</c>

00:17:42.100 --> 00:17:42.110 align:start position:0%
has lots of zero lights you can save
 

00:17:42.110 --> 00:17:43.770 align:start position:0%
has lots of zero lights you can save
quite<00:17:42.260><c> a</c><00:17:42.440><c> bit</c><00:17:42.559><c> of</c><00:17:42.649><c> gas</c><00:17:42.770><c> of</c><00:17:43.010><c> servicing</c><00:17:43.429><c> areas</c>

00:17:43.770 --> 00:17:43.780 align:start position:0%
quite a bit of gas of servicing areas
 

00:17:43.780 --> 00:17:47.139 align:start position:0%
quite a bit of gas of servicing areas
also<00:17:44.780><c> we</c><00:17:45.770><c> can</c><00:17:45.950><c> know</c><00:17:46.159><c> the</c><00:17:46.190><c> deployment</c><00:17:46.880><c> address</c>

00:17:47.139 --> 00:17:47.149 align:start position:0%
also we can know the deployment address
 

00:17:47.149 --> 00:17:48.940 align:start position:0%
also we can know the deployment address
of<00:17:47.270><c> any</c><00:17:47.390><c> of</c><00:17:47.510><c> our</c><00:17:47.570><c> contracts</c><00:17:48.080><c> ahead</c><00:17:48.380><c> of</c><00:17:48.500><c> time</c><00:17:48.679><c> so</c>

00:17:48.940 --> 00:17:48.950 align:start position:0%
of any of our contracts ahead of time so
 

00:17:48.950 --> 00:17:50.169 align:start position:0%
of any of our contracts ahead of time so
you<00:17:49.100><c> can</c><00:17:49.280><c> deploy</c><00:17:49.429><c> a</c><00:17:49.520><c> whole</c><00:17:49.640><c> family</c><00:17:49.940><c> of</c>

00:17:50.169 --> 00:17:50.179 align:start position:0%
you can deploy a whole family of
 

00:17:50.179 --> 00:17:52.320 align:start position:0%
you can deploy a whole family of
contracts<00:17:50.720><c> that</c><00:17:50.899><c> refer</c><00:17:51.289><c> to</c><00:17:51.320><c> each</c><00:17:51.620><c> other</c><00:17:51.950><c> as</c>

00:17:52.320 --> 00:17:52.330 align:start position:0%
contracts that refer to each other as
 

00:17:52.330 --> 00:17:56.590 align:start position:0%
contracts that refer to each other as
constants<00:17:53.330><c> and</c><00:17:53.690><c> are</c><00:17:53.870><c> interrelated</c><00:17:54.820><c> and</c><00:17:55.820><c> save</c>

00:17:56.590 --> 00:17:56.600 align:start position:0%
constants and are interrelated and save
 

00:17:56.600 --> 00:17:59.350 align:start position:0%
constants and are interrelated and save
gas<00:17:57.230><c> that</c><00:17:57.470><c> way</c><00:17:57.740><c> or</c><00:17:58.130><c> just</c><00:17:58.159><c> have</c><00:17:58.700><c> coordinated</c>

00:17:59.350 --> 00:17:59.360 align:start position:0%
gas that way or just have coordinated
 

00:17:59.360 --> 00:18:01.389 align:start position:0%
gas that way or just have coordinated
plays<00:17:59.539><c> about</c><00:17:59.690><c> having</c><00:18:00.080><c> two</c><00:18:00.230><c> buses</c><00:18:00.919><c> trackers</c>

00:18:01.389 --> 00:18:01.399 align:start position:0%
plays about having two buses trackers
 

00:18:01.399 --> 00:18:03.220 align:start position:0%
plays about having two buses trackers
all<00:18:01.760><c> of</c><00:18:02.059><c> the</c><00:18:02.210><c> nonces</c><00:18:02.659><c> appear</c>

00:18:03.220 --> 00:18:03.230 align:start position:0%
all of the nonces appear
 

00:18:03.230 --> 00:18:05.909 align:start position:0%
all of the nonces appear
an<00:18:03.380><c> address</c><00:18:03.740><c> isn't</c><00:18:04.040><c> a</c><00:18:04.070><c> really</c><00:18:04.340><c> granular</c><00:18:05.179><c> way</c>

00:18:05.909 --> 00:18:05.919 align:start position:0%
an address isn't a really granular way
 

00:18:05.919 --> 00:18:09.520 align:start position:0%
an address isn't a really granular way
finally<00:18:07.299><c> if</c><00:18:08.299><c> this</c><00:18:08.510><c> makes</c><00:18:08.809><c> it</c><00:18:08.960><c> easy</c><00:18:09.200><c> to</c><00:18:09.410><c> deploy</c>

00:18:09.520 --> 00:18:09.530 align:start position:0%
finally if this makes it easy to deploy
 

00:18:09.530 --> 00:18:11.440 align:start position:0%
finally if this makes it easy to deploy
different<00:18:10.340><c> contracts</c><00:18:10.760><c> that</c><00:18:10.910><c> are</c><00:18:11.030><c> slightly</c>

00:18:11.440 --> 00:18:11.450 align:start position:0%
different contracts that are slightly
 

00:18:11.450 --> 00:18:14.500 align:start position:0%
different contracts that are slightly
different<00:18:11.960><c> to</c><00:18:12.710><c> the</c><00:18:12.740><c> same</c><00:18:13.190><c> addresses</c><00:18:13.910><c> on</c><00:18:14.030><c> local</c>

00:18:14.500 --> 00:18:14.510 align:start position:0%
different to the same addresses on local
 

00:18:14.510 --> 00:18:18.580 align:start position:0%
different to the same addresses on local
test<00:18:15.169><c> meds</c><00:18:15.410><c> main</c><00:18:15.770><c> nets</c><00:18:16.100><c> other</c><00:18:16.790><c> chains</c><00:18:17.410><c> as</c><00:18:18.410><c> long</c>

00:18:18.580 --> 00:18:18.590 align:start position:0%
test meds main nets other chains as long
 

00:18:18.590 --> 00:18:20.680 align:start position:0%
test meds main nets other chains as long
as<00:18:18.740><c> you're</c><00:18:18.860><c> coming</c><00:18:19.040><c> out</c><00:18:19.250><c> of</c><00:18:19.370><c> the</c><00:18:19.460><c> same</c><00:18:19.690><c> factory</c>

00:18:20.680 --> 00:18:20.690 align:start position:0%
as you're coming out of the same factory
 

00:18:20.690 --> 00:18:25.390 align:start position:0%
as you're coming out of the same factory
its<00:18:21.410><c> deployed</c><00:18:22.100><c> across</c><00:18:22.309><c> chance</c><00:18:23.770><c> second</c><00:18:24.770><c> run</c>

00:18:25.390 --> 00:18:25.400 align:start position:0%
its deployed across chance second run
 

00:18:25.400 --> 00:18:28.090 align:start position:0%
its deployed across chance second run
time<00:18:25.669><c> storage</c><00:18:26.150><c> so</c><00:18:26.750><c> there's</c><00:18:27.440><c> a</c><00:18:27.530><c> lot</c><00:18:27.770><c> of</c><00:18:27.799><c> talk</c>

00:18:28.090 --> 00:18:28.100 align:start position:0%
time storage so there's a lot of talk
 

00:18:28.100 --> 00:18:30.610 align:start position:0%
time storage so there's a lot of talk
with<00:18:28.370><c> a</c><00:18:28.400><c> new</c><00:18:28.840><c> assemble</c><00:18:29.840><c> artwork</c><00:18:30.260><c> that</c><00:18:30.470><c> the</c>

00:18:30.610 --> 00:18:30.620 align:start position:0%
with a new assemble artwork that the
 

00:18:30.620 --> 00:18:32.980 align:start position:0%
with a new assemble artwork that the
price<00:18:30.950><c> of</c><00:18:30.980><c> s</c><00:18:31.250><c> low</c><00:18:31.429><c> is</c><00:18:31.490><c> going</c><00:18:31.640><c> to</c><00:18:31.730><c> quadruple</c><00:18:31.990><c> so</c>

00:18:32.980 --> 00:18:32.990 align:start position:0%
price of s low is going to quadruple so
 

00:18:32.990 --> 00:18:35.500 align:start position:0%
price of s low is going to quadruple so
you<00:18:33.380><c> can</c><00:18:33.530><c> use</c><00:18:33.740><c> run</c><00:18:34.070><c> time</c><00:18:34.340><c> storage</c><00:18:34.850><c> and</c><00:18:35.059><c> certain</c>

00:18:35.500 --> 00:18:35.510 align:start position:0%
you can use run time storage and certain
 

00:18:35.510 --> 00:18:39.190 align:start position:0%
you can use run time storage and certain
breathe<00:18:36.290><c> heavy</c><00:18:36.730><c> applications</c><00:18:37.730><c> to</c><00:18:38.270><c> make</c>

00:18:39.190 --> 00:18:39.200 align:start position:0%
breathe heavy applications to make
 

00:18:39.200 --> 00:18:42.010 align:start position:0%
breathe heavy applications to make
storage<00:18:39.740><c> a</c><00:18:39.950><c> lot</c><00:18:39.980><c> cheaper</c><00:18:40.370><c> and</c><00:18:40.700><c> also</c><00:18:41.390><c> more</c>

00:18:42.010 --> 00:18:42.020 align:start position:0%
storage a lot cheaper and also more
 

00:18:42.020 --> 00:18:43.840 align:start position:0%
storage a lot cheaper and also more
accessible<00:18:42.380><c> so</c><00:18:42.890><c> usually</c><00:18:43.520><c> when</c><00:18:43.669><c> you</c><00:18:43.730><c> go</c>

00:18:43.840 --> 00:18:43.850 align:start position:0%
accessible so usually when you go
 

00:18:43.850 --> 00:18:45.970 align:start position:0%
accessible so usually when you go
through<00:18:44.030><c> contract</c><00:18:44.660><c> storage</c><00:18:45.140><c> you</c><00:18:45.590><c> have</c><00:18:45.770><c> to</c><00:18:45.890><c> go</c>

00:18:45.970 --> 00:18:45.980 align:start position:0%
through contract storage you have to go
 

00:18:45.980 --> 00:18:48.430 align:start position:0%
through contract storage you have to go
through<00:18:46.130><c> again</c><00:18:46.370><c> right</c><00:18:47.000><c> and</c><00:18:47.270><c> the</c><00:18:47.780><c> contract</c><00:18:48.290><c> is</c>

00:18:48.430 --> 00:18:48.440 align:start position:0%
through again right and the contract is
 

00:18:48.440 --> 00:18:51.610 align:start position:0%
through again right and the contract is
dictating<00:18:48.890><c> how</c><00:18:49.220><c> that's</c><00:18:50.000><c> gonna</c><00:18:50.210><c> be</c><00:18:51.200><c> read</c><00:18:51.410><c> back</c>

00:18:51.610 --> 00:18:51.620 align:start position:0%
dictating how that's gonna be read back
 

00:18:51.620 --> 00:18:53.080 align:start position:0%
dictating how that's gonna be read back
to<00:18:51.650><c> you</c><00:18:51.919><c> but</c><00:18:52.070><c> if</c><00:18:52.160><c> you're</c><00:18:52.280><c> using</c><00:18:52.429><c> run</c><00:18:52.790><c> time</c>

00:18:53.080 --> 00:18:53.090 align:start position:0%
to you but if you're using run time
 

00:18:53.090 --> 00:18:54.669 align:start position:0%
to you but if you're using run time
storage<00:18:53.570><c> you're</c><00:18:53.750><c> just</c><00:18:53.900><c> copy</c><00:18:54.230><c> whatever</c>

00:18:54.669 --> 00:18:54.679 align:start position:0%
storage you're just copy whatever
 

00:18:54.679 --> 00:18:58.210 align:start position:0%
storage you're just copy whatever
portion<00:18:55.190><c> or</c><00:18:55.520><c> section</c><00:18:55.970><c> of</c><00:18:56.169><c> the</c><00:18:57.169><c> data</c><00:18:57.860><c> that's</c>

00:18:58.210 --> 00:18:58.220 align:start position:0%
portion or section of the data that's
 

00:18:58.220 --> 00:19:01.120 align:start position:0%
portion or section of the data that's
relevant<00:18:58.700><c> to</c><00:18:59.090><c> you</c><00:18:59.270><c> and</c><00:18:59.710><c> so</c><00:19:00.710><c> you</c><00:19:00.770><c> can</c><00:19:00.980><c> access</c>

00:19:01.120 --> 00:19:01.130 align:start position:0%
relevant to you and so you can access
 

00:19:01.130 --> 00:19:02.770 align:start position:0%
relevant to you and so you can access
storage<00:19:01.669><c> on</c><00:19:01.760><c> your</c><00:19:01.790><c> own</c><00:19:01.970><c> terms</c><00:19:02.210><c> it's</c><00:19:02.390><c> like</c><00:19:02.510><c> true</c>

00:19:02.770 --> 00:19:02.780 align:start position:0%
storage on your own terms it's like true
 

00:19:02.780 --> 00:19:05.470 align:start position:0%
storage on your own terms it's like true
public<00:19:03.410><c> storage</c><00:19:04.280><c> in</c><00:19:04.549><c> that</c><00:19:04.730><c> regard</c><00:19:05.059><c> and</c><00:19:05.270><c> it's</c>

00:19:05.470 --> 00:19:05.480 align:start position:0%
public storage in that regard and it's
 

00:19:05.480 --> 00:19:08.680 align:start position:0%
public storage in that regard and it's
also<00:19:05.600><c> cheaper</c><00:19:05.960><c> to</c><00:19:06.140><c> do</c><00:19:06.490><c> you</c><00:19:07.490><c> can</c><00:19:07.610><c> also</c><00:19:07.730><c> by</c>

00:19:08.680 --> 00:19:08.690 align:start position:0%
also cheaper to do you can also by
 

00:19:08.690 --> 00:19:10.930 align:start position:0%
also cheaper to do you can also by
transferring<00:19:09.290><c> ownership</c><00:19:09.710><c> over</c><00:19:10.250><c> to</c><00:19:10.429><c> accounts</c>

00:19:10.930 --> 00:19:10.940 align:start position:0%
transferring ownership over to accounts
 

00:19:10.940 --> 00:19:13.090 align:start position:0%
transferring ownership over to accounts
that<00:19:11.000><c> you</c><00:19:11.120><c> can</c><00:19:11.240><c> deploy</c><00:19:11.450><c> to</c><00:19:11.559><c> you</c><00:19:12.559><c> can</c><00:19:12.770><c> give</c>

00:19:13.090 --> 00:19:13.100 align:start position:0%
that you can deploy to you can give
 

00:19:13.100 --> 00:19:14.680 align:start position:0%
that you can deploy to you can give
ownership<00:19:13.549><c> of</c><00:19:13.700><c> a</c><00:19:13.760><c> region</c><00:19:14.090><c> of</c><00:19:14.120><c> storage</c><00:19:14.540><c> in</c><00:19:14.630><c> a</c>

00:19:14.680 --> 00:19:14.690 align:start position:0%
ownership of a region of storage in a
 

00:19:14.690 --> 00:19:16.419 align:start position:0%
ownership of a region of storage in a
way<00:19:14.840><c> that's</c><00:19:15.080><c> really</c><00:19:15.230><c> future</c><00:19:15.710><c> proof</c><00:19:15.919><c> right</c>

00:19:16.419 --> 00:19:16.429 align:start position:0%
way that's really future proof right
 

00:19:16.429 --> 00:19:18.070 align:start position:0%
way that's really future proof right
it's<00:19:16.640><c> not</c><00:19:16.820><c> tied</c><00:19:17.450><c> into</c><00:19:17.690><c> any</c><00:19:17.960><c> particular</c>

00:19:18.070 --> 00:19:18.080 align:start position:0%
it's not tied into any particular
 

00:19:18.080 --> 00:19:19.870 align:start position:0%
it's not tied into any particular
implementation<00:19:19.040><c> on</c><00:19:19.160><c> your</c><00:19:19.280><c> contract</c>

00:19:19.870 --> 00:19:19.880 align:start position:0%
implementation on your contract
 

00:19:19.880 --> 00:19:22.390 align:start position:0%
implementation on your contract
finally<00:19:20.780><c> it's</c><00:19:21.320><c> economical</c><00:19:21.860><c> as</c><00:19:21.980><c> we</c><00:19:22.160><c> were</c><00:19:22.220><c> sort</c>

00:19:22.390 --> 00:19:22.400 align:start position:0%
finally it's economical as we were sort
 

00:19:22.400 --> 00:19:25.870 align:start position:0%
finally it's economical as we were sort
of<00:19:22.429><c> discussing</c><00:19:23.000><c> you</c><00:19:23.690><c> can</c><00:19:23.840><c> save</c><00:19:24.110><c> a</c><00:19:24.440><c> lot</c><00:19:24.919><c> on</c><00:19:25.160><c> not</c>

00:19:25.870 --> 00:19:25.880 align:start position:0%
of discussing you can save a lot on not
 

00:19:25.880 --> 00:19:28.659 align:start position:0%
of discussing you can save a lot on not
only<00:19:26.179><c> reads</c><00:19:26.450><c> which</c><00:19:26.929><c> is</c><00:19:27.140><c> like</c><00:19:27.320><c> big</c><00:19:27.740><c> savings</c><00:19:28.220><c> but</c>

00:19:28.659 --> 00:19:28.669 align:start position:0%
only reads which is like big savings but
 

00:19:28.669 --> 00:19:31.390 align:start position:0%
only reads which is like big savings but
also<00:19:28.820><c> on</c><00:19:29.510><c> initial</c><00:19:30.320><c> storage</c><00:19:30.530><c> rates</c><00:19:30.830><c> especially</c>

00:19:31.390 --> 00:19:31.400 align:start position:0%
also on initial storage rates especially
 

00:19:31.400 --> 00:19:33.730 align:start position:0%
also on initial storage rates especially
for<00:19:31.549><c> larger</c><00:19:31.910><c> payloads</c><00:19:32.419><c> because</c><00:19:32.809><c> in</c><00:19:33.470><c> effect</c>

00:19:33.730 --> 00:19:33.740 align:start position:0%
for larger payloads because in effect
 

00:19:33.740 --> 00:19:36.970 align:start position:0%
for larger payloads because in effect
you<00:19:33.890><c> pay</c><00:19:34.150><c> twenty</c><00:19:35.150><c> thousand</c><00:19:35.510><c> gasp</c><00:19:35.630><c> a</c><00:19:35.660><c> word</c><00:19:36.020><c> if</c>

00:19:36.970 --> 00:19:36.980 align:start position:0%
you pay twenty thousand gasp a word if
 

00:19:36.980 --> 00:19:39.070 align:start position:0%
you pay twenty thousand gasp a word if
you're<00:19:37.160><c> storing</c><00:19:37.460><c> on</c><00:19:37.700><c> contract</c><00:19:38.120><c> storage</c><00:19:38.450><c> or</c><00:19:38.960><c> as</c>

00:19:39.070 --> 00:19:39.080 align:start position:0%
you're storing on contract storage or as
 

00:19:39.080 --> 00:19:42.190 align:start position:0%
you're storing on contract storage or as
you're<00:19:39.230><c> only</c><00:19:39.350><c> paying</c><00:19:39.880><c> 6,400</c><00:19:40.880><c> a</c><00:19:41.059><c> word</c><00:19:41.600><c> for</c>

00:19:42.190 --> 00:19:42.200 align:start position:0%
you're only paying 6,400 a word for
 

00:19:42.200 --> 00:19:44.710 align:start position:0%
you're only paying 6,400 a word for
every<00:19:42.860><c> read</c><00:19:43.040><c> time</c><00:19:43.280><c> storage</c><00:19:43.730><c> order</c><00:19:44.030><c> plus</c><00:19:44.540><c> the</c>

00:19:44.710 --> 00:19:44.720 align:start position:0%
every read time storage order plus the
 

00:19:44.720 --> 00:19:47.200 align:start position:0%
every read time storage order plus the
overhead<00:19:45.110><c> of</c><00:19:45.140><c> the</c><00:19:45.230><c> contract</c><00:19:45.770><c> and</c><00:19:46.340><c> you</c><00:19:47.059><c> can</c>

00:19:47.200 --> 00:19:47.210 align:start position:0%
overhead of the contract and you can
 

00:19:47.210 --> 00:19:50.050 align:start position:0%
overhead of the contract and you can
still<00:19:47.450><c> do</c><00:19:47.600><c> updates</c><00:19:47.960><c> by</c><00:19:48.290><c> using</c><00:19:49.220><c> some</c><00:19:49.490><c> kind</c><00:19:49.640><c> of</c>

00:19:50.050 --> 00:19:50.060 align:start position:0%
still do updates by using some kind of
 

00:19:50.060 --> 00:19:56.440 align:start position:0%
still do updates by using some kind of
system<00:19:51.580><c> third</c><00:19:52.580><c> smart</c><00:19:53.240><c> walnuts</c><00:19:53.630><c> so</c><00:19:55.210><c> the</c><00:19:56.210><c> theory</c>

00:19:56.440 --> 00:19:56.450 align:start position:0%
system third smart walnuts so the theory
 

00:19:56.450 --> 00:19:58.450 align:start position:0%
system third smart walnuts so the theory
moxie<00:19:56.810><c> doesn't</c><00:19:57.080><c> have</c><00:19:57.230><c> native</c><00:19:57.680><c> transactions</c>

00:19:58.450 --> 00:19:58.460 align:start position:0%
moxie doesn't have native transactions
 

00:19:58.460 --> 00:20:01.180 align:start position:0%
moxie doesn't have native transactions
script<00:19:58.850><c> support</c><00:19:59.270><c> it's</c><00:20:00.050><c> just</c><00:20:00.170><c> calling</c><00:20:00.710><c> into</c>

00:20:01.180 --> 00:20:01.190 align:start position:0%
script support it's just calling into
 

00:20:01.190 --> 00:20:03.850 align:start position:0%
script support it's just calling into
the<00:20:01.220><c> contracts</c><00:20:02.060><c> but</c><00:20:02.300><c> what</c><00:20:03.200><c> you</c><00:20:03.320><c> can</c><00:20:03.470><c> if</c><00:20:03.710><c> you</c>

00:20:03.850 --> 00:20:03.860 align:start position:0%
the contracts but what you can if you
 

00:20:03.860 --> 00:20:07.510 align:start position:0%
the contracts but what you can if you
use<00:20:03.890><c> one</c><00:20:04.580><c> of</c><00:20:04.610><c> these</c><00:20:04.930><c> Clark</c><00:20:05.990><c> addresses</c><00:20:06.650><c> as</c><00:20:07.130><c> your</c>

00:20:07.510 --> 00:20:07.520 align:start position:0%
use one of these Clark addresses as your
 

00:20:07.520 --> 00:20:10.030 align:start position:0%
use one of these Clark addresses as your
smart<00:20:08.120><c> wallet</c><00:20:08.450><c> you</c><00:20:08.990><c> can</c><00:20:09.110><c> deploy</c><00:20:09.350><c> contracts</c>

00:20:10.030 --> 00:20:10.040 align:start position:0%
smart wallet you can deploy contracts
 

00:20:10.040 --> 00:20:12.100 align:start position:0%
smart wallet you can deploy contracts
that<00:20:10.310><c> will</c><00:20:10.430><c> do</c><00:20:10.700><c> throw</c><00:20:11.330><c> out</c><00:20:11.420><c> an</c><00:20:11.510><c> arbitrary</c><00:20:11.870><c> bark</c>

00:20:12.100 --> 00:20:12.110 align:start position:0%
that will do throw out an arbitrary bark
 

00:20:12.110 --> 00:20:14.860 align:start position:0%
that will do throw out an arbitrary bark
byte<00:20:12.440><c> code</c><00:20:12.710><c> and</c><00:20:12.980><c> then</c><00:20:13.250><c> blow</c><00:20:13.730><c> up</c><00:20:13.760><c> and</c><00:20:14.630><c> then</c><00:20:14.750><c> you</c>

00:20:14.860 --> 00:20:14.870 align:start position:0%
byte code and then blow up and then you
 

00:20:14.870 --> 00:20:18.640 align:start position:0%
byte code and then blow up and then you
can<00:20:15.020><c> do</c><00:20:15.200><c> that</c><00:20:15.410><c> at</c><00:20:15.620><c> na</c><00:20:15.890><c> z</c><00:20:16.630><c> to</c><00:20:17.630><c> sort</c><00:20:17.960><c> so</c><00:20:18.320><c> sort</c><00:20:18.560><c> of</c>

00:20:18.640 --> 00:20:18.650 align:start position:0%
can do that at na z to sort so sort of
 

00:20:18.650 --> 00:20:20.710 align:start position:0%
can do that at na z to sort so sort of
having<00:20:18.920><c> the</c><00:20:18.980><c> transaction</c><00:20:19.610><c> scripts</c><00:20:20.180><c> behavior</c>

00:20:20.710 --> 00:20:20.720 align:start position:0%
having the transaction scripts behavior
 

00:20:20.720 --> 00:20:23.320 align:start position:0%
having the transaction scripts behavior
it's<00:20:21.500><c> also</c><00:20:21.620><c> really</c><00:20:21.980><c> secure</c><00:20:22.520><c> because</c><00:20:23.030><c> there's</c>

00:20:23.320 --> 00:20:23.330 align:start position:0%
it's also really secure because there's
 

00:20:23.330 --> 00:20:25.870 align:start position:0%
it's also really secure because there's
no<00:20:23.570><c> code</c><00:20:24.170><c> to</c><00:20:24.470><c> hack</c><00:20:24.620><c> in</c><00:20:25.250><c> between</c><00:20:25.640><c> these</c>

00:20:25.870 --> 00:20:25.880 align:start position:0%
no code to hack in between these
 

00:20:25.880 --> 00:20:29.440 align:start position:0%
no code to hack in between these
transactions<00:20:26.510><c> it's</c><00:20:27.110><c> happy</c><00:20:27.320><c> to</c><00:20:27.470><c> code</c><00:20:27.650><c> so</c><00:20:28.450><c> there</c>

00:20:29.440 --> 00:20:29.450 align:start position:0%
transactions it's happy to code so there
 

00:20:29.450 --> 00:20:33.550 align:start position:0%
transactions it's happy to code so there
is<00:20:29.540><c> not</c><00:20:29.750><c> the</c><00:20:29.870><c> same</c><00:20:30.080><c> like</c><00:20:31.240><c> risk</c><00:20:32.240><c> at</c><00:20:32.510><c> rest</c><00:20:32.870><c> for</c>

00:20:33.550 --> 00:20:33.560 align:start position:0%
is not the same like risk at rest for
 

00:20:33.560 --> 00:20:36.940 align:start position:0%
is not the same like risk at rest for
your<00:20:33.680><c> fights</c><00:20:33.890><c> and</c><00:20:34.510><c> this</c><00:20:35.510><c> leads</c><00:20:35.870><c> to</c><00:20:36.080><c> being</c><00:20:36.830><c> able</c>

00:20:36.940 --> 00:20:36.950 align:start position:0%
your fights and this leads to being able
 

00:20:36.950 --> 00:20:38.920 align:start position:0%
your fights and this leads to being able
to<00:20:37.040><c> support</c><00:20:37.190><c> really</c><00:20:37.520><c> user</c><00:20:38.120><c> friendly</c><00:20:38.270><c> stuff</c>

00:20:38.920 --> 00:20:38.930 align:start position:0%
to support really user friendly stuff
 

00:20:38.930 --> 00:20:42.100 align:start position:0%
to support really user friendly stuff
where<00:20:39.290><c> you</c><00:20:39.800><c> can</c><00:20:39.980><c> do</c><00:20:40.430><c> these</c><00:20:40.670><c> complex</c><00:20:41.420><c> actions</c>

00:20:42.100 --> 00:20:42.110 align:start position:0%
where you can do these complex actions
 

00:20:42.110 --> 00:20:45.640 align:start position:0%
where you can do these complex actions
in<00:20:42.350><c> a</c><00:20:42.440><c> way</c><00:20:42.760><c> that</c><00:20:43.760><c> includes</c><00:20:44.420><c> conditionals</c><00:20:45.200><c> and</c>

00:20:45.640 --> 00:20:45.650 align:start position:0%
in a way that includes conditionals and
 

00:20:45.650 --> 00:20:48.190 align:start position:0%
in a way that includes conditionals and
atomic<00:20:46.100><c> operations</c><00:20:46.850><c> and</c><00:20:47.150><c> all</c><00:20:47.300><c> of</c><00:20:47.420><c> that</c><00:20:47.450><c> and</c><00:20:47.960><c> is</c>

00:20:48.190 --> 00:20:48.200 align:start position:0%
atomic operations and all of that and is
 

00:20:48.200 --> 00:20:49.690 align:start position:0%
atomic operations and all of that and is
only<00:20:48.350><c> one</c><00:20:48.620><c> transaction</c><00:20:49.250><c> from</c><00:20:49.550><c> the</c>

00:20:49.690 --> 00:20:49.700 align:start position:0%
only one transaction from the
 

00:20:49.700 --> 00:20:52.930 align:start position:0%
only one transaction from the
perspective<00:20:50.240><c> of</c><00:20:50.450><c> the</c><00:20:50.630><c> user</c><00:20:51.640><c> forth</c>

00:20:52.930 --> 00:20:52.940 align:start position:0%
perspective of the user forth
 

00:20:52.940 --> 00:20:55.870 align:start position:0%
perspective of the user forth
you<00:20:53.420><c> can't</c><00:20:53.570><c> organize</c><00:20:53.870><c> accounts</c><00:20:54.440><c> this</c><00:20:54.860><c> way</c><00:20:55.310><c> so</c>

00:20:55.870 --> 00:20:55.880 align:start position:0%
you can't organize accounts this way so
 

00:20:55.880 --> 00:21:00.360 align:start position:0%
you can't organize accounts this way so
in<00:20:56.720><c> effect</c><00:20:57.430><c> as</c><00:20:58.430><c> long</c><00:20:58.520><c> as</c><00:20:58.850><c> I</c><00:20:58.940><c> own</c><00:20:59.180><c> the</c><00:20:59.720><c> rights</c><00:20:59.990><c> to</c>

00:21:00.360 --> 00:21:00.370 align:start position:0%
in effect as long as I own the rights to
 

00:21:00.370 --> 00:21:02.470 align:start position:0%
in effect as long as I own the rights to
deploy<00:21:01.370><c> a</c><00:21:01.430><c> little</c><00:21:01.700><c> ticular</c><00:21:01.940><c> address</c><00:21:02.300><c> and</c><00:21:02.450><c> I</c>

00:21:02.470 --> 00:21:02.480 align:start position:0%
deploy a little ticular address and I
 

00:21:02.480 --> 00:21:04.090 align:start position:0%
deploy a little ticular address and I
give<00:21:02.660><c> that</c><00:21:02.840><c> to</c><00:21:02.870><c> you</c>

00:21:04.090 --> 00:21:04.100 align:start position:0%
give that to you
 

00:21:04.100 --> 00:21:07.800 align:start position:0%
give that to you
I<00:21:04.160><c> can</c><00:21:04.900><c> reassign</c><00:21:05.900><c> controller</c><00:21:06.380><c> this</c><00:21:06.680><c> stuff</c><00:21:07.010><c> and</c>

00:21:07.800 --> 00:21:07.810 align:start position:0%
I can reassign controller this stuff and
 

00:21:07.810 --> 00:21:11.370 align:start position:0%
I can reassign controller this stuff and
you're<00:21:08.810><c> not</c><00:21:08.960><c> tied</c><00:21:09.410><c> in</c><00:21:09.680><c> to</c><00:21:10.280><c> any</c><00:21:10.670><c> particular</c>

00:21:11.370 --> 00:21:11.380 align:start position:0%
you're not tied in to any particular
 

00:21:11.380 --> 00:21:13.750 align:start position:0%
you're not tied in to any particular
smart<00:21:12.380><c> wallet</c><00:21:12.650><c> implementation</c><00:21:13.340><c> or</c><00:21:13.520><c> whatever</c>

00:21:13.750 --> 00:21:13.760 align:start position:0%
smart wallet implementation or whatever
 

00:21:13.760 --> 00:21:15.280 align:start position:0%
smart wallet implementation or whatever
you<00:21:13.970><c> can</c><00:21:14.090><c> put</c><00:21:14.240><c> whatever</c><00:21:14.390><c> code</c><00:21:14.720><c> you</c><00:21:14.900><c> want</c><00:21:15.020><c> there</c>

00:21:15.280 --> 00:21:15.290 align:start position:0%
you can put whatever code you want there
 

00:21:15.290 --> 00:21:17.530 align:start position:0%
you can put whatever code you want there
once<00:21:15.470><c> you</c><00:21:15.620><c> want</c><00:21:15.800><c> it's</c><00:21:15.980><c> your</c><00:21:16.190><c> account</c><00:21:16.490><c> as</c><00:21:17.330><c> long</c>

00:21:17.530 --> 00:21:17.540 align:start position:0%
once you want it's your account as long
 

00:21:17.540 --> 00:21:20.560 align:start position:0%
once you want it's your account as long
as<00:21:17.660><c> it</c><00:21:17.780><c> can</c><00:21:17.900><c> be</c><00:21:18.020><c> destroyed</c><00:21:19.180><c> so</c><00:21:20.180><c> this</c><00:21:20.330><c> way</c><00:21:20.510><c> you</c>

00:21:20.560 --> 00:21:20.570 align:start position:0%
as it can be destroyed so this way you
 

00:21:20.570 --> 00:21:23.590 align:start position:0%
as it can be destroyed so this way you
can<00:21:20.690><c> create</c><00:21:21.430><c> portfolios</c><00:21:22.430><c> baskets</c><00:21:23.090><c> of</c><00:21:23.240><c> assets</c>

00:21:23.590 --> 00:21:23.600 align:start position:0%
can create portfolios baskets of assets
 

00:21:23.600 --> 00:21:25.450 align:start position:0%
can create portfolios baskets of assets
that<00:21:23.810><c> are</c><00:21:24.080><c> to</c><00:21:24.230><c> go</c><00:21:24.380><c> beyond</c><00:21:24.680><c> just</c><00:21:24.830><c> like</c><00:21:25.100><c> a</c>

00:21:25.450 --> 00:21:25.460 align:start position:0%
that are to go beyond just like a
 

00:21:25.460 --> 00:21:27.250 align:start position:0%
that are to go beyond just like a
particular<00:21:26.060><c> in</c><00:21:26.240><c> the</c><00:21:26.330><c> year</c><00:21:26.510><c> see</c><00:21:26.660><c> 20</c><00:21:26.930><c> years</c><00:21:26.960><c> of</c>

00:21:27.250 --> 00:21:27.260 align:start position:0%
particular in the year see 20 years of
 

00:21:27.260 --> 00:21:28.900 align:start position:0%
particular in the year see 20 years of
7.1<00:21:27.740><c> whatever</c><00:21:28.070><c> it</c><00:21:28.220><c> may</c><00:21:28.490><c> be</c><00:21:28.520><c> the</c><00:21:28.640><c> ownership</c>

00:21:28.900 --> 00:21:28.910 align:start position:0%
7.1 whatever it may be the ownership
 

00:21:28.910 --> 00:21:31.990 align:start position:0%
7.1 whatever it may be the ownership
reputation<00:21:29.780><c> all</c><00:21:30.320><c> of</c><00:21:30.650><c> that</c><00:21:30.880><c> because</c><00:21:31.880><c> the</c>

00:21:31.990 --> 00:21:32.000 align:start position:0%
reputation all of that because the
 

00:21:32.000 --> 00:21:35.770 align:start position:0%
reputation all of that because the
accounts<00:21:32.420><c> is</c><00:21:32.540><c> the</c><00:21:32.570><c> ultimate</c><00:21:34.600><c> abstraction</c><00:21:35.600><c> for</c>

00:21:35.770 --> 00:21:35.780 align:start position:0%
accounts is the ultimate abstraction for
 

00:21:35.780 --> 00:21:39.730 align:start position:0%
accounts is the ultimate abstraction for
doing<00:21:36.020><c> that</c><00:21:36.170><c> and</c><00:21:37.090><c> it's</c><00:21:38.090><c> a</c><00:21:38.270><c> like</c><00:21:39.080><c> a</c><00:21:39.110><c> reliable</c>

00:21:39.730 --> 00:21:39.740 align:start position:0%
doing that and it's a like a reliable
 

00:21:39.740 --> 00:21:41.710 align:start position:0%
doing that and it's a like a reliable
way<00:21:39.890><c> to</c><00:21:39.920><c> do</c><00:21:40.160><c> as</c><00:21:40.280><c> a</c><00:21:40.310><c> future</c><00:21:40.760><c> perfect</c><00:21:40.970><c> manners</c><00:21:41.570><c> so</c>

00:21:41.710 --> 00:21:41.720 align:start position:0%
way to do as a future perfect manners so
 

00:21:41.720 --> 00:21:44.350 align:start position:0%
way to do as a future perfect manners so
that<00:21:41.870><c> if</c><00:21:41.930><c> you</c><00:21:42.020><c> do</c><00:21:42.200><c> need</c><00:21:42.380><c> to</c><00:21:42.410><c> make</c><00:21:42.500><c> changes</c><00:21:43.360><c> down</c>

00:21:44.350 --> 00:21:44.360 align:start position:0%
that if you do need to make changes down
 

00:21:44.360 --> 00:21:45.550 align:start position:0%
that if you do need to make changes down
why<00:21:44.660><c> you</c>

00:21:45.550 --> 00:21:45.560 align:start position:0%
why you
 

00:21:45.560 --> 00:21:48.310 align:start position:0%
why you
whatever<00:21:46.220><c> your</c><00:21:46.400><c> tokenize</c><00:21:46.820><c> accountants</c><00:21:47.420><c> yeah</c>

00:21:48.310 --> 00:21:48.320 align:start position:0%
whatever your tokenize accountants yeah
 

00:21:48.320 --> 00:21:53.140 align:start position:0%
whatever your tokenize accountants yeah
this<00:21:48.530><c> is</c><00:21:48.910><c> outfit</c><00:21:49.910><c> like</c><00:21:50.420><c> the</c><00:21:50.840><c> this</c><00:21:51.320><c> sort</c><00:21:52.010><c> of</c><00:21:52.150><c> new</c>

00:21:53.140 --> 00:21:53.150 align:start position:0%
this is outfit like the this sort of new
 

00:21:53.150 --> 00:21:56.830 align:start position:0%
this is outfit like the this sort of new
use<00:21:53.420><c> cases</c><00:21:53.750><c> for</c><00:21:54.080><c> this</c><00:21:54.820><c> they're</c><00:21:55.820><c> weird</c>

00:21:56.830 --> 00:21:56.840 align:start position:0%
use cases for this they're weird
 

00:21:56.840 --> 00:22:00.070 align:start position:0%
use cases for this they're weird
but<00:21:57.230><c> if</c><00:21:57.850><c> we</c><00:21:58.850><c> weren't</c><00:21:59.090><c> willing</c><00:21:59.330><c> to</c><00:21:59.480><c> get</c><00:21:59.780><c> weird</c>

00:22:00.070 --> 00:22:00.080 align:start position:0%
but if we weren't willing to get weird
 

00:22:00.080 --> 00:22:02.950 align:start position:0%
but if we weren't willing to get weird
like<00:22:00.410><c> what</c><00:22:00.710><c> are</c><00:22:00.800><c> we</c><00:22:00.860><c> doing</c><00:22:01.250><c> here</c><00:22:01.490><c> this</c><00:22:01.850><c> this</c><00:22:02.810><c> is</c>

00:22:02.950 --> 00:22:02.960 align:start position:0%
like what are we doing here this this is
 

00:22:02.960 --> 00:22:06.280 align:start position:0%
like what are we doing here this this is
a<00:22:02.990><c> theory</c><00:22:03.380><c> anyway</c><00:22:04.130><c> right</c><00:22:04.580><c> so</c><00:22:05.510><c> I'll</c><00:22:05.930><c> leave</c><00:22:06.140><c> you</c>

00:22:06.280 --> 00:22:06.290 align:start position:0%
a theory anyway right so I'll leave you
 

00:22:06.290 --> 00:22:10.600 align:start position:0%
a theory anyway right so I'll leave you
with<00:22:06.320><c> a</c><00:22:06.470><c> quote</c><00:22:06.710><c> on</c><00:22:07.580><c> the</c><00:22:07.760><c> dark</c><00:22:07.940><c> arts</c><00:22:08.950><c> and</c><00:22:09.950><c> maybe</c>

00:22:10.600 --> 00:22:10.610 align:start position:0%
with a quote on the dark arts and maybe
 

00:22:10.610 --> 00:22:15.820 align:start position:0%
with a quote on the dark arts and maybe
a<00:22:11.140><c> slight</c><00:22:12.140><c> modification</c><00:22:13.210><c> then</c><00:22:14.210><c> I</c><00:22:14.810><c> think</c><00:22:15.680><c> it's</c>

00:22:15.820 --> 00:22:15.830 align:start position:0%
a slight modification then I think it's
 

00:22:15.830 --> 00:22:21.280 align:start position:0%
a slight modification then I think it's
more<00:22:16.040><c> applicable</c><00:22:16.430><c> to</c><00:22:16.700><c> less</c><00:22:17.420><c> here</c><00:22:17.720><c> and</c><00:22:20.290><c> this</c>

00:22:21.280 --> 00:22:21.290 align:start position:0%
more applicable to less here and this
 

00:22:21.290 --> 00:22:23.790 align:start position:0%
more applicable to less here and this
moves<00:22:22.040><c> the</c><00:22:22.130><c> talk</c><00:22:22.310><c> thank</c><00:22:22.580><c> you</c><00:22:22.700><c> guys</c><00:22:22.850><c> very</c><00:22:23.090><c> much</c>

00:22:23.790 --> 00:22:23.800 align:start position:0%
moves the talk thank you guys very much
 

00:22:23.800 --> 00:22:32.520 align:start position:0%
moves the talk thank you guys very much
I'll<00:22:24.800><c> put</c><00:22:25.010><c> up</c><00:22:25.040><c> one</c><00:22:25.640><c> more</c><00:22:25.820><c> time</c>

00:22:32.520 --> 00:22:32.530 align:start position:0%
 
 

00:22:32.530 --> 00:22:36.380 align:start position:0%
 
[Applause]

00:22:36.380 --> 00:22:36.390 align:start position:0%
 
 

00:22:36.390 --> 00:22:47.620 align:start position:0%
 
[Music]

00:22:47.620 --> 00:22:47.630 align:start position:0%
 
 

00:22:47.630 --> 00:22:50.740 align:start position:0%
 
so<00:22:48.380><c> when</c><00:22:49.309><c> you're</c><00:22:49.490><c> accessing</c><00:22:49.970><c> contract</c>

00:22:50.740 --> 00:22:50.750 align:start position:0%
so when you're accessing contract
 

00:22:50.750 --> 00:22:54.940 align:start position:0%
so when you're accessing contract
storage<00:22:51.230><c> there</c><00:22:51.830><c> is</c><00:22:52.130><c> an</c><00:22:52.520><c> extra</c><00:22:53.380><c> you</c><00:22:54.380><c> have</c><00:22:54.530><c> to</c><00:22:54.650><c> go</c>

00:22:54.940 --> 00:22:54.950 align:start position:0%
storage there is an extra you have to go
 

00:22:54.950 --> 00:22:57.250 align:start position:0%
storage there is an extra you have to go
not<00:22:55.220><c> only</c><00:22:55.250><c> to</c><00:22:55.549><c> the</c><00:22:55.730><c> contractor</c><00:22:56.510><c> then</c><00:22:56.630><c> you</c><00:22:56.720><c> send</c>

00:22:57.250 --> 00:22:57.260 align:start position:0%
not only to the contractor then you send
 

00:22:57.260 --> 00:22:59.980 align:start position:0%
not only to the contractor then you send
it<00:22:57.380><c> into</c><00:22:57.530><c> that</c><00:22:57.830><c> patrician</c><00:22:58.700><c> 3</c><00:22:58.910><c> as</c><00:22:59.120><c> well</c><00:22:59.360><c> so</c>

00:22:59.980 --> 00:22:59.990 align:start position:0%
it into that patrician 3 as well so
 

00:22:59.990 --> 00:23:03.100 align:start position:0%
it into that patrician 3 as well so
there<00:23:00.110><c> is</c><00:23:00.289><c> an</c><00:23:00.669><c> overhead</c><00:23:01.669><c> on</c><00:23:02.450><c> the</c><00:23:02.510><c> machine</c>

00:23:03.100 --> 00:23:03.110 align:start position:0%
there is an overhead on the machine
 

00:23:03.110 --> 00:23:07.000 align:start position:0%
there is an overhead on the machine
level<00:23:03.590><c> they're</c><00:23:04.100><c> doing</c><00:23:04.340><c> it</c><00:23:04.429><c> that</c><00:23:04.580><c> way</c><00:23:05.530><c> now</c><00:23:06.530><c> is</c>

00:23:07.000 --> 00:23:07.010 align:start position:0%
level they're doing it that way now is
 

00:23:07.010 --> 00:23:10.330 align:start position:0%
level they're doing it that way now is
it<00:23:07.340><c> does</c><00:23:08.210><c> it</c><00:23:08.330><c> make</c><00:23:08.480><c> sense</c><00:23:08.840><c> that's</c><00:23:09.620><c> like</c><00:23:10.039><c> a</c>

00:23:10.330 --> 00:23:10.340 align:start position:0%
it does it make sense that's like a
 

00:23:10.340 --> 00:23:12.760 align:start position:0%
it does it make sense that's like a
preferred<00:23:11.000><c> storage</c><00:23:11.419><c> method</c><00:23:11.750><c> I</c><00:23:11.960><c> don't</c><00:23:12.320><c> know</c><00:23:12.470><c> I</c>

00:23:12.760 --> 00:23:12.770 align:start position:0%
preferred storage method I don't know I
 

00:23:12.770 --> 00:23:15.580 align:start position:0%
preferred storage method I don't know I
think<00:23:12.950><c> that</c><00:23:13.250><c> it</c><00:23:13.340><c> might</c><00:23:13.539><c> be</c><00:23:14.539><c> an</c><00:23:15.169><c> indication</c>

00:23:15.580 --> 00:23:15.590 align:start position:0%
think that it might be an indication
 

00:23:15.590 --> 00:23:17.799 align:start position:0%
think that it might be an indication
that<00:23:15.770><c> there's</c><00:23:16.100><c> more</c><00:23:16.970><c> work</c><00:23:17.030><c> that</c><00:23:17.390><c> needs</c><00:23:17.510><c> to</c><00:23:17.720><c> be</c>

00:23:17.799 --> 00:23:17.809 align:start position:0%
that there's more work that needs to be
 

00:23:17.809 --> 00:23:21.250 align:start position:0%
that there's more work that needs to be
done<00:23:18.020><c> to</c><00:23:18.370><c> out</c><00:23:19.370><c> and</c><00:23:19.549><c> maybe</c><00:23:19.789><c> a</c><00:23:20.210><c> gas</c><00:23:20.659><c> correction</c>

00:23:21.250 --> 00:23:21.260 align:start position:0%
done to out and maybe a gas correction
 

00:23:21.260 --> 00:23:22.840 align:start position:0%
done to out and maybe a gas correction
and<00:23:21.440><c> I</c><00:23:21.500><c> think</c><00:23:21.740><c> that's</c><00:23:21.890><c> also</c><00:23:22.070><c> important</c><00:23:22.730><c> to</c>

00:23:22.840 --> 00:23:22.850 align:start position:0%
and I think that's also important to
 

00:23:22.850 --> 00:23:25.810 align:start position:0%
and I think that's also important to
bear<00:23:23.030><c> in</c><00:23:23.090><c> mind</c><00:23:23.240><c> with</c><00:23:24.230><c> if</c><00:23:24.919><c> you</c><00:23:25.039><c> decide</c><00:23:25.429><c> to</c><00:23:25.640><c> use</c>

00:23:25.810 --> 00:23:25.820 align:start position:0%
bear in mind with if you decide to use
 

00:23:25.820 --> 00:23:28.149 align:start position:0%
bear in mind with if you decide to use
one<00:23:26.059><c> like</c><00:23:26.780><c> exotic</c><00:23:27.169><c> storage</c><00:23:27.679><c> method</c><00:23:28.010><c> over</c>

00:23:28.149 --> 00:23:28.159 align:start position:0%
one like exotic storage method over
 

00:23:28.159 --> 00:23:30.220 align:start position:0%
one like exotic storage method over
another<00:23:28.220><c> that</c><00:23:28.700><c> you</c><00:23:29.570><c> should</c><00:23:29.780><c> basically</c>

00:23:30.220 --> 00:23:30.230 align:start position:0%
another that you should basically
 

00:23:30.230 --> 00:23:32.470 align:start position:0%
another that you should basically
anticipate<00:23:30.919><c> that</c><00:23:31.100><c> things</c><00:23:31.520><c> might</c><00:23:31.760><c> change</c><00:23:32.120><c> in</c>

00:23:32.470 --> 00:23:32.480 align:start position:0%
anticipate that things might change in
 

00:23:32.480 --> 00:23:34.240 align:start position:0%
anticipate that things might change in
terms<00:23:32.659><c> of</c><00:23:32.780><c> gas</c><00:23:32.929><c> pricing</c><00:23:33.409><c> online</c><00:23:33.890><c> and</c><00:23:34.190><c> you</c>

00:23:34.240 --> 00:23:34.250 align:start position:0%
terms of gas pricing online and you
 

00:23:34.250 --> 00:23:36.250 align:start position:0%
terms of gas pricing online and you
might<00:23:34.400><c> be</c><00:23:34.549><c> stuck</c><00:23:34.820><c> with</c><00:23:35.110><c> something</c><00:23:36.110><c> that's</c>

00:23:36.250 --> 00:23:36.260 align:start position:0%
might be stuck with something that's
 

00:23:36.260 --> 00:23:38.919 align:start position:0%
might be stuck with something that's
really<00:23:36.530><c> esoteric</c><00:23:37.070><c> and</c><00:23:37.400><c> out</c><00:23:37.520><c> there</c><00:23:37.820><c> but</c><00:23:38.480><c> as</c>

00:23:38.919 --> 00:23:38.929 align:start position:0%
really esoteric and out there but as
 

00:23:38.929 --> 00:23:40.480 align:start position:0%
really esoteric and out there but as
long<00:23:39.110><c> as</c><00:23:39.140><c> couple</c><00:23:39.620><c> that</c><00:23:39.740><c> with</c><00:23:39.919><c> good</c><00:23:40.130><c> upgrade</c>

00:23:40.480 --> 00:23:40.490 align:start position:0%
long as couple that with good upgrade
 

00:23:40.490 --> 00:23:42.070 align:start position:0%
long as couple that with good upgrade
ability<00:23:40.580><c> and</c><00:23:40.970><c> then</c><00:23:41.059><c> it's</c><00:23:41.240><c> maybe</c><00:23:41.659><c> not</c><00:23:41.840><c> so</c><00:23:41.960><c> much</c>

00:23:42.070 --> 00:23:42.080 align:start position:0%
ability and then it's maybe not so much
 

00:23:42.080 --> 00:23:55.350 align:start position:0%
ability and then it's maybe not so much
an<00:23:42.230><c> answer</c><00:23:44.169><c> yeah</c>

00:23:55.350 --> 00:23:55.360 align:start position:0%
 
 

00:23:55.360 --> 00:23:58.870 align:start position:0%
 
to<00:23:56.360><c> use</c><00:23:56.510><c> like</c><00:23:56.810><c> this</c><00:23:57.620><c> transaction</c><00:23:58.160><c> script</c><00:23:58.670><c> type</c>

00:23:58.870 --> 00:23:58.880 align:start position:0%
to use like this transaction script type
 

00:23:58.880 --> 00:24:02.890 align:start position:0%
to use like this transaction script type
functionality<00:24:00.340><c> so</c><00:24:01.340><c> your</c><00:24:01.610><c> your</c><00:24:02.000><c> right</c><00:24:02.720><c> out</c><00:24:02.870><c> of</c>

00:24:02.890 --> 00:24:02.900 align:start position:0%
functionality so your your right out of
 

00:24:02.900 --> 00:24:05.830 align:start position:0%
functionality so your your right out of
the<00:24:03.140><c> gates</c><00:24:03.320><c> you're</c><00:24:03.590><c> dealing</c><00:24:03.920><c> with</c><00:24:04.840><c> 32,000</c>

00:24:05.830 --> 00:24:05.840 align:start position:0%
the gates you're dealing with 32,000
 

00:24:05.840 --> 00:24:08.380 align:start position:0%
the gates you're dealing with 32,000
gasp<00:24:05.990><c> overhead</c><00:24:06.560><c> for</c><00:24:06.920><c> deployment</c><00:24:07.610><c> then</c><00:24:08.270><c> you</c>

00:24:08.380 --> 00:24:08.390 align:start position:0%
gasp overhead for deployment then you
 

00:24:08.390 --> 00:24:10.330 align:start position:0%
gasp overhead for deployment then you
can<00:24:08.570><c> deduct</c><00:24:08.870><c> out</c><00:24:09.170><c> the</c><00:24:09.470><c> twenty</c><00:24:09.740><c> four</c><00:24:09.920><c> thousand</c>

00:24:10.330 --> 00:24:10.340 align:start position:0%
can deduct out the twenty four thousand
 

00:24:10.340 --> 00:24:13.390 align:start position:0%
can deduct out the twenty four thousand
rebate<00:24:10.870><c> it</c><00:24:11.870><c> starts</c><00:24:12.560><c> to</c><00:24:12.680><c> make</c><00:24:12.800><c> a</c><00:24:12.830><c> lot</c><00:24:13.100><c> more</c>

00:24:13.390 --> 00:24:13.400 align:start position:0%
rebate it starts to make a lot more
 

00:24:13.400 --> 00:24:15.280 align:start position:0%
rebate it starts to make a lot more
sense<00:24:13.460><c> as</c><00:24:13.940><c> you</c><00:24:14.120><c> get</c><00:24:14.240><c> into</c><00:24:14.360><c> more</c><00:24:14.480><c> complex</c>

00:24:15.280 --> 00:24:15.290 align:start position:0%
sense as you get into more complex
 

00:24:15.290 --> 00:24:20.170 align:start position:0%
sense as you get into more complex
operations<00:24:16.660><c> and</c><00:24:18.610><c> especially</c><00:24:19.610><c> stuff</c><00:24:19.820><c> it</c><00:24:20.030><c> like</c>

00:24:20.170 --> 00:24:20.180 align:start position:0%
operations and especially stuff it like
 

00:24:20.180 --> 00:24:22.760 align:start position:0%
operations and especially stuff it like
you<00:24:20.300><c> couldn't</c><00:24:20.690><c> go</c><00:24:20.930><c> through</c><00:24:21.200><c> another</c>

00:24:22.760 --> 00:24:22.770 align:start position:0%
you couldn't go through another
 

00:24:22.770 --> 00:24:24.870 align:start position:0%
you couldn't go through another
another<00:24:23.770><c> helper</c><00:24:24.190><c> or</c><00:24:24.340><c> something</c><00:24:24.669><c> that</c><00:24:24.789><c> would</c>

00:24:24.870 --> 00:24:24.880 align:start position:0%
another helper or something that would
 

00:24:24.880 --> 00:24:28.080 align:start position:0%
another helper or something that would
do<00:24:25.090><c> that</c><00:24:25.480><c> matching</c><00:24:25.900><c> for</c><00:24:26.110><c> you</c><00:24:26.370><c> but</c><00:24:27.370><c> the</c><00:24:27.910><c> big</c>

00:24:28.080 --> 00:24:28.090 align:start position:0%
do that matching for you but the big
 

00:24:28.090 --> 00:24:30.750 align:start position:0%
do that matching for you but the big
thing<00:24:28.120><c> is</c><00:24:28.360><c> most</c><00:24:28.780><c> like</c><00:24:29.320><c> batch</c><00:24:29.760><c> transaction</c>

00:24:30.750 --> 00:24:30.760 align:start position:0%
thing is most like batch transaction
 

00:24:30.760 --> 00:24:32.460 align:start position:0%
thing is most like batch transaction
type<00:24:31.120><c> things</c><00:24:31.390><c> removal</c><00:24:31.840><c> tool</c><00:24:31.960><c> calls</c><00:24:32.260><c> that</c>

00:24:32.460 --> 00:24:32.470 align:start position:0%
type things removal tool calls that
 

00:24:32.470 --> 00:24:34.680 align:start position:0%
type things removal tool calls that
don't<00:24:32.679><c> really</c><00:24:32.980><c> have</c><00:24:33.309><c> a</c><00:24:33.549><c> strong</c><00:24:33.850><c> ability</c><00:24:34.360><c> to</c>

00:24:34.680 --> 00:24:34.690 align:start position:0%
don't really have a strong ability to
 

00:24:34.690 --> 00:24:37.080 align:start position:0%
don't really have a strong ability to
hook<00:24:35.169><c> into</c><00:24:35.380><c> conditionals</c><00:24:35.980><c> alike</c><00:24:36.220><c> both</c><00:24:36.370><c> based</c>

00:24:37.080 --> 00:24:37.090 align:start position:0%
hook into conditionals alike both based
 

00:24:37.090 --> 00:24:38.730 align:start position:0%
hook into conditionals alike both based
on<00:24:37.360><c> this</c><00:24:37.630><c> I'm</c><00:24:37.809><c> going</c><00:24:37.840><c> to</c><00:24:38.049><c> go</c><00:24:38.289><c> do</c><00:24:38.440><c> this</c><00:24:38.530><c> other</c>

00:24:38.730 --> 00:24:38.740 align:start position:0%
on this I'm going to go do this other
 

00:24:38.740 --> 00:24:41.520 align:start position:0%
on this I'm going to go do this other
thing<00:24:38.860><c> on</c><00:24:39.309><c> this</c><00:24:39.730><c> other</c><00:24:39.850><c> back</c><00:24:40.090><c> this</c><00:24:40.870><c> way</c><00:24:41.080><c> you</c>

00:24:41.520 --> 00:24:41.530 align:start position:0%
thing on this other back this way you
 

00:24:41.530 --> 00:24:43.620 align:start position:0%
thing on this other back this way you
can<00:24:41.710><c> like</c><00:24:41.980><c> the</c><00:24:42.130><c> sky's</c><00:24:42.340><c> the</c><00:24:42.370><c> limit</c><00:24:42.580><c> and</c><00:24:43.120><c> there's</c>

00:24:43.620 --> 00:24:43.630 align:start position:0%
can like the sky's the limit and there's
 

00:24:43.630 --> 00:24:57.090 align:start position:0%
can like the sky's the limit and there's
also<00:24:43.840><c> the</c><00:24:44.020><c> security</c><00:24:44.700><c> consideration</c><00:24:45.700><c> of</c><00:24:56.100><c> the</c>

00:24:57.090 --> 00:24:57.100 align:start position:0%
also the security consideration of the
 

00:24:57.100 --> 00:24:58.649 align:start position:0%
also the security consideration of the
KOAT<00:24:57.309><c> action</c>

00:24:58.649 --> 00:24:58.659 align:start position:0%
KOAT action
 

00:24:58.659 --> 00:25:02.610 align:start position:0%
KOAT action
yes<00:24:59.049><c> probably</c><00:24:59.559><c> what</c><00:25:00.070><c> did</c><00:25:00.190><c> you</c><00:25:00.280><c> into</c><00:25:00.490><c> code</c><00:25:01.620><c> so</c>

00:25:02.610 --> 00:25:02.620 align:start position:0%
yes probably what did you into code so
 

00:25:02.620 --> 00:25:05.039 align:start position:0%
yes probably what did you into code so
you<00:25:02.679><c> don't</c><00:25:02.950><c> change</c><00:25:03.220><c> the</c><00:25:03.669><c> deployer</c><00:25:04.000><c> the</c><00:25:04.780><c> salt</c>

00:25:05.039 --> 00:25:05.049 align:start position:0%
you don't change the deployer the salt
 

00:25:05.049 --> 00:25:08.159 align:start position:0%
you don't change the deployer the salt
or<00:25:05.440><c> the</c><00:25:06.309><c> creation</c><00:25:06.909><c> code</c><00:25:07.150><c> but</c><00:25:07.659><c> the</c><00:25:07.750><c> creation</c>

00:25:08.159 --> 00:25:08.169 align:start position:0%
or the creation code but the creation
 

00:25:08.169 --> 00:25:10.350 align:start position:0%
or the creation code but the creation
code<00:25:08.320><c> is</c><00:25:08.530><c> non-deterministic</c><00:25:09.460><c> meaning</c><00:25:10.150><c> it's</c>

00:25:10.350 --> 00:25:10.360 align:start position:0%
code is non-deterministic meaning it's
 

00:25:10.360 --> 00:25:12.779 align:start position:0%
code is non-deterministic meaning it's
fixed<00:25:10.929><c> creation</c><00:25:11.409><c> code</c><00:25:11.620><c> but</c><00:25:12.159><c> during</c><00:25:12.730><c> that</c>

00:25:12.779 --> 00:25:12.789 align:start position:0%
fixed creation code but during that
 

00:25:12.789 --> 00:25:15.169 align:start position:0%
fixed creation code but during that
creation<00:25:13.360><c> step</c><00:25:13.659><c> rather</c><00:25:13.900><c> than</c><00:25:14.200><c> a</c><00:25:14.230><c> standard</c>

00:25:15.169 --> 00:25:15.179 align:start position:0%
creation step rather than a standard
 

00:25:15.179 --> 00:25:17.460 align:start position:0%
creation step rather than a standard
like<00:25:16.179><c> solidity</c><00:25:16.630><c> and</c><00:25:16.750><c> employment</c><00:25:17.320><c> that's</c>

00:25:17.460 --> 00:25:17.470 align:start position:0%
like solidity and employment that's
 

00:25:17.470 --> 00:25:19.680 align:start position:0%
like solidity and employment that's
going<00:25:17.679><c> to</c><00:25:17.740><c> basically</c><00:25:18.280><c> have</c><00:25:18.640><c> the</c><00:25:19.059><c> runtime</c><00:25:19.450><c> code</c>

00:25:19.680 --> 00:25:19.690 align:start position:0%
going to basically have the runtime code
 

00:25:19.690 --> 00:25:21.419 align:start position:0%
going to basically have the runtime code
and<00:25:20.140><c> just</c><00:25:20.440><c> copy</c><00:25:20.650><c> that</c><00:25:20.919><c> over</c>

00:25:21.419 --> 00:25:21.429 align:start position:0%
and just copy that over
 

00:25:21.429 --> 00:25:23.159 align:start position:0%
and just copy that over
you're<00:25:21.909><c> going</c><00:25:22.030><c> to</c><00:25:22.090><c> say</c><00:25:22.210><c> oh</c><00:25:22.240><c> instead</c><00:25:22.870><c> I'm</c><00:25:23.049><c> gonna</c>

00:25:23.159 --> 00:25:23.169 align:start position:0%
you're going to say oh instead I'm gonna
 

00:25:23.169 --> 00:25:26.190 align:start position:0%
you're going to say oh instead I'm gonna
go<00:25:23.409><c> ask</c><00:25:23.740><c> this</c><00:25:24.130><c> other</c><00:25:24.370><c> contract</c><00:25:24.970><c> for</c><00:25:25.630><c> their</c>

00:25:26.190 --> 00:25:26.200 align:start position:0%
go ask this other contract for their
 

00:25:26.200 --> 00:25:30.419 align:start position:0%
go ask this other contract for their
code<00:25:26.559><c> that</c><00:25:26.890><c> they</c><00:25:27.010><c> have</c><00:25:27.250><c> right</c><00:25:27.549><c> now</c><00:25:29.280><c> or</c><00:25:30.280><c> some</c>

00:25:30.419 --> 00:25:30.429 align:start position:0%
code that they have right now or some
 

00:25:30.429 --> 00:25:32.630 align:start position:0%
code that they have right now or some
variation

00:25:32.630 --> 00:25:32.640 align:start position:0%
variation
 

00:25:32.640 --> 00:25:36.279 align:start position:0%
variation
okay<00:25:33.179><c> last</c><00:25:33.390><c> question</c><00:25:33.779><c> is</c><00:25:34.529><c> the</c><00:25:34.860><c> hands</c><00:25:35.490><c> of</c><00:25:35.730><c> the</c>

00:25:36.279 --> 00:25:36.289 align:start position:0%
okay last question is the hands of the
 

00:25:36.289 --> 00:25:39.860 align:start position:0%
okay last question is the hands of the
premise<00:25:37.289><c> contracting</c><00:25:38.039><c> to</c><00:25:38.159><c> destroy</c><00:25:38.690><c> those</c><00:25:39.690><c> who</c>

00:25:39.860 --> 00:25:39.870 align:start position:0%
premise contracting to destroy those who
 

00:25:39.870 --> 00:25:41.930 align:start position:0%
premise contracting to destroy those who
destroy<00:25:40.100><c> all</c><00:25:41.100><c> you</c><00:25:41.250><c> have</c><00:25:41.370><c> to</c><00:25:41.460><c> kind</c><00:25:41.640><c> of</c><00:25:41.700><c> move</c><00:25:41.820><c> it</c>

00:25:41.930 --> 00:25:41.940 align:start position:0%
destroy all you have to kind of move it
 

00:25:41.940 --> 00:25:42.380 align:start position:0%
destroy all you have to kind of move it
out

00:25:42.380 --> 00:25:42.390 align:start position:0%
out
 

00:25:42.390 --> 00:25:45.169 align:start position:0%
out
yes<00:25:43.049><c> so</c><00:25:43.500><c> whenever</c><00:25:44.010><c> you're</c><00:25:44.399><c> self-destructing</c>

00:25:45.169 --> 00:25:45.179 align:start position:0%
yes so whenever you're self-destructing
 

00:25:45.179 --> 00:25:47.480 align:start position:0%
yes so whenever you're self-destructing
contracts<00:25:45.600><c> are</c><00:25:45.720><c> to</c><00:25:45.809><c> be</c><00:25:45.929><c> very</c><00:25:46.039><c> careful</c><00:25:47.039><c> with</c>

00:25:47.480 --> 00:25:47.490 align:start position:0%
contracts are to be very careful with
 

00:25:47.490 --> 00:25:49.519 align:start position:0%
contracts are to be very careful with
balances<00:25:48.210><c> token</c><00:25:48.720><c> balances</c><00:25:49.169><c> aren't</c><00:25:49.380><c> good</c>

00:25:49.519 --> 00:25:49.529 align:start position:0%
balances token balances aren't good
 

00:25:49.529 --> 00:25:51.710 align:start position:0%
balances token balances aren't good
because<00:25:49.860><c> they</c><00:25:50.010><c> live</c><00:25:50.220><c> on</c><00:25:50.519><c> the</c><00:25:50.760><c> tokens</c><00:25:51.179><c> right</c>

00:25:51.710 --> 00:25:51.720 align:start position:0%
because they live on the tokens right
 

00:25:51.720 --> 00:25:54.289 align:start position:0%
because they live on the tokens right
that's<00:25:52.440><c> not</c><00:25:53.190><c> so</c><00:25:53.399><c> much</c><00:25:53.490><c> of</c><00:25:53.610><c> a</c><00:25:53.669><c> concern</c><00:25:53.700><c> but</c><00:25:54.179><c> if</c>

00:25:54.289 --> 00:25:54.299 align:start position:0%
that's not so much of a concern but if
 

00:25:54.299 --> 00:25:57.110 align:start position:0%
that's not so much of a concern but if
you<00:25:54.360><c> have</c><00:25:54.480><c> either</c><00:25:54.990><c> at</c><00:25:55.890><c> the</c><00:25:56.250><c> contract</c><00:25:56.789><c> when</c>

00:25:57.110 --> 00:25:57.120 align:start position:0%
you have either at the contract when
 

00:25:57.120 --> 00:25:59.930 align:start position:0%
you have either at the contract when
it's<00:25:57.269><c> destroyed</c><00:25:57.500><c> that</c><00:25:58.500><c> your</c><00:25:58.710><c> ether</c><00:25:59.039><c> is</c><00:25:59.279><c> burned</c>

00:25:59.930 --> 00:25:59.940 align:start position:0%
it's destroyed that your ether is burned
 

00:25:59.940 --> 00:26:01.639 align:start position:0%
it's destroyed that your ether is burned
and<00:26:00.179><c> not</c><00:26:00.330><c> like</c><00:26:00.510><c> Sentinel</c><00:26:01.080><c> address</c><00:26:01.380><c> its</c>

00:26:01.639 --> 00:26:01.649 align:start position:0%
and not like Sentinel address its
 

00:26:01.649 --> 00:26:04.389 align:start position:0%
and not like Sentinel address its
annihilated<00:26:02.519><c> your</c><00:26:02.549><c> body</c><00:26:03.090><c> isn't</c><00:26:03.269><c> gone</c>

00:26:04.389 --> 00:26:04.399 align:start position:0%
annihilated your body isn't gone
 

00:26:04.399 --> 00:26:08.480 align:start position:0%
annihilated your body isn't gone
so<00:26:05.600><c> obviously</c><00:26:06.600><c> self-destruct</c><00:26:07.440><c> you</c><00:26:07.889><c> specify</c><00:26:08.460><c> a</c>

00:26:08.480 --> 00:26:08.490 align:start position:0%
so obviously self-destruct you specify a
 

00:26:08.490 --> 00:26:09.529 align:start position:0%
so obviously self-destruct you specify a
recipient<00:26:08.909><c> and</c><00:26:09.090><c> it</c><00:26:09.240><c> will</c><00:26:09.330><c> immediately</c>

00:26:09.529 --> 00:26:09.539 align:start position:0%
recipient and it will immediately
 

00:26:09.539 --> 00:26:11.600 align:start position:0%
recipient and it will immediately
forward<00:26:10.110><c> the</c><00:26:10.169><c> funds</c><00:26:10.380><c> to</c><00:26:10.559><c> them</c><00:26:10.710><c> but</c><00:26:11.399><c> if</c><00:26:11.460><c> any</c>

00:26:11.600 --> 00:26:11.610 align:start position:0%
forward the funds to them but if any
 

00:26:11.610 --> 00:26:13.129 align:start position:0%
forward the funds to them but if any
funds<00:26:11.850><c> make</c><00:26:12.090><c> their</c><00:26:12.240><c> way</c><00:26:12.299><c> back</c><00:26:12.330><c> within</c><00:26:12.899><c> that</c>

00:26:13.129 --> 00:26:13.139 align:start position:0%
funds make their way back within that
 

00:26:13.139 --> 00:26:14.990 align:start position:0%
funds make their way back within that
same<00:26:13.409><c> transaction</c><00:26:14.039><c> the</c><00:26:14.340><c> contract</c><00:26:14.820><c> hasn't</c>

00:26:14.990 --> 00:26:15.000 align:start position:0%
same transaction the contract hasn't
 

00:26:15.000 --> 00:26:17.210 align:start position:0%
same transaction the contract hasn't
been<00:26:15.240><c> deleted</c><00:26:15.690><c> until</c><00:26:16.049><c> the</c><00:26:16.200><c> end</c><00:26:16.470><c> of</c><00:26:16.860><c> the</c>

00:26:17.210 --> 00:26:17.220 align:start position:0%
been deleted until the end of the
 

00:26:17.220 --> 00:26:18.919 align:start position:0%
been deleted until the end of the
transaction<00:26:17.610><c> at</c><00:26:18.029><c> which</c><00:26:18.149><c> point</c><00:26:18.450><c> it's</c><00:26:18.809><c> only</c>

00:26:18.919 --> 00:26:18.929 align:start position:0%
transaction at which point it's only
 

00:26:18.929 --> 00:26:20.690 align:start position:0%
transaction at which point it's only
been<00:26:19.019><c> scheduled</c><00:26:19.529><c> for</c><00:26:19.740><c> donations</c><00:26:20.220><c> it's</c>

00:26:20.690 --> 00:26:20.700 align:start position:0%
been scheduled for donations it's
 

00:26:20.700 --> 00:26:22.159 align:start position:0%
been scheduled for donations it's
another<00:26:20.880><c> limitation</c><00:26:21.299><c> to</c><00:26:21.510><c> this</c><00:26:21.630><c> is</c><00:26:21.870><c> that</c>

00:26:22.159 --> 00:26:22.169 align:start position:0%
another limitation to this is that
 

00:26:22.169 --> 00:26:25.970 align:start position:0%
another limitation to this is that
you're<00:26:22.620><c> limited</c><00:26:23.039><c> to</c><00:26:23.279><c> one</c><00:26:24.059><c> redeployed</c><00:26:24.980><c> per</c>

00:26:25.970 --> 00:26:25.980 align:start position:0%
you're limited to one redeployed per
 

00:26:25.980 --> 00:26:29.990 align:start position:0%
you're limited to one redeployed per
transaction<00:26:26.809><c> that's</c><00:26:27.809><c> a</c><00:26:27.960><c> pretty</c><00:26:28.740><c> extreme</c><00:26:29.580><c> case</c>

00:26:29.990 --> 00:26:30.000 align:start position:0%
transaction that's a pretty extreme case
 

00:26:30.000 --> 00:26:31.340 align:start position:0%
transaction that's a pretty extreme case
that<00:26:30.210><c> you</c><00:26:30.330><c> would</c><00:26:30.419><c> be</c><00:26:30.539><c> doing</c><00:26:30.570><c> multiple</c><00:26:31.080><c> redo</c>

00:26:31.340 --> 00:26:31.350 align:start position:0%
that you would be doing multiple redo
 

00:26:31.350 --> 00:26:33.289 align:start position:0%
that you would be doing multiple redo
poisoning<00:26:31.860><c> in</c><00:26:32.100><c> a</c><00:26:32.220><c> single</c><00:26:32.549><c> transaction</c><00:26:32.730><c> but</c>

00:26:33.289 --> 00:26:33.299 align:start position:0%
poisoning in a single transaction but
 

00:26:33.299 --> 00:26:35.000 align:start position:0%
poisoning in a single transaction but
that's<00:26:33.929><c> something</c><00:26:34.260><c> to</c><00:26:34.320><c> be</c><00:26:34.440><c> aware</c><00:26:34.470><c> of</c><00:26:34.679><c> so</c>

00:26:35.000 --> 00:26:35.010 align:start position:0%
that's something to be aware of so
 

00:26:35.010 --> 00:26:37.879 align:start position:0%
that's something to be aware of so
there's<00:26:35.190><c> like</c><00:26:35.279><c> a</c><00:26:35.340><c> slight</c><00:26:36.200><c> additional</c><00:26:37.200><c> delight</c>

00:26:37.879 --> 00:26:37.889 align:start position:0%
there's like a slight additional delight
 

00:26:37.889 --> 00:26:42.320 align:start position:0%
there's like a slight additional delight
with<00:26:38.100><c> fairness</c><00:26:39.350><c> okay</c><00:26:40.350><c> I'm</c><00:26:41.130><c> happy</c><00:26:41.519><c> to</c><00:26:41.730><c> chat</c>

00:26:42.320 --> 00:26:42.330 align:start position:0%
with fairness okay I'm happy to chat
 

00:26:42.330 --> 00:26:44.779 align:start position:0%
with fairness okay I'm happy to chat
Laura<00:26:42.600><c> take</c><00:26:43.080><c> some</c><00:26:43.289><c> questions</c><00:26:43.679><c> after</c><00:26:44.429><c> this</c><00:26:44.549><c> but</c>

00:26:44.779 --> 00:26:44.789 align:start position:0%
Laura take some questions after this but
 

00:26:44.789 --> 00:26:47.299 align:start position:0%
Laura take some questions after this but
thank<00:26:45.090><c> you</c><00:26:45.149><c> guys</c><00:26:45.210><c> for</c><00:26:45.480><c> being</c><00:26:45.600><c> here</c><00:26:45.870><c> and</c><00:26:46.309><c> go</c>

00:26:47.299 --> 00:26:47.309 align:start position:0%
thank you guys for being here and go
 

00:26:47.309 --> 00:26:55.070 align:start position:0%
thank you guys for being here and go
teach<00:26:47.549><c> people</c><00:26:47.760><c> about</c><00:26:47.940><c> this</c>

00:26:55.070 --> 00:26:55.080 align:start position:0%
 
 

00:26:55.080 --> 00:27:01.490 align:start position:0%
 
[Applause]

00:27:01.490 --> 00:27:01.500 align:start position:0%
 
 

00:27:01.500 --> 00:27:03.560 align:start position:0%
 
you

