WEBVTT
Kind: captions
Language: en

00:00:18.220 --> 00:00:21.940 align:start position:0%
 
alright<00:00:19.220><c> great</c><00:00:20.080><c> my</c><00:00:21.080><c> name</c><00:00:21.200><c> is</c><00:00:21.290><c> Nikolai</c><00:00:21.650><c> I'm</c>

00:00:21.940 --> 00:00:21.950 align:start position:0%
alright great my name is Nikolai I'm
 

00:00:21.950 --> 00:00:23.740 align:start position:0%
alright great my name is Nikolai I'm
here<00:00:22.310><c> representing</c><00:00:22.700><c> Nexus</c><00:00:23.150><c> developments</c>

00:00:23.740 --> 00:00:23.750 align:start position:0%
here representing Nexus developments
 

00:00:23.750 --> 00:00:26.679 align:start position:0%
here representing Nexus developments
where<00:00:24.350><c> a</c><00:00:24.650><c> athyrium</c><00:00:25.340><c> R&amp;D</c><00:00:26.150><c> shop</c><00:00:26.390><c> and</c>

00:00:26.679 --> 00:00:26.689 align:start position:0%
where a athyrium R&amp;D shop and
 

00:00:26.689 --> 00:00:29.109 align:start position:0%
where a athyrium R&amp;D shop and
consultancy<00:00:27.470><c> and</c><00:00:27.619><c> among</c><00:00:28.369><c> other</c><00:00:28.520><c> things</c><00:00:28.610><c> we</c>

00:00:29.109 --> 00:00:29.119 align:start position:0%
consultancy and among other things we
 

00:00:29.119 --> 00:00:30.909 align:start position:0%
consultancy and among other things we
publish<00:00:29.570><c> open</c><00:00:29.900><c> source</c><00:00:30.110><c> software</c><00:00:30.320><c> to</c><00:00:30.890><c> help</c>

00:00:30.909 --> 00:00:30.919 align:start position:0%
publish open source software to help
 

00:00:30.919 --> 00:00:32.830 align:start position:0%
publish open source software to help
other<00:00:31.430><c> developers</c><00:00:31.970><c> what</c><00:00:32.540><c> I'm</c><00:00:32.630><c> going</c><00:00:32.750><c> to</c><00:00:32.780><c> focus</c>

00:00:32.830 --> 00:00:32.840 align:start position:0%
other developers what I'm going to focus
 

00:00:32.840 --> 00:00:35.069 align:start position:0%
other developers what I'm going to focus
on<00:00:33.079><c> today</c><00:00:33.140><c> is</c><00:00:33.350><c> called</c><00:00:33.560><c> dapple</c><00:00:34.040><c> so</c><00:00:34.430><c> it</c><00:00:34.579><c> is</c><00:00:34.610><c> Apple</c>

00:00:35.069 --> 00:00:35.079 align:start position:0%
on today is called dapple so it is Apple
 

00:00:35.079 --> 00:00:37.540 align:start position:0%
on today is called dapple so it is Apple
dabble<00:00:36.079><c> is</c><00:00:36.260><c> a</c><00:00:36.290><c> developer</c><00:00:36.890><c> tool</c><00:00:37.160><c> for</c><00:00:37.430><c> people</c>

00:00:37.540 --> 00:00:37.550 align:start position:0%
dabble is a developer tool for people
 

00:00:37.550 --> 00:00:39.250 align:start position:0%
dabble is a developer tool for people
targeting<00:00:38.090><c> the</c><00:00:38.300><c> etherium</c><00:00:38.660><c> virtual</c><00:00:38.989><c> machine</c>

00:00:39.250 --> 00:00:39.260 align:start position:0%
targeting the etherium virtual machine
 

00:00:39.260 --> 00:00:41.950 align:start position:0%
targeting the etherium virtual machine
it's<00:00:39.980><c> a</c><00:00:40.340><c> collection</c><00:00:40.640><c> of</c><00:00:40.850><c> utilities</c><00:00:41.420><c> that</c><00:00:41.900><c> are</c>

00:00:41.950 --> 00:00:41.960 align:start position:0%
it's a collection of utilities that are
 

00:00:41.960 --> 00:00:44.350 align:start position:0%
it's a collection of utilities that are
mostly<00:00:42.440><c> loosely</c><00:00:43.100><c> coupled</c><00:00:43.310><c> but</c><00:00:43.730><c> they</c><00:00:44.120><c> all</c>

00:00:44.350 --> 00:00:44.360 align:start position:0%
mostly loosely coupled but they all
 

00:00:44.360 --> 00:00:46.870 align:start position:0%
mostly loosely coupled but they all
center<00:00:44.720><c> around</c><00:00:44.750><c> a</c><00:00:45.170><c> common</c><00:00:45.950><c> data</c><00:00:46.340><c> model</c><00:00:46.430><c> which</c>

00:00:46.870 --> 00:00:46.880 align:start position:0%
center around a common data model which
 

00:00:46.880 --> 00:00:49.600 align:start position:0%
center around a common data model which
is<00:00:46.910><c> one</c><00:00:47.240><c> of</c><00:00:47.360><c> our</c><00:00:47.450><c> major</c><00:00:48.110><c> key</c><00:00:48.620><c> innovations</c><00:00:49.280><c> from</c>

00:00:49.600 --> 00:00:49.610 align:start position:0%
is one of our major key innovations from
 

00:00:49.610 --> 00:00:51.400 align:start position:0%
is one of our major key innovations from
my<00:00:49.760><c> point</c><00:00:49.940><c> of</c><00:00:50.060><c> view</c><00:00:50.120><c> so</c><00:00:50.720><c> I'll</c><00:00:50.960><c> go</c><00:00:51.050><c> through</c><00:00:51.290><c> all</c>

00:00:51.400 --> 00:00:51.410 align:start position:0%
my point of view so I'll go through all
 

00:00:51.410 --> 00:00:52.600 align:start position:0%
my point of view so I'll go through all
these<00:00:51.530><c> real</c><00:00:51.710><c> quick</c><00:00:51.890><c> and</c><00:00:52.010><c> then</c><00:00:52.070><c> I'll</c><00:00:52.220><c> go</c><00:00:52.340><c> into</c><00:00:52.490><c> a</c>

00:00:52.600 --> 00:00:52.610 align:start position:0%
these real quick and then I'll go into a
 

00:00:52.610 --> 00:00:55.480 align:start position:0%
these real quick and then I'll go into a
little<00:00:52.640><c> more</c><00:00:52.820><c> detail</c><00:00:53.560><c> the</c><00:00:54.560><c> main</c><00:00:55.220><c> thing</c><00:00:55.250><c> is</c>

00:00:55.480 --> 00:00:55.490 align:start position:0%
little more detail the main thing is
 

00:00:55.490 --> 00:00:57.070 align:start position:0%
little more detail the main thing is
this<00:00:55.790><c> shared</c><00:00:56.210><c> data</c><00:00:56.390><c> model</c><00:00:56.660><c> which</c><00:00:56.750><c> we</c><00:00:56.870><c> call</c><00:00:56.990><c> the</c>

00:00:57.070 --> 00:00:57.080 align:start position:0%
this shared data model which we call the
 

00:00:57.080 --> 00:00:59.620 align:start position:0%
this shared data model which we call the
DAP<00:00:57.260><c> file</c><00:00:57.470><c> and</c><00:00:58.460><c> it's</c><00:00:58.820><c> a</c><00:00:58.970><c> basically</c><00:00:59.510><c> a</c>

00:00:59.620 --> 00:00:59.630 align:start position:0%
DAP file and it's a basically a
 

00:00:59.630 --> 00:01:02.020 align:start position:0%
DAP file and it's a basically a
descriptor<00:01:00.080><c> for</c><00:01:00.230><c> both</c><00:01:00.430><c> code</c><00:01:01.430><c> packages</c><00:01:01.880><c> and</c>

00:01:02.020 --> 00:01:02.030 align:start position:0%
descriptor for both code packages and
 

00:01:02.030 --> 00:01:04.420 align:start position:0%
descriptor for both code packages and
also<00:01:02.210><c> deployed</c><00:01:02.570><c> systems</c><00:01:03.170><c> and</c><00:01:03.590><c> then</c><00:01:04.040><c> chain</c>

00:01:04.420 --> 00:01:04.430 align:start position:0%
also deployed systems and then chain
 

00:01:04.430 --> 00:01:06.249 align:start position:0%
also deployed systems and then chain
forking<00:01:04.879><c> creating</c><00:01:05.390><c> local</c><00:01:05.540><c> chain</c><00:01:05.840><c> Forks</c><00:01:06.170><c> and</c>

00:01:06.249 --> 00:01:06.259 align:start position:0%
forking creating local chain Forks and
 

00:01:06.259 --> 00:01:08.410 align:start position:0%
forking creating local chain Forks and
then<00:01:06.409><c> having</c><00:01:06.619><c> modified</c><00:01:07.549><c> evm</c><00:01:07.939><c> behavior</c><00:01:08.299><c> on</c>

00:01:08.410 --> 00:01:08.420 align:start position:0%
then having modified evm behavior on
 

00:01:08.420 --> 00:01:10.060 align:start position:0%
then having modified evm behavior on
those<00:01:08.540><c> local</c><00:01:08.869><c> chain</c><00:01:09.020><c> Forks</c><00:01:09.350><c> these</c><00:01:09.860><c> three</c>

00:01:10.060 --> 00:01:10.070 align:start position:0%
those local chain Forks these three
 

00:01:10.070 --> 00:01:11.140 align:start position:0%
those local chain Forks these three
things<00:01:10.100><c> together</c><00:01:10.400><c> like</c><00:01:10.670><c> you</c><00:01:10.759><c> do</c><00:01:10.820><c> some</c><00:01:10.970><c> really</c>

00:01:11.140 --> 00:01:11.150 align:start position:0%
things together like you do some really
 

00:01:11.150 --> 00:01:13.179 align:start position:0%
things together like you do some really
interesting<00:01:11.360><c> things</c><00:01:11.570><c> and</c><00:01:12.049><c> in</c><00:01:12.380><c> particular</c><00:01:13.040><c> the</c>

00:01:13.179 --> 00:01:13.189 align:start position:0%
interesting things and in particular the
 

00:01:13.189 --> 00:01:15.010 align:start position:0%
interesting things and in particular the
entire<00:01:13.490><c> like</c><00:01:13.790><c> development</c><00:01:14.240><c> workflow</c><00:01:14.689><c> of</c>

00:01:15.010 --> 00:01:15.020 align:start position:0%
entire like development workflow of
 

00:01:15.020 --> 00:01:16.899 align:start position:0%
entire like development workflow of
creating<00:01:15.799><c> contract</c><00:01:16.220><c> systems</c><00:01:16.520><c> that</c><00:01:16.640><c> talk</c><00:01:16.790><c> to</c>

00:01:16.899 --> 00:01:16.909 align:start position:0%
creating contract systems that talk to
 

00:01:16.909 --> 00:01:19.990 align:start position:0%
creating contract systems that talk to
other<00:01:17.000><c> contract</c><00:01:17.420><c> systems</c><00:01:17.750><c> kids</c><00:01:18.290><c> really</c><00:01:18.619><c> a</c><00:01:19.000><c> it</c>

00:01:19.990 --> 00:01:20.000 align:start position:0%
other contract systems kids really a it
 

00:01:20.000 --> 00:01:21.310 align:start position:0%
other contract systems kids really a it
helps<00:01:20.210><c> a</c><00:01:20.300><c> lot</c><00:01:20.420><c> to</c><00:01:20.540><c> how</c><00:01:20.630><c> these</c><00:01:20.750><c> features</c><00:01:21.050><c> so</c><00:01:21.170><c> let</c>

00:01:21.310 --> 00:01:21.320 align:start position:0%
helps a lot to how these features so let
 

00:01:21.320 --> 00:01:24.030 align:start position:0%
helps a lot to how these features so let
me<00:01:21.380><c> just</c><00:01:21.620><c> go</c><00:01:21.770><c> through</c><00:01:22.210><c> you</c><00:01:23.210><c> should</c><00:01:23.360><c> use</c><00:01:23.450><c> again</c>

00:01:24.030 --> 00:01:24.040 align:start position:0%
me just go through you should use again
 

00:01:24.040 --> 00:01:26.560 align:start position:0%
me just go through you should use again
the<00:01:25.040><c> first</c><00:01:25.280><c> thing</c><00:01:25.430><c> is</c><00:01:25.490><c> that</c><00:01:25.550><c> the</c><00:01:25.730><c> key</c><00:01:25.970><c> insight</c>

00:01:26.560 --> 00:01:26.570 align:start position:0%
the first thing is that the key insight
 

00:01:26.570 --> 00:01:28.330 align:start position:0%
the first thing is that the key insight
that<00:01:26.780><c> drives</c><00:01:27.020><c> this</c><00:01:27.230><c> first</c><00:01:27.500><c> innovation</c><00:01:27.770><c> is</c>

00:01:28.330 --> 00:01:28.340 align:start position:0%
that drives this first innovation is
 

00:01:28.340 --> 00:01:30.190 align:start position:0%
that drives this first innovation is
that<00:01:28.580><c> if</c><00:01:29.030><c> theory</c><00:01:29.420><c> em</c><00:01:29.540><c> land</c><00:01:29.720><c> is</c><00:01:29.870><c> slightly</c>

00:01:30.190 --> 00:01:30.200 align:start position:0%
that if theory em land is slightly
 

00:01:30.200 --> 00:01:33.850 align:start position:0%
that if theory em land is slightly
different<00:01:30.440><c> from</c><00:01:30.909><c> most</c><00:01:31.909><c> of</c><00:01:32.090><c> the</c><00:01:32.150><c> other</c><00:01:32.860><c> you</c>

00:01:33.850 --> 00:01:33.860 align:start position:0%
different from most of the other you
 

00:01:33.860 --> 00:01:35.070 align:start position:0%
different from most of the other you
know<00:01:33.890><c> programming</c><00:01:34.340><c> language</c><00:01:34.640><c> environment</c>

00:01:35.070 --> 00:01:35.080 align:start position:0%
know programming language environment
 

00:01:35.080 --> 00:01:37.810 align:start position:0%
know programming language environment
worlds<00:01:36.080><c> because</c><00:01:36.260><c> in</c><00:01:36.770><c> a</c><00:01:37.040><c> theory</c><00:01:37.370><c> i</c><00:01:37.400><c> mean</c><00:01:37.580><c> we</c>

00:01:37.810 --> 00:01:37.820 align:start position:0%
worlds because in a theory i mean we
 

00:01:37.820 --> 00:01:40.360 align:start position:0%
worlds because in a theory i mean we
actually<00:01:37.850><c> all</c><00:01:38.300><c> share</c><00:01:38.690><c> a</c><00:01:38.930><c> global</c><00:01:39.560><c> runtime</c>

00:01:40.360 --> 00:01:40.370 align:start position:0%
actually all share a global runtime
 

00:01:40.370 --> 00:01:41.980 align:start position:0%
actually all share a global runtime
environment<00:01:40.850><c> and</c><00:01:40.970><c> so</c><00:01:41.060><c> this</c><00:01:41.210><c> blurs</c><00:01:41.630><c> the</c><00:01:41.659><c> line</c>

00:01:41.980 --> 00:01:41.990 align:start position:0%
environment and so this blurs the line
 

00:01:41.990 --> 00:01:43.510 align:start position:0%
environment and so this blurs the line
between<00:01:42.020><c> something</c><00:01:42.500><c> that's</c><00:01:42.620><c> a</c><00:01:42.800><c> code</c><00:01:43.010><c> package</c>

00:01:43.510 --> 00:01:43.520 align:start position:0%
between something that's a code package
 

00:01:43.520 --> 00:01:46.030 align:start position:0%
between something that's a code package
and<00:01:43.760><c> something</c><00:01:44.540><c> that's</c><00:01:44.570><c> it</c><00:01:44.930><c> like</c><00:01:45.530><c> an</c><00:01:45.650><c> instance</c>

00:01:46.030 --> 00:01:46.040 align:start position:0%
and something that's it like an instance
 

00:01:46.040 --> 00:01:48.580 align:start position:0%
and something that's it like an instance
or<00:01:46.220><c> like</c><00:01:46.460><c> a</c><00:01:46.490><c> deployed</c><00:01:46.850><c> code</c><00:01:47.630><c> object</c><00:01:48.020><c> so</c><00:01:48.440><c> this</c>

00:01:48.580 --> 00:01:48.590 align:start position:0%
or like a deployed code object so this
 

00:01:48.590 --> 00:01:51.640 align:start position:0%
or like a deployed code object so this
would<00:01:48.740><c> be</c><00:01:48.770><c> like</c><00:01:49.060><c> if</c><00:01:50.060><c> you</c><00:01:50.420><c> hard</c><00:01:50.960><c> code</c><00:01:51.260><c> like</c><00:01:51.620><c> a</c>

00:01:51.640 --> 00:01:51.650 align:start position:0%
would be like if you hard code like a
 

00:01:51.650 --> 00:01:54.130 align:start position:0%
would be like if you hard code like a
web<00:01:52.010><c> endpoints</c><00:01:52.700><c> into</c><00:01:53.030><c> your</c><00:01:53.240><c> JavaScript</c>

00:01:54.130 --> 00:01:54.140 align:start position:0%
web endpoints into your JavaScript
 

00:01:54.140 --> 00:01:55.480 align:start position:0%
web endpoints into your JavaScript
package<00:01:54.440><c> or</c><00:01:54.560><c> something</c><00:01:54.830><c> that's</c><00:01:55.159><c> considered</c>

00:01:55.480 --> 00:01:55.490 align:start position:0%
package or something that's considered
 

00:01:55.490 --> 00:01:58.180 align:start position:0%
package or something that's considered
bad<00:01:55.610><c> practice</c><00:01:56.030><c> you</c><00:01:56.960><c> want</c><00:01:57.140><c> it</c><00:01:57.229><c> like</c><00:01:57.320><c> separately</c>

00:01:58.180 --> 00:01:58.190 align:start position:0%
bad practice you want it like separately
 

00:01:58.190 --> 00:01:59.740 align:start position:0%
bad practice you want it like separately
how<00:01:58.369><c> to</c><00:01:58.430><c> depend</c><00:01:58.820><c> on</c><00:01:58.940><c> a</c><00:01:58.970><c> configuration</c><00:01:59.720><c> where</c>

00:01:59.740 --> 00:01:59.750 align:start position:0%
how to depend on a configuration where
 

00:01:59.750 --> 00:02:01.210 align:start position:0%
how to depend on a configuration where
there<00:02:00.080><c> you</c><00:02:00.229><c> configure</c><00:02:00.590><c> your</c><00:02:00.740><c> endpoints</c><00:02:01.190><c> and</c>

00:02:01.210 --> 00:02:01.220 align:start position:0%
there you configure your endpoints and
 

00:02:01.220 --> 00:02:03.190 align:start position:0%
there you configure your endpoints and
then<00:02:01.369><c> have</c><00:02:01.520><c> all</c><00:02:01.670><c> that</c><00:02:01.790><c> logic</c><00:02:02.210><c> in</c><00:02:02.360><c> your</c><00:02:02.990><c> code</c>

00:02:03.190 --> 00:02:03.200 align:start position:0%
then have all that logic in your code
 

00:02:03.200 --> 00:02:06.070 align:start position:0%
then have all that logic in your code
but<00:02:04.130><c> in</c><00:02:04.250><c> a</c><00:02:04.310><c> theory</c><00:02:04.520><c> immunes</c><00:02:05.180><c> like</c><00:02:05.450><c> say</c><00:02:05.810><c> the</c>

00:02:06.070 --> 00:02:06.080 align:start position:0%
but in a theory immunes like say the
 

00:02:06.080 --> 00:02:08.529 align:start position:0%
but in a theory immunes like say the
ether<00:02:06.590><c> token</c><00:02:07.010><c> wrapper</c><00:02:07.220><c> which</c><00:02:07.549><c> is</c><00:02:07.790><c> stateful</c>

00:02:08.529 --> 00:02:08.539 align:start position:0%
ether token wrapper which is stateful
 

00:02:08.539 --> 00:02:10.240 align:start position:0%
ether token wrapper which is stateful
it's<00:02:08.810><c> a</c><00:02:08.929><c> deployed</c><00:02:09.349><c> object</c><00:02:09.769><c> that</c><00:02:09.830><c> you</c><00:02:09.920><c> interact</c>

00:02:10.240 --> 00:02:10.250 align:start position:0%
it's a deployed object that you interact
 

00:02:10.250 --> 00:02:13.570 align:start position:0%
it's a deployed object that you interact
with<00:02:10.340><c> but</c><00:02:10.700><c> it's</c><00:02:11.269><c> also</c><00:02:11.599><c> not</c><00:02:12.590><c> there's</c><00:02:13.489><c> an</c>

00:02:13.570 --> 00:02:13.580 align:start position:0%
with but it's also not there's an
 

00:02:13.580 --> 00:02:14.860 align:start position:0%
with but it's also not there's an
absolutely<00:02:13.939><c> no</c><00:02:14.150><c> reason</c><00:02:14.360><c> to</c><00:02:14.480><c> redeploy</c>

00:02:14.860 --> 00:02:14.870 align:start position:0%
absolutely no reason to redeploy
 

00:02:14.870 --> 00:02:16.479 align:start position:0%
absolutely no reason to redeploy
everyone<00:02:15.290><c> should</c><00:02:15.409><c> be</c><00:02:15.530><c> treating</c><00:02:15.920><c> it</c><00:02:16.040><c> sort</c><00:02:16.430><c> of</c>

00:02:16.479 --> 00:02:16.489 align:start position:0%
everyone should be treating it sort of
 

00:02:16.489 --> 00:02:17.770 align:start position:0%
everyone should be treating it sort of
like<00:02:16.580><c> a</c><00:02:16.640><c> library</c><00:02:17.120><c> like</c><00:02:17.299><c> you</c><00:02:17.420><c> know</c><00:02:17.510><c> you</c><00:02:17.569><c> have</c>

00:02:17.770 --> 00:02:17.780 align:start position:0%
like a library like you know you have
 

00:02:17.780 --> 00:02:19.390 align:start position:0%
like a library like you know you have
the<00:02:17.810><c> math</c><00:02:18.019><c> library</c><00:02:18.530><c> on</c><00:02:18.680><c> a</c><00:02:18.709><c> theorem</c><00:02:19.040><c> everyone</c>

00:02:19.390 --> 00:02:19.400 align:start position:0%
the math library on a theorem everyone
 

00:02:19.400 --> 00:02:21.309 align:start position:0%
the math library on a theorem everyone
uses<00:02:20.000><c> the</c><00:02:20.120><c> same</c><00:02:20.299><c> address</c><00:02:20.689><c> or</c><00:02:20.870><c> in</c><00:02:20.989><c> theory</c><00:02:21.230><c> we</c>

00:02:21.309 --> 00:02:21.319 align:start position:0%
uses the same address or in theory we
 

00:02:21.319 --> 00:02:23.140 align:start position:0%
uses the same address or in theory we
should<00:02:21.680><c> be</c><00:02:21.769><c> doing</c><00:02:21.890><c> that</c><00:02:22.129><c> for</c><00:02:22.430><c> the</c><00:02:22.970><c> math</c>

00:02:23.140 --> 00:02:23.150 align:start position:0%
should be doing that for the math
 

00:02:23.150 --> 00:02:24.460 align:start position:0%
should be doing that for the math
functions<00:02:23.599><c> likewise</c><00:02:24.020><c> we</c><00:02:24.230><c> should</c><00:02:24.380><c> all</c><00:02:24.440><c> be</c>

00:02:24.460 --> 00:02:24.470 align:start position:0%
functions likewise we should all be
 

00:02:24.470 --> 00:02:26.310 align:start position:0%
functions likewise we should all be
using<00:02:24.770><c> the</c><00:02:24.860><c> same</c>

00:02:26.310 --> 00:02:26.320 align:start position:0%
using the same
 

00:02:26.320 --> 00:02:28.690 align:start position:0%
using the same
package<00:02:27.320><c> for</c><00:02:27.500><c> like</c><00:02:27.680><c> the</c><00:02:27.830><c> ether</c><00:02:28.130><c> token</c><00:02:28.520><c> wrapper</c>

00:02:28.690 --> 00:02:28.700 align:start position:0%
package for like the ether token wrapper
 

00:02:28.700 --> 00:02:30.760 align:start position:0%
package for like the ether token wrapper
which<00:02:28.910><c> creates</c><00:02:29.240><c> it</c><00:02:29.330><c> into</c><00:02:29.540><c> an</c><00:02:29.690><c> erc</c><00:02:30.110><c> 20</c><00:02:30.470><c> token</c>

00:02:30.760 --> 00:02:30.770 align:start position:0%
which creates it into an erc 20 token
 

00:02:30.770 --> 00:02:32.650 align:start position:0%
which creates it into an erc 20 token
but<00:02:31.430><c> that</c><00:02:31.550><c> hasn't</c><00:02:31.700><c> address</c><00:02:32.120><c> in</c><00:02:32.360><c> it</c><00:02:32.480><c> that's</c>

00:02:32.650 --> 00:02:32.660 align:start position:0%
but that hasn't address in it that's
 

00:02:32.660 --> 00:02:34.210 align:start position:0%
but that hasn't address in it that's
part<00:02:32.870><c> of</c><00:02:32.930><c> the</c><00:02:33.080><c> definition</c><00:02:33.290><c> of</c><00:02:33.650><c> that</c><00:02:33.710><c> code</c>

00:02:34.210 --> 00:02:34.220 align:start position:0%
part of the definition of that code
 

00:02:34.220 --> 00:02:37.440 align:start position:0%
part of the definition of that code
packages<00:02:34.790><c> that</c><00:02:34.910><c> there's</c><00:02:35.060><c> an</c><00:02:35.180><c> object</c><00:02:35.600><c> deployed</c>

00:02:37.440 --> 00:02:37.450 align:start position:0%
packages that there's an object deployed
 

00:02:37.450 --> 00:02:40.120 align:start position:0%
packages that there's an object deployed
so<00:02:38.450><c> yeah</c><00:02:38.990><c> so</c><00:02:39.140><c> this</c><00:02:39.290><c> is</c><00:02:39.350><c> an</c><00:02:39.440><c> example</c><00:02:39.500><c> job</c><00:02:39.920><c> file</c>

00:02:40.120 --> 00:02:40.130 align:start position:0%
so yeah so this is an example job file
 

00:02:40.130 --> 00:02:41.920 align:start position:0%
so yeah so this is an example job file
don't<00:02:40.460><c> worry</c><00:02:40.610><c> about</c><00:02:40.640><c> it</c><00:02:40.850><c> too</c><00:02:41.000><c> much</c><00:02:41.030><c> the</c><00:02:41.480><c> key</c>

00:02:41.920 --> 00:02:41.930 align:start position:0%
don't worry about it too much the key
 

00:02:41.930 --> 00:02:43.180 align:start position:0%
don't worry about it too much the key
thing<00:02:42.170><c> is</c><00:02:42.200><c> this</c><00:02:42.470><c> highlighted</c><00:02:42.800><c> thing</c><00:02:43.010><c> which</c><00:02:43.160><c> is</c>

00:02:43.180 --> 00:02:43.190 align:start position:0%
thing is this highlighted thing which is
 

00:02:43.190 --> 00:02:45.820 align:start position:0%
thing is this highlighted thing which is
that<00:02:43.400><c> the</c><00:02:43.520><c> the</c><00:02:43.730><c> type</c><00:02:44.210><c> information</c><00:02:44.600><c> is</c><00:02:45.530><c> very</c>

00:02:45.820 --> 00:02:45.830 align:start position:0%
that the the type information is very
 

00:02:45.830 --> 00:02:48.250 align:start position:0%
that the the type information is very
rich<00:02:46.040><c> it</c><00:02:46.190><c> has</c><00:02:46.310><c> all</c><00:02:46.550><c> the</c><00:02:46.580><c> metadata</c><00:02:47.450><c> we</c><00:02:47.780><c> need</c><00:02:48.020><c> to</c>

00:02:48.250 --> 00:02:48.260 align:start position:0%
rich it has all the metadata we need to
 

00:02:48.260 --> 00:02:50.140 align:start position:0%
rich it has all the metadata we need to
just<00:02:48.470><c> fully</c><00:02:48.680><c> recreate</c><00:02:49.220><c> how</c><00:02:49.550><c> this</c><00:02:49.790><c> thing</c><00:02:50.000><c> got</c>

00:02:50.140 --> 00:02:50.150 align:start position:0%
just fully recreate how this thing got
 

00:02:50.150 --> 00:02:53.380 align:start position:0%
just fully recreate how this thing got
here<00:02:51.220><c> so</c><00:02:52.220><c> the</c><00:02:52.400><c> next</c><00:02:52.430><c> innovation</c><00:02:52.880><c> is</c><00:02:53.120><c> chained</c>

00:02:53.380 --> 00:02:53.390 align:start position:0%
here so the next innovation is chained
 

00:02:53.390 --> 00:02:56.380 align:start position:0%
here so the next innovation is chained
forking<00:02:53.780><c> you'll</c><00:02:54.350><c> notice</c><00:02:54.650><c> it's</c><00:02:55.100><c> a</c><00:02:55.390><c> user</c>

00:02:56.380 --> 00:02:56.390 align:start position:0%
forking you'll notice it's a user
 

00:02:56.390 --> 00:02:57.940 align:start position:0%
forking you'll notice it's a user
experience<00:02:56.660><c> very</c><00:02:57.110><c> similar</c><00:02:57.350><c> to</c><00:02:57.410><c> get</c><00:02:57.680><c> that</c>

00:02:57.940 --> 00:02:57.950 align:start position:0%
experience very similar to get that
 

00:02:57.950 --> 00:02:58.990 align:start position:0%
experience very similar to get that
because<00:02:58.250><c> they're</c><00:02:58.400><c> very</c><00:02:58.550><c> similar</c><00:02:58.700><c> data</c>

00:02:58.990 --> 00:02:59.000 align:start position:0%
because they're very similar data
 

00:02:59.000 --> 00:03:01.120 align:start position:0%
because they're very similar data
structures<00:02:59.420><c> the</c><00:03:00.020><c> missing</c><00:03:00.380><c> part</c><00:03:00.620><c> here</c><00:03:00.920><c> is</c>

00:03:01.120 --> 00:03:01.130 align:start position:0%
structures the missing part here is
 

00:03:01.130 --> 00:03:03.640 align:start position:0%
structures the missing part here is
merged<00:03:01.520><c> because</c><00:03:02.090><c> there's</c><00:03:02.390><c> no</c><00:03:02.630><c> analogue</c><00:03:03.320><c> to</c>

00:03:03.640 --> 00:03:03.650 align:start position:0%
merged because there's no analogue to
 

00:03:03.650 --> 00:03:05.470 align:start position:0%
merged because there's no analogue to
resolving<00:03:04.160><c> merge</c><00:03:04.340><c> conflicts</c><00:03:04.910><c> automatically</c>

00:03:05.470 --> 00:03:05.480 align:start position:0%
resolving merge conflicts automatically
 

00:03:05.480 --> 00:03:07.240 align:start position:0%
resolving merge conflicts automatically
when<00:03:05.630><c> you</c><00:03:05.690><c> try</c><00:03:05.870><c> to</c><00:03:05.900><c> replay</c><00:03:06.350><c> Center</c>

00:03:07.240 --> 00:03:07.250 align:start position:0%
when you try to replay Center
 

00:03:07.250 --> 00:03:08.470 align:start position:0%
when you try to replay Center
transactions<00:03:07.880><c> and</c><00:03:08.000><c> it</c><00:03:08.120><c> doesn't</c><00:03:08.360><c> have</c><00:03:08.450><c> the</c>

00:03:08.470 --> 00:03:08.480 align:start position:0%
transactions and it doesn't have the
 

00:03:08.480 --> 00:03:11.320 align:start position:0%
transactions and it doesn't have the
same<00:03:08.570><c> result</c><00:03:09.190><c> so</c><00:03:10.190><c> that's</c><00:03:10.370><c> chain</c><00:03:10.730><c> forking</c><00:03:11.150><c> and</c>

00:03:11.320 --> 00:03:11.330 align:start position:0%
same result so that's chain forking and
 

00:03:11.330 --> 00:03:13.020 align:start position:0%
same result so that's chain forking and
finally<00:03:11.840><c> okay</c><00:03:12.080><c> this</c><00:03:12.290><c> is</c><00:03:12.350><c> an</c><00:03:12.410><c> example</c><00:03:12.650><c> of</c>

00:03:13.020 --> 00:03:13.030 align:start position:0%
finally okay this is an example of
 

00:03:13.030 --> 00:03:15.420 align:start position:0%
finally okay this is an example of
basically<00:03:14.030><c> you</c><00:03:14.210><c> can</c><00:03:14.360><c> actually</c><00:03:14.480><c> fork</c><00:03:14.840><c> any</c>

00:03:15.420 --> 00:03:15.430 align:start position:0%
basically you can actually fork any
 

00:03:15.430 --> 00:03:17.680 align:start position:0%
basically you can actually fork any
public<00:03:16.430><c> athyrium</c><00:03:16.790><c> chain</c><00:03:17.000><c> without</c><00:03:17.360><c> their</c>

00:03:17.680 --> 00:03:17.690 align:start position:0%
public athyrium chain without their
 

00:03:17.690 --> 00:03:18.940 align:start position:0%
public athyrium chain without their
permission<00:03:17.780><c> basically</c><00:03:18.380><c> just</c><00:03:18.500><c> because</c><00:03:18.740><c> of</c><00:03:18.830><c> how</c>

00:03:18.940 --> 00:03:18.950 align:start position:0%
permission basically just because of how
 

00:03:18.950 --> 00:03:20.920 align:start position:0%
permission basically just because of how
the<00:03:19.010><c> data</c><00:03:19.220><c> structure</c><00:03:19.610><c> works</c><00:03:19.790><c> but</c><00:03:20.540><c> by</c><00:03:20.630><c> default</c>

00:03:20.920 --> 00:03:20.930 align:start position:0%
the data structure works but by default
 

00:03:20.930 --> 00:03:23.680 align:start position:0%
the data structure works but by default
we<00:03:21.170><c> let</c><00:03:21.770><c> you</c><00:03:21.920><c> specify</c><00:03:22.910><c> remote</c><00:03:23.360><c> one</c><00:03:23.510><c> and</c>

00:03:23.680 --> 00:03:23.690 align:start position:0%
we let you specify remote one and
 

00:03:23.690 --> 00:03:25.720 align:start position:0%
we let you specify remote one and
internal<00:03:24.170><c> just</c><00:03:24.350><c> means</c><00:03:24.500><c> a</c><00:03:24.590><c> brand</c><00:03:25.130><c> new</c><00:03:25.280><c> blankie</c>

00:03:25.720 --> 00:03:25.730 align:start position:0%
internal just means a brand new blankie
 

00:03:25.730 --> 00:03:28.690 align:start position:0%
internal just means a brand new blankie
vm<00:03:26.030><c> on</c><00:03:26.690><c> your</c><00:03:26.930><c> machine</c><00:03:27.080><c> and</c><00:03:27.500><c> for</c><00:03:27.860><c> QVC</c><00:03:28.310><c> and</c><00:03:28.580><c> where</c>

00:03:28.690 --> 00:03:28.700 align:start position:0%
vm on your machine and for QVC and where
 

00:03:28.700 --> 00:03:31.090 align:start position:0%
vm on your machine and for QVC and where
it<00:03:28.760><c> should</c><00:03:29.000><c> be</c><00:03:29.030><c> self-explanatory</c><00:03:30.100><c> and</c>

00:03:31.090 --> 00:03:31.100 align:start position:0%
it should be self-explanatory and
 

00:03:31.100 --> 00:03:34.030 align:start position:0%
it should be self-explanatory and
finally<00:03:31.970><c> EVM</c><00:03:32.330><c> extensions</c><00:03:32.930><c> are</c><00:03:33.170><c> when</c><00:03:33.830><c> you</c>

00:03:34.030 --> 00:03:34.040 align:start position:0%
finally EVM extensions are when you
 

00:03:34.040 --> 00:03:35.320 align:start position:0%
finally EVM extensions are when you
slightly<00:03:34.340><c> change</c><00:03:34.700><c> the</c><00:03:34.820><c> behavior</c><00:03:35.150><c> of</c><00:03:35.180><c> the</c>

00:03:35.320 --> 00:03:35.330 align:start position:0%
slightly change the behavior of the
 

00:03:35.330 --> 00:03:37.060 align:start position:0%
slightly change the behavior of the
virtual<00:03:35.660><c> machine</c><00:03:35.750><c> on</c><00:03:36.140><c> your</c><00:03:36.470><c> private</c><00:03:36.830><c> chain</c>

00:03:37.060 --> 00:03:37.070 align:start position:0%
virtual machine on your private chain
 

00:03:37.070 --> 00:03:38.830 align:start position:0%
virtual machine on your private chain
and<00:03:37.970><c> this</c><00:03:38.180><c> lets</c><00:03:38.420><c> you</c><00:03:38.480><c> do</c><00:03:38.570><c> some</c><00:03:38.720><c> really</c>

00:03:38.830 --> 00:03:38.840 align:start position:0%
and this lets you do some really
 

00:03:38.840 --> 00:03:41.230 align:start position:0%
and this lets you do some really
interesting<00:03:38.990><c> things</c><00:03:39.170><c> as</c><00:03:39.530><c> you'll</c><00:03:39.680><c> see</c><00:03:39.880><c> so</c><00:03:40.880><c> now</c>

00:03:41.230 --> 00:03:41.240 align:start position:0%
interesting things as you'll see so now
 

00:03:41.240 --> 00:03:43.270 align:start position:0%
interesting things as you'll see so now
let's<00:03:41.510><c> go</c><00:03:41.960><c> through</c><00:03:42.230><c> the</c><00:03:42.410><c> workflow</c><00:03:42.560><c> how</c><00:03:42.860><c> have</c>

00:03:43.270 --> 00:03:43.280 align:start position:0%
let's go through the workflow how have
 

00:03:43.280 --> 00:03:46.060 align:start position:0%
let's go through the workflow how have
we<00:03:43.490><c> developed</c><00:03:44.210><c> apps</c><00:03:44.390><c> using</c><00:03:44.720><c> double</c><00:03:45.110><c> first</c>

00:03:46.060 --> 00:03:46.070 align:start position:0%
we developed apps using double first
 

00:03:46.070 --> 00:03:47.740 align:start position:0%
we developed apps using double first
thing<00:03:46.310><c> find</c><00:03:46.820><c> some</c><00:03:46.970><c> dependencies</c><00:03:47.450><c> this</c><00:03:47.630><c> is</c>

00:03:47.740 --> 00:03:47.750 align:start position:0%
thing find some dependencies this is
 

00:03:47.750 --> 00:03:49.390 align:start position:0%
thing find some dependencies this is
like<00:03:47.870><c> a</c><00:03:47.900><c> habit</c><00:03:48.710><c> that</c><00:03:48.740><c> you</c><00:03:48.860><c> have</c><00:03:49.100><c> in</c><00:03:49.250><c> every</c>

00:03:49.390 --> 00:03:49.400 align:start position:0%
like a habit that you have in every
 

00:03:49.400 --> 00:03:50.590 align:start position:0%
like a habit that you have in every
other<00:03:49.490><c> language</c><00:03:49.880><c> for</c><00:03:50.000><c> some</c><00:03:50.180><c> reason</c><00:03:50.420><c> everyone</c>

00:03:50.590 --> 00:03:50.600 align:start position:0%
other language for some reason everyone
 

00:03:50.600 --> 00:03:51.730 align:start position:0%
other language for some reason everyone
wants<00:03:50.840><c> to</c><00:03:50.870><c> start</c><00:03:51.080><c> from</c><00:03:51.170><c> scratch</c><00:03:51.380><c> from</c><00:03:51.560><c> there</c>

00:03:51.730 --> 00:03:51.740 align:start position:0%
wants to start from scratch from there
 

00:03:51.740 --> 00:03:54.550 align:start position:0%
wants to start from scratch from there
creating<00:03:52.100><c> their</c><00:03:52.220><c> own</c><00:03:52.250><c> contracts</c><00:03:53.260><c> this</c><00:03:54.260><c> is</c><00:03:54.410><c> our</c>

00:03:54.550 --> 00:03:54.560 align:start position:0%
creating their own contracts this is our
 

00:03:54.560 --> 00:03:56.380 align:start position:0%
creating their own contracts this is our
as<00:03:55.070><c> a</c><00:03:55.130><c> hint</c><00:03:55.400><c> so</c><00:03:55.520><c> we</c><00:03:55.610><c> suggest</c><00:03:55.760><c> that</c><00:03:56.120><c> we</c><00:03:56.270><c> have</c>

00:03:56.380 --> 00:03:56.390 align:start position:0%
as a hint so we suggest that we have
 

00:03:56.390 --> 00:03:57.460 align:start position:0%
as a hint so we suggest that we have
like<00:03:56.570><c> something</c><00:03:56.870><c> like</c><00:03:56.990><c> sort</c><00:03:57.260><c> of</c><00:03:57.320><c> like</c><00:03:57.440><c> a</c>

00:03:57.460 --> 00:03:57.470 align:start position:0%
like something like sort of like a
 

00:03:57.470 --> 00:04:00.280 align:start position:0%
like something like sort of like a
standard<00:03:57.860><c> library</c><00:03:58.280><c> which</c><00:03:59.150><c> we</c><00:03:59.570><c> are</c><00:03:59.930><c> keen</c><00:04:00.260><c> to</c>

00:04:00.280 --> 00:04:00.290 align:start position:0%
standard library which we are keen to
 

00:04:00.290 --> 00:04:02.260 align:start position:0%
standard library which we are keen to
get<00:04:00.530><c> formally</c><00:04:00.920><c> verified</c><00:04:00.950><c> and</c><00:04:01.850><c> it</c><00:04:01.940><c> has</c><00:04:02.030><c> a</c><00:04:02.060><c> lot</c>

00:04:02.260 --> 00:04:02.270 align:start position:0%
get formally verified and it has a lot
 

00:04:02.270 --> 00:04:03.790 align:start position:0%
get formally verified and it has a lot
of<00:04:02.300><c> stuff</c><00:04:02.540><c> like</c><00:04:02.720><c> Roxy</c><00:04:03.050><c> actors</c><00:04:03.320><c> tokens</c><00:04:03.650><c> by</c><00:04:03.740><c> the</c>

00:04:03.790 --> 00:04:03.800 align:start position:0%
of stuff like Roxy actors tokens by the
 

00:04:03.800 --> 00:04:06.190 align:start position:0%
of stuff like Roxy actors tokens by the
way<00:04:03.920><c> you</c><00:04:03.980><c> can</c><00:04:04.130><c> read</c><00:04:04.250><c> the</c><00:04:04.370><c> list</c><00:04:04.550><c> I'm</c><00:04:05.510><c> sure</c><00:04:05.750><c> the</c>

00:04:06.190 --> 00:04:06.200 align:start position:0%
way you can read the list I'm sure the
 

00:04:06.200 --> 00:04:07.750 align:start position:0%
way you can read the list I'm sure the
other<00:04:06.320><c> ideas</c><00:04:06.620><c> that</c><00:04:06.740><c> these</c><00:04:06.860><c> are</c><00:04:06.980><c> like</c>

00:04:07.750 --> 00:04:07.760 align:start position:0%
other ideas that these are like
 

00:04:07.760 --> 00:04:09.760 align:start position:0%
other ideas that these are like
composable<00:04:08.330><c> building</c><00:04:08.660><c> blocks</c><00:04:08.870><c> each</c><00:04:09.110><c> is</c><00:04:09.590><c> very</c>

00:04:09.760 --> 00:04:09.770 align:start position:0%
composable building blocks each is very
 

00:04:09.770 --> 00:04:13.180 align:start position:0%
composable building blocks each is very
simple<00:04:10.070><c> and</c><00:04:10.400><c> easy</c><00:04:10.820><c> to</c><00:04:11.120><c> verify</c><00:04:11.240><c> and</c><00:04:11.840><c> then</c><00:04:12.190><c> you</c>

00:04:13.180 --> 00:04:13.190 align:start position:0%
simple and easy to verify and then you
 

00:04:13.190 --> 00:04:14.830 align:start position:0%
simple and easy to verify and then you
actually<00:04:13.400><c> most</c><00:04:13.760><c> apps</c><00:04:13.970><c> can</c><00:04:14.180><c> be</c><00:04:14.240><c> built</c><00:04:14.510><c> out</c><00:04:14.630><c> of</c>

00:04:14.830 --> 00:04:14.840 align:start position:0%
actually most apps can be built out of
 

00:04:14.840 --> 00:04:16.090 align:start position:0%
actually most apps can be built out of
just<00:04:15.080><c> a</c><00:04:15.170><c> collection</c><00:04:15.320><c> things</c><00:04:15.740><c> like</c><00:04:15.830><c> very</c><00:04:15.980><c> few</c>

00:04:16.090 --> 00:04:16.100 align:start position:0%
just a collection things like very few
 

00:04:16.100 --> 00:04:19.060 align:start position:0%
just a collection things like very few
like<00:04:16.370><c> each</c><00:04:17.239><c> DAP</c><00:04:17.630><c> that</c><00:04:17.960><c> each</c><00:04:18.140><c> new</c><00:04:18.470><c> system</c><00:04:19.040><c> that</c>

00:04:19.060 --> 00:04:19.070 align:start position:0%
like each DAP that each new system that
 

00:04:19.070 --> 00:04:20.590 align:start position:0%
like each DAP that each new system that
we<00:04:19.250><c> make</c><00:04:19.400><c> usually</c><00:04:19.760><c> only</c><00:04:19.910><c> has</c><00:04:20.090><c> like</c><00:04:20.239><c> one</c><00:04:20.450><c> or</c><00:04:20.570><c> two</c>

00:04:20.590 --> 00:04:20.600 align:start position:0%
we make usually only has like one or two
 

00:04:20.600 --> 00:04:22.300 align:start position:0%
we make usually only has like one or two
contracts<00:04:21.260><c> with</c><00:04:21.410><c> custom</c><00:04:21.739><c> logic</c><00:04:21.859><c> and</c><00:04:22.130><c> then</c><00:04:22.220><c> it</c>

00:04:22.300 --> 00:04:22.310 align:start position:0%
contracts with custom logic and then it
 

00:04:22.310 --> 00:04:24.310 align:start position:0%
contracts with custom logic and then it
has<00:04:22.400><c> like</c><00:04:22.430><c> five</c><00:04:23.060><c> dependent</c><00:04:23.660><c> contracts</c><00:04:24.080><c> that</c>

00:04:24.310 --> 00:04:24.320 align:start position:0%
has like five dependent contracts that
 

00:04:24.320 --> 00:04:26.950 align:start position:0%
has like five dependent contracts that
are<00:04:24.350><c> just</c><00:04:24.560><c> things</c><00:04:24.740><c> we've</c><00:04:24.890><c> built</c><00:04:25.100><c> before</c><00:04:25.960><c> so</c>

00:04:26.950 --> 00:04:26.960 align:start position:0%
are just things we've built before so
 

00:04:26.960 --> 00:04:27.880 align:start position:0%
are just things we've built before so
again<00:04:27.140><c> yeah</c><00:04:27.290><c> if</c><00:04:27.440><c> you're</c><00:04:27.530><c> interested</c><00:04:27.860><c> in</c>

00:04:27.880 --> 00:04:27.890 align:start position:0%
again yeah if you're interested in
 

00:04:27.890 --> 00:04:30.160 align:start position:0%
again yeah if you're interested in
formal<00:04:28.190><c> verification</c><00:04:28.310><c> this</c><00:04:29.210><c> is</c><00:04:29.360><c> a</c><00:04:29.390><c> this</c><00:04:29.990><c> I</c>

00:04:30.160 --> 00:04:30.170 align:start position:0%
formal verification this is a this I
 

00:04:30.170 --> 00:04:32.320 align:start position:0%
formal verification this is a this I
mean<00:04:30.320><c> these</c><00:04:30.830><c> again</c><00:04:31.490><c> it's</c><00:04:31.880><c> very</c><00:04:32.060><c> simple</c>

00:04:32.320 --> 00:04:32.330 align:start position:0%
mean these again it's very simple
 

00:04:32.330 --> 00:04:34.659 align:start position:0%
mean these again it's very simple
contracts<00:04:33.200><c> but</c><00:04:33.470><c> they</c><00:04:33.620><c> are</c><00:04:33.800><c> in</c><00:04:33.950><c> production</c>

00:04:34.659 --> 00:04:34.669 align:start position:0%
contracts but they are in production
 

00:04:34.669 --> 00:04:36.310 align:start position:0%
contracts but they are in production
systems<00:04:35.120><c> right</c><00:04:35.270><c> now</c><00:04:35.360><c> in</c><00:04:35.570><c> multiple</c><00:04:35.960><c> systems</c>

00:04:36.310 --> 00:04:36.320 align:start position:0%
systems right now in multiple systems
 

00:04:36.320 --> 00:04:38.470 align:start position:0%
systems right now in multiple systems
like<00:04:36.560><c> nothing</c><00:04:36.980><c> in</c><00:04:37.070><c> here</c><00:04:37.310><c> is</c><00:04:37.490><c> something</c><00:04:38.360><c> that</c>

00:04:38.470 --> 00:04:38.480 align:start position:0%
like nothing in here is something that
 

00:04:38.480 --> 00:04:39.030 align:start position:0%
like nothing in here is something that
hasn't<00:04:38.660><c> been</c>

00:04:39.030 --> 00:04:39.040 align:start position:0%
hasn't been
 

00:04:39.040 --> 00:04:42.210 align:start position:0%
hasn't been
used<00:04:39.930><c> so</c><00:04:40.930><c> the</c><00:04:41.290><c> next</c><00:04:41.320><c> step</c><00:04:41.530><c> is</c><00:04:41.770><c> building</c><00:04:42.100><c> and</c>

00:04:42.210 --> 00:04:42.220 align:start position:0%
used so the next step is building and
 

00:04:42.220 --> 00:04:44.640 align:start position:0%
used so the next step is building and
linking<00:04:42.460><c> which</c><00:04:42.580><c> is</c><00:04:42.700><c> boring</c><00:04:43.030><c> but</c><00:04:43.360><c> it's</c><00:04:43.990><c> worth</c>

00:04:44.640 --> 00:04:44.650 align:start position:0%
linking which is boring but it's worth
 

00:04:44.650 --> 00:04:46.320 align:start position:0%
linking which is boring but it's worth
noting<00:04:44.830><c> that</c><00:04:45.010><c> solidity</c><00:04:45.430><c> has</c><00:04:45.580><c> no</c><00:04:45.700><c> name</c><00:04:45.880><c> spaces</c>

00:04:46.320 --> 00:04:46.330 align:start position:0%
noting that solidity has no name spaces
 

00:04:46.330 --> 00:04:47.700 align:start position:0%
noting that solidity has no name spaces
and<00:04:46.510><c> this</c><00:04:46.660><c> is</c><00:04:46.780><c> kind</c><00:04:46.960><c> of</c><00:04:46.990><c> a</c><00:04:47.080><c> smell</c><00:04:47.320><c> that</c><00:04:47.350><c> our</c>

00:04:47.700 --> 00:04:47.710 align:start position:0%
and this is kind of a smell that our
 

00:04:47.710 --> 00:04:49.050 align:start position:0%
and this is kind of a smell that our
contract<00:04:48.280><c> systems</c><00:04:48.520><c> haven't</c><00:04:48.730><c> really</c><00:04:48.880><c> gotten</c>

00:04:49.050 --> 00:04:49.060 align:start position:0%
contract systems haven't really gotten
 

00:04:49.060 --> 00:04:51.540 align:start position:0%
contract systems haven't really gotten
that<00:04:49.240><c> complicated</c><00:04:49.750><c> yet</c><00:04:50.070><c> maker</c><00:04:51.070><c> core</c><00:04:51.370><c> for</c>

00:04:51.540 --> 00:04:51.550 align:start position:0%
that complicated yet maker core for
 

00:04:51.550 --> 00:04:52.890 align:start position:0%
that complicated yet maker core for
example<00:04:51.850><c> has</c><00:04:51.940><c> four</c><00:04:52.270><c> different</c><00:04:52.420><c> deployed</c>

00:04:52.890 --> 00:04:52.900 align:start position:0%
example has four different deployed
 

00:04:52.900 --> 00:04:55.290 align:start position:0%
example has four different deployed
abscess<00:04:53.410><c> versions</c><00:04:53.860><c> and</c><00:04:54.100><c> being</c><00:04:55.000><c> able</c><00:04:55.120><c> to</c>

00:04:55.290 --> 00:04:55.300 align:start position:0%
abscess versions and being able to
 

00:04:55.300 --> 00:04:56.550 align:start position:0%
abscess versions and being able to
reproduce<00:04:55.600><c> and</c><00:04:55.900><c> compile</c><00:04:56.110><c> without</c><00:04:56.350><c> having</c>

00:04:56.550 --> 00:04:56.560 align:start position:0%
reproduce and compile without having
 

00:04:56.560 --> 00:04:58.530 align:start position:0%
reproduce and compile without having
like<00:04:56.710><c> type</c><00:04:56.890><c> name</c><00:04:57.340><c> collisions</c><00:04:57.550><c> requires</c><00:04:58.240><c> us</c><00:04:58.510><c> to</c>

00:04:58.530 --> 00:04:58.540 align:start position:0%
like type name collisions requires us to
 

00:04:58.540 --> 00:04:59.730 align:start position:0%
like type name collisions requires us to
have<00:04:58.750><c> a</c><00:04:58.780><c> custom</c><00:04:59.110><c> linker</c><00:04:59.350><c> so</c><00:04:59.470><c> we're</c><00:04:59.560><c> going</c><00:04:59.650><c> to</c>

00:04:59.730 --> 00:04:59.740 align:start position:0%
have a custom linker so we're going to
 

00:04:59.740 --> 00:05:01.680 align:start position:0%
have a custom linker so we're going to
maintain<00:04:59.890><c> that</c><00:05:00.250><c> until</c><00:05:00.700><c> solidity</c><00:05:01.480><c> gets</c>

00:05:01.680 --> 00:05:01.690 align:start position:0%
maintain that until solidity gets
 

00:05:01.690 --> 00:05:07.380 align:start position:0%
maintain that until solidity gets
namespaces<00:05:03.660><c> so</c><00:05:05.670><c> after</c><00:05:06.670><c> you've</c><00:05:06.880><c> written</c><00:05:07.030><c> some</c>

00:05:07.380 --> 00:05:07.390 align:start position:0%
namespaces so after you've written some
 

00:05:07.390 --> 00:05:08.580 align:start position:0%
namespaces so after you've written some
contracts<00:05:07.810><c> and</c><00:05:07.930><c> you've</c><00:05:08.020><c> built</c><00:05:08.170><c> them</c><00:05:08.320><c> you</c>

00:05:08.580 --> 00:05:08.590 align:start position:0%
contracts and you've built them you
 

00:05:08.590 --> 00:05:10.620 align:start position:0%
contracts and you've built them you
obviously<00:05:08.860><c> want</c><00:05:08.980><c> to</c><00:05:09.040><c> test</c><00:05:09.190><c> them</c><00:05:09.310><c> and</c><00:05:09.630><c> our</c>

00:05:10.620 --> 00:05:10.630 align:start position:0%
obviously want to test them and our
 

00:05:10.630 --> 00:05:12.270 align:start position:0%
obviously want to test them and our
perspective<00:05:11.170><c> on</c><00:05:11.320><c> this</c><00:05:11.440><c> is</c><00:05:11.680><c> that</c><00:05:11.860><c> the</c><00:05:11.980><c> primary</c>

00:05:12.270 --> 00:05:12.280 align:start position:0%
perspective on this is that the primary
 

00:05:12.280 --> 00:05:14.760 align:start position:0%
perspective on this is that the primary
consumer<00:05:13.000><c> of</c><00:05:13.150><c> contracts</c><00:05:13.630><c> is</c><00:05:13.870><c> other</c><00:05:14.260><c> contracts</c>

00:05:14.760 --> 00:05:14.770 align:start position:0%
consumer of contracts is other contracts
 

00:05:14.770 --> 00:05:18.420 align:start position:0%
consumer of contracts is other contracts
and<00:05:15.130><c> so</c><00:05:15.640><c> we</c><00:05:16.260><c> emphasize</c><00:05:17.260><c> writing</c><00:05:18.010><c> your</c><00:05:18.100><c> test</c><00:05:18.310><c> of</c>

00:05:18.420 --> 00:05:18.430 align:start position:0%
and so we emphasize writing your test of
 

00:05:18.430 --> 00:05:20.010 align:start position:0%
and so we emphasize writing your test of
solidity<00:05:18.730><c> pretending</c><00:05:19.210><c> your</c><00:05:19.330><c> other</c><00:05:19.480><c> contracts</c>

00:05:20.010 --> 00:05:20.020 align:start position:0%
solidity pretending your other contracts
 

00:05:20.020 --> 00:05:22.380 align:start position:0%
solidity pretending your other contracts
in<00:05:20.410><c> communicating</c><00:05:20.950><c> with</c><00:05:20.950><c> it</c><00:05:21.190><c> and</c><00:05:21.370><c> for</c><00:05:22.210><c> this</c><00:05:22.240><c> we</c>

00:05:22.380 --> 00:05:22.390 align:start position:0%
in communicating with it and for this we
 

00:05:22.390 --> 00:05:26.160 align:start position:0%
in communicating with it and for this we
have<00:05:22.630><c> a</c><00:05:23.080><c> magic</c><00:05:23.470><c> test</c><00:05:23.740><c> contract</c><00:05:24.810><c> where</c><00:05:25.810><c> it</c><00:05:26.080><c> has</c>

00:05:26.160 --> 00:05:26.170 align:start position:0%
have a magic test contract where it has
 

00:05:26.170 --> 00:05:27.900 align:start position:0%
have a magic test contract where it has
an<00:05:26.290><c> Associated</c><00:05:26.740><c> harness</c><00:05:27.070><c> that</c><00:05:27.220><c> understands</c>

00:05:27.900 --> 00:05:27.910 align:start position:0%
an Associated harness that understands
 

00:05:27.910 --> 00:05:29.790 align:start position:0%
an Associated harness that understands
how<00:05:28.000><c> to</c><00:05:28.060><c> interpret</c><00:05:28.380><c> the</c><00:05:29.380><c> functions</c><00:05:29.680><c> defined</c>

00:05:29.790 --> 00:05:29.800 align:start position:0%
how to interpret the functions defined
 

00:05:29.800 --> 00:05:32.400 align:start position:0%
how to interpret the functions defined
on<00:05:30.070><c> it</c><00:05:30.220><c> so</c><00:05:31.000><c> this</c><00:05:31.270><c> is</c><00:05:31.420><c> our</c><00:05:31.540><c> first</c><00:05:31.780><c> example</c><00:05:31.930><c> of</c><00:05:32.350><c> a</c>

00:05:32.400 --> 00:05:32.410 align:start position:0%
on it so this is our first example of a
 

00:05:32.410 --> 00:05:35.370 align:start position:0%
on it so this is our first example of a
chain<00:05:33.340><c> for</c><00:05:33.370><c> key</c><00:05:33.670><c> so</c><00:05:33.790><c> this</c><00:05:33.910><c> this</c><00:05:34.360><c> is</c><00:05:34.510><c> an</c><00:05:34.750><c> example</c>

00:05:35.370 --> 00:05:35.380 align:start position:0%
chain for key so this this is an example
 

00:05:35.380 --> 00:05:37.530 align:start position:0%
chain for key so this this is an example
test<00:05:35.800><c> if</c><00:05:36.460><c> you</c><00:05:36.580><c> use</c><00:05:36.760><c> any</c><00:05:36.910><c> unit</c><00:05:37.300><c> testing</c>

00:05:37.530 --> 00:05:37.540 align:start position:0%
test if you use any unit testing
 

00:05:37.540 --> 00:05:39.090 align:start position:0%
test if you use any unit testing
framework<00:05:37.780><c> another</c><00:05:38.020><c> in</c><00:05:38.440><c> other</c><00:05:38.650><c> languages</c>

00:05:39.090 --> 00:05:39.100 align:start position:0%
framework another in other languages
 

00:05:39.100 --> 00:05:41.520 align:start position:0%
framework another in other languages
this<00:05:39.370><c> should</c><00:05:39.700><c> be</c><00:05:40.210><c> familiar</c><00:05:40.390><c> setup</c><00:05:41.350><c> gets</c>

00:05:41.520 --> 00:05:41.530 align:start position:0%
this should be familiar setup gets
 

00:05:41.530 --> 00:05:42.780 align:start position:0%
this should be familiar setup gets
called<00:05:41.770><c> every</c><00:05:42.010><c> time</c><00:05:42.220><c> and</c><00:05:42.490><c> then</c><00:05:42.580><c> if</c><00:05:42.640><c> you</c><00:05:42.700><c> have</c>

00:05:42.780 --> 00:05:42.790 align:start position:0%
called every time and then if you have
 

00:05:42.790 --> 00:05:44.400 align:start position:0%
called every time and then if you have
multiple<00:05:43.000><c> test</c><00:05:43.480><c> functions</c><00:05:43.870><c> they</c><00:05:44.020><c> each</c><00:05:44.230><c> get</c>

00:05:44.400 --> 00:05:44.410 align:start position:0%
multiple test functions they each get
 

00:05:44.410 --> 00:05:47.400 align:start position:0%
multiple test functions they each get
called<00:05:44.620><c> an</c><00:05:44.740><c> isolation</c><00:05:45.360><c> so</c><00:05:46.360><c> our</c><00:05:47.080><c> first</c><00:05:47.200><c> example</c>

00:05:47.400 --> 00:05:47.410 align:start position:0%
called an isolation so our first example
 

00:05:47.410 --> 00:05:49.560 align:start position:0%
called an isolation so our first example
of<00:05:47.860><c> a</c><00:05:47.980><c> using</c><00:05:48.460><c> chain</c><00:05:48.670><c> forking</c><00:05:48.970><c> this</c><00:05:49.210><c> is</c><00:05:49.360><c> a</c>

00:05:49.560 --> 00:05:49.570 align:start position:0%
of a using chain forking this is a
 

00:05:49.570 --> 00:05:51.840 align:start position:0%
of a using chain forking this is a
suppose<00:05:50.170><c> we</c><00:05:50.290><c> did</c><00:05:50.440><c> Apple</c><00:05:51.100><c> chain</c><00:05:51.310><c> new</c><00:05:51.520><c> and</c><00:05:51.730><c> use</c>

00:05:51.840 --> 00:05:51.850 align:start position:0%
suppose we did Apple chain new and use
 

00:05:51.850 --> 00:05:55.800 align:start position:0%
suppose we did Apple chain new and use
and<00:05:52.210><c> we</c><00:05:53.520><c> specified</c><00:05:54.520><c> the</c><00:05:54.640><c> internal</c><00:05:55.120><c> vm</c><00:05:55.660><c> which</c>

00:05:55.800 --> 00:05:55.810 align:start position:0%
and we specified the internal vm which
 

00:05:55.810 --> 00:05:58.740 align:start position:0%
and we specified the internal vm which
means<00:05:56.020><c> like</c><00:05:56.110><c> a</c><00:05:56.140><c> brand-new</c><00:05:56.920><c> fresh</c><00:05:57.370><c> EVM</c><00:05:58.000><c> then</c><00:05:58.600><c> we</c>

00:05:58.740 --> 00:05:58.750 align:start position:0%
means like a brand-new fresh EVM then we
 

00:05:58.750 --> 00:06:00.870 align:start position:0%
means like a brand-new fresh EVM then we
deploy<00:05:58.990><c> our</c><00:05:59.020><c> contract</c><00:05:59.590><c> to</c><00:05:59.770><c> it</c><00:05:59.890><c> call</c><00:06:00.370><c> setup</c><00:06:00.640><c> and</c>

00:06:00.870 --> 00:06:00.880 align:start position:0%
deploy our contract to it call setup and
 

00:06:00.880 --> 00:06:02.460 align:start position:0%
deploy our contract to it call setup and
then<00:06:00.970><c> concurrently</c><00:06:01.510><c> we</c><00:06:01.720><c> can</c><00:06:01.870><c> fork</c><00:06:02.140><c> it</c><00:06:02.290><c> and</c>

00:06:02.460 --> 00:06:02.470 align:start position:0%
then concurrently we can fork it and
 

00:06:02.470 --> 00:06:05.490 align:start position:0%
then concurrently we can fork it and
then<00:06:02.980><c> run</c><00:06:03.250><c> each</c><00:06:03.400><c> test</c><00:06:03.730><c> independently</c><00:06:04.500><c> so</c>

00:06:05.490 --> 00:06:05.500 align:start position:0%
then run each test independently so
 

00:06:05.500 --> 00:06:10.250 align:start position:0%
then run each test independently so
that's<00:06:05.680><c> nice</c><00:06:05.910><c> but</c><00:06:06.910><c> we</c><00:06:07.630><c> really</c><00:06:07.870><c> wanted</c><00:06:08.490><c> so</c><00:06:09.490><c> like</c>

00:06:10.250 --> 00:06:10.260 align:start position:0%
that's nice but we really wanted so like
 

00:06:10.260 --> 00:06:12.510 align:start position:0%
that's nice but we really wanted so like
part<00:06:11.260><c> of</c><00:06:11.290><c> the</c><00:06:11.350><c> value</c><00:06:11.620><c> of</c><00:06:11.710><c> dapple</c><00:06:12.040><c> is</c><00:06:12.160><c> that</c><00:06:12.400><c> we</c>

00:06:12.510 --> 00:06:12.520 align:start position:0%
part of the value of dapple is that we
 

00:06:12.520 --> 00:06:14.880 align:start position:0%
part of the value of dapple is that we
can<00:06:12.790><c> take</c><00:06:13.360><c> these</c><00:06:13.570><c> dependence</c><00:06:14.110><c> systems</c><00:06:14.710><c> and</c>

00:06:14.880 --> 00:06:14.890 align:start position:0%
can take these dependence systems and
 

00:06:14.890 --> 00:06:16.680 align:start position:0%
can take these dependence systems and
make<00:06:15.130><c> a</c><00:06:15.160><c> very</c><00:06:15.550><c> accurate</c><00:06:15.760><c> mock</c><00:06:16.180><c> of</c><00:06:16.330><c> them</c><00:06:16.480><c> and</c><00:06:16.600><c> we</c>

00:06:16.680 --> 00:06:16.690 align:start position:0%
make a very accurate mock of them and we
 

00:06:16.690 --> 00:06:17.760 align:start position:0%
make a very accurate mock of them and we
preserve<00:06:16.960><c> all</c><00:06:17.080><c> the</c><00:06:17.140><c> type</c><00:06:17.320><c> of</c><00:06:17.350><c> information</c><00:06:17.560><c> you</c>

00:06:17.760 --> 00:06:17.770 align:start position:0%
preserve all the type of information you
 

00:06:17.770 --> 00:06:19.020 align:start position:0%
preserve all the type of information you
can<00:06:17.890><c> be</c><00:06:17.950><c> very</c><00:06:18.160><c> certain</c><00:06:18.460><c> that</c><00:06:18.610><c> the</c><00:06:18.910><c> behavior</c>

00:06:19.020 --> 00:06:19.030 align:start position:0%
can be very certain that the behavior
 

00:06:19.030 --> 00:06:21.810 align:start position:0%
can be very certain that the behavior
will<00:06:19.810><c> be</c><00:06:19.900><c> similar</c><00:06:20.170><c> on</c><00:06:20.530><c> the</c><00:06:20.680><c> live</c><00:06:21.130><c> chain</c><00:06:21.460><c> and</c><00:06:21.700><c> on</c>

00:06:21.810 --> 00:06:21.820 align:start position:0%
will be similar on the live chain and on
 

00:06:21.820 --> 00:06:25.080 align:start position:0%
will be similar on the live chain and on
your<00:06:22.120><c> fake</c><00:06:22.570><c> local</c><00:06:23.110><c> chain</c><00:06:23.320><c> but</c><00:06:24.220><c> you</c><00:06:24.910><c> might</c><00:06:25.060><c> as</c>

00:06:25.080 --> 00:06:25.090 align:start position:0%
your fake local chain but you might as
 

00:06:25.090 --> 00:06:26.520 align:start position:0%
your fake local chain but you might as
well<00:06:25.240><c> just</c><00:06:25.450><c> use</c><00:06:25.600><c> the</c><00:06:25.720><c> real</c><00:06:25.870><c> thing</c><00:06:26.050><c> I</c><00:06:26.200><c> mean</c><00:06:26.410><c> it's</c>

00:06:26.520 --> 00:06:26.530 align:start position:0%
well just use the real thing I mean it's
 

00:06:26.530 --> 00:06:30.660 align:start position:0%
well just use the real thing I mean it's
even<00:06:26.710><c> better</c><00:06:26.940><c> so</c><00:06:28.080><c> in</c><00:06:29.080><c> this</c><00:06:29.230><c> example</c><00:06:29.670><c> basically</c>

00:06:30.660 --> 00:06:30.670 align:start position:0%
even better so in this example basically
 

00:06:30.670 --> 00:06:32.370 align:start position:0%
even better so in this example basically
you<00:06:30.910><c> write</c><00:06:31.090><c> a</c><00:06:31.120><c> test</c><00:06:31.450><c> and</c><00:06:31.660><c> you</c><00:06:31.750><c> assume</c><00:06:32.140><c> that</c><00:06:32.290><c> the</c>

00:06:32.370 --> 00:06:32.380 align:start position:0%
you write a test and you assume that the
 

00:06:32.380 --> 00:06:34.890 align:start position:0%
you write a test and you assume that the
contract<00:06:32.830><c> is</c><00:06:32.920><c> running</c><00:06:33.400><c> in</c><00:06:33.760><c> the</c><00:06:34.120><c> context</c><00:06:34.810><c> of</c>

00:06:34.890 --> 00:06:34.900 align:start position:0%
contract is running in the context of
 

00:06:34.900 --> 00:06:38.310 align:start position:0%
contract is running in the context of
like<00:06:35.110><c> a</c><00:06:35.430><c> chain</c><00:06:36.430><c> but</c><00:06:37.120><c> you</c><00:06:37.270><c> can</c><00:06:37.450><c> do</c><00:06:37.600><c> more</c><00:06:38.050><c> stuff</c>

00:06:38.310 --> 00:06:38.320 align:start position:0%
like a chain but you can do more stuff
 

00:06:38.320 --> 00:06:39.720 align:start position:0%
like a chain but you can do more stuff
with<00:06:38.350><c> it</c><00:06:38.530><c> in</c><00:06:38.740><c> your</c><00:06:38.860><c> private</c><00:06:39.190><c> context</c><00:06:39.580><c> that</c>

00:06:39.720 --> 00:06:39.730 align:start position:0%
with it in your private context that
 

00:06:39.730 --> 00:06:43.800 align:start position:0%
with it in your private context that
lets<00:06:39.910><c> you</c><00:06:40.410><c> test</c><00:06:41.410><c> a</c><00:06:41.530><c> few</c><00:06:41.650><c> more</c><00:06:41.740><c> features</c><00:06:41.920><c> so</c><00:06:42.810><c> to</c>

00:06:43.800 --> 00:06:43.810 align:start position:0%
lets you test a few more features so to
 

00:06:43.810 --> 00:06:47.220 align:start position:0%
lets you test a few more features so to
give<00:06:44.050><c> a</c><00:06:44.080><c> concrete</c><00:06:44.290><c> example</c><00:06:44.560><c> of</c><00:06:45.040><c> this</c><00:06:45.480><c> if</c><00:06:46.480><c> you</c>

00:06:47.220 --> 00:06:47.230 align:start position:0%
give a concrete example of this if you
 

00:06:47.230 --> 00:06:50.490 align:start position:0%
give a concrete example of this if you
run<00:06:47.410><c> this</c><00:06:47.740><c> in</c><00:06:48.010><c> the</c><00:06:48.280><c> Morton</c><00:06:48.669><c> context</c><00:06:49.330><c> this</c><00:06:50.290><c> will</c>

00:06:50.490 --> 00:06:50.500 align:start position:0%
run this in the Morton context this will
 

00:06:50.500 --> 00:06:52.230 align:start position:0%
run this in the Morton context this will
work<00:06:50.770><c> but</c><00:06:50.830><c> if</c><00:06:51.160><c> you</c><00:06:51.220><c> run</c><00:06:51.370><c> this</c><00:06:51.490><c> on</c><00:06:51.669><c> a</c><00:06:51.700><c> private</c>

00:06:52.230 --> 00:06:52.240 align:start position:0%
work but if you run this on a private
 

00:06:52.240 --> 00:06:52.999 align:start position:0%
work but if you run this on a private
internal

00:06:52.999 --> 00:06:53.009 align:start position:0%
internal
 

00:06:53.009 --> 00:06:55.429 align:start position:0%
internal
this<00:06:53.999><c> won't</c><00:06:54.150><c> work</c><00:06:54.330><c> because</c><00:06:54.539><c> you</c><00:06:55.169><c> know</c><00:06:55.289><c> unless</c>

00:06:55.429 --> 00:06:55.439 align:start position:0%
this won't work because you know unless
 

00:06:55.439 --> 00:07:00.230 align:start position:0%
this won't work because you know unless
you<00:06:55.529><c> burn</c><00:06:55.770><c> some</c><00:06:55.979><c> ether</c><00:06:56.879><c> first</c><00:06:57.150><c> so</c><00:06:57.839><c> I</c><00:06:59.240><c> should</c>

00:07:00.230 --> 00:07:00.240 align:start position:0%
you burn some ether first so I should
 

00:07:00.240 --> 00:07:01.879 align:start position:0%
you burn some ether first so I should
have<00:07:00.330><c> like</c><00:07:00.509><c> written</c><00:07:01.169><c> the</c><00:07:01.289><c> usage</c><00:07:01.589><c> behind</c><00:07:01.830><c> this</c>

00:07:01.879 --> 00:07:01.889 align:start position:0%
have like written the usage behind this
 

00:07:01.889 --> 00:07:03.739 align:start position:0%
have like written the usage behind this
but<00:07:02.039><c> basically</c><00:07:02.279><c> what</c><00:07:02.460><c> happens</c><00:07:02.699><c> is</c><00:07:02.789><c> first</c><00:07:03.449><c> you</c>

00:07:03.739 --> 00:07:03.749 align:start position:0%
but basically what happens is first you
 

00:07:03.749 --> 00:07:06.200 align:start position:0%
but basically what happens is first you
enter<00:07:04.499><c> the</c><00:07:04.619><c> answer</c><00:07:05.069><c> the</c><00:07:05.249><c> Morton</c><00:07:05.550><c> context</c><00:07:06.119><c> and</c>

00:07:06.200 --> 00:07:06.210 align:start position:0%
enter the answer the Morton context and
 

00:07:06.210 --> 00:07:08.779 align:start position:0%
enter the answer the Morton context and
then<00:07:06.360><c> you</c><00:07:06.449><c> do</c><00:07:06.569><c> dapple</c><00:07:06.899><c> test</c><00:07:07.169><c> on</c><00:07:07.409><c> this</c><00:07:07.949><c> contract</c>

00:07:08.779 --> 00:07:08.789 align:start position:0%
then you do dapple test on this contract
 

00:07:08.789 --> 00:07:11.839 align:start position:0%
then you do dapple test on this contract
and<00:07:09.029><c> the</c><00:07:09.119><c> result</c><00:07:09.449><c> is</c><00:07:09.659><c> that</c><00:07:09.719><c> it</c><00:07:10.529><c> works</c><00:07:10.849><c> this</c>

00:07:11.839 --> 00:07:11.849 align:start position:0%
and the result is that it works this
 

00:07:11.849 --> 00:07:15.499 align:start position:0%
and the result is that it works this
address<00:07:12.300><c> zero</c><00:07:12.619><c> refers</c><00:07:13.619><c> to</c><00:07:14.149><c> address</c><00:07:15.149><c> your</c><00:07:15.360><c> own</c>

00:07:15.499 --> 00:07:15.509 align:start position:0%
address zero refers to address your own
 

00:07:15.509 --> 00:07:17.899 align:start position:0%
address zero refers to address your own
morden<00:07:15.899><c> and</c><00:07:16.080><c> so</c><00:07:16.499><c> when</c><00:07:17.189><c> you</c><00:07:17.399><c> assert</c><00:07:17.699><c> that</c><00:07:17.729><c> the</c>

00:07:17.899 --> 00:07:17.909 align:start position:0%
morden and so when you assert that the
 

00:07:17.909 --> 00:07:19.639 align:start position:0%
morden and so when you assert that the
burned<00:07:18.119><c> balance</c><00:07:18.509><c> is</c><00:07:18.629><c> more</c><00:07:18.809><c> than</c><00:07:18.899><c> zero</c><00:07:19.139><c> it's</c>

00:07:19.639 --> 00:07:19.649 align:start position:0%
burned balance is more than zero it's
 

00:07:19.649 --> 00:07:22.399 align:start position:0%
burned balance is more than zero it's
true<00:07:20.330><c> all</c><00:07:21.330><c> right</c><00:07:21.509><c> so</c><00:07:21.659><c> testing</c><00:07:22.080><c> is</c><00:07:22.169><c> kind</c><00:07:22.349><c> of</c>

00:07:22.399 --> 00:07:22.409 align:start position:0%
true all right so testing is kind of
 

00:07:22.409 --> 00:07:23.480 align:start position:0%
true all right so testing is kind of
interesting<00:07:22.529><c> but</c><00:07:22.860><c> it</c><00:07:23.129><c> gets</c><00:07:23.249><c> really</c>

00:07:23.480 --> 00:07:23.490 align:start position:0%
interesting but it gets really
 

00:07:23.490 --> 00:07:25.850 align:start position:0%
interesting but it gets really
interesting<00:07:23.610><c> when</c><00:07:24.149><c> we</c><00:07:24.300><c> want</c><00:07:24.479><c> to</c><00:07:24.860><c> deploy</c>

00:07:25.850 --> 00:07:25.860 align:start position:0%
interesting when we want to deploy
 

00:07:25.860 --> 00:07:27.320 align:start position:0%
interesting when we want to deploy
contracts<00:07:26.580><c> which</c><00:07:26.759><c> is</c><00:07:26.879><c> one</c><00:07:27.089><c> of</c><00:07:27.210><c> the</c>

00:07:27.320 --> 00:07:27.330 align:start position:0%
contracts which is one of the
 

00:07:27.330 --> 00:07:28.579 align:start position:0%
contracts which is one of the
applications<00:07:27.479><c> of</c><00:07:27.930><c> what</c><00:07:28.020><c> we</c><00:07:28.080><c> called</c><00:07:28.259><c> wallet</c>

00:07:28.579 --> 00:07:28.589 align:start position:0%
applications of what we called wallet
 

00:07:28.589 --> 00:07:31.399 align:start position:0%
applications of what we called wallet
side<00:07:28.770><c> scripting</c><00:07:29.249><c> which</c><00:07:29.939><c> is</c><00:07:30.120><c> another</c><00:07:30.409><c> magic</c>

00:07:31.399 --> 00:07:31.409 align:start position:0%
side scripting which is another magic
 

00:07:31.409 --> 00:07:34.249 align:start position:0%
side scripting which is another magic
EVM<00:07:31.909><c> contract</c><00:07:32.909><c> but</c><00:07:32.999><c> it's</c><00:07:33.210><c> harness</c><00:07:33.689><c> has</c>

00:07:34.249 --> 00:07:34.259 align:start position:0%
EVM contract but it's harness has
 

00:07:34.259 --> 00:07:36.260 align:start position:0%
EVM contract but it's harness has
hijacked<00:07:34.800><c> that</c><00:07:34.919><c> creates</c><00:07:35.249><c> and</c><00:07:35.460><c> call</c><00:07:35.729><c> off</c><00:07:35.969><c> codes</c>

00:07:36.260 --> 00:07:36.270 align:start position:0%
hijacked that creates and call off codes
 

00:07:36.270 --> 00:07:39.170 align:start position:0%
hijacked that creates and call off codes
and<00:07:36.509><c> makes</c><00:07:37.069><c> instead</c><00:07:38.069><c> what</c><00:07:38.399><c> usually</c><00:07:38.610><c> when</c><00:07:39.089><c> you</c>

00:07:39.170 --> 00:07:39.180 align:start position:0%
and makes instead what usually when you
 

00:07:39.180 --> 00:07:40.579 align:start position:0%
and makes instead what usually when you
have<00:07:39.509><c> payer</c><00:07:39.719><c> call</c><00:07:39.960><c> it</c><00:07:40.050><c> creates</c><00:07:40.229><c> a</c><00:07:40.289><c> message</c>

00:07:40.579 --> 00:07:40.589 align:start position:0%
have payer call it creates a message
 

00:07:40.589 --> 00:07:42.200 align:start position:0%
have payer call it creates a message
costs<00:07:40.949><c> like</c><00:07:41.129><c> internal</c><00:07:41.490><c> to</c><00:07:41.699><c> one</c><00:07:41.849><c> transaction</c>

00:07:42.200 --> 00:07:42.210 align:start position:0%
costs like internal to one transaction
 

00:07:42.210 --> 00:07:43.820 align:start position:0%
costs like internal to one transaction
but<00:07:42.930><c> instead</c><00:07:43.139><c> what</c><00:07:43.289><c> we</c><00:07:43.379><c> do</c><00:07:43.469><c> is</c><00:07:43.620><c> actually</c>

00:07:43.820 --> 00:07:43.830 align:start position:0%
but instead what we do is actually
 

00:07:43.830 --> 00:07:45.739 align:start position:0%
but instead what we do is actually
create<00:07:44.279><c> a</c><00:07:44.309><c> full</c><00:07:44.610><c> transaction</c><00:07:45.209><c> and</c><00:07:45.360><c> then</c><00:07:45.449><c> block</c>

00:07:45.739 --> 00:07:45.749 align:start position:0%
create a full transaction and then block
 

00:07:45.749 --> 00:07:47.839 align:start position:0%
create a full transaction and then block
the<00:07:45.930><c> wall</c><00:07:46.050><c> outside</c><00:07:46.199><c> EVM</c><00:07:46.620><c> execution</c><00:07:47.159><c> until</c><00:07:47.399><c> it</c>

00:07:47.839 --> 00:07:47.849 align:start position:0%
the wall outside EVM execution until it
 

00:07:47.849 --> 00:07:51.350 align:start position:0%
the wall outside EVM execution until it
gets<00:07:47.969><c> confirmed</c><00:07:49.219><c> you</c><00:07:50.219><c> combine</c><00:07:50.610><c> this</c><00:07:50.789><c> with</c><00:07:51.029><c> the</c>

00:07:51.350 --> 00:07:51.360 align:start position:0%
gets confirmed you combine this with the
 

00:07:51.360 --> 00:07:53.299 align:start position:0%
gets confirmed you combine this with the
chain<00:07:51.569><c> forking</c><00:07:51.930><c> feature</c><00:07:52.080><c> what</c><00:07:52.680><c> you</c><00:07:52.770><c> can</c><00:07:52.919><c> do</c><00:07:53.069><c> is</c>

00:07:53.299 --> 00:07:53.309 align:start position:0%
chain forking feature what you can do is
 

00:07:53.309 --> 00:07:54.980 align:start position:0%
chain forking feature what you can do is
simulate<00:07:53.729><c> live</c><00:07:54.089><c> deployments</c><00:07:54.689><c> before</c><00:07:54.930><c> you</c>

00:07:54.980 --> 00:07:54.990 align:start position:0%
simulate live deployments before you
 

00:07:54.990 --> 00:07:56.659 align:start position:0%
simulate live deployments before you
actually<00:07:55.139><c> do</c><00:07:55.409><c> them</c><00:07:55.559><c> do</c><00:07:55.830><c> dry</c><00:07:56.099><c> runs</c><00:07:56.339><c> and</c><00:07:56.550><c> then</c>

00:07:56.659 --> 00:07:56.669 align:start position:0%
actually do them do dry runs and then
 

00:07:56.669 --> 00:07:58.369 align:start position:0%
actually do them do dry runs and then
you<00:07:56.789><c> can</c><00:07:56.939><c> run</c><00:07:57.149><c> consistency</c><00:07:57.719><c> checks</c><00:07:57.990><c> on</c><00:07:58.199><c> the</c>

00:07:58.369 --> 00:07:58.379 align:start position:0%
you can run consistency checks on the
 

00:07:58.379 --> 00:08:00.079 align:start position:0%
you can run consistency checks on the
results<00:07:58.680><c> of</c><00:07:58.709><c> your</c><00:07:58.770><c> system</c><00:07:59.189><c> like</c><00:07:59.370><c> make</c><00:07:59.909><c> sure</c>

00:08:00.079 --> 00:08:00.089 align:start position:0%
results of your system like make sure
 

00:08:00.089 --> 00:08:01.670 align:start position:0%
results of your system like make sure
that<00:08:00.240><c> you're</c><00:08:00.569><c> up</c><00:08:00.599><c> the</c><00:08:00.899><c> update</c><00:08:01.379><c> that</c><00:08:01.499><c> you</c><00:08:01.559><c> want</c>

00:08:01.670 --> 00:08:01.680 align:start position:0%
that you're up the update that you want
 

00:08:01.680 --> 00:08:04.309 align:start position:0%
that you're up the update that you want
to<00:08:01.740><c> do</c><00:08:01.830><c> it</c><00:08:02.729><c> doesn't</c><00:08:03.029><c> screw</c><00:08:03.180><c> anything</c><00:08:03.360><c> up</c><00:08:03.509><c> so</c>

00:08:04.309 --> 00:08:04.319 align:start position:0%
to do it doesn't screw anything up so
 

00:08:04.319 --> 00:08:06.409 align:start position:0%
to do it doesn't screw anything up so
here's<00:08:05.129><c> a</c><00:08:05.189><c> real</c><00:08:05.339><c> world</c><00:08:05.520><c> example</c><00:08:05.639><c> of</c><00:08:06.059><c> like</c><00:08:06.180><c> we</c>

00:08:06.409 --> 00:08:06.419 align:start position:0%
here's a real world example of like we
 

00:08:06.419 --> 00:08:08.719 align:start position:0%
here's a real world example of like we
want<00:08:06.689><c> we</c><00:08:07.199><c> might</c><00:08:07.229><c> want</c><00:08:07.409><c> to</c><00:08:07.680><c> do</c><00:08:07.770><c> this</c><00:08:07.919><c> you're</c><00:08:08.639><c> on</c>

00:08:08.719 --> 00:08:08.729 align:start position:0%
want we might want to do this you're on
 

00:08:08.729 --> 00:08:10.100 align:start position:0%
want we might want to do this you're on
slack<00:08:09.029><c> and</c><00:08:09.209><c> you</c><00:08:09.269><c> get</c><00:08:09.360><c> a</c><00:08:09.389><c> message</c><00:08:09.509><c> for</c><00:08:09.839><c> me</c><00:08:09.870><c> that</c>

00:08:10.100 --> 00:08:10.110 align:start position:0%
slack and you get a message for me that
 

00:08:10.110 --> 00:08:12.649 align:start position:0%
slack and you get a message for me that
says<00:08:10.259><c> hey</c><00:08:10.379><c> please</c><00:08:10.769><c> confirm</c><00:08:11.129><c> proposal</c><00:08:11.669><c> 66</c><00:08:12.240><c> it</c>

00:08:12.649 --> 00:08:12.659 align:start position:0%
says hey please confirm proposal 66 it
 

00:08:12.659 --> 00:08:14.149 align:start position:0%
says hey please confirm proposal 66 it
is<00:08:12.809><c> a</c><00:08:12.839><c> critical</c><00:08:13.259><c> bug</c><00:08:13.379><c> fix</c><00:08:13.589><c> it's</c><00:08:13.769><c> going</c><00:08:13.889><c> to</c><00:08:13.949><c> swap</c>

00:08:14.149 --> 00:08:14.159 align:start position:0%
is a critical bug fix it's going to swap
 

00:08:14.159 --> 00:08:15.860 align:start position:0%
is a critical bug fix it's going to swap
out<00:08:14.309><c> some</c><00:08:14.519><c> of</c><00:08:14.580><c> the</c><00:08:14.639><c> contracts</c><00:08:15.059><c> this</c><00:08:15.240><c> ones</c><00:08:15.479><c> that</c>

00:08:15.860 --> 00:08:15.870 align:start position:0%
out some of the contracts this ones that
 

00:08:15.870 --> 00:08:18.799 align:start position:0%
out some of the contracts this ones that
have<00:08:16.589><c> don't</c><00:08:17.009><c> have</c><00:08:17.129><c> this</c><00:08:17.219><c> book</c><00:08:17.339><c> so</c><00:08:18.089><c> if</c><00:08:18.569><c> you're</c><00:08:18.779><c> a</c>

00:08:18.799 --> 00:08:18.809 align:start position:0%
have don't have this book so if you're a
 

00:08:18.809 --> 00:08:20.959 align:start position:0%
have don't have this book so if you're a
responsible<00:08:19.459><c> administer</c><00:08:20.459><c> of</c><00:08:20.519><c> multi</c><00:08:20.789><c> sig</c>

00:08:20.959 --> 00:08:20.969 align:start position:0%
responsible administer of multi sig
 

00:08:20.969 --> 00:08:22.429 align:start position:0%
responsible administer of multi sig
folder<00:08:21.269><c> of</c><00:08:21.389><c> whatever</c><00:08:21.659><c> system</c><00:08:21.899><c> you're</c><00:08:22.110><c> running</c>

00:08:22.429 --> 00:08:22.439 align:start position:0%
folder of whatever system you're running
 

00:08:22.439 --> 00:08:25.820 align:start position:0%
folder of whatever system you're running
you<00:08:22.860><c> will</c><00:08:23.039><c> of</c><00:08:23.189><c> course</c><00:08:23.479><c> do</c><00:08:24.479><c> a</c><00:08:24.509><c> mock</c><00:08:24.809><c> chain</c><00:08:25.469><c> fork</c>

00:08:25.820 --> 00:08:25.830 align:start position:0%
you will of course do a mock chain fork
 

00:08:25.830 --> 00:08:28.969 align:start position:0%
you will of course do a mock chain fork
and<00:08:26.209><c> run</c><00:08:27.209><c> this</c><00:08:27.559><c> transaction</c><00:08:28.559><c> a</c><00:08:28.620><c> simulated</c>

00:08:28.969 --> 00:08:28.979 align:start position:0%
and run this transaction a simulated
 

00:08:28.979 --> 00:08:30.259 align:start position:0%
and run this transaction a simulated
environment<00:08:29.399><c> to</c><00:08:29.490><c> make</c><00:08:29.639><c> sure</c><00:08:29.819><c> that</c><00:08:29.969><c> it</c><00:08:30.059><c> still</c>

00:08:30.259 --> 00:08:30.269 align:start position:0%
environment to make sure that it still
 

00:08:30.269 --> 00:08:32.180 align:start position:0%
environment to make sure that it still
passes<00:08:30.659><c> whatever</c><00:08:30.930><c> consistency</c><00:08:31.439><c> checks</c><00:08:31.740><c> you</c>

00:08:32.180 --> 00:08:32.190 align:start position:0%
passes whatever consistency checks you
 

00:08:32.190 --> 00:08:34.430 align:start position:0%
passes whatever consistency checks you
guys<00:08:32.370><c> have</c><00:08:32.579><c> defined</c><00:08:32.940><c> in</c><00:08:33.240><c> our</c><00:08:33.659><c> case</c><00:08:33.899><c> let</c><00:08:34.380><c> me</c>

00:08:34.430 --> 00:08:34.440 align:start position:0%
guys have defined in our case let me
 

00:08:34.440 --> 00:08:40.100 align:start position:0%
guys have defined in our case let me
show<00:08:34.620><c> you</c><00:08:34.680><c> the</c><00:08:34.860><c> example</c><00:08:36.199><c> so</c><00:08:37.199><c> this</c><00:08:37.919><c> is</c><00:08:38.099><c> why</c><00:08:39.110><c> this</c>

00:08:40.100 --> 00:08:40.110 align:start position:0%
show you the example so this is why this
 

00:08:40.110 --> 00:08:43.159 align:start position:0%
show you the example so this is why this
this<00:08:40.529><c> type</c><00:08:40.979><c> information</c><00:08:42.079><c> preserving</c><00:08:43.079><c> this</c>

00:08:43.159 --> 00:08:43.169 align:start position:0%
this type information preserving this
 

00:08:43.169 --> 00:08:44.870 align:start position:0%
this type information preserving this
type<00:08:43.349><c> of</c><00:08:43.380><c> information</c><00:08:43.560><c> in</c><00:08:43.979><c> the</c><00:08:44.159><c> default</c><00:08:44.550><c> is</c><00:08:44.699><c> so</c>

00:08:44.870 --> 00:08:44.880 align:start position:0%
type of information in the default is so
 

00:08:44.880 --> 00:08:46.400 align:start position:0%
type of information in the default is so
powerful<00:08:45.060><c> is</c><00:08:45.389><c> that</c><00:08:45.420><c> then</c><00:08:45.660><c> we</c><00:08:45.779><c> can</c><00:08:45.810><c> hoist</c><00:08:46.170><c> it</c>

00:08:46.400 --> 00:08:46.410 align:start position:0%
powerful is that then we can hoist it
 

00:08:46.410 --> 00:08:48.710 align:start position:0%
powerful is that then we can hoist it
into<00:08:47.220><c> the</c><00:08:47.940><c> wallet</c><00:08:48.209><c> side</c><00:08:48.360><c> scripting</c>

00:08:48.710 --> 00:08:48.720 align:start position:0%
into the wallet side scripting
 

00:08:48.720 --> 00:08:50.240 align:start position:0%
into the wallet side scripting
environment<00:08:48.839><c> and</c><00:08:49.319><c> have</c><00:08:49.500><c> the</c><00:08:49.680><c> full</c><00:08:49.949><c> type</c>

00:08:50.240 --> 00:08:50.250 align:start position:0%
environment and have the full type
 

00:08:50.250 --> 00:08:52.340 align:start position:0%
environment and have the full type
system<00:08:50.670><c> there</c><00:08:50.870><c> with</c><00:08:51.870><c> all</c><00:08:52.050><c> the</c><00:08:52.170><c> type</c><00:08:52.319><c> of</c>

00:08:52.340 --> 00:08:52.350 align:start position:0%
system there with all the type of
 

00:08:52.350 --> 00:08:55.009 align:start position:0%
system there with all the type of
immunities<00:08:52.860><c> to</c><00:08:52.889><c> make</c><00:08:53.160><c> sure</c><00:08:53.310><c> that</c><00:08:53.579><c> this</c><00:08:54.019><c> you</c>

00:08:55.009 --> 00:08:55.019 align:start position:0%
immunities to make sure that this you
 

00:08:55.019 --> 00:08:55.910 align:start position:0%
immunities to make sure that this you
know<00:08:55.110><c> what</c><00:08:55.260><c> you're</c><00:08:55.380><c> doing</c><00:08:55.560><c> makes</c><00:08:55.680><c> sense</c>

00:08:55.910 --> 00:08:55.920 align:start position:0%
know what you're doing makes sense
 

00:08:55.920 --> 00:08:57.559 align:start position:0%
know what you're doing makes sense
there's<00:08:56.100><c> actually</c><00:08:56.459><c> a</c><00:08:56.490><c> token</c><00:08:56.880><c> defined</c><00:08:57.420><c> in</c><00:08:57.510><c> the</c>

00:08:57.559 --> 00:08:57.569 align:start position:0%
there's actually a token defined in the
 

00:08:57.569 --> 00:08:59.120 align:start position:0%
there's actually a token defined in the
environment<00:08:57.779><c> it's</c><00:08:58.110><c> actually</c><00:08:58.470><c> typed</c><00:08:58.889><c> as</c><00:08:59.100><c> a</c>

00:08:59.120 --> 00:08:59.130 align:start position:0%
environment it's actually typed as a
 

00:08:59.130 --> 00:09:00.920 align:start position:0%
environment it's actually typed as a
token<00:08:59.370><c> it</c><00:08:59.610><c> has</c><00:08:59.699><c> a</c><00:08:59.730><c> confirmed</c><00:09:00.120><c> puncturing</c><00:09:00.510><c> blah</c>

00:09:00.920 --> 00:09:00.930 align:start position:0%
token it has a confirmed puncturing blah
 

00:09:00.930 --> 00:09:03.050 align:start position:0%
token it has a confirmed puncturing blah
blah<00:09:01.019><c> blah</c><00:09:01.170><c> and</c><00:09:02.100><c> so</c><00:09:02.250><c> in</c><00:09:02.370><c> this</c><00:09:02.459><c> case</c><00:09:02.639><c> what</c><00:09:02.910><c> we're</c>

00:09:03.050 --> 00:09:03.060 align:start position:0%
blah blah and so in this case what we're
 

00:09:03.060 --> 00:09:04.670 align:start position:0%
blah blah and so in this case what we're
doing<00:09:03.360><c> is</c><00:09:03.510><c> we're</c><00:09:03.899><c> confirming</c><00:09:04.230><c> it's</c><00:09:04.470><c> from</c><00:09:04.620><c> our</c>

00:09:04.670 --> 00:09:04.680 align:start position:0%
doing is we're confirming it's from our
 

00:09:04.680 --> 00:09:05.810 align:start position:0%
doing is we're confirming it's from our
address<00:09:05.010><c> but</c><00:09:05.189><c> then</c><00:09:05.279><c> we're</c><00:09:05.430><c> fit</c>

00:09:05.810 --> 00:09:05.820 align:start position:0%
address but then we're fit
 

00:09:05.820 --> 00:09:08.090 align:start position:0%
address but then we're fit
tending<00:09:06.120><c> to</c><00:09:06.570><c> set</c><00:09:06.780><c> the</c><00:09:06.870><c> origin</c><00:09:07.320><c> to</c><00:09:07.650><c> a</c><00:09:07.680><c> different</c>

00:09:08.090 --> 00:09:08.100 align:start position:0%
tending to set the origin to a different
 

00:09:08.100 --> 00:09:09.260 align:start position:0%
tending to set the origin to a different
address<00:09:08.130><c> which</c><00:09:08.490><c> is</c><00:09:08.520><c> one</c><00:09:08.790><c> of</c><00:09:08.820><c> the</c><00:09:08.940><c> magic</c>

00:09:09.260 --> 00:09:09.270 align:start position:0%
address which is one of the magic
 

00:09:09.270 --> 00:09:11.480 align:start position:0%
address which is one of the magic
features<00:09:09.630><c> of</c><00:09:09.840><c> the</c><00:09:09.930><c> script</c><00:09:10.200><c> contract</c><00:09:10.560><c> so</c><00:09:11.460><c> that</c>

00:09:11.480 --> 00:09:11.490 align:start position:0%
features of the script contract so that
 

00:09:11.490 --> 00:09:14.090 align:start position:0%
features of the script contract so that
the<00:09:11.760><c> origin</c><00:09:12.240><c> is</c><00:09:12.450><c> mocked</c><00:09:12.750><c> then</c><00:09:13.590><c> we</c><00:09:13.920><c> do</c><00:09:14.070><c> a</c>

00:09:14.090 --> 00:09:14.100 align:start position:0%
the origin is mocked then we do a
 

00:09:14.100 --> 00:09:16.250 align:start position:0%
the origin is mocked then we do a
confirmation<00:09:14.760><c> from</c><00:09:14.940><c> that</c><00:09:15.120><c> origin</c><00:09:15.510><c> and</c><00:09:15.690><c> then</c>

00:09:16.250 --> 00:09:16.260 align:start position:0%
confirmation from that origin and then
 

00:09:16.260 --> 00:09:18.620 align:start position:0%
confirmation from that origin and then
we<00:09:16.410><c> show</c><00:09:17.130><c> in</c><00:09:17.220><c> this</c><00:09:17.250><c> example</c><00:09:17.670><c> to</c><00:09:17.910><c> confirm</c><00:09:18.300><c> also</c>

00:09:18.620 --> 00:09:18.630 align:start position:0%
we show in this example to confirm also
 

00:09:18.630 --> 00:09:20.780 align:start position:0%
we show in this example to confirm also
does<00:09:18.750><c> the</c><00:09:18.780><c> trigger</c><00:09:19.110><c> so</c><00:09:19.470><c> the</c><00:09:19.890><c> update</c><00:09:20.220><c> runs</c><00:09:20.460><c> and</c>

00:09:20.780 --> 00:09:20.790 align:start position:0%
does the trigger so the update runs and
 

00:09:20.790 --> 00:09:22.730 align:start position:0%
does the trigger so the update runs and
then<00:09:21.030><c> we</c><00:09:21.120><c> do</c><00:09:21.210><c> a</c><00:09:21.240><c> consistency</c><00:09:21.780><c> check</c><00:09:21.810><c> and</c><00:09:22.260><c> in</c>

00:09:22.730 --> 00:09:22.740 align:start position:0%
then we do a consistency check and in
 

00:09:22.740 --> 00:09:25.070 align:start position:0%
then we do a consistency check and in
this<00:09:22.920><c> example</c><00:09:23.280><c> you</c><00:09:23.490><c> can</c><00:09:23.520><c> see</c><00:09:23.670><c> our</c><00:09:24.090><c> maid</c><00:09:24.960><c> of</c>

00:09:25.070 --> 00:09:25.080 align:start position:0%
this example you can see our maid of
 

00:09:25.080 --> 00:09:27.200 align:start position:0%
this example you can see our maid of
consistency<00:09:25.650><c> check</c><00:09:25.890><c> failed</c><00:09:26.220><c> so</c><00:09:26.820><c> you</c><00:09:26.880><c> know</c>

00:09:27.200 --> 00:09:27.210 align:start position:0%
consistency check failed so you know
 

00:09:27.210 --> 00:09:28.640 align:start position:0%
consistency check failed so you know
that<00:09:27.390><c> this</c><00:09:27.480><c> wasn't</c><00:09:27.690><c> actually</c><00:09:28.110><c> me</c><00:09:28.260><c> this</c><00:09:28.500><c> was</c>

00:09:28.640 --> 00:09:28.650 align:start position:0%
that this wasn't actually me this was
 

00:09:28.650 --> 00:09:30.320 align:start position:0%
that this wasn't actually me this was
some<00:09:28.890><c> hacker</c><00:09:29.100><c> that</c><00:09:29.250><c> is</c><00:09:29.490><c> trying</c><00:09:29.730><c> to</c><00:09:29.850><c> run</c><00:09:30.000><c> a</c><00:09:30.030><c> bad</c>

00:09:30.320 --> 00:09:30.330 align:start position:0%
some hacker that is trying to run a bad
 

00:09:30.330 --> 00:09:32.660 align:start position:0%
some hacker that is trying to run a bad
update<00:09:30.690><c> on</c><00:09:30.840><c> the</c><00:09:30.930><c> system</c><00:09:31.230><c> but</c><00:09:31.620><c> each</c><00:09:31.830><c> multi</c><00:09:32.520><c> sig</c>

00:09:32.660 --> 00:09:32.670 align:start position:0%
update on the system but each multi sig
 

00:09:32.670 --> 00:09:34.400 align:start position:0%
update on the system but each multi sig
member<00:09:32.850><c> can</c><00:09:32.970><c> easily</c><00:09:33.390><c> independently</c><00:09:33.930><c> verify</c>

00:09:34.400 --> 00:09:34.410 align:start position:0%
member can easily independently verify
 

00:09:34.410 --> 00:09:35.990 align:start position:0%
member can easily independently verify
what<00:09:34.680><c> the</c><00:09:34.800><c> resulting</c><00:09:35.250><c> state</c><00:09:35.550><c> of</c><00:09:35.730><c> actually</c>

00:09:35.990 --> 00:09:36.000 align:start position:0%
what the resulting state of actually
 

00:09:36.000 --> 00:09:40.030 align:start position:0%
what the resulting state of actually
running<00:09:36.270><c> those</c><00:09:36.540><c> transactions</c><00:09:37.200><c> are</c><00:09:38.720><c> all</c><00:09:39.720><c> right</c>

00:09:40.030 --> 00:09:40.040 align:start position:0%
running those transactions are all right
 

00:09:40.040 --> 00:09:43.700 align:start position:0%
running those transactions are all right
and<00:09:41.040><c> then</c><00:09:41.880><c> the</c><00:09:41.970><c> final</c><00:09:42.000><c> step</c><00:09:42.390><c> is</c><00:09:42.840><c> publish</c><00:09:43.560><c> your</c>

00:09:43.700 --> 00:09:43.710 align:start position:0%
and then the final step is publish your
 

00:09:43.710 --> 00:09:45.950 align:start position:0%
and then the final step is publish your
job<00:09:43.950><c> file</c><00:09:44.160><c> yet</c><00:09:44.520><c> other</c><00:09:44.760><c> people</c><00:09:45.270><c> to</c><00:09:45.300><c> import</c><00:09:45.840><c> your</c>

00:09:45.950 --> 00:09:45.960 align:start position:0%
job file yet other people to import your
 

00:09:45.960 --> 00:09:47.690 align:start position:0%
job file yet other people to import your
code<00:09:46.230><c> and</c><00:09:46.260><c> have</c><00:09:46.710><c> some</c><00:09:46.890><c> code</c><00:09:47.100><c> reuse</c><00:09:47.280><c> because</c>

00:09:47.690 --> 00:09:47.700 align:start position:0%
code and have some code reuse because
 

00:09:47.700 --> 00:09:49.310 align:start position:0%
code and have some code reuse because
there's<00:09:47.940><c> so</c><00:09:48.150><c> much</c><00:09:48.360><c> duplication</c><00:09:48.690><c> of</c><00:09:49.080><c> effort</c>

00:09:49.310 --> 00:09:49.320 align:start position:0%
there's so much duplication of effort
 

00:09:49.320 --> 00:09:50.540 align:start position:0%
there's so much duplication of effort
going<00:09:49.440><c> on</c><00:09:49.620><c> in</c><00:09:49.680><c> the</c><00:09:49.740><c> ecosystem</c><00:09:49.890><c> right</c><00:09:50.280><c> now</c><00:09:50.400><c> is</c>

00:09:50.540 --> 00:09:50.550 align:start position:0%
going on in the ecosystem right now is
 

00:09:50.550 --> 00:09:51.980 align:start position:0%
going on in the ecosystem right now is
partially<00:09:51.120><c> because</c><00:09:51.240><c> it's</c><00:09:51.450><c> just</c><00:09:51.510><c> so</c><00:09:51.630><c> hard</c><00:09:51.930><c> to</c>

00:09:51.980 --> 00:09:51.990 align:start position:0%
partially because it's just so hard to
 

00:09:51.990 --> 00:09:55.760 align:start position:0%
partially because it's just so hard to
reuse<00:09:52.380><c> other</c><00:09:52.560><c> people's</c><00:09:52.800><c> code</c><00:09:54.290><c> so</c><00:09:55.290><c> I'm</c><00:09:55.620><c> going</c>

00:09:55.760 --> 00:09:55.770 align:start position:0%
reuse other people's code so I'm going
 

00:09:55.770 --> 00:09:57.980 align:start position:0%
reuse other people's code so I'm going
to<00:09:55.800><c> very</c><00:09:56.220><c> quickly</c><00:09:56.520><c> give</c><00:09:57.270><c> very</c><00:09:57.510><c> small</c><00:09:57.780><c> sneak</c>

00:09:57.980 --> 00:09:57.990 align:start position:0%
to very quickly give very small sneak
 

00:09:57.990 --> 00:09:59.120 align:start position:0%
to very quickly give very small sneak
peak<00:09:58.140><c> about</c><00:09:58.440><c> what</c><00:09:58.680><c> are</c><00:09:58.800><c> some</c><00:09:58.950><c> other</c><00:09:59.100><c> things</c>

00:09:59.120 --> 00:09:59.130 align:start position:0%
peak about what are some other things
 

00:09:59.130 --> 00:10:01.310 align:start position:0%
peak about what are some other things
that<00:09:59.400><c> are</c><00:09:59.550><c> coming</c><00:09:59.730><c> basically</c><00:10:00.450><c> all</c><00:10:00.810><c> the</c><00:10:01.140><c> things</c>

00:10:01.310 --> 00:10:01.320 align:start position:0%
that are coming basically all the things
 

00:10:01.320 --> 00:10:03.980 align:start position:0%
that are coming basically all the things
I<00:10:01.440><c> described</c><00:10:01.830><c> could</c><00:10:02.100><c> be</c><00:10:02.220><c> done</c><00:10:02.400><c> in</c><00:10:02.580><c> a</c><00:10:02.760><c> GUI</c><00:10:02.990><c> so</c>

00:10:03.980 --> 00:10:03.990 align:start position:0%
I described could be done in a GUI so
 

00:10:03.990 --> 00:10:06.440 align:start position:0%
I described could be done in a GUI so
you<00:10:04.080><c> could</c><00:10:04.530><c> you</c><00:10:05.490><c> know</c><00:10:05.580><c> do</c><00:10:05.760><c> your</c><00:10:05.940><c> own</c><00:10:06.090><c> the</c><00:10:06.300><c> Dow</c>

00:10:06.440 --> 00:10:06.450 align:start position:0%
you could you know do your own the Dow
 

00:10:06.450 --> 00:10:09.260 align:start position:0%
you could you know do your own the Dow
hack<00:10:06.750><c> through</c><00:10:07.050><c> a</c><00:10:07.110><c> through</c><00:10:07.560><c> a</c><00:10:07.620><c> clicky</c><00:10:07.890><c> you</c><00:10:08.340><c> I</c><00:10:08.370><c> if</c>

00:10:09.260 --> 00:10:09.270 align:start position:0%
hack through a through a clicky you I if
 

00:10:09.270 --> 00:10:13.730 align:start position:0%
hack through a through a clicky you I if
you<00:10:09.420><c> want</c><00:10:09.600><c> to</c><00:10:10.580><c> let's</c><00:10:11.580><c> and</c><00:10:12.090><c> then</c><00:10:12.990><c> some</c><00:10:13.560><c> more</c>

00:10:13.730 --> 00:10:13.740 align:start position:0%
you want to let's and then some more
 

00:10:13.740 --> 00:10:15.530 align:start position:0%
you want to let's and then some more
things<00:10:14.040><c> that</c><00:10:14.100><c> we</c><00:10:14.250><c> have</c><00:10:14.370><c> in</c><00:10:14.430><c> the</c><00:10:14.550><c> pipeline</c><00:10:14.700><c> a</c>

00:10:15.530 --> 00:10:15.540 align:start position:0%
things that we have in the pipeline a
 

00:10:15.540 --> 00:10:18.680 align:start position:0%
things that we have in the pipeline a
better<00:10:16.130><c> more</c><00:10:17.130><c> wallets</c><00:10:17.790><c> I</c><00:10:17.910><c> DVM</c><00:10:18.270><c> extension</c>

00:10:18.680 --> 00:10:18.690 align:start position:0%
better more wallets I DVM extension
 

00:10:18.690 --> 00:10:21.680 align:start position:0%
better more wallets I DVM extension
features<00:10:19.050><c> so</c><00:10:19.350><c> one</c><00:10:19.650><c> thing</c><00:10:19.860><c> is</c><00:10:19.920><c> uh</c><00:10:20.300><c> having</c><00:10:21.300><c> one</c>

00:10:21.680 --> 00:10:21.690 align:start position:0%
features so one thing is uh having one
 

00:10:21.690 --> 00:10:23.720 align:start position:0%
features so one thing is uh having one
of<00:10:21.720><c> the</c><00:10:21.960><c> addresses</c><00:10:22.680><c> be</c><00:10:23.100><c> like</c><00:10:23.280><c> a</c><00:10:23.310><c> hard-coded</c>

00:10:23.720 --> 00:10:23.730 align:start position:0%
of the addresses be like a hard-coded
 

00:10:23.730 --> 00:10:25.910 align:start position:0%
of the addresses be like a hard-coded
contract<00:10:24.300><c> which</c><00:10:24.420><c> is</c><00:10:24.540><c> a</c><00:10:24.570><c> thin</c><00:10:24.780><c> client</c><00:10:25.140><c> and</c><00:10:25.260><c> so</c>

00:10:25.910 --> 00:10:25.920 align:start position:0%
contract which is a thin client and so
 

00:10:25.920 --> 00:10:27.590 align:start position:0%
contract which is a thin client and so
this<00:10:26.190><c> is</c><00:10:26.280><c> call</c><00:10:26.430><c> i</c><00:10:26.460><c> call</c><00:10:26.670><c> it</c><00:10:26.760><c> DIY</c><00:10:27.090><c> sharding</c>

00:10:27.590 --> 00:10:27.600 align:start position:0%
this is call i call it DIY sharding
 

00:10:27.600 --> 00:10:29.240 align:start position:0%
this is call i call it DIY sharding
basically<00:10:28.080><c> if</c><00:10:28.350><c> you</c><00:10:28.440><c> have</c><00:10:28.560><c> to</c><00:10:28.710><c> private</c><00:10:29.010><c> chains</c>

00:10:29.240 --> 00:10:29.250 align:start position:0%
basically if you have to private chains
 

00:10:29.250 --> 00:10:30.770 align:start position:0%
basically if you have to private chains
you<00:10:29.460><c> can</c><00:10:29.580><c> make</c><00:10:29.730><c> up</c><00:10:29.850><c> your</c><00:10:29.880><c> own</c><00:10:30.000><c> interpret</c><00:10:30.690><c> and</c>

00:10:30.770 --> 00:10:30.780 align:start position:0%
you can make up your own interpret and
 

00:10:30.780 --> 00:10:32.120 align:start position:0%
you can make up your own interpret and
communication<00:10:31.230><c> scheme</c><00:10:31.410><c> very</c><00:10:31.590><c> easily</c><00:10:31.740><c> if</c><00:10:32.010><c> you</c>

00:10:32.120 --> 00:10:32.130 align:start position:0%
communication scheme very easily if you
 

00:10:32.130 --> 00:10:34.910 align:start position:0%
communication scheme very easily if you
have<00:10:32.870><c> the</c><00:10:33.870><c> thin</c><00:10:34.020><c> clients</c><00:10:34.440><c> for</c><00:10:34.710><c> the</c><00:10:34.770><c> other</c>

00:10:34.910 --> 00:10:34.920 align:start position:0%
have the thin clients for the other
 

00:10:34.920 --> 00:10:37.070 align:start position:0%
have the thin clients for the other
chain<00:10:35.160><c> as</c><00:10:35.340><c> a</c><00:10:35.370><c> like</c><00:10:35.970><c> EDM</c><00:10:36.300><c> extension</c><00:10:36.810><c> or</c><00:10:36.900><c> like</c><00:10:37.050><c> a</c>

00:10:37.070 --> 00:10:37.080 align:start position:0%
chain as a like EDM extension or like a
 

00:10:37.080 --> 00:10:40.880 align:start position:0%
chain as a like EDM extension or like a
hard-coded<00:10:37.440><c> contract</c><00:10:37.950><c> likewise</c><00:10:39.890><c> creating</c>

00:10:40.880 --> 00:10:40.890 align:start position:0%
hard-coded contract likewise creating
 

00:10:40.890 --> 00:10:43.240 align:start position:0%
hard-coded contract likewise creating
like<00:10:41.010><c> a</c><00:10:41.040><c> mint</c><00:10:41.340><c> opcode</c><00:10:41.760><c> would</c><00:10:42.300><c> allow</c><00:10:42.480><c> you</c><00:10:42.540><c> to</c>

00:10:43.240 --> 00:10:43.250 align:start position:0%
like a mint opcode would allow you to
 

00:10:43.250 --> 00:10:45.740 align:start position:0%
like a mint opcode would allow you to
write<00:10:44.250><c> your</c><00:10:44.280><c> private</c><00:10:44.910><c> chains</c><00:10:45.150><c> consensus</c>

00:10:45.740 --> 00:10:45.750 align:start position:0%
write your private chains consensus
 

00:10:45.750 --> 00:10:50.030 align:start position:0%
write your private chains consensus
mechanism<00:10:46.260><c> in</c><00:10:46.440><c> the</c><00:10:46.470><c> evm</c><00:10:46.980><c> and</c><00:10:47.240><c> finally</c><00:10:49.040><c> system</c>

00:10:50.030 --> 00:10:50.040 align:start position:0%
mechanism in the evm and finally system
 

00:10:50.040 --> 00:10:52.190 align:start position:0%
mechanism in the evm and finally system
calls<00:10:50.250><c> allow</c><00:10:50.610><c> you</c><00:10:51.210><c> to</c><00:10:51.420><c> bridge</c><00:10:51.660><c> the</c><00:10:51.840><c> old</c><00:10:52.020><c> world</c>

00:10:52.190 --> 00:10:52.200 align:start position:0%
calls allow you to bridge the old world
 

00:10:52.200 --> 00:10:55.910 align:start position:0%
calls allow you to bridge the old world
web<00:10:52.500><c> with</c><00:10:52.860><c> the</c><00:10:53.780><c> new</c><00:10:54.780><c> world</c><00:10:54.990><c> you</c><00:10:55.560><c> know</c><00:10:55.680><c> thin</c>

00:10:55.910 --> 00:10:55.920 align:start position:0%
web with the new world you know thin
 

00:10:55.920 --> 00:10:57.800 align:start position:0%
web with the new world you know thin
proofs<00:10:56.220><c> for</c><00:10:56.400><c> everything</c><00:10:56.760><c> and</c><00:10:57.450><c> you</c><00:10:57.570><c> can</c><00:10:57.690><c> have</c>

00:10:57.800 --> 00:10:57.810 align:start position:0%
proofs for everything and you can have
 

00:10:57.810 --> 00:10:59.900 align:start position:0%
proofs for everything and you can have
like<00:10:57.960><c> a</c><00:10:57.990><c> dedicated</c><00:10:58.440><c> side</c><00:10:59.190><c> chain</c><00:10:59.520><c> that</c><00:10:59.700><c> say</c>

00:10:59.900 --> 00:10:59.910 align:start position:0%
like a dedicated side chain that say
 

00:10:59.910 --> 00:11:02.300 align:start position:0%
like a dedicated side chain that say
does<00:11:00.240><c> SMS</c><00:11:01.080><c> relay</c><00:11:01.470><c> like</c><00:11:01.680><c> this</c><00:11:01.830><c> is</c><00:11:01.950><c> the</c><00:11:02.040><c> example</c>

00:11:02.300 --> 00:11:02.310 align:start position:0%
does SMS relay like this is the example
 

00:11:02.310 --> 00:11:04.460 align:start position:0%
does SMS relay like this is the example
we<00:11:02.550><c> have</c><00:11:02.700><c> right</c><00:11:02.910><c> so</c><00:11:03.090><c> it</c><00:11:03.450><c> does</c><00:11:03.660><c> this</c><00:11:03.810><c> it</c><00:11:04.290><c> does</c>

00:11:04.460 --> 00:11:04.470 align:start position:0%
we have right so it does this it does
 

00:11:04.470 --> 00:11:06.830 align:start position:0%
we have right so it does this it does
SMS<00:11:04.860><c> n</c><00:11:05.220><c> but</c><00:11:05.400><c> it</c><00:11:05.490><c> might</c><00:11:05.640><c> inside</c><00:11:06.480><c> this</c><00:11:06.630><c> function</c>

00:11:06.830 --> 00:11:06.840 align:start position:0%
SMS n but it might inside this function
 

00:11:06.840 --> 00:11:09.200 align:start position:0%
SMS n but it might inside this function
and<00:11:07.740><c> it</c><00:11:07.860><c> emits</c><00:11:08.130><c> an</c><00:11:08.310><c> event</c><00:11:08.580><c> and</c><00:11:08.820><c> this</c><00:11:08.880><c> is</c><00:11:09.060><c> like</c><00:11:09.180><c> a</c>

00:11:09.200 --> 00:11:09.210 align:start position:0%
and it emits an event and this is like a
 

00:11:09.210 --> 00:11:10.820 align:start position:0%
and it emits an event and this is like a
proof<00:11:09.570><c> that</c><00:11:09.810><c> this</c><00:11:09.900><c> company</c><00:11:10.170><c> claimed</c><00:11:10.650><c> that</c>

00:11:10.820 --> 00:11:10.830 align:start position:0%
proof that this company claimed that
 

00:11:10.830 --> 00:11:13.400 align:start position:0%
proof that this company claimed that
they<00:11:10.980><c> sent</c><00:11:11.430><c> an</c><00:11:11.610><c> SMS</c><00:11:11.880><c> at</c><00:11:12.240><c> this</c><00:11:12.420><c> time</c><00:11:12.690><c> in</c>

00:11:13.400 --> 00:11:13.410 align:start position:0%
they sent an SMS at this time in
 

00:11:13.410 --> 00:11:15.020 align:start position:0%
they sent an SMS at this time in
response<00:11:13.830><c> to</c><00:11:13.980><c> some</c><00:11:14.130><c> action</c><00:11:14.430><c> that</c><00:11:14.580><c> use</c><00:11:14.700><c> it</c><00:11:14.850><c> and</c>

00:11:15.020 --> 00:11:15.030 align:start position:0%
response to some action that use it and
 

00:11:15.030 --> 00:11:17.480 align:start position:0%
response to some action that use it and
so<00:11:15.150><c> this</c><00:11:15.330><c> is</c><00:11:15.590><c> the</c><00:11:16.590><c> general</c><00:11:16.620><c> direction</c><00:11:16.980><c> we're</c>

00:11:17.480 --> 00:11:17.490 align:start position:0%
so this is the general direction we're
 

00:11:17.490 --> 00:11:19.220 align:start position:0%
so this is the general direction we're
moving<00:11:17.520><c> towards</c><00:11:18.090><c> and</c><00:11:18.870><c> so</c><00:11:18.960><c> that's</c><00:11:19.080><c> actually</c>

00:11:19.220 --> 00:11:19.230 align:start position:0%
moving towards and so that's actually
 

00:11:19.230 --> 00:11:19.680 align:start position:0%
moving towards and so that's actually
only

00:11:19.680 --> 00:11:19.690 align:start position:0%
only
 

00:11:19.690 --> 00:11:20.640 align:start position:0%
only
to<00:11:19.780><c> talk</c><00:11:19.960><c> about</c><00:11:20.050><c> thank</c><00:11:20.320><c> you</c><00:11:20.410><c> for</c><00:11:20.560><c> listening</c>

00:11:20.640 --> 00:11:20.650 align:start position:0%
to talk about thank you for listening
 

00:11:20.650 --> 00:11:23.820 align:start position:0%
to talk about thank you for listening
let's<00:11:21.460><c> go</c><00:11:21.550><c> to</c><00:11:21.610><c> lunch</c>

