WEBVTT
Kind: captions
Language: en

00:00:14.519 --> 00:00:20.579 align:start position:0%
 
my<00:00:15.519><c> name</c><00:00:15.730><c> is</c><00:00:16.000><c> reine</c><00:00:16.359><c> Revere</c><00:00:16.840><c> and</c><00:00:18.179><c> I'm</c><00:00:19.179><c> a</c><00:00:19.960><c> smart</c>

00:00:20.579 --> 00:00:20.589 align:start position:0%
my name is reine Revere and I'm a smart
 

00:00:20.589 --> 00:00:23.880 align:start position:0%
my name is reine Revere and I'm a smart
contract<00:00:20.769><c> developer</c><00:00:21.730><c> I</c><00:00:22.470><c> am</c><00:00:23.470><c> the</c><00:00:23.710><c> lead</c>

00:00:23.880 --> 00:00:23.890 align:start position:0%
contract developer I am the lead
 

00:00:23.890 --> 00:00:27.329 align:start position:0%
contract developer I am the lead
architect<00:00:24.220><c> at</c><00:00:24.730><c> shape-shift</c><00:00:25.239><c> prism</c><00:00:25.749><c> and</c><00:00:26.339><c> I'm</c>

00:00:27.329 --> 00:00:27.339 align:start position:0%
architect at shape-shift prism and I'm
 

00:00:27.339 --> 00:00:30.380 align:start position:0%
architect at shape-shift prism and I'm
also<00:00:27.489><c> the</c><00:00:27.729><c> co-founder</c><00:00:27.909><c> of</c><00:00:28.329><c> Maiden</c>

00:00:30.380 --> 00:00:30.390 align:start position:0%
also the co-founder of Maiden
 

00:00:30.390 --> 00:00:32.880 align:start position:0%
also the co-founder of Maiden
I've<00:00:31.390><c> been</c><00:00:31.779><c> doing</c><00:00:32.079><c> smart</c><00:00:32.380><c> contract</c>

00:00:32.880 --> 00:00:32.890 align:start position:0%
I've been doing smart contract
 

00:00:32.890 --> 00:00:36.390 align:start position:0%
I've been doing smart contract
development<00:00:33.550><c> for</c><00:00:33.880><c> a</c><00:00:33.910><c> couple</c><00:00:34.270><c> years</c><00:00:34.300><c> and</c><00:00:35.400><c> our</c>

00:00:36.390 --> 00:00:36.400 align:start position:0%
development for a couple years and our
 

00:00:36.400 --> 00:00:38.340 align:start position:0%
development for a couple years and our
team<00:00:36.640><c> has</c><00:00:36.850><c> learned</c><00:00:37.030><c> so</c><00:00:37.600><c> much</c><00:00:37.810><c> along</c><00:00:38.170><c> the</c><00:00:38.200><c> way</c>

00:00:38.340 --> 00:00:38.350 align:start position:0%
team has learned so much along the way
 

00:00:38.350 --> 00:00:41.670 align:start position:0%
team has learned so much along the way
and<00:00:39.270><c> it's</c><00:00:40.270><c> really</c><00:00:40.450><c> an</c><00:00:40.600><c> honor</c><00:00:40.690><c> to</c><00:00:40.930><c> be</c><00:00:40.960><c> here</c><00:00:41.110><c> and</c>

00:00:41.670 --> 00:00:41.680 align:start position:0%
and it's really an honor to be here and
 

00:00:41.680 --> 00:00:43.260 align:start position:0%
and it's really an honor to be here and
to<00:00:41.980><c> be</c><00:00:42.070><c> able</c><00:00:42.160><c> to</c><00:00:42.310><c> share</c><00:00:42.520><c> some</c><00:00:42.550><c> of</c><00:00:42.970><c> those</c>

00:00:43.260 --> 00:00:43.270 align:start position:0%
to be able to share some of those
 

00:00:43.270 --> 00:00:46.290 align:start position:0%
to be able to share some of those
lessons<00:00:43.660><c> with</c><00:00:44.200><c> you</c><00:00:44.550><c> and</c><00:00:45.550><c> it's</c><00:00:45.670><c> especially</c><00:00:46.210><c> an</c>

00:00:46.290 --> 00:00:46.300 align:start position:0%
lessons with you and it's especially an
 

00:00:46.300 --> 00:00:49.050 align:start position:0%
lessons with you and it's especially an
honor<00:00:46.510><c> to</c><00:00:47.260><c> be</c><00:00:47.410><c> one</c><00:00:47.620><c> of</c><00:00:47.770><c> the</c><00:00:47.980><c> few</c><00:00:48.340><c> women</c><00:00:48.580><c> up</c><00:00:48.880><c> on</c>

00:00:49.050 --> 00:00:49.060 align:start position:0%
honor to be one of the few women up on
 

00:00:49.060 --> 00:00:52.770 align:start position:0%
honor to be one of the few women up on
stage<00:00:49.330><c> I'm</c><00:00:49.870><c> a</c><00:00:50.080><c> trans</c><00:00:50.380><c> woman</c><00:00:50.530><c> and</c><00:00:51.070><c> I</c><00:00:52.000><c> love</c><00:00:52.570><c> this</c>

00:00:52.770 --> 00:00:52.780 align:start position:0%
stage I'm a trans woman and I love this
 

00:00:52.780 --> 00:00:56.250 align:start position:0%
stage I'm a trans woman and I love this
work<00:00:53.110><c> and</c><00:00:53.440><c> and</c><00:00:53.710><c> the</c><00:00:54.430><c> community</c><00:00:54.880><c> is</c><00:00:54.940><c> so</c><00:00:55.660><c> amazing</c>

00:00:56.250 --> 00:00:56.260 align:start position:0%
work and and the community is so amazing
 

00:00:56.260 --> 00:00:58.710 align:start position:0%
work and and the community is so amazing
and<00:00:56.410><c> so</c><00:00:56.500><c> it's</c><00:00:57.280><c> such</c><00:00:57.550><c> an</c><00:00:57.700><c> honor</c><00:00:57.880><c> to</c><00:00:58.030><c> be</c><00:00:58.300><c> able</c><00:00:58.390><c> to</c>

00:00:58.710 --> 00:00:58.720 align:start position:0%
and so it's such an honor to be able to
 

00:00:58.720 --> 00:01:01.080 align:start position:0%
and so it's such an honor to be able to
share<00:00:59.590><c> some</c><00:00:59.890><c> of</c><00:00:59.920><c> this</c><00:01:00.100><c> expertise</c><00:01:00.670><c> and</c><00:01:00.910><c> really</c>

00:01:01.080 --> 00:01:01.090 align:start position:0%
share some of this expertise and really
 

00:01:01.090 --> 00:01:03.330 align:start position:0%
share some of this expertise and really
dig<00:01:01.270><c> into</c><00:01:01.450><c> the</c><00:01:01.630><c> details</c><00:01:02.020><c> so</c><00:01:02.920><c> when</c><00:01:03.160><c> I</c><00:01:03.190><c> was</c>

00:01:03.330 --> 00:01:03.340 align:start position:0%
dig into the details so when I was
 

00:01:03.340 --> 00:01:05.310 align:start position:0%
dig into the details so when I was
thinking<00:01:03.520><c> about</c><00:01:03.790><c> what</c><00:01:04.239><c> I</c><00:01:04.449><c> could</c><00:01:04.869><c> possibly</c>

00:01:05.310 --> 00:01:05.320 align:start position:0%
thinking about what I could possibly
 

00:01:05.320 --> 00:01:09.120 align:start position:0%
thinking about what I could possibly
share<00:01:05.649><c> I</c><00:01:07.140><c> wanted</c><00:01:08.140><c> to</c><00:01:08.259><c> give</c><00:01:08.560><c> something</c><00:01:08.979><c> that</c>

00:01:09.120 --> 00:01:09.130 align:start position:0%
share I wanted to give something that
 

00:01:09.130 --> 00:01:11.520 align:start position:0%
share I wanted to give something that
was<00:01:09.280><c> really</c><00:01:09.460><c> practical</c><00:01:10.090><c> and</c><00:01:10.329><c> so</c><00:01:10.960><c> this</c><00:01:11.289><c> talk</c><00:01:11.499><c> is</c>

00:01:11.520 --> 00:01:11.530 align:start position:0%
was really practical and so this talk is
 

00:01:11.530 --> 00:01:13.590 align:start position:0%
was really practical and so this talk is
gonna<00:01:11.799><c> be</c><00:01:12.009><c> pretty</c><00:01:12.189><c> straightforward</c><00:01:12.600><c> we've</c>

00:01:13.590 --> 00:01:13.600 align:start position:0%
gonna be pretty straightforward we've
 

00:01:13.600 --> 00:01:16.349 align:start position:0%
gonna be pretty straightforward we've
got<00:01:13.890><c> lots</c><00:01:14.890><c> of</c><00:01:15.100><c> things</c><00:01:15.369><c> that</c><00:01:15.579><c> we</c><00:01:15.670><c> learn</c><00:01:15.880><c> doing</c>

00:01:16.349 --> 00:01:16.359 align:start position:0%
got lots of things that we learn doing
 

00:01:16.359 --> 00:01:18.510 align:start position:0%
got lots of things that we learn doing
smart<00:01:16.810><c> contract</c><00:01:17.319><c> development</c><00:01:17.920><c> in</c><00:01:18.130><c> the</c><00:01:18.369><c> real</c>

00:01:18.510 --> 00:01:18.520 align:start position:0%
smart contract development in the real
 

00:01:18.520 --> 00:01:21.770 align:start position:0%
smart contract development in the real
world<00:01:18.789><c> so</c><00:01:19.179><c> that</c><00:01:19.389><c> means</c><00:01:20.069><c> production</c><00:01:21.069><c> level</c>

00:01:21.770 --> 00:01:21.780 align:start position:0%
world so that means production level
 

00:01:21.780 --> 00:01:24.569 align:start position:0%
world so that means production level
handling<00:01:22.780><c> lots</c><00:01:23.020><c> of</c><00:01:23.319><c> ether</c><00:01:23.920><c> on</c><00:01:23.950><c> the</c><00:01:24.399><c> live</c>

00:01:24.569 --> 00:01:24.579 align:start position:0%
handling lots of ether on the live
 

00:01:24.579 --> 00:01:28.109 align:start position:0%
handling lots of ether on the live
Network<00:01:25.090><c> which</c><00:01:25.869><c> as</c><00:01:26.049><c> you</c><00:01:26.170><c> can</c><00:01:26.200><c> imagine</c><00:01:26.549><c> has</c><00:01:27.549><c> a</c>

00:01:28.109 --> 00:01:28.119 align:start position:0%
Network which as you can imagine has a
 

00:01:28.119 --> 00:01:30.300 align:start position:0%
Network which as you can imagine has a
lot<00:01:28.899><c> of</c><00:01:29.020><c> responsibility</c><00:01:29.740><c> that</c><00:01:29.770><c> comes</c><00:01:29.920><c> with</c>

00:01:30.300 --> 00:01:30.310 align:start position:0%
lot of responsibility that comes with
 

00:01:30.310 --> 00:01:30.830 align:start position:0%
lot of responsibility that comes with
that

00:01:30.830 --> 00:01:30.840 align:start position:0%
that
 

00:01:30.840 --> 00:01:34.440 align:start position:0%
that
so<00:01:32.069><c> what</c><00:01:33.069><c> you</c><00:01:33.159><c> can</c><00:01:33.310><c> expect</c><00:01:33.639><c> from</c><00:01:33.759><c> this</c><00:01:33.969><c> talk</c><00:01:34.209><c> is</c>

00:01:34.440 --> 00:01:34.450 align:start position:0%
so what you can expect from this talk is
 

00:01:34.450 --> 00:01:37.169 align:start position:0%
so what you can expect from this talk is
that<00:01:34.749><c> I'm</c><00:01:35.530><c> going</c><00:01:36.039><c> to</c><00:01:36.159><c> go</c><00:01:36.310><c> from</c><00:01:36.579><c> low</c><00:01:36.789><c> level</c><00:01:37.149><c> to</c>

00:01:37.169 --> 00:01:37.179 align:start position:0%
that I'm going to go from low level to
 

00:01:37.179 --> 00:01:39.719 align:start position:0%
that I'm going to go from low level to
high<00:01:37.509><c> level</c><00:01:37.929><c> so</c><00:01:38.799><c> all</c><00:01:38.829><c> of</c><00:01:39.100><c> these</c><00:01:39.219><c> are</c><00:01:39.280><c> pretty</c>

00:01:39.719 --> 00:01:39.729 align:start position:0%
high level so all of these are pretty
 

00:01:39.729 --> 00:01:41.730 align:start position:0%
high level so all of these are pretty
practical<00:01:39.999><c> tips</c><00:01:40.600><c> for</c><00:01:41.289><c> all</c><00:01:41.380><c> the</c><00:01:41.499><c> smart</c>

00:01:41.730 --> 00:01:41.740 align:start position:0%
practical tips for all the smart
 

00:01:41.740 --> 00:01:44.969 align:start position:0%
practical tips for all the smart
contract<00:01:41.889><c> developers</c><00:01:42.579><c> in</c><00:01:42.759><c> here</c><00:01:42.999><c> and</c><00:01:43.979><c> I'm</c>

00:01:44.969 --> 00:01:44.979 align:start position:0%
contract developers in here and I'm
 

00:01:44.979 --> 00:01:46.499 align:start position:0%
contract developers in here and I'm
gonna<00:01:45.100><c> start</c><00:01:45.459><c> with</c><00:01:45.700><c> the</c><00:01:45.819><c> code</c><00:01:46.090><c> and</c><00:01:46.389><c> we're</c>

00:01:46.499 --> 00:01:46.509 align:start position:0%
gonna start with the code and we're
 

00:01:46.509 --> 00:01:48.300 align:start position:0%
gonna start with the code and we're
gonna<00:01:46.600><c> go</c><00:01:46.840><c> over</c><00:01:46.959><c> some</c><00:01:47.229><c> details</c><00:01:47.380><c> and</c><00:01:47.920><c> patterns</c>

00:01:48.300 --> 00:01:48.310 align:start position:0%
gonna go over some details and patterns
 

00:01:48.310 --> 00:01:49.919 align:start position:0%
gonna go over some details and patterns
that<00:01:48.459><c> I've</c><00:01:48.670><c> learned</c><00:01:49.029><c> and</c><00:01:49.329><c> our</c><00:01:49.420><c> team</c><00:01:49.659><c> has</c>

00:01:49.919 --> 00:01:49.929 align:start position:0%
that I've learned and our team has
 

00:01:49.929 --> 00:01:52.289 align:start position:0%
that I've learned and our team has
learned<00:01:50.200><c> from</c><00:01:50.499><c> and</c><00:01:50.799><c> then</c><00:01:51.249><c> we're</c><00:01:51.639><c> gonna</c><00:01:51.729><c> end</c><00:01:51.999><c> on</c>

00:01:52.289 --> 00:01:52.299 align:start position:0%
learned from and then we're gonna end on
 

00:01:52.299 --> 00:01:55.590 align:start position:0%
learned from and then we're gonna end on
some<00:01:53.020><c> higher</c><00:01:53.409><c> level</c><00:01:53.439><c> patterns</c><00:01:54.600><c> especially</c>

00:01:55.590 --> 00:01:55.600 align:start position:0%
some higher level patterns especially
 

00:01:55.600 --> 00:01:58.769 align:start position:0%
some higher level patterns especially
when<00:01:56.049><c> it</c><00:01:56.139><c> comes</c><00:01:56.380><c> to</c><00:01:56.740><c> being</c><00:01:57.429><c> a</c><00:01:57.579><c> lead</c><00:01:58.270><c> a</c><00:01:58.479><c> leader</c>

00:01:58.769 --> 00:01:58.779 align:start position:0%
when it comes to being a lead a leader
 

00:01:58.779 --> 00:02:01.769 align:start position:0%
when it comes to being a lead a leader
on<00:01:59.049><c> your</c><00:01:59.289><c> team</c><00:01:59.499><c> how</c><00:02:00.219><c> do</c><00:02:00.279><c> you</c><00:02:00.549><c> lead</c><00:02:00.849><c> as</c><00:02:01.090><c> a</c><00:02:01.119><c> smart</c>

00:02:01.769 --> 00:02:01.779 align:start position:0%
on your team how do you lead as a smart
 

00:02:01.779 --> 00:02:05.519 align:start position:0%
on your team how do you lead as a smart
contract<00:02:01.920><c> development</c><00:02:02.920><c> engineer</c><00:02:04.170><c> so</c><00:02:05.170><c> first</c>

00:02:05.519 --> 00:02:05.529 align:start position:0%
contract development engineer so first
 

00:02:05.529 --> 00:02:09.330 align:start position:0%
contract development engineer so first
the<00:02:05.679><c> low</c><00:02:05.829><c> level</c><00:02:06.099><c> patterns</c><00:02:07.860><c> central</c><00:02:08.860><c> logging</c>

00:02:09.330 --> 00:02:09.340 align:start position:0%
the low level patterns central logging
 

00:02:09.340 --> 00:02:12.780 align:start position:0%
the low level patterns central logging
is<00:02:09.520><c> something</c><00:02:10.090><c> that</c><00:02:10.330><c> took</c><00:02:11.230><c> me</c><00:02:11.290><c> a</c><00:02:11.800><c> little</c><00:02:12.400><c> while</c>

00:02:12.780 --> 00:02:12.790 align:start position:0%
is something that took me a little while
 

00:02:12.790 --> 00:02:15.390 align:start position:0%
is something that took me a little while
to<00:02:13.480><c> find</c><00:02:13.900><c> my</c><00:02:14.110><c> way</c><00:02:14.320><c> to</c><00:02:14.380><c> and</c><00:02:14.860><c> when</c>

00:02:15.390 --> 00:02:15.400 align:start position:0%
to find my way to and when
 

00:02:15.400 --> 00:02:17.759 align:start position:0%
to find my way to and when
you<00:02:15.489><c> design</c><00:02:15.939><c> your</c><00:02:16.090><c> smart</c><00:02:16.510><c> contracts</c><00:02:17.049><c> you</c><00:02:17.620><c> want</c>

00:02:17.759 --> 00:02:17.769 align:start position:0%
you design your smart contracts you want
 

00:02:17.769 --> 00:02:19.380 align:start position:0%
you design your smart contracts you want
to<00:02:17.860><c> modular</c><00:02:18.310><c> eyes</c><00:02:18.459><c> things</c><00:02:18.819><c> right</c><00:02:19.120><c> we</c><00:02:19.239><c> all</c><00:02:19.360><c> know</c>

00:02:19.380 --> 00:02:19.390 align:start position:0%
to modular eyes things right we all know
 

00:02:19.390 --> 00:02:22.199 align:start position:0%
to modular eyes things right we all know
that<00:02:19.689><c> as</c><00:02:19.810><c> software</c><00:02:20.140><c> developers</c><00:02:20.970><c> but</c><00:02:21.970><c> there's</c>

00:02:22.199 --> 00:02:22.209 align:start position:0%
that as software developers but there's
 

00:02:22.209 --> 00:02:24.300 align:start position:0%
that as software developers but there's
some<00:02:22.420><c> quirks</c><00:02:22.780><c> in</c><00:02:22.989><c> the</c><00:02:23.049><c> EVM</c><00:02:23.590><c> at</c><00:02:23.860><c> least</c><00:02:24.040><c> at</c><00:02:24.189><c> this</c>

00:02:24.300 --> 00:02:24.310 align:start position:0%
some quirks in the EVM at least at this
 

00:02:24.310 --> 00:02:27.270 align:start position:0%
some quirks in the EVM at least at this
time<00:02:24.370><c> that</c><00:02:24.939><c> you</c><00:02:25.659><c> may</c><00:02:26.530><c> not</c><00:02:26.709><c> think</c><00:02:26.890><c> about</c><00:02:27.040><c> ahead</c>

00:02:27.270 --> 00:02:27.280 align:start position:0%
time that you may not think about ahead
 

00:02:27.280 --> 00:02:30.030 align:start position:0%
time that you may not think about ahead
of<00:02:27.430><c> time</c><00:02:27.549><c> but</c><00:02:28.000><c> actually</c><00:02:28.150><c> lead</c><00:02:28.659><c> to</c><00:02:28.689><c> a</c><00:02:29.290><c> system</c>

00:02:30.030 --> 00:02:30.040 align:start position:0%
of time but actually lead to a system
 

00:02:30.040 --> 00:02:33.569 align:start position:0%
of time but actually lead to a system
that<00:02:30.069><c> is</c><00:02:30.519><c> more</c><00:02:31.360><c> maintainable</c><00:02:32.230><c> and</c><00:02:32.560><c> is</c><00:02:32.920><c> able</c><00:02:33.430><c> to</c>

00:02:33.569 --> 00:02:33.579 align:start position:0%
that is more maintainable and is able to
 

00:02:33.579 --> 00:02:36.300 align:start position:0%
that is more maintainable and is able to
respond<00:02:34.120><c> and</c><00:02:34.569><c> communicate</c><00:02:35.560><c> with</c><00:02:35.859><c> your</c><00:02:36.010><c> server</c>

00:02:36.300 --> 00:02:36.310 align:start position:0%
respond and communicate with your server
 

00:02:36.310 --> 00:02:37.830 align:start position:0%
respond and communicate with your server
or<00:02:36.459><c> whatever</c><00:02:36.849><c> other</c><00:02:37.030><c> architecture</c><00:02:37.689><c> you</c><00:02:37.810><c> have</c>

00:02:37.830 --> 00:02:37.840 align:start position:0%
or whatever other architecture you have
 

00:02:37.840 --> 00:02:41.250 align:start position:0%
or whatever other architecture you have
and<00:02:38.349><c> one</c><00:02:39.189><c> of</c><00:02:39.340><c> those</c><00:02:39.579><c> is</c><00:02:39.879><c> what</c><00:02:40.629><c> I</c><00:02:40.659><c> call</c><00:02:40.870><c> central</c>

00:02:41.250 --> 00:02:41.260 align:start position:0%
and one of those is what I call central
 

00:02:41.260 --> 00:02:45.960 align:start position:0%
and one of those is what I call central
logging<00:02:41.799><c> in</c><00:02:42.700><c> a</c><00:02:42.819><c> multi</c><00:02:43.150><c> contract</c><00:02:43.720><c> system</c><00:02:44.970><c> logs</c>

00:02:45.960 --> 00:02:45.970 align:start position:0%
logging in a multi contract system logs
 

00:02:45.970 --> 00:02:49.860 align:start position:0%
logging in a multi contract system logs
or<00:02:46.450><c> events</c><00:02:47.319><c> that</c><00:02:47.530><c> are</c><00:02:47.859><c> fired</c><00:02:48.129><c> are</c><00:02:48.730><c> really</c><00:02:49.720><c> an</c>

00:02:49.860 --> 00:02:49.870 align:start position:0%
or events that are fired are really an
 

00:02:49.870 --> 00:02:51.629 align:start position:0%
or events that are fired are really an
important<00:02:50.319><c> way</c><00:02:50.500><c> to</c><00:02:50.560><c> track</c><00:02:50.950><c> what's</c><00:02:51.220><c> happening</c>

00:02:51.629 --> 00:02:51.639 align:start position:0%
important way to track what's happening
 

00:02:51.639 --> 00:02:54.449 align:start position:0%
important way to track what's happening
on<00:02:51.790><c> chain</c><00:02:52.150><c> all</c><00:02:53.019><c> of</c><00:02:53.170><c> your</c><00:02:53.290><c> off</c><00:02:53.409><c> chain</c><00:02:53.739><c> activity</c>

00:02:54.449 --> 00:02:54.459 align:start position:0%
on chain all of your off chain activity
 

00:02:54.459 --> 00:02:56.399 align:start position:0%
on chain all of your off chain activity
is<00:02:54.700><c> going</c><00:02:55.030><c> to</c><00:02:55.180><c> be</c><00:02:55.299><c> based</c><00:02:55.599><c> on</c><00:02:55.810><c> different</c><00:02:55.959><c> events</c>

00:02:56.399 --> 00:02:56.409 align:start position:0%
is going to be based on different events
 

00:02:56.409 --> 00:03:01.589 align:start position:0%
is going to be based on different events
that<00:02:56.530><c> are</c><00:02:56.620><c> firing</c><00:02:56.889><c> and</c><00:02:58.620><c> when</c><00:02:59.620><c> you</c><00:02:59.909><c> are</c><00:03:00.909><c> firing</c>

00:03:01.589 --> 00:03:01.599 align:start position:0%
that are firing and when you are firing
 

00:03:01.599 --> 00:03:03.270 align:start position:0%
that are firing and when you are firing
events<00:03:01.930><c> from</c><00:03:02.200><c> different</c><00:03:02.500><c> contracts</c><00:03:02.980><c> you</c>

00:03:03.270 --> 00:03:03.280 align:start position:0%
events from different contracts you
 

00:03:03.280 --> 00:03:06.270 align:start position:0%
events from different contracts you
generally<00:03:03.909><c> have</c><00:03:04.120><c> to</c><00:03:04.530><c> monitor</c><00:03:05.530><c> those</c><00:03:05.889><c> events</c>

00:03:06.270 --> 00:03:06.280 align:start position:0%
generally have to monitor those events
 

00:03:06.280 --> 00:03:08.190 align:start position:0%
generally have to monitor those events
separately<00:03:06.879><c> so</c><00:03:07.120><c> each</c><00:03:07.299><c> contract</c><00:03:07.900><c> you're</c><00:03:08.079><c> going</c>

00:03:08.190 --> 00:03:08.200 align:start position:0%
separately so each contract you're going
 

00:03:08.200 --> 00:03:10.259 align:start position:0%
separately so each contract you're going
to<00:03:08.260><c> be</c><00:03:08.349><c> watching</c><00:03:08.829><c> those</c><00:03:08.950><c> events</c><00:03:09.310><c> and</c><00:03:09.549><c> so</c><00:03:10.000><c> if</c>

00:03:10.259 --> 00:03:10.269 align:start position:0%
to be watching those events and so if
 

00:03:10.269 --> 00:03:13.470 align:start position:0%
to be watching those events and so if
you<00:03:10.629><c> have</c><00:03:10.840><c> a</c><00:03:10.870><c> multi</c><00:03:11.290><c> contract</c><00:03:11.799><c> system</c><00:03:12.480><c> there's</c>

00:03:13.470 --> 00:03:13.480 align:start position:0%
you have a multi contract system there's
 

00:03:13.480 --> 00:03:15.780 align:start position:0%
you have a multi contract system there's
actually<00:03:13.840><c> a</c><00:03:13.870><c> lot</c><00:03:14.049><c> of</c><00:03:14.170><c> benefits</c><00:03:14.620><c> to</c><00:03:15.220><c> using</c><00:03:15.519><c> a</c>

00:03:15.780 --> 00:03:15.790 align:start position:0%
actually a lot of benefits to using a
 

00:03:15.790 --> 00:03:19.740 align:start position:0%
actually a lot of benefits to using a
single<00:03:16.180><c> logger</c><00:03:16.450><c> contract</c><00:03:17.200><c> and</c><00:03:17.489><c> so</c><00:03:18.489><c> when</c><00:03:19.269><c> you</c>

00:03:19.740 --> 00:03:19.750 align:start position:0%
single logger contract and so when you
 

00:03:19.750 --> 00:03:21.420 align:start position:0%
single logger contract and so when you
have<00:03:19.870><c> a</c><00:03:19.900><c> single</c><00:03:20.230><c> logger</c><00:03:20.470><c> contract</c><00:03:21.040><c> all</c><00:03:21.280><c> of</c>

00:03:21.420 --> 00:03:21.430 align:start position:0%
have a single logger contract all of
 

00:03:21.430 --> 00:03:23.009 align:start position:0%
have a single logger contract all of
those<00:03:21.579><c> events</c><00:03:21.849><c> will</c><00:03:22.209><c> fire</c><00:03:22.480><c> from</c><00:03:22.750><c> the</c><00:03:22.840><c> same</c>

00:03:23.009 --> 00:03:23.019 align:start position:0%
those events will fire from the same
 

00:03:23.019 --> 00:03:25.110 align:start position:0%
those events will fire from the same
contract<00:03:23.530><c> and</c><00:03:23.709><c> are</c><00:03:23.799><c> easier</c><00:03:24.099><c> to</c><00:03:24.549><c> monitor</c><00:03:24.730><c> so</c>

00:03:25.110 --> 00:03:25.120 align:start position:0%
contract and are easier to monitor so
 

00:03:25.120 --> 00:03:27.300 align:start position:0%
contract and are easier to monitor so
let<00:03:25.329><c> me</c><00:03:25.419><c> just</c><00:03:25.599><c> show</c><00:03:25.720><c> you</c><00:03:25.750><c> how</c><00:03:26.019><c> that</c><00:03:26.230><c> looks</c><00:03:26.560><c> so</c>

00:03:27.300 --> 00:03:27.310 align:start position:0%
let me just show you how that looks so
 

00:03:27.310 --> 00:03:31.379 align:start position:0%
let me just show you how that looks so
here's<00:03:27.879><c> an</c><00:03:28.629><c> example</c><00:03:29.470><c> of</c><00:03:30.040><c> the</c><00:03:30.250><c> logger</c><00:03:30.489><c> contract</c>

00:03:31.379 --> 00:03:31.389 align:start position:0%
here's an example of the logger contract
 

00:03:31.389 --> 00:03:36.780 align:start position:0%
here's an example of the logger contract
and<00:03:32.250><c> what</c><00:03:33.250><c> we</c><00:03:33.340><c> have</c><00:03:33.549><c> here</c><00:03:34.180><c> is</c><00:03:34.739><c> a</c><00:03:35.739><c> white</c><00:03:36.489><c> list</c>

00:03:36.780 --> 00:03:36.790 align:start position:0%
and what we have here is a white list
 

00:03:36.790 --> 00:03:42.390 align:start position:0%
and what we have here is a white list
that<00:03:37.209><c> map's</c><00:03:38.069><c> addresses</c><00:03:39.069><c> of</c><00:03:39.720><c> contracts</c><00:03:40.949><c> to</c><00:03:41.949><c> a</c>

00:03:42.390 --> 00:03:42.400 align:start position:0%
that map's addresses of contracts to a
 

00:03:42.400 --> 00:03:44.159 align:start position:0%
that map's addresses of contracts to a
simple<00:03:42.940><c> boolean</c><00:03:43.120><c> that</c><00:03:43.359><c> says</c><00:03:43.720><c> whether</c><00:03:43.900><c> it's</c>

00:03:44.159 --> 00:03:44.169 align:start position:0%
simple boolean that says whether it's
 

00:03:44.169 --> 00:03:46.289 align:start position:0%
simple boolean that says whether it's
been<00:03:44.349><c> approved</c><00:03:44.709><c> or</c><00:03:44.889><c> not</c><00:03:44.949><c> so</c><00:03:45.790><c> this</c><00:03:45.970><c> is</c><00:03:46.090><c> where</c><00:03:46.209><c> it</c>

00:03:46.289 --> 00:03:46.299 align:start position:0%
been approved or not so this is where it
 

00:03:46.299 --> 00:03:47.879 align:start position:0%
been approved or not so this is where it
handles<00:03:46.599><c> multiple</c><00:03:46.810><c> contracts</c><00:03:47.650><c> so</c><00:03:47.739><c> this</c>

00:03:47.879 --> 00:03:47.889 align:start position:0%
handles multiple contracts so this
 

00:03:47.889 --> 00:03:50.520 align:start position:0%
handles multiple contracts so this
addresses<00:03:48.400><c> our</c><00:03:48.549><c> of</c><00:03:48.669><c> contracts</c><00:03:49.239><c> and</c><00:03:49.419><c> you</c><00:03:50.379><c> have</c>

00:03:50.520 --> 00:03:50.530 align:start position:0%
addresses our of contracts and you have
 

00:03:50.530 --> 00:03:53.119 align:start position:0%
addresses our of contracts and you have
a<00:03:50.560><c> modifier</c><00:03:51.129><c> that's</c><00:03:51.549><c> a</c><00:03:51.819><c> simple</c><00:03:52.389><c> requirement</c>

00:03:53.119 --> 00:03:53.129 align:start position:0%
a modifier that's a simple requirement
 

00:03:53.129 --> 00:03:56.069 align:start position:0%
a modifier that's a simple requirement
that<00:03:54.129><c> the</c><00:03:54.400><c> sender</c><00:03:54.849><c> is</c><00:03:55.090><c> indeed</c><00:03:55.840><c> in</c><00:03:56.049><c> that</c>

00:03:56.069 --> 00:03:56.079 align:start position:0%
that the sender is indeed in that
 

00:03:56.079 --> 00:03:59.550 align:start position:0%
that the sender is indeed in that
whitelist<00:03:56.859><c> and</c><00:03:57.419><c> so</c><00:03:58.419><c> the</c><00:03:59.049><c> modifier</c>

00:03:59.550 --> 00:03:59.560 align:start position:0%
whitelist and so the modifier
 

00:03:59.560 --> 00:04:02.939 align:start position:0%
whitelist and so the modifier
whitelisted<00:04:00.489><c> is</c><00:04:00.900><c> provided</c><00:04:01.900><c> here</c><00:04:02.199><c> and</c><00:04:02.319><c> then</c>

00:04:02.939 --> 00:04:02.949 align:start position:0%
whitelisted is provided here and then
 

00:04:02.949 --> 00:04:06.030 align:start position:0%
whitelisted is provided here and then
you<00:04:03.459><c> can</c><00:04:03.639><c> have</c><00:04:03.849><c> any</c><00:04:04.150><c> event</c><00:04:04.720><c> here</c><00:04:05.379><c> the</c><00:04:05.530><c> event</c><00:04:05.859><c> is</c>

00:04:06.030 --> 00:04:06.040 align:start position:0%
you can have any event here the event is
 

00:04:06.040 --> 00:04:08.729 align:start position:0%
you can have any event here the event is
called<00:04:06.190><c> registered</c><00:04:06.879><c> so</c><00:04:07.510><c> that's</c><00:04:07.690><c> the</c><00:04:07.900><c> red</c><00:04:08.139><c> text</c>

00:04:08.729 --> 00:04:08.739 align:start position:0%
called registered so that's the red text
 

00:04:08.739 --> 00:04:11.969 align:start position:0%
called registered so that's the red text
with<00:04:09.549><c> the</c><00:04:09.760><c> two</c><00:04:10.419><c> superscript</c><00:04:11.139><c> and</c><00:04:11.319><c> the</c>

00:04:11.969 --> 00:04:11.979 align:start position:0%
with the two superscript and the
 

00:04:11.979 --> 00:04:14.849 align:start position:0%
with the two superscript and the
registered<00:04:12.489><c> event</c><00:04:12.790><c> is</c><00:04:13.180><c> simply</c><00:04:14.049><c> forwarded</c>

00:04:14.849 --> 00:04:14.859 align:start position:0%
registered event is simply forwarded
 

00:04:14.859 --> 00:04:18.330 align:start position:0%
registered event is simply forwarded
from<00:04:15.069><c> the</c><00:04:15.579><c> log</c><00:04:15.760><c> registered</c><00:04:16.359><c> function</c><00:04:16.889><c> so</c><00:04:17.889><c> if</c>

00:04:18.330 --> 00:04:18.340 align:start position:0%
from the log registered function so if
 

00:04:18.340 --> 00:04:21.479 align:start position:0%
from the log registered function so if
you<00:04:19.000><c> have</c><00:04:19.180><c> the</c><00:04:19.389><c> owner</c><00:04:19.709><c> which</c><00:04:20.709><c> is</c><00:04:20.739><c> provided</c>

00:04:21.479 --> 00:04:21.489 align:start position:0%
you have the owner which is provided
 

00:04:21.489 --> 00:04:24.089 align:start position:0%
you have the owner which is provided
with<00:04:21.699><c> the</c><00:04:22.030><c> owner</c><00:04:22.330><c> super</c><00:04:23.229><c> contract</c><00:04:23.740><c> and</c><00:04:24.010><c> then</c>

00:04:24.089 --> 00:04:24.099 align:start position:0%
with the owner super contract and then
 

00:04:24.099 --> 00:04:26.250 align:start position:0%
with the owner super contract and then
the<00:04:24.219><c> only</c><00:04:24.550><c> owner</c><00:04:24.760><c> modifier</c><00:04:25.360><c> pretty</c><00:04:25.779><c> standard</c>

00:04:26.250 --> 00:04:26.260 align:start position:0%
the only owner modifier pretty standard
 

00:04:26.260 --> 00:04:29.430 align:start position:0%
the only owner modifier pretty standard
you<00:04:27.219><c> can</c><00:04:27.430><c> have</c><00:04:27.610><c> an</c><00:04:27.969><c> owner</c><00:04:28.719><c> contract</c>

00:04:29.430 --> 00:04:29.440 align:start position:0%
you can have an owner contract
 

00:04:29.440 --> 00:04:32.340 align:start position:0%
you can have an owner contract
that<00:04:29.710><c> is</c><00:04:29.890><c> able</c><00:04:30.100><c> to</c><00:04:30.370><c> register</c><00:04:31.140><c> all</c><00:04:32.140><c> the</c>

00:04:32.340 --> 00:04:32.350 align:start position:0%
that is able to register all the
 

00:04:32.350 --> 00:04:34.770 align:start position:0%
that is able to register all the
contracts<00:04:32.830><c> in</c><00:04:32.980><c> the</c><00:04:33.070><c> system</c><00:04:33.430><c> so</c><00:04:33.940><c> contract</c><00:04:34.630><c> a</c>

00:04:34.770 --> 00:04:34.780 align:start position:0%
contracts in the system so contract a
 

00:04:34.780 --> 00:04:37.260 align:start position:0%
contracts in the system so contract a
contract<00:04:34.810><c> B</c><00:04:35.440><c> contract</c><00:04:35.920><c> C</c><00:04:36.130><c> all</c><00:04:36.550><c> of</c><00:04:36.850><c> those</c><00:04:37.000><c> would</c>

00:04:37.260 --> 00:04:37.270 align:start position:0%
contract B contract C all of those would
 

00:04:37.270 --> 00:04:39.690 align:start position:0%
contract B contract C all of those would
be<00:04:37.390><c> an</c><00:04:37.480><c> authorized</c><00:04:38.220><c> contract</c><00:04:39.220><c> to</c><00:04:39.370><c> be</c><00:04:39.490><c> able</c><00:04:39.580><c> to</c>

00:04:39.690 --> 00:04:39.700 align:start position:0%
be an authorized contract to be able to
 

00:04:39.700 --> 00:04:41.940 align:start position:0%
be an authorized contract to be able to
register<00:04:40.000><c> those</c><00:04:40.540><c> and</c><00:04:40.900><c> if</c><00:04:41.290><c> that</c><00:04:41.470><c> authorized</c>

00:04:41.940 --> 00:04:41.950 align:start position:0%
register those and if that authorized
 

00:04:41.950 --> 00:04:46.080 align:start position:0%
register those and if that authorized
address<00:04:42.880><c> was</c><00:04:43.180><c> set</c><00:04:43.990><c> in</c><00:04:44.170><c> creation</c><00:04:44.740><c> then</c><00:04:45.370><c> you</c>

00:04:46.080 --> 00:04:46.090 align:start position:0%
address was set in creation then you
 

00:04:46.090 --> 00:04:47.790 align:start position:0%
address was set in creation then you
know<00:04:46.300><c> exactly</c><00:04:46.660><c> who</c><00:04:47.080><c> has</c><00:04:47.230><c> the</c><00:04:47.440><c> ability</c><00:04:47.770><c> to</c>

00:04:47.790 --> 00:04:47.800 align:start position:0%
know exactly who has the ability to
 

00:04:47.800 --> 00:04:50.760 align:start position:0%
know exactly who has the ability to
register<00:04:48.730><c> new</c><00:04:48.880><c> contracts</c><00:04:49.480><c> and</c><00:04:49.780><c> then</c><00:04:50.530><c> those</c>

00:04:50.760 --> 00:04:50.770 align:start position:0%
register new contracts and then those
 

00:04:50.770 --> 00:04:53.720 align:start position:0%
register new contracts and then those
contracts<00:04:51.370><c> have</c><00:04:51.580><c> the</c><00:04:51.730><c> ability</c><00:04:52.180><c> to</c><00:04:52.420><c> call</c><00:04:53.290><c> log</c>

00:04:53.720 --> 00:04:53.730 align:start position:0%
contracts have the ability to call log
 

00:04:53.730 --> 00:04:57.630 align:start position:0%
contracts have the ability to call log
registered<00:04:54.730><c> or</c><00:04:55.090><c> any</c><00:04:55.420><c> event</c><00:04:56.280><c> so</c><00:04:57.280><c> that's</c><00:04:57.490><c> an</c>

00:04:57.630 --> 00:04:57.640 align:start position:0%
registered or any event so that's an
 

00:04:57.640 --> 00:04:59.100 align:start position:0%
registered or any event so that's an
example<00:04:57.700><c> of</c><00:04:58.060><c> central</c><00:04:58.480><c> logging</c><00:04:58.840><c> and</c><00:04:58.990><c> that's</c>

00:04:59.100 --> 00:04:59.110 align:start position:0%
example of central logging and that's
 

00:04:59.110 --> 00:05:01.370 align:start position:0%
example of central logging and that's
been<00:04:59.290><c> super</c><00:04:59.620><c> helpful</c><00:04:59.740><c> for</c><00:05:00.220><c> us</c><00:05:00.490><c> to</c><00:05:00.670><c> be</c><00:05:00.790><c> able</c><00:05:00.880><c> to</c>

00:05:01.370 --> 00:05:01.380 align:start position:0%
been super helpful for us to be able to
 

00:05:01.380 --> 00:05:05.820 align:start position:0%
been super helpful for us to be able to
handle<00:05:02.790><c> large</c><00:05:03.790><c> numbers</c><00:05:04.330><c> of</c><00:05:04.410><c> events</c><00:05:05.410><c> from</c><00:05:05.560><c> lots</c>

00:05:05.820 --> 00:05:05.830 align:start position:0%
handle large numbers of events from lots
 

00:05:05.830 --> 00:05:07.110 align:start position:0%
handle large numbers of events from lots
of<00:05:05.950><c> different</c><00:05:06.010><c> contracts</c><00:05:06.760><c> in</c><00:05:06.820><c> a</c><00:05:06.880><c> multi</c>

00:05:07.110 --> 00:05:07.120 align:start position:0%
of different contracts in a multi
 

00:05:07.120 --> 00:05:10.230 align:start position:0%
of different contracts in a multi
contract<00:05:07.600><c> system</c><00:05:08.610><c> the</c><00:05:09.610><c> next</c><00:05:09.760><c> one</c><00:05:09.940><c> I</c><00:05:09.970><c> want</c><00:05:10.060><c> to</c>

00:05:10.230 --> 00:05:10.240 align:start position:0%
contract system the next one I want to
 

00:05:10.240 --> 00:05:12.990 align:start position:0%
contract system the next one I want to
show<00:05:10.360><c> you</c><00:05:10.420><c> is</c><00:05:11.160><c> the</c><00:05:12.160><c> idea</c><00:05:12.280><c> of</c><00:05:12.490><c> modular</c>

00:05:12.990 --> 00:05:13.000 align:start position:0%
show you is the idea of modular
 

00:05:13.000 --> 00:05:16.410 align:start position:0%
show you is the idea of modular
libraries<00:05:13.690><c> so</c><00:05:14.470><c> libraries</c><00:05:14.920><c> in</c><00:05:15.730><c> solidity</c><00:05:16.240><c> if</c>

00:05:16.410 --> 00:05:16.420 align:start position:0%
libraries so libraries in solidity if
 

00:05:16.420 --> 00:05:19.520 align:start position:0%
libraries so libraries in solidity if
you're<00:05:16.660><c> not</c><00:05:16.870><c> aware</c><00:05:16.990><c> already</c><00:05:17.500><c> are</c><00:05:17.800><c> a</c><00:05:18.190><c> way</c><00:05:18.730><c> of</c>

00:05:19.520 --> 00:05:19.530 align:start position:0%
you're not aware already are a way of
 

00:05:19.530 --> 00:05:23.940 align:start position:0%
you're not aware already are a way of
deploying<00:05:20.530><c> code</c><00:05:21.280><c> once</c><00:05:21.730><c> that</c><00:05:22.420><c> other</c><00:05:23.230><c> contracts</c>

00:05:23.940 --> 00:05:23.950 align:start position:0%
deploying code once that other contracts
 

00:05:23.950 --> 00:05:27.720 align:start position:0%
deploying code once that other contracts
can<00:05:24.280><c> use</c><00:05:24.580><c> over</c><00:05:25.150><c> and</c><00:05:25.300><c> over</c><00:05:25.540><c> and</c><00:05:26.280><c> when</c><00:05:27.280><c> you</c><00:05:27.460><c> have</c>

00:05:27.720 --> 00:05:27.730 align:start position:0%
can use over and over and when you have
 

00:05:27.730 --> 00:05:29.490 align:start position:0%
can use over and over and when you have
a<00:05:27.760><c> multi</c><00:05:28.240><c> contract</c><00:05:28.780><c> system</c><00:05:29.020><c> or</c><00:05:29.380><c> you're</c>

00:05:29.490 --> 00:05:29.500 align:start position:0%
a multi contract system or you're
 

00:05:29.500 --> 00:05:32.160 align:start position:0%
a multi contract system or you're
deploying<00:05:29.980><c> a</c><00:05:30.190><c> new</c><00:05:30.220><c> contract</c><00:05:30.940><c> for</c><00:05:31.210><c> every</c>

00:05:32.160 --> 00:05:32.170 align:start position:0%
deploying a new contract for every
 

00:05:32.170 --> 00:05:34.860 align:start position:0%
deploying a new contract for every
iteration<00:05:32.650><c> of</c><00:05:33.130><c> something</c><00:05:33.550><c> there's</c><00:05:34.480><c> a</c><00:05:34.540><c> lot</c><00:05:34.750><c> of</c>

00:05:34.860 --> 00:05:34.870 align:start position:0%
iteration of something there's a lot of
 

00:05:34.870 --> 00:05:36.420 align:start position:0%
iteration of something there's a lot of
gas<00:05:35.080><c> costs</c><00:05:35.530><c> in</c><00:05:35.650><c> that</c><00:05:35.770><c> and</c><00:05:35.980><c> if</c><00:05:36.070><c> you</c><00:05:36.220><c> can</c>

00:05:36.420 --> 00:05:36.430 align:start position:0%
gas costs in that and if you can
 

00:05:36.430 --> 00:05:38.610 align:start position:0%
gas costs in that and if you can
reference<00:05:37.150><c> if</c><00:05:37.540><c> you</c><00:05:37.630><c> can</c><00:05:37.750><c> link</c><00:05:37.990><c> a</c><00:05:38.140><c> library</c>

00:05:38.610 --> 00:05:38.620 align:start position:0%
reference if you can link a library
 

00:05:38.620 --> 00:05:41.010 align:start position:0%
reference if you can link a library
that's<00:05:38.860><c> gonna</c><00:05:39.040><c> save</c><00:05:39.400><c> a</c><00:05:39.430><c> lot</c><00:05:39.730><c> of</c><00:05:39.760><c> gas</c><00:05:40.060><c> compared</c>

00:05:41.010 --> 00:05:41.020 align:start position:0%
that's gonna save a lot of gas compared
 

00:05:41.020 --> 00:05:42.840 align:start position:0%
that's gonna save a lot of gas compared
to<00:05:41.140><c> implementing</c><00:05:41.590><c> and</c><00:05:42.010><c> compared</c><00:05:42.760><c> to</c>

00:05:42.840 --> 00:05:42.850 align:start position:0%
to implementing and compared to
 

00:05:42.850 --> 00:05:45.860 align:start position:0%
to implementing and compared to
deploying<00:05:43.419><c> all</c><00:05:43.570><c> the</c><00:05:43.750><c> contracts</c><00:05:44.230><c> again</c><00:05:44.669><c> so</c>

00:05:45.860 --> 00:05:45.870 align:start position:0%
deploying all the contracts again so
 

00:05:45.870 --> 00:05:48.450 align:start position:0%
deploying all the contracts again so
libraries<00:05:46.870><c> are</c><00:05:47.020><c> known</c><00:05:47.230><c> as</c><00:05:47.470><c> well-known</c><00:05:48.160><c> to</c><00:05:48.430><c> be</c>

00:05:48.450 --> 00:05:48.460 align:start position:0%
libraries are known as well-known to be
 

00:05:48.460 --> 00:05:51.240 align:start position:0%
libraries are known as well-known to be
to<00:05:48.910><c> provide</c><00:05:49.150><c> that</c><00:05:49.360><c> gas</c><00:05:49.570><c> saving</c><00:05:49.990><c> mechanism</c><00:05:50.530><c> and</c>

00:05:51.240 --> 00:05:51.250 align:start position:0%
to provide that gas saving mechanism and
 

00:05:51.250 --> 00:05:54.150 align:start position:0%
to provide that gas saving mechanism and
the<00:05:51.340><c> idea</c><00:05:51.580><c> of</c><00:05:51.610><c> modular</c><00:05:52.150><c> libraries</c><00:05:52.750><c> is</c><00:05:53.160><c> the</c>

00:05:54.150 --> 00:05:54.160 align:start position:0%
the idea of modular libraries is the
 

00:05:54.160 --> 00:05:55.260 align:start position:0%
the idea of modular libraries is the
idea<00:05:54.460><c> that</c><00:05:54.610><c> you</c><00:05:54.700><c> can</c><00:05:54.850><c> link</c><00:05:55.060><c> multiple</c>

00:05:55.260 --> 00:05:55.270 align:start position:0%
idea that you can link multiple
 

00:05:55.270 --> 00:05:57.300 align:start position:0%
idea that you can link multiple
libraries<00:05:55.990><c> together</c><00:05:56.169><c> in</c><00:05:56.650><c> order</c><00:05:56.830><c> to</c><00:05:56.950><c> provide</c>

00:05:57.300 --> 00:05:57.310 align:start position:0%
libraries together in order to provide
 

00:05:57.310 --> 00:05:59.520 align:start position:0%
libraries together in order to provide
some<00:05:57.640><c> abstraction</c><00:05:58.240><c> layers</c><00:05:58.419><c> so</c><00:05:59.020><c> these</c><00:05:59.200><c> are</c><00:05:59.380><c> all</c>

00:05:59.520 --> 00:05:59.530 align:start position:0%
some abstraction layers so these are all
 

00:05:59.530 --> 00:06:01.680 align:start position:0%
some abstraction layers so these are all
like<00:05:59.800><c> architectural</c><00:06:00.550><c> patterns</c><00:06:00.940><c> for</c><00:06:01.570><c> you</c><00:06:01.660><c> to</c>

00:06:01.680 --> 00:06:01.690 align:start position:0%
like architectural patterns for you to
 

00:06:01.690 --> 00:06:03.360 align:start position:0%
like architectural patterns for you to
have<00:06:01.870><c> more</c><00:06:02.050><c> maintainable</c><00:06:02.620><c> smart</c><00:06:02.919><c> contract</c>

00:06:03.360 --> 00:06:03.370 align:start position:0%
have more maintainable smart contract
 

00:06:03.370 --> 00:06:05.400 align:start position:0%
have more maintainable smart contract
code<00:06:03.550><c> so</c><00:06:04.120><c> what</c><00:06:04.240><c> does</c><00:06:04.360><c> this</c><00:06:04.480><c> look</c><00:06:04.690><c> like</c><00:06:04.900><c> the</c>

00:06:05.400 --> 00:06:05.410 align:start position:0%
code so what does this look like the
 

00:06:05.410 --> 00:06:09.810 align:start position:0%
code so what does this look like the
modular<00:06:05.919><c> library</c><00:06:06.510><c> is</c><00:06:07.510><c> one</c><00:06:08.470><c> in</c><00:06:08.650><c> which</c><00:06:08.820><c> the</c>

00:06:09.810 --> 00:06:09.820 align:start position:0%
modular library is one in which the
 

00:06:09.820 --> 00:06:11.640 align:start position:0%
modular library is one in which the
contract<00:06:10.419><c> itself</c><00:06:10.780><c> doesn't</c><00:06:11.140><c> have</c><00:06:11.320><c> to</c><00:06:11.470><c> know</c>

00:06:11.640 --> 00:06:11.650 align:start position:0%
contract itself doesn't have to know
 

00:06:11.650 --> 00:06:13.560 align:start position:0%
contract itself doesn't have to know
about<00:06:11.890><c> all</c><00:06:12.070><c> of</c><00:06:12.430><c> the</c><00:06:12.550><c> different</c><00:06:12.700><c> modules</c><00:06:13.360><c> and</c>

00:06:13.560 --> 00:06:13.570 align:start position:0%
about all of the different modules and
 

00:06:13.570 --> 00:06:15.470 align:start position:0%
about all of the different modules and
so<00:06:14.169><c> it's</c><00:06:14.290><c> a</c><00:06:14.350><c> way</c><00:06:14.440><c> to</c><00:06:14.500><c> encapsulate</c>

00:06:15.470 --> 00:06:15.480 align:start position:0%
so it's a way to encapsulate
 

00:06:15.480 --> 00:06:17.909 align:start position:0%
so it's a way to encapsulate
functionality<00:06:16.480><c> within</c><00:06:16.900><c> a</c><00:06:16.930><c> library</c><00:06:17.620><c> in</c><00:06:17.830><c> order</c>

00:06:17.909 --> 00:06:17.919 align:start position:0%
functionality within a library in order
 

00:06:17.919 --> 00:06:19.170 align:start position:0%
functionality within a library in order
to<00:06:18.130><c> have</c><00:06:18.280><c> some</c><00:06:18.520><c> separation</c>

00:06:19.170 --> 00:06:19.180 align:start position:0%
to have some separation
 

00:06:19.180 --> 00:06:22.050 align:start position:0%
to have some separation
now<00:06:19.690><c> libraries</c><00:06:20.560><c> are</c><00:06:20.770><c> linked</c><00:06:21.250><c> and</c><00:06:21.460><c> all</c><00:06:21.820><c> of</c><00:06:21.970><c> the</c>

00:06:22.050 --> 00:06:22.060 align:start position:0%
now libraries are linked and all of the
 

00:06:22.060 --> 00:06:25.680 align:start position:0%
now libraries are linked and all of the
calls<00:06:22.360><c> end</c><00:06:22.750><c> up</c><00:06:23.050><c> appearing</c><00:06:23.919><c> internal</c><00:06:24.460><c> so</c><00:06:25.210><c> this</c>

00:06:25.680 --> 00:06:25.690 align:start position:0%
calls end up appearing internal so this
 

00:06:25.690 --> 00:06:28.860 align:start position:0%
calls end up appearing internal so this
doesn't<00:06:25.960><c> actually</c><00:06:26.230><c> provide</c><00:06:27.450><c> is</c><00:06:28.450><c> more</c><00:06:28.720><c> of</c><00:06:28.780><c> an</c>

00:06:28.860 --> 00:06:28.870 align:start position:0%
doesn't actually provide is more of an
 

00:06:28.870 --> 00:06:30.300 align:start position:0%
doesn't actually provide is more of an
organizational<00:06:29.680><c> strategy</c><00:06:30.160><c> and</c>

00:06:30.300 --> 00:06:30.310 align:start position:0%
organizational strategy and
 

00:06:30.310 --> 00:06:33.480 align:start position:0%
organizational strategy and
architectural<00:06:30.910><c> strategy</c><00:06:31.600><c> than</c><00:06:32.410><c> changing</c><00:06:33.130><c> the</c>

00:06:33.480 --> 00:06:33.490 align:start position:0%
architectural strategy than changing the
 

00:06:33.490 --> 00:06:37.920 align:start position:0%
architectural strategy than changing the
actual<00:06:33.850><c> access</c><00:06:34.680><c> levels</c><00:06:35.680><c> so</c><00:06:36.780><c> here's</c><00:06:37.780><c> an</c>

00:06:37.920 --> 00:06:37.930 align:start position:0%
actual access levels so here's an
 

00:06:37.930 --> 00:06:41.010 align:start position:0%
actual access levels so here's an
example<00:06:38.400><c> for</c><00:06:39.400><c> the</c><00:06:39.520><c> prism</c><00:06:39.910><c> project</c><00:06:40.479><c> we</c><00:06:40.720><c> have</c><00:06:40.990><c> a</c>

00:06:41.010 --> 00:06:41.020 align:start position:0%
example for the prism project we have a
 

00:06:41.020 --> 00:06:42.820 align:start position:0%
example for the prism project we have a
library<00:06:41.680><c> called</c><00:06:41.890><c> prism</c><00:06:42.370><c> Lib</c>

00:06:42.820 --> 00:06:42.830 align:start position:0%
library called prism Lib
 

00:06:42.830 --> 00:06:45.969 align:start position:0%
library called prism Lib
and<00:06:43.639><c> there's</c><00:06:43.909><c> a</c><00:06:44.000><c> lot</c><00:06:44.210><c> of</c><00:06:44.360><c> different</c><00:06:44.800><c> pieces</c><00:06:45.800><c> of</c>

00:06:45.969 --> 00:06:45.979 align:start position:0%
and there's a lot of different pieces of
 

00:06:45.979 --> 00:06:48.010 align:start position:0%
and there's a lot of different pieces of
data<00:06:46.340><c> and</c><00:06:46.759><c> libraries</c><00:06:47.360><c> that</c><00:06:47.389><c> have</c><00:06:47.509><c> functions</c>

00:06:48.010 --> 00:06:48.020 align:start position:0%
data and libraries that have functions
 

00:06:48.020 --> 00:06:50.469 align:start position:0%
data and libraries that have functions
that<00:06:48.080><c> operate</c><00:06:48.289><c> on</c><00:06:48.650><c> that</c><00:06:48.800><c> data</c><00:06:48.860><c> and</c><00:06:49.370><c> as</c><00:06:50.180><c> a</c><00:06:50.210><c> way</c>

00:06:50.469 --> 00:06:50.479 align:start position:0%
that operate on that data and as a way
 

00:06:50.479 --> 00:06:53.740 align:start position:0%
that operate on that data and as a way
to<00:06:50.539><c> break</c><00:06:51.379><c> it</c><00:06:51.530><c> into</c><00:06:51.650><c> smaller</c><00:06:51.979><c> pieces</c><00:06:52.509><c> one</c><00:06:53.509><c> good</c>

00:06:53.740 --> 00:06:53.750 align:start position:0%
to break it into smaller pieces one good
 

00:06:53.750 --> 00:06:58.510 align:start position:0%
to break it into smaller pieces one good
method<00:06:54.379><c> is</c><00:06:54.560><c> to</c><00:06:55.340><c> have</c><00:06:55.729><c> data</c><00:06:56.690><c> instruct</c><00:06:57.319><c> in</c><00:06:57.620><c> each</c>

00:06:58.510 --> 00:06:58.520 align:start position:0%
method is to have data instruct in each
 

00:06:58.520 --> 00:07:01.119 align:start position:0%
method is to have data instruct in each
of<00:06:58.759><c> the</c><00:06:58.940><c> libraries</c><00:06:59.409><c> that's</c><00:07:00.409><c> defined</c><00:07:00.830><c> in</c><00:07:00.979><c> each</c>

00:07:01.119 --> 00:07:01.129 align:start position:0%
of the libraries that's defined in each
 

00:07:01.129 --> 00:07:02.860 align:start position:0%
of the libraries that's defined in each
of<00:07:01.250><c> the</c><00:07:01.310><c> libraries</c><00:07:01.520><c> and</c><00:07:02.060><c> then</c><00:07:02.300><c> that</c><00:07:02.569><c> can</c><00:07:02.750><c> be</c>

00:07:02.860 --> 00:07:02.870 align:start position:0%
of the libraries and then that can be
 

00:07:02.870 --> 00:07:04.960 align:start position:0%
of the libraries and then that can be
included<00:07:03.169><c> in</c><00:07:03.409><c> the</c><00:07:03.530><c> contract</c><00:07:04.039><c> and</c><00:07:04.250><c> so</c><00:07:04.669><c> you</c><00:07:04.729><c> have</c>

00:07:04.960 --> 00:07:04.970 align:start position:0%
included in the contract and so you have
 

00:07:04.970 --> 00:07:07.029 align:start position:0%
included in the contract and so you have
nested<00:07:05.479><c> levels</c><00:07:05.840><c> of</c><00:07:05.990><c> data</c><00:07:06.199><c> so</c><00:07:06.470><c> the</c><00:07:06.620><c> struct</c><00:07:06.919><c> is</c>

00:07:07.029 --> 00:07:07.039 align:start position:0%
nested levels of data so the struct is
 

00:07:07.039 --> 00:07:09.460 align:start position:0%
nested levels of data so the struct is
defined<00:07:07.430><c> you</c><00:07:07.639><c> can</c><00:07:07.669><c> see</c><00:07:08.000><c> in</c><00:07:08.210><c> the</c><00:07:08.599><c> blue</c><00:07:08.870><c> with</c><00:07:09.259><c> the</c>

00:07:09.460 --> 00:07:09.470 align:start position:0%
defined you can see in the blue with the
 

00:07:09.470 --> 00:07:12.640 align:start position:0%
defined you can see in the blue with the
number<00:07:10.190><c> one</c><00:07:10.430><c> is</c><00:07:10.699><c> the</c><00:07:11.240><c> data</c><00:07:11.449><c> struck</c><00:07:11.900><c> and</c><00:07:12.199><c> then</c>

00:07:12.640 --> 00:07:12.650 align:start position:0%
number one is the data struck and then
 

00:07:12.650 --> 00:07:15.490 align:start position:0%
number one is the data struck and then
that's<00:07:13.039><c> being</c><00:07:13.340><c> expected</c><00:07:13.879><c> to</c><00:07:14.120><c> pass</c><00:07:14.479><c> into</c><00:07:15.169><c> each</c>

00:07:15.490 --> 00:07:15.500 align:start position:0%
that's being expected to pass into each
 

00:07:15.500 --> 00:07:17.619 align:start position:0%
that's being expected to pass into each
of<00:07:15.680><c> the</c><00:07:15.770><c> functions</c><00:07:16.219><c> so</c><00:07:16.819><c> the</c><00:07:16.969><c> rebalance</c>

00:07:17.619 --> 00:07:17.629 align:start position:0%
of the functions so the rebalance
 

00:07:17.629 --> 00:07:20.320 align:start position:0%
of the functions so the rebalance
function<00:07:18.110><c> on</c><00:07:18.319><c> the</c><00:07:18.590><c> prism</c><00:07:18.949><c> Lib</c><00:07:19.159><c> is</c><00:07:19.370><c> going</c><00:07:20.120><c> to</c>

00:07:20.320 --> 00:07:20.330 align:start position:0%
function on the prism Lib is going to
 

00:07:20.330 --> 00:07:24.730 align:start position:0%
function on the prism Lib is going to
ask<00:07:20.840><c> for</c><00:07:21.469><c> the</c><00:07:22.099><c> prism</c><00:07:22.550><c> Lib</c><00:07:22.729><c> dot</c><00:07:23.000><c> data</c><00:07:23.300><c> and</c><00:07:23.740><c> then</c>

00:07:24.730 --> 00:07:24.740 align:start position:0%
ask for the prism Lib dot data and then
 

00:07:24.740 --> 00:07:28.029 align:start position:0%
ask for the prism Lib dot data and then
the<00:07:24.979><c> nested</c><00:07:25.550><c> nature</c><00:07:25.909><c> is</c><00:07:26.349><c> comes</c><00:07:27.349><c> from</c><00:07:27.500><c> the</c><00:07:27.830><c> fact</c>

00:07:28.029 --> 00:07:28.039 align:start position:0%
the nested nature is comes from the fact
 

00:07:28.039 --> 00:07:31.719 align:start position:0%
the nested nature is comes from the fact
that<00:07:28.129><c> portfolio</c><00:07:28.580><c> Lib</c><00:07:29.270><c> has</c><00:07:30.050><c> its</c><00:07:30.710><c> own</c><00:07:31.009><c> portfolio</c>

00:07:31.719 --> 00:07:31.729 align:start position:0%
that portfolio Lib has its own portfolio
 

00:07:31.729 --> 00:07:35.080 align:start position:0%
that portfolio Lib has its own portfolio
Lib<00:07:31.940><c> we</c><00:07:32.090><c> can</c><00:07:32.240><c> assume</c><00:07:32.539><c> is</c><00:07:32.810><c> that</c><00:07:33.430><c> lit</c><00:07:34.430><c> B</c><00:07:34.759><c> it's</c>

00:07:35.080 --> 00:07:35.090 align:start position:0%
Lib we can assume is that lit B it's
 

00:07:35.090 --> 00:07:37.300 align:start position:0%
Lib we can assume is that lit B it's
being<00:07:35.750><c> imported</c><00:07:36.110><c> somewhere</c><00:07:36.620><c> else</c><00:07:36.770><c> so</c>

00:07:37.300 --> 00:07:37.310 align:start position:0%
being imported somewhere else so
 

00:07:37.310 --> 00:07:40.209 align:start position:0%
being imported somewhere else so
portfolio<00:07:38.030><c> Lipp</c><00:07:38.330><c> we</c><00:07:39.139><c> can</c><00:07:39.319><c> assume</c><00:07:39.560><c> has</c><00:07:39.800><c> its</c><00:07:39.979><c> own</c>

00:07:40.209 --> 00:07:40.219 align:start position:0%
portfolio Lipp we can assume has its own
 

00:07:40.219 --> 00:07:45.209 align:start position:0%
portfolio Lipp we can assume has its own
data<00:07:41.030><c> struct</c><00:07:42.039><c> so</c><00:07:43.039><c> portfolio</c><00:07:43.639><c> Lib</c><00:07:43.940><c> can</c><00:07:44.509><c> be</c>

00:07:45.209 --> 00:07:45.219 align:start position:0%
data struct so portfolio Lib can be
 

00:07:45.219 --> 00:07:47.469 align:start position:0%
data struct so portfolio Lib can be
accessed<00:07:46.219><c> the</c><00:07:46.400><c> functions</c><00:07:46.819><c> can</c><00:07:46.969><c> be</c><00:07:47.000><c> called</c><00:07:47.330><c> in</c>

00:07:47.469 --> 00:07:47.479 align:start position:0%
accessed the functions can be called in
 

00:07:47.479 --> 00:07:51.610 align:start position:0%
accessed the functions can be called in
portfolio<00:07:47.960><c> Lib</c><00:07:48.199><c> and</c><00:07:48.440><c> the</c><00:07:49.400><c> data</c><00:07:49.669><c> is</c><00:07:50.620><c> contained</c>

00:07:51.610 --> 00:07:51.620 align:start position:0%
portfolio Lib and the data is contained
 

00:07:51.620 --> 00:07:53.800 align:start position:0%
portfolio Lib and the data is contained
within<00:07:51.740><c> that</c><00:07:52.190><c> Lib</c><00:07:52.520><c> and</c><00:07:52.729><c> so</c><00:07:53.240><c> there's</c><00:07:53.539><c> an</c>

00:07:53.800 --> 00:07:53.810 align:start position:0%
within that Lib and so there's an
 

00:07:53.810 --> 00:07:56.050 align:start position:0%
within that Lib and so there's an
abstraction<00:07:54.740><c> there</c><00:07:55.099><c> if</c><00:07:55.190><c> you</c><00:07:55.310><c> notice</c><00:07:55.669><c> we're</c>

00:07:56.050 --> 00:07:56.060 align:start position:0%
abstraction there if you notice we're
 

00:07:56.060 --> 00:08:00.399 align:start position:0%
abstraction there if you notice we're
not<00:07:56.090><c> passing</c><00:07:56.750><c> the</c><00:07:56.900><c> entire</c><00:07:57.610><c> prism</c><00:07:58.610><c> Lib</c><00:07:58.789><c> data</c><00:07:59.409><c> to</c>

00:08:00.399 --> 00:08:00.409 align:start position:0%
not passing the entire prism Lib data to
 

00:08:00.409 --> 00:08:03.010 align:start position:0%
not passing the entire prism Lib data to
the<00:08:00.500><c> Reap</c><00:08:00.680><c> to</c><00:08:00.949><c> the</c><00:08:01.159><c> rebalance</c><00:08:02.150><c> portfolio</c><00:08:02.810><c> Lib</c>

00:08:03.010 --> 00:08:03.020 align:start position:0%
the Reap to the rebalance portfolio Lib
 

00:08:03.020 --> 00:08:05.800 align:start position:0%
the Reap to the rebalance portfolio Lib
dot<00:08:03.259><c> rebalance</c><00:08:03.740><c> function</c><00:08:04.569><c> we're</c><00:08:05.569><c> only</c>

00:08:05.800 --> 00:08:05.810 align:start position:0%
dot rebalance function we're only
 

00:08:05.810 --> 00:08:09.370 align:start position:0%
dot rebalance function we're only
passing<00:08:06.219><c> self</c><00:08:07.219><c> dot</c><00:08:07.520><c> portfolio</c><00:08:08.150><c> Lib</c><00:08:08.509><c> so</c><00:08:09.169><c> the</c>

00:08:09.370 --> 00:08:09.380 align:start position:0%
passing self dot portfolio Lib so the
 

00:08:09.380 --> 00:08:11.350 align:start position:0%
passing self dot portfolio Lib so the
second<00:08:09.740><c> red</c><00:08:09.949><c> instance</c><00:08:10.400><c> number</c><00:08:10.759><c> two</c><00:08:10.969><c> and</c><00:08:11.330><c> so</c>

00:08:11.350 --> 00:08:11.360 align:start position:0%
second red instance number two and so
 

00:08:11.360 --> 00:08:15.040 align:start position:0%
second red instance number two and so
that<00:08:12.349><c> way</c><00:08:12.789><c> portfolio</c><00:08:13.789><c> Lib</c><00:08:14.029><c> dot</c><00:08:14.270><c> rebalance</c><00:08:14.870><c> or</c>

00:08:15.040 --> 00:08:15.050 align:start position:0%
that way portfolio Lib dot rebalance or
 

00:08:15.050 --> 00:08:16.930 align:start position:0%
that way portfolio Lib dot rebalance or
any<00:08:15.199><c> other</c><00:08:15.440><c> functions</c><00:08:15.979><c> in</c><00:08:16.159><c> portfolio</c><00:08:16.699><c> Lib</c>

00:08:16.930 --> 00:08:16.940 align:start position:0%
any other functions in portfolio Lib
 

00:08:16.940 --> 00:08:18.999 align:start position:0%
any other functions in portfolio Lib
don't<00:08:17.750><c> have</c><00:08:17.930><c> to</c><00:08:18.080><c> know</c><00:08:18.259><c> about</c><00:08:18.409><c> anything</c><00:08:18.770><c> else</c>

00:08:18.999 --> 00:08:19.009 align:start position:0%
don't have to know about anything else
 

00:08:19.009 --> 00:08:21.129 align:start position:0%
don't have to know about anything else
in<00:08:19.159><c> the</c><00:08:19.310><c> data</c><00:08:19.520><c> so</c><00:08:20.330><c> this</c><00:08:20.479><c> ends</c><00:08:20.750><c> up</c><00:08:20.779><c> being</c><00:08:20.840><c> a</c>

00:08:21.129 --> 00:08:21.139 align:start position:0%
in the data so this ends up being a
 

00:08:21.139 --> 00:08:23.140 align:start position:0%
in the data so this ends up being a
pretty<00:08:21.319><c> standard</c><00:08:21.979><c> abstraction</c><00:08:22.669><c> in</c><00:08:22.819><c> hiding</c>

00:08:23.140 --> 00:08:23.150 align:start position:0%
pretty standard abstraction in hiding
 

00:08:23.150 --> 00:08:26.800 align:start position:0%
pretty standard abstraction in hiding
mechanism<00:08:23.889><c> but</c><00:08:24.889><c> something</c><00:08:25.639><c> that</c><00:08:25.669><c> we</c><00:08:26.629><c> haven't</c>

00:08:26.800 --> 00:08:26.810 align:start position:0%
mechanism but something that we haven't
 

00:08:26.810 --> 00:08:28.869 align:start position:0%
mechanism but something that we haven't
seen<00:08:27.139><c> a</c><00:08:27.529><c> lot</c><00:08:27.680><c> about</c><00:08:28.039><c> in</c><00:08:28.219><c> the</c><00:08:28.310><c> wilds</c><00:08:28.819><c> with</c>

00:08:28.869 --> 00:08:28.879 align:start position:0%
seen a lot about in the wilds with
 

00:08:28.879 --> 00:08:31.330 align:start position:0%
seen a lot about in the wilds with
library<00:08:29.419><c> development</c><00:08:30.020><c> but</c><00:08:30.770><c> we</c><00:08:30.860><c> found</c><00:08:31.039><c> it</c><00:08:31.250><c> to</c>

00:08:31.330 --> 00:08:31.340 align:start position:0%
library development but we found it to
 

00:08:31.340 --> 00:08:33.579 align:start position:0%
library development but we found it to
be<00:08:31.370><c> really</c><00:08:31.490><c> great</c><00:08:32.380><c> really</c><00:08:33.380><c> great</c>

00:08:33.579 --> 00:08:33.589 align:start position:0%
be really great really great
 

00:08:33.589 --> 00:08:37.959 align:start position:0%
be really great really great
architectural<00:08:34.279><c> pattern</c><00:08:34.640><c> for</c><00:08:34.880><c> prism</c><00:08:36.760><c> so</c><00:08:37.760><c> now</c>

00:08:37.959 --> 00:08:37.969 align:start position:0%
architectural pattern for prism so now
 

00:08:37.969 --> 00:08:40.000 align:start position:0%
architectural pattern for prism so now
we<00:08:38.029><c> get</c><00:08:38.329><c> to</c><00:08:38.630><c> the</c><00:08:39.079><c> last</c><00:08:39.320><c> of</c><00:08:39.500><c> the</c><00:08:39.620><c> low-level</c>

00:08:40.000 --> 00:08:40.010 align:start position:0%
we get to the last of the low-level
 

00:08:40.010 --> 00:08:41.500 align:start position:0%
we get to the last of the low-level
patterns<00:08:40.550><c> and</c><00:08:40.729><c> I</c><00:08:40.760><c> want</c><00:08:40.940><c> to</c><00:08:41.000><c> share</c><00:08:41.180><c> with</c><00:08:41.300><c> you</c>

00:08:41.500 --> 00:08:41.510 align:start position:0%
patterns and I want to share with you
 

00:08:41.510 --> 00:08:46.000 align:start position:0%
patterns and I want to share with you
and<00:08:41.719><c> this</c><00:08:42.680><c> is</c><00:08:42.949><c> a</c><00:08:43.490><c> higher</c><00:08:44.529><c> lower-level</c><00:08:45.529><c> pattern</c>

00:08:46.000 --> 00:08:46.010 align:start position:0%
and this is a higher lower-level pattern
 

00:08:46.010 --> 00:08:48.970 align:start position:0%
and this is a higher lower-level pattern
and<00:08:46.220><c> this</c><00:08:47.060><c> is</c><00:08:47.240><c> an</c><00:08:47.360><c> idea</c><00:08:47.660><c> that</c><00:08:47.899><c> has</c><00:08:48.199><c> been</c><00:08:48.230><c> shared</c>

00:08:48.970 --> 00:08:48.980 align:start position:0%
and this is an idea that has been shared
 

00:08:48.980 --> 00:08:51.189 align:start position:0%
and this is an idea that has been shared
in<00:08:49.220><c> other</c><00:08:49.370><c> talks</c><00:08:49.699><c> here</c><00:08:50.180><c> the</c><00:08:50.540><c> idea</c><00:08:50.870><c> of</c><00:08:50.930><c> the</c>

00:08:51.189 --> 00:08:51.199 align:start position:0%
in other talks here the idea of the
 

00:08:51.199 --> 00:08:53.650 align:start position:0%
in other talks here the idea of the
blockchain<00:08:51.440><c> as</c><00:08:51.860><c> a</c><00:08:51.890><c> court</c><00:08:52.220><c> system</c><00:08:52.430><c> and</c><00:08:52.850><c> this</c>

00:08:53.650 --> 00:08:53.660 align:start position:0%
blockchain as a court system and this
 

00:08:53.660 --> 00:08:55.510 align:start position:0%
blockchain as a court system and this
didn't<00:08:53.959><c> come</c><00:08:54.140><c> to</c><00:08:54.320><c> me</c><00:08:54.470><c> until</c><00:08:54.860><c> much</c><00:08:55.040><c> later</c><00:08:55.070><c> in</c>

00:08:55.510 --> 00:08:55.520 align:start position:0%
didn't come to me until much later in
 

00:08:55.520 --> 00:08:56.690 align:start position:0%
didn't come to me until much later in
the<00:08:55.610><c> development</c><00:08:56.149><c> of</c>

00:08:56.690 --> 00:08:56.700 align:start position:0%
the development of
 

00:08:56.700 --> 00:09:00.590 align:start position:0%
the development of
but<00:08:57.270><c> the</c><00:08:57.900><c> opportunity</c><00:08:58.890><c> to</c><00:08:59.640><c> save</c><00:08:59.970><c> a</c><00:09:00.000><c> massive</c>

00:09:00.590 --> 00:09:00.600 align:start position:0%
but the opportunity to save a massive
 

00:09:00.600 --> 00:09:03.860 align:start position:0%
but the opportunity to save a massive
amount<00:09:00.870><c> of</c><00:09:00.960><c> on</c><00:09:01.110><c> chain</c><00:09:01.520><c> computation</c><00:09:02.870><c> exists</c>

00:09:03.860 --> 00:09:03.870 align:start position:0%
amount of on chain computation exists
 

00:09:03.870 --> 00:09:06.770 align:start position:0%
amount of on chain computation exists
when<00:09:04.500><c> you</c><00:09:04.590><c> treat</c><00:09:04.800><c> the</c><00:09:04.980><c> blockchain</c><00:09:05.220><c> as</c><00:09:05.730><c> a</c><00:09:05.820><c> court</c>

00:09:06.770 --> 00:09:06.780 align:start position:0%
when you treat the blockchain as a court
 

00:09:06.780 --> 00:09:10.250 align:start position:0%
when you treat the blockchain as a court
system<00:09:07.200><c> or</c><00:09:07.440><c> an</c><00:09:08.040><c> arbiter</c><00:09:08.600><c> which</c><00:09:09.600><c> means</c><00:09:09.960><c> that</c>

00:09:10.250 --> 00:09:10.260 align:start position:0%
system or an arbiter which means that
 

00:09:10.260 --> 00:09:14.530 align:start position:0%
system or an arbiter which means that
you<00:09:11.190><c> assume</c><00:09:11.820><c> that</c><00:09:12.420><c> parties</c><00:09:12.870><c> are</c><00:09:13.050><c> acting</c><00:09:13.500><c> in</c>

00:09:14.530 --> 00:09:14.540 align:start position:0%
you assume that parties are acting in
 

00:09:14.540 --> 00:09:18.560 align:start position:0%
you assume that parties are acting in
best<00:09:15.540><c> best</c><00:09:16.380><c> in</c><00:09:17.250><c> good</c><00:09:17.580><c> with</c><00:09:17.790><c> good</c><00:09:18.030><c> will</c><00:09:18.240><c> and</c>

00:09:18.560 --> 00:09:18.570 align:start position:0%
best best in good with good will and
 

00:09:18.570 --> 00:09:20.750 align:start position:0%
best best in good with good will and
best<00:09:19.080><c> interest</c><00:09:19.560><c> but</c><00:09:20.130><c> you</c><00:09:20.190><c> have</c><00:09:20.430><c> a</c><00:09:20.460><c> mechanism</c>

00:09:20.750 --> 00:09:20.760 align:start position:0%
best interest but you have a mechanism
 

00:09:20.760 --> 00:09:23.090 align:start position:0%
best interest but you have a mechanism
that<00:09:21.600><c> if</c><00:09:21.810><c> something</c><00:09:22.260><c> goes</c><00:09:22.290><c> wrong</c><00:09:22.530><c> if</c><00:09:22.890><c> one</c>

00:09:23.090 --> 00:09:23.100 align:start position:0%
that if something goes wrong if one
 

00:09:23.100 --> 00:09:25.130 align:start position:0%
that if something goes wrong if one
party<00:09:23.430><c> says</c><00:09:23.640><c> the</c><00:09:23.700><c> other</c><00:09:24.000><c> is</c><00:09:24.360><c> not</c><00:09:24.840><c> doing</c>

00:09:25.130 --> 00:09:25.140 align:start position:0%
party says the other is not doing
 

00:09:25.140 --> 00:09:27.530 align:start position:0%
party says the other is not doing
they're<00:09:25.410><c> not</c><00:09:26.370><c> fulfilling</c><00:09:26.760><c> their</c><00:09:26.970><c> obligation</c>

00:09:27.530 --> 00:09:27.540 align:start position:0%
they're not fulfilling their obligation
 

00:09:27.540 --> 00:09:31.010 align:start position:0%
they're not fulfilling their obligation
then<00:09:28.440><c> you</c><00:09:29.130><c> can</c><00:09:29.400><c> run</c><00:09:30.000><c> an</c><00:09:30.300><c> actual</c><00:09:30.480><c> smart</c>

00:09:31.010 --> 00:09:31.020 align:start position:0%
then you can run an actual smart
 

00:09:31.020 --> 00:09:33.950 align:start position:0%
then you can run an actual smart
contract<00:09:31.530><c> as</c><00:09:32.150><c> if</c><00:09:33.150><c> you're</c><00:09:33.360><c> bringing</c><00:09:33.720><c> it</c><00:09:33.840><c> to</c>

00:09:33.950 --> 00:09:33.960 align:start position:0%
contract as if you're bringing it to
 

00:09:33.960 --> 00:09:36.230 align:start position:0%
contract as if you're bringing it to
court<00:09:34.260><c> and</c><00:09:34.890><c> when</c><00:09:35.490><c> you</c><00:09:35.580><c> run</c><00:09:35.760><c> that</c><00:09:35.970><c> when</c><00:09:36.150><c> you</c>

00:09:36.230 --> 00:09:36.240 align:start position:0%
court and when you run that when you
 

00:09:36.240 --> 00:09:38.330 align:start position:0%
court and when you run that when you
execute<00:09:36.750><c> that</c><00:09:36.780><c> smart</c><00:09:37.200><c> contract</c><00:09:37.680><c> then</c><00:09:38.070><c> you're</c>

00:09:38.330 --> 00:09:38.340 align:start position:0%
execute that smart contract then you're
 

00:09:38.340 --> 00:09:40.970 align:start position:0%
execute that smart contract then you're
using<00:09:38.820><c> the</c><00:09:39.030><c> blockchain</c><00:09:39.270><c> to</c><00:09:39.630><c> orbit</c><00:09:40.050><c> to</c><00:09:40.380><c> arm</c><00:09:40.800><c> it</c>

00:09:40.970 --> 00:09:40.980 align:start position:0%
using the blockchain to orbit to arm it
 

00:09:40.980 --> 00:09:42.830 align:start position:0%
using the blockchain to orbit to arm it
that<00:09:41.190><c> to</c><00:09:41.850><c> be</c><00:09:41.970><c> the</c><00:09:42.090><c> arbiter</c><00:09:42.240><c> of</c><00:09:42.600><c> that</c>

00:09:42.830 --> 00:09:42.840 align:start position:0%
that to be the arbiter of that
 

00:09:42.840 --> 00:09:44.890 align:start position:0%
that to be the arbiter of that
transaction<00:09:43.290><c> so</c><00:09:43.860><c> what</c><00:09:44.070><c> does</c><00:09:44.160><c> that</c><00:09:44.190><c> look</c><00:09:44.640><c> like</c>

00:09:44.890 --> 00:09:44.900 align:start position:0%
transaction so what does that look like
 

00:09:44.900 --> 00:09:48.920 align:start position:0%
transaction so what does that look like
so<00:09:45.900><c> here</c><00:09:46.260><c> we</c><00:09:46.440><c> have</c><00:09:46.650><c> a</c><00:09:47.090><c> contract</c><00:09:48.090><c> this</c><00:09:48.570><c> is</c><00:09:48.720><c> just</c>

00:09:48.920 --> 00:09:48.930 align:start position:0%
so here we have a contract this is just
 

00:09:48.930 --> 00:09:51.320 align:start position:0%
so here we have a contract this is just
a<00:09:49.050><c> general</c><00:09:49.590><c> you</c><00:09:50.130><c> have</c><00:09:50.310><c> some</c><00:09:50.580><c> users</c><00:09:50.970><c> and</c>

00:09:51.320 --> 00:09:51.330 align:start position:0%
a general you have some users and
 

00:09:51.330 --> 00:09:53.960 align:start position:0%
a general you have some users and
there's<00:09:51.810><c> going</c><00:09:51.990><c> to</c><00:09:52.050><c> be</c><00:09:52.140><c> a</c><00:09:52.200><c> counterparty</c><00:09:52.980><c> the</c>

00:09:53.960 --> 00:09:53.970 align:start position:0%
there's going to be a counterparty the
 

00:09:53.970 --> 00:09:56.540 align:start position:0%
there's going to be a counterparty the
other<00:09:54.210><c> end</c><00:09:54.420><c> of</c><00:09:54.570><c> the</c><00:09:54.660><c> deal</c><00:09:54.870><c> and</c><00:09:55.310><c> they're</c><00:09:56.310><c> using</c>

00:09:56.540 --> 00:09:56.550 align:start position:0%
other end of the deal and they're using
 

00:09:56.550 --> 00:09:59.510 align:start position:0%
other end of the deal and they're using
you're<00:09:56.910><c> using</c><00:09:57.120><c> the</c><00:09:57.360><c> smart</c><00:09:57.630><c> contract</c><00:09:58.520><c> the</c>

00:09:59.510 --> 00:09:59.520 align:start position:0%
you're using the smart contract the
 

00:09:59.520 --> 00:10:01.310 align:start position:0%
you're using the smart contract the
naive<00:09:59.880><c> approach</c><00:10:00.060><c> would</c><00:10:00.510><c> be</c><00:10:00.540><c> to</c><00:10:00.780><c> execute</c>

00:10:01.310 --> 00:10:01.320 align:start position:0%
naive approach would be to execute
 

00:10:01.320 --> 00:10:05.330 align:start position:0%
naive approach would be to execute
everything<00:10:01.740><c> on</c><00:10:01.860><c> the</c><00:10:02.010><c> smart</c><00:10:02.280><c> contract</c><00:10:04.340><c> when</c>

00:10:05.330 --> 00:10:05.340 align:start position:0%
everything on the smart contract when
 

00:10:05.340 --> 00:10:08.290 align:start position:0%
everything on the smart contract when
you<00:10:05.460><c> have</c><00:10:05.840><c> arbitration</c><00:10:06.840><c> built</c><00:10:07.290><c> in</c><00:10:07.470><c> then</c>

00:10:08.290 --> 00:10:08.300 align:start position:0%
you have arbitration built in then
 

00:10:08.300 --> 00:10:11.480 align:start position:0%
you have arbitration built in then
instead<00:10:09.300><c> as</c><00:10:09.540><c> AI</c><00:10:09.660><c> describes</c><00:10:10.110><c> you</c><00:10:10.770><c> assume</c><00:10:11.460><c> that</c>

00:10:11.480 --> 00:10:11.490 align:start position:0%
instead as AI describes you assume that
 

00:10:11.490 --> 00:10:14.210 align:start position:0%
instead as AI describes you assume that
both<00:10:11.790><c> parties</c><00:10:12.240><c> are</c><00:10:12.390><c> acting</c><00:10:13.220><c> cooperatively</c>

00:10:14.210 --> 00:10:14.220 align:start position:0%
both parties are acting cooperatively
 

00:10:14.220 --> 00:10:16.340 align:start position:0%
both parties are acting cooperatively
and<00:10:14.460><c> correctly</c><00:10:14.940><c> but</c><00:10:15.420><c> you</c><00:10:15.540><c> have</c><00:10:15.690><c> the</c><00:10:15.840><c> mechanism</c>

00:10:16.340 --> 00:10:16.350 align:start position:0%
and correctly but you have the mechanism
 

00:10:16.350 --> 00:10:18.290 align:start position:0%
and correctly but you have the mechanism
in<00:10:16.440><c> place</c><00:10:16.470><c> for</c><00:10:17.280><c> a</c><00:10:17.310><c> dispute</c><00:10:17.730><c> resolution</c>

00:10:18.290 --> 00:10:18.300 align:start position:0%
in place for a dispute resolution
 

00:10:18.300 --> 00:10:22.040 align:start position:0%
in place for a dispute resolution
process<00:10:18.750><c> so</c><00:10:19.380><c> the</c><00:10:19.620><c> top</c><00:10:20.150><c> interaction</c><00:10:21.150><c> here</c><00:10:21.810><c> is</c>

00:10:22.040 --> 00:10:22.050 align:start position:0%
process so the top interaction here is
 

00:10:22.050 --> 00:10:24.410 align:start position:0%
process so the top interaction here is
where<00:10:22.350><c> the</c><00:10:22.440><c> user</c><00:10:22.940><c> through</c><00:10:23.940><c> the</c><00:10:24.150><c> smart</c>

00:10:24.410 --> 00:10:24.420 align:start position:0%
where the user through the smart
 

00:10:24.420 --> 00:10:26.870 align:start position:0%
where the user through the smart
contract<00:10:24.920><c> interacts</c><00:10:25.920><c> with</c><00:10:26.160><c> the</c><00:10:26.280><c> counterparty</c>

00:10:26.870 --> 00:10:26.880 align:start position:0%
contract interacts with the counterparty
 

00:10:26.880 --> 00:10:29.210 align:start position:0%
contract interacts with the counterparty
there's<00:10:27.630><c> not</c><00:10:27.870><c> any</c><00:10:28.050><c> execution</c><00:10:28.650><c> there's</c><00:10:29.040><c> really</c>

00:10:29.210 --> 00:10:29.220 align:start position:0%
there's not any execution there's really
 

00:10:29.220 --> 00:10:31.820 align:start position:0%
there's not any execution there's really
nothing<00:10:29.610><c> happening</c><00:10:30.060><c> there</c><00:10:30.270><c> there's</c><00:10:30.540><c> not</c><00:10:30.830><c> code</c>

00:10:31.820 --> 00:10:31.830 align:start position:0%
nothing happening there there's not code
 

00:10:31.830 --> 00:10:33.260 align:start position:0%
nothing happening there there's not code
that's<00:10:32.010><c> being</c><00:10:32.160><c> executed</c><00:10:32.460><c> on</c><00:10:32.790><c> chain</c><00:10:33.090><c> maybe</c>

00:10:33.260 --> 00:10:33.270 align:start position:0%
that's being executed on chain maybe
 

00:10:33.270 --> 00:10:35.600 align:start position:0%
that's being executed on chain maybe
just<00:10:33.540><c> a</c><00:10:33.630><c> hash</c><00:10:33.840><c> that's</c><00:10:34.290><c> stored</c><00:10:34.740><c> that</c><00:10:35.310><c> both</c>

00:10:35.600 --> 00:10:35.610 align:start position:0%
just a hash that's stored that both
 

00:10:35.610 --> 00:10:39.110 align:start position:0%
just a hash that's stored that both
parties<00:10:36.360><c> can</c><00:10:36.750><c> can</c><00:10:37.440><c> use</c><00:10:37.890><c> to</c><00:10:38.250><c> evaluate</c><00:10:38.580><c> off</c>

00:10:39.110 --> 00:10:39.120 align:start position:0%
parties can can use to evaluate off
 

00:10:39.120 --> 00:10:42.320 align:start position:0%
parties can can use to evaluate off
chain<00:10:39.540><c> what's</c><00:10:40.170><c> happening</c><00:10:40.680><c> so</c><00:10:41.100><c> user</c><00:10:41.520><c> a</c><00:10:41.670><c> maybe</c>

00:10:42.320 --> 00:10:42.330 align:start position:0%
chain what's happening so user a maybe
 

00:10:42.330 --> 00:10:45.140 align:start position:0%
chain what's happening so user a maybe
send<00:10:42.720><c> some</c><00:10:42.960><c> ether</c><00:10:43.350><c> to</c><00:10:43.650><c> the</c><00:10:43.770><c> contract</c><00:10:44.310><c> after</c><00:10:45.120><c> a</c>

00:10:45.140 --> 00:10:45.150 align:start position:0%
send some ether to the contract after a
 

00:10:45.150 --> 00:10:46.940 align:start position:0%
send some ether to the contract after a
certain<00:10:45.390><c> amount</c><00:10:45.660><c> of</c><00:10:45.780><c> time</c><00:10:46.020><c> the</c><00:10:46.320><c> counterparty</c>

00:10:46.940 --> 00:10:46.950 align:start position:0%
certain amount of time the counterparty
 

00:10:46.950 --> 00:10:49.250 align:start position:0%
certain amount of time the counterparty
is<00:10:46.980><c> expected</c><00:10:47.580><c> to</c><00:10:47.700><c> send</c><00:10:47.910><c> ether</c><00:10:48.240><c> back</c><00:10:48.480><c> or</c><00:10:48.840><c> some</c>

00:10:49.250 --> 00:10:49.260 align:start position:0%
is expected to send ether back or some
 

00:10:49.260 --> 00:10:51.710 align:start position:0%
is expected to send ether back or some
transaction<00:10:49.830><c> occurs</c><00:10:50.130><c> and</c><00:10:50.460><c> at</c><00:10:51.270><c> this</c><00:10:51.420><c> level</c>

00:10:51.710 --> 00:10:51.720 align:start position:0%
transaction occurs and at this level
 

00:10:51.720 --> 00:10:53.690 align:start position:0%
transaction occurs and at this level
it's<00:10:52.350><c> really</c><00:10:52.710><c> up</c><00:10:52.860><c> to</c><00:10:53.040><c> the</c><00:10:53.130><c> counterparty</c>

00:10:53.690 --> 00:10:53.700 align:start position:0%
it's really up to the counterparty
 

00:10:53.700 --> 00:10:57.440 align:start position:0%
it's really up to the counterparty
whether<00:10:53.880><c> they</c><00:10:54.060><c> want</c><00:10:54.270><c> to</c><00:10:54.330><c> do</c><00:10:54.450><c> that</c><00:10:54.600><c> or</c><00:10:54.750><c> not</c><00:10:56.450><c> now</c>

00:10:57.440 --> 00:10:57.450 align:start position:0%
whether they want to do that or not now
 

00:10:57.450 --> 00:10:59.780 align:start position:0%
whether they want to do that or not now
if<00:10:57.840><c> the</c><00:10:58.500><c> counterparty</c><00:10:59.040><c> doesn't</c><00:10:59.490><c> do</c><00:10:59.610><c> their</c>

00:10:59.780 --> 00:10:59.790 align:start position:0%
if the counterparty doesn't do their
 

00:10:59.790 --> 00:11:04.190 align:start position:0%
if the counterparty doesn't do their
part<00:11:00.320><c> you</c><00:11:01.320><c> have</c><00:11:01.560><c> a</c><00:11:01.890><c> time</c><00:11:02.520><c> window</c><00:11:02.790><c> a</c><00:11:03.270><c> week</c><00:11:03.900><c> a</c>

00:11:04.190 --> 00:11:04.200 align:start position:0%
part you have a time window a week a
 

00:11:04.200 --> 00:11:06.290 align:start position:0%
part you have a time window a week a
month<00:11:04.230><c> whatever</c><00:11:04.770><c> the</c><00:11:04.920><c> time</c><00:11:05.130><c> window</c><00:11:05.370><c> is</c><00:11:05.640><c> where</c>

00:11:06.290 --> 00:11:06.300 align:start position:0%
month whatever the time window is where
 

00:11:06.300 --> 00:11:10.190 align:start position:0%
month whatever the time window is where
the<00:11:06.690><c> user</c><00:11:06.990><c> can</c><00:11:08.060><c> file</c><00:11:09.060><c> a</c><00:11:09.270><c> dispute</c>

00:11:10.190 --> 00:11:10.200 align:start position:0%
the user can file a dispute
 

00:11:10.200 --> 00:11:11.990 align:start position:0%
the user can file a dispute
and<00:11:10.290><c> that's</c><00:11:10.440><c> all</c><00:11:10.620><c> on</c><00:11:10.860><c> chain</c><00:11:11.280><c> so</c><00:11:11.730><c> there's</c><00:11:11.940><c> a</c>

00:11:11.990 --> 00:11:12.000 align:start position:0%
and that's all on chain so there's a
 

00:11:12.000 --> 00:11:14.030 align:start position:0%
and that's all on chain so there's a
time<00:11:12.240><c> window</c><00:11:12.540><c> the</c><00:11:12.930><c> funds</c><00:11:13.170><c> are</c><00:11:13.350><c> locked</c><00:11:13.560><c> up</c><00:11:13.830><c> and</c>

00:11:14.030 --> 00:11:14.040 align:start position:0%
time window the funds are locked up and
 

00:11:14.040 --> 00:11:17.600 align:start position:0%
time window the funds are locked up and
so<00:11:14.820><c> imagine</c><00:11:15.240><c> user</c><00:11:15.660><c> B</c><00:11:16.020><c> has</c><00:11:16.710><c> a</c><00:11:16.740><c> problem</c><00:11:17.130><c> and</c><00:11:17.400><c> says</c>

00:11:17.600 --> 00:11:17.610 align:start position:0%
so imagine user B has a problem and says
 

00:11:17.610 --> 00:11:19.100 align:start position:0%
so imagine user B has a problem and says
yeah<00:11:17.820><c> the</c><00:11:17.940><c> counterparty</c><00:11:18.480><c> didn't</c><00:11:18.780><c> do</c><00:11:18.900><c> their</c>

00:11:19.100 --> 00:11:19.110 align:start position:0%
yeah the counterparty didn't do their
 

00:11:19.110 --> 00:11:23.480 align:start position:0%
yeah the counterparty didn't do their
job<00:11:19.140><c> so</c><00:11:20.130><c> they</c><00:11:20.340><c> send</c><00:11:20.960><c> a</c><00:11:21.960><c> dispute</c><00:11:22.890><c> resolution</c>

00:11:23.480 --> 00:11:23.490 align:start position:0%
job so they send a dispute resolution
 

00:11:23.490 --> 00:11:27.160 align:start position:0%
job so they send a dispute resolution
transaction<00:11:24.150><c> and</c><00:11:24.360><c> this</c><00:11:25.350><c> time</c><00:11:25.650><c> the</c><00:11:26.430><c> whatever</c>

00:11:27.160 --> 00:11:27.170 align:start position:0%
transaction and this time the whatever
 

00:11:27.170 --> 00:11:29.600 align:start position:0%
transaction and this time the whatever
business<00:11:28.170><c> logic</c><00:11:28.350><c> needed</c><00:11:28.830><c> to</c><00:11:28.920><c> be</c><00:11:29.010><c> executed</c>

00:11:29.600 --> 00:11:29.610 align:start position:0%
business logic needed to be executed
 

00:11:29.610 --> 00:11:31.910 align:start position:0%
business logic needed to be executed
which<00:11:29.790><c> could</c><00:11:29.970><c> be</c><00:11:30.060><c> quite</c><00:11:30.180><c> expensive</c><00:11:30.480><c> is</c><00:11:31.020><c> going</c>

00:11:31.910 --> 00:11:31.920 align:start position:0%
which could be quite expensive is going
 

00:11:31.920 --> 00:11:34.690 align:start position:0%
which could be quite expensive is going
to<00:11:32.070><c> be</c><00:11:32.190><c> fully</c><00:11:32.460><c> executed</c><00:11:33.180><c> and</c><00:11:33.360><c> because</c><00:11:34.140><c> it</c><00:11:34.470><c> is</c>

00:11:34.690 --> 00:11:34.700 align:start position:0%
to be fully executed and because it is
 

00:11:34.700 --> 00:11:38.600 align:start position:0%
to be fully executed and because it is
deterministic<00:11:35.810><c> the</c><00:11:36.810><c> winner</c><00:11:37.290><c> of</c><00:11:37.650><c> the</c><00:11:38.130><c> dispute</c>

00:11:38.600 --> 00:11:38.610 align:start position:0%
deterministic the winner of the dispute
 

00:11:38.610 --> 00:11:39.700 align:start position:0%
deterministic the winner of the dispute
will<00:11:38.820><c> always</c><00:11:39.180><c> win</c>

00:11:39.700 --> 00:11:39.710 align:start position:0%
will always win
 

00:11:39.710 --> 00:11:42.380 align:start position:0%
will always win
so<00:11:40.710><c> the</c><00:11:41.370><c> beauty</c><00:11:41.670><c> of</c><00:11:41.700><c> this</c><00:11:41.940><c> is</c><00:11:42.150><c> that</c><00:11:42.180><c> the</c>

00:11:42.380 --> 00:11:42.390 align:start position:0%
so the beauty of this is that the
 

00:11:42.390 --> 00:11:45.140 align:start position:0%
so the beauty of this is that the
incentivization<00:11:43.320><c> is</c><00:11:43.500><c> such</c><00:11:43.710><c> that</c><00:11:44.040><c> if</c><00:11:44.730><c> you</c><00:11:44.790><c> know</c>

00:11:45.140 --> 00:11:45.150 align:start position:0%
incentivization is such that if you know
 

00:11:45.150 --> 00:11:47.710 align:start position:0%
incentivization is such that if you know
you're<00:11:45.360><c> going</c><00:11:45.570><c> to</c><00:11:45.630><c> lose</c><00:11:45.960><c> you</c><00:11:46.470><c> you</c><00:11:46.830><c> would</c><00:11:47.010><c> never</c>

00:11:47.710 --> 00:11:47.720 align:start position:0%
you're going to lose you you would never
 

00:11:47.720 --> 00:11:50.360 align:start position:0%
you're going to lose you you would never
you<00:11:48.720><c> would</c><00:11:48.810><c> never</c><00:11:48.990><c> do</c><00:11:49.230><c> the</c><00:11:49.380><c> wrong</c><00:11:49.590><c> thing</c>

00:11:50.360 --> 00:11:50.370 align:start position:0%
you would never do the wrong thing
 

00:11:50.370 --> 00:11:52.700 align:start position:0%
you would never do the wrong thing
so<00:11:50.460><c> the</c><00:11:50.580><c> counterparty</c><00:11:51.270><c> has</c><00:11:51.840><c> zero</c><00:11:52.200><c> interest</c>

00:11:52.700 --> 00:11:52.710 align:start position:0%
so the counterparty has zero interest
 

00:11:52.710 --> 00:11:54.380 align:start position:0%
so the counterparty has zero interest
and<00:11:52.980><c> the</c><00:11:53.040><c> reason</c><00:11:53.340><c> you</c><00:11:53.460><c> you</c><00:11:53.730><c> force</c><00:11:54.330><c> that</c>

00:11:54.380 --> 00:11:54.390 align:start position:0%
and the reason you you force that
 

00:11:54.390 --> 00:11:56.960 align:start position:0%
and the reason you you force that
incentivization<00:11:55.410><c> to</c><00:11:55.860><c> be</c><00:11:55.980><c> aligned</c><00:11:56.310><c> so</c>

00:11:56.960 --> 00:11:56.970 align:start position:0%
incentivization to be aligned so
 

00:11:56.970 --> 00:12:01.010 align:start position:0%
incentivization to be aligned so
strictly<00:11:57.420><c> is</c><00:11:57.690><c> that</c><00:11:58.290><c> you</c><00:11:58.560><c> say</c><00:11:58.830><c> if</c><00:11:59.040><c> if</c><00:11:59.720><c> you</c><00:12:00.720><c> lose</c>

00:12:01.010 --> 00:12:01.020 align:start position:0%
strictly is that you say if if you lose
 

00:12:01.020 --> 00:12:02.810 align:start position:0%
strictly is that you say if if you lose
the<00:12:01.230><c> dispute</c><00:12:01.680><c> you</c><00:12:01.800><c> basically</c><00:12:02.190><c> lose</c><00:12:02.520><c> all</c><00:12:02.790><c> of</c>

00:12:02.810 --> 00:12:02.820 align:start position:0%
the dispute you basically lose all of
 

00:12:02.820 --> 00:12:05.210 align:start position:0%
the dispute you basically lose all of
your<00:12:03.030><c> money</c><00:12:03.330><c> right</c><00:12:03.870><c> so</c><00:12:04.050><c> you</c><00:12:04.110><c> punish</c><00:12:04.620><c> the</c>

00:12:05.210 --> 00:12:05.220 align:start position:0%
your money right so you punish the
 

00:12:05.220 --> 00:12:08.900 align:start position:0%
your money right so you punish the
person<00:12:05.460><c> for</c><00:12:06.470><c> behaving</c><00:12:07.470><c> against</c><00:12:08.130><c> the</c><00:12:08.310><c> expected</c>

00:12:08.900 --> 00:12:08.910 align:start position:0%
person for behaving against the expected
 

00:12:08.910 --> 00:12:12.020 align:start position:0%
person for behaving against the expected
the<00:12:09.660><c> expected</c><00:12:10.200><c> behavior</c><00:12:10.650><c> and</c><00:12:10.860><c> so</c><00:12:11.310><c> when</c><00:12:11.760><c> done</c>

00:12:12.020 --> 00:12:12.030 align:start position:0%
the expected behavior and so when done
 

00:12:12.030 --> 00:12:14.240 align:start position:0%
the expected behavior and so when done
right<00:12:12.060><c> there's</c><00:12:12.810><c> really</c><00:12:13.020><c> no</c><00:12:13.290><c> incentive</c><00:12:13.830><c> to</c><00:12:13.860><c> go</c>

00:12:14.240 --> 00:12:14.250 align:start position:0%
right there's really no incentive to go
 

00:12:14.250 --> 00:12:16.190 align:start position:0%
right there's really no incentive to go
against<00:12:14.520><c> the</c><00:12:14.640><c> expected</c><00:12:15.090><c> behavior</c><00:12:15.540><c> you</c><00:12:16.050><c> have</c>

00:12:16.190 --> 00:12:16.200 align:start position:0%
against the expected behavior you have
 

00:12:16.200 --> 00:12:20.060 align:start position:0%
against the expected behavior you have
user<00:12:16.470><c> a</c><00:12:16.800><c> acting</c><00:12:18.530><c> expecting</c><00:12:19.530><c> a</c><00:12:19.620><c> certain</c><00:12:19.800><c> thing</c>

00:12:20.060 --> 00:12:20.070 align:start position:0%
user a acting expecting a certain thing
 

00:12:20.070 --> 00:12:21.920 align:start position:0%
user a acting expecting a certain thing
back<00:12:20.250><c> from</c><00:12:20.580><c> the</c><00:12:21.090><c> counterparty</c><00:12:21.690><c> of</c><00:12:21.840><c> the</c>

00:12:21.920 --> 00:12:21.930 align:start position:0%
back from the counterparty of the
 

00:12:21.930 --> 00:12:24.050 align:start position:0%
back from the counterparty of the
counterparty<00:12:22.230><c> doing</c><00:12:22.740><c> their</c><00:12:22.890><c> job</c><00:12:23.130><c> the</c><00:12:23.730><c> threat</c>

00:12:24.050 --> 00:12:24.060 align:start position:0%
counterparty doing their job the threat
 

00:12:24.060 --> 00:12:26.890 align:start position:0%
counterparty doing their job the threat
of<00:12:24.330><c> the</c><00:12:24.570><c> dispute</c><00:12:25.050><c> resolution</c><00:12:25.080><c> process</c>

00:12:26.890 --> 00:12:26.900 align:start position:0%
of the dispute resolution process
 

00:12:26.900 --> 00:12:29.840 align:start position:0%
of the dispute resolution process
incentivizes<00:12:27.900><c> the</c><00:12:28.020><c> counterparty</c><00:12:28.620><c> to</c><00:12:28.850><c> do</c>

00:12:29.840 --> 00:12:29.850 align:start position:0%
incentivizes the counterparty to do
 

00:12:29.850 --> 00:12:31.910 align:start position:0%
incentivizes the counterparty to do
their<00:12:30.030><c> part</c><00:12:30.060><c> and</c><00:12:30.660><c> the</c><00:12:31.290><c> beauty</c><00:12:31.560><c> here</c><00:12:31.830><c> is</c><00:12:31.860><c> that</c>

00:12:31.910 --> 00:12:31.920 align:start position:0%
their part and the beauty here is that
 

00:12:31.920 --> 00:12:35.210 align:start position:0%
their part and the beauty here is that
you're<00:12:32.160><c> not</c><00:12:32.340><c> actually</c><00:12:33.050><c> executing</c><00:12:34.050><c> the</c><00:12:34.860><c> full</c>

00:12:35.210 --> 00:12:35.220 align:start position:0%
you're not actually executing the full
 

00:12:35.220 --> 00:12:38.720 align:start position:0%
you're not actually executing the full
contract<00:12:35.790><c> logic</c><00:12:36.330><c> on</c><00:12:36.510><c> chain</c><00:12:36.980><c> it's</c><00:12:37.980><c> just</c><00:12:38.280><c> user</c><00:12:38.550><c> a</c>

00:12:38.720 --> 00:12:38.730 align:start position:0%
contract logic on chain it's just user a
 

00:12:38.730 --> 00:12:41.000 align:start position:0%
contract logic on chain it's just user a
doing<00:12:39.420><c> their</c><00:12:39.600><c> thing</c><00:12:39.870><c> and</c><00:12:40.080><c> the</c><00:12:40.440><c> counterparty</c>

00:12:41.000 --> 00:12:41.010 align:start position:0%
doing their thing and the counterparty
 

00:12:41.010 --> 00:12:44.180 align:start position:0%
doing their thing and the counterparty
doing<00:12:41.280><c> their</c><00:12:41.460><c> thing</c><00:12:41.700><c> so</c><00:12:42.540><c> I</c><00:12:42.840><c> see</c><00:12:43.200><c> this</c><00:12:43.410><c> as</c><00:12:43.590><c> a</c>

00:12:44.180 --> 00:12:44.190 align:start position:0%
doing their thing so I see this as a
 

00:12:44.190 --> 00:12:46.040 align:start position:0%
doing their thing so I see this as a
potentially<00:12:44.910><c> huge</c><00:12:45.240><c> pattern</c><00:12:45.540><c> that</c><00:12:45.840><c> can</c><00:12:45.990><c> be</c>

00:12:46.040 --> 00:12:46.050 align:start position:0%
potentially huge pattern that can be
 

00:12:46.050 --> 00:12:49.670 align:start position:0%
potentially huge pattern that can be
used<00:12:46.410><c> across</c><00:12:47.210><c> smart</c><00:12:48.210><c> contracts</c><00:12:48.780><c> in</c><00:12:49.110><c> order</c><00:12:49.380><c> to</c>

00:12:49.670 --> 00:12:49.680 align:start position:0%
used across smart contracts in order to
 

00:12:49.680 --> 00:12:53.690 align:start position:0%
used across smart contracts in order to
optimize<00:12:50.460><c> reduce</c><00:12:51.240><c> execution</c><00:12:51.930><c> time</c><00:12:52.170><c> and</c><00:12:52.700><c> this</c>

00:12:53.690 --> 00:12:53.700 align:start position:0%
optimize reduce execution time and this
 

00:12:53.700 --> 00:12:54.860 align:start position:0%
optimize reduce execution time and this
is<00:12:53.850><c> something</c><00:12:54.150><c> that</c><00:12:54.180><c> could</c><00:12:54.420><c> be</c><00:12:54.540><c> put</c><00:12:54.720><c> to</c><00:12:54.750><c> good</c>

00:12:54.860 --> 00:12:54.870 align:start position:0%
is something that could be put to good
 

00:12:54.870 --> 00:12:58.580 align:start position:0%
is something that could be put to good
effect<00:12:55.110><c> on</c><00:12:55.380><c> a</c><00:12:55.500><c> lot</c><00:12:55.530><c> of</c><00:12:55.770><c> projects</c><00:12:56.570><c> okay</c><00:12:57.590><c> how's</c>

00:12:58.580 --> 00:12:58.590 align:start position:0%
effect on a lot of projects okay how's
 

00:12:58.590 --> 00:13:01.160 align:start position:0%
effect on a lot of projects okay how's
everybody<00:12:59.130><c> doing</c><00:12:59.520><c> you</c><00:12:59.610><c> still</c><00:12:59.850><c> with</c><00:12:59.970><c> me</c><00:13:00.170><c> the</c>

00:13:01.160 --> 00:13:01.170 align:start position:0%
everybody doing you still with me the
 

00:13:01.170 --> 00:13:03.140 align:start position:0%
everybody doing you still with me the
developers<00:13:01.770><c> are</c><00:13:01.980><c> the</c><00:13:02.340><c> developers</c><00:13:02.850><c> are</c><00:13:03.000><c> like</c>

00:13:03.140 --> 00:13:03.150 align:start position:0%
developers are the developers are like
 

00:13:03.150 --> 00:13:07.760 align:start position:0%
developers are the developers are like
yeah<00:13:03.360><c> this</c><00:13:03.630><c> is</c><00:13:03.690><c> cool</c><00:13:04.110><c> okay</c><00:13:06.110><c> so</c><00:13:07.110><c> we</c><00:13:07.440><c> have</c><00:13:07.620><c> some</c>

00:13:07.760 --> 00:13:07.770 align:start position:0%
yeah this is cool okay so we have some
 

00:13:07.770 --> 00:13:09.500 align:start position:0%
yeah this is cool okay so we have some
higher-level<00:13:08.010><c> patterns</c><00:13:08.670><c> and</c><00:13:08.850><c> these</c><00:13:08.970><c> are</c><00:13:09.270><c> for</c>

00:13:09.500 --> 00:13:09.510 align:start position:0%
higher-level patterns and these are for
 

00:13:09.510 --> 00:13:10.970 align:start position:0%
higher-level patterns and these are for
you<00:13:09.540><c> as</c><00:13:09.810><c> well</c><00:13:09.990><c> these</c><00:13:10.260><c> are</c><00:13:10.320><c> also</c><00:13:10.620><c> for</c>

00:13:10.970 --> 00:13:10.980 align:start position:0%
you as well these are also for
 

00:13:10.980 --> 00:13:13.610 align:start position:0%
you as well these are also for
developers<00:13:11.520><c> if</c><00:13:11.730><c> you</c><00:13:12.300><c> spend</c><00:13:12.720><c> more</c><00:13:13.320><c> than</c><00:13:13.380><c> a</c>

00:13:13.610 --> 00:13:13.620 align:start position:0%
developers if you spend more than a
 

00:13:13.620 --> 00:13:16.340 align:start position:0%
developers if you spend more than a
couple<00:13:13.860><c> years</c><00:13:14.090><c> working</c><00:13:15.090><c> in</c><00:13:15.570><c> the</c><00:13:15.930><c> software</c>

00:13:16.340 --> 00:13:16.350 align:start position:0%
couple years working in the software
 

00:13:16.350 --> 00:13:18.950 align:start position:0%
couple years working in the software
industry<00:13:16.650><c> I</c><00:13:17.250><c> hate</c><00:13:18.090><c> to</c><00:13:18.240><c> break</c><00:13:18.390><c> it</c><00:13:18.450><c> to</c><00:13:18.600><c> you</c><00:13:18.780><c> but</c>

00:13:18.950 --> 00:13:18.960 align:start position:0%
industry I hate to break it to you but
 

00:13:18.960 --> 00:13:21.050 align:start position:0%
industry I hate to break it to you but
you're<00:13:19.110><c> gonna</c><00:13:19.170><c> have</c><00:13:19.500><c> to</c><00:13:19.560><c> do</c><00:13:20.550><c> some</c><00:13:20.820><c> things</c>

00:13:21.050 --> 00:13:21.060 align:start position:0%
you're gonna have to do some things
 

00:13:21.060 --> 00:13:23.360 align:start position:0%
you're gonna have to do some things
other<00:13:21.300><c> than</c><00:13:21.420><c> coding</c><00:13:21.960><c> you're</c><00:13:22.860><c> gonna</c><00:13:22.980><c> have</c><00:13:23.220><c> to</c>

00:13:23.360 --> 00:13:23.370 align:start position:0%
other than coding you're gonna have to
 

00:13:23.370 --> 00:13:23.600 align:start position:0%
other than coding you're gonna have to
learn

00:13:23.600 --> 00:13:23.610 align:start position:0%
learn
 

00:13:23.610 --> 00:13:25.610 align:start position:0%
learn
some<00:13:23.760><c> other</c><00:13:23.910><c> skills</c><00:13:24.209><c> and</c><00:13:24.510><c> some</c><00:13:25.230><c> of</c><00:13:25.380><c> those</c><00:13:25.470><c> are</c>

00:13:25.610 --> 00:13:25.620 align:start position:0%
some other skills and some of those are
 

00:13:25.620 --> 00:13:27.410 align:start position:0%
some other skills and some of those are
going<00:13:25.649><c> to</c><00:13:25.800><c> be</c><00:13:25.920><c> technical</c><00:13:26.459><c> skills</c><00:13:26.820><c> and</c><00:13:27.089><c> some</c><00:13:27.300><c> of</c>

00:13:27.410 --> 00:13:27.420 align:start position:0%
going to be technical skills and some of
 

00:13:27.420 --> 00:13:29.389 align:start position:0%
going to be technical skills and some of
those<00:13:27.570><c> are</c><00:13:27.810><c> less</c><00:13:27.930><c> technical</c><00:13:28.560><c> but</c><00:13:29.070><c> what</c><00:13:29.279><c> are</c>

00:13:29.389 --> 00:13:29.399 align:start position:0%
those are less technical but what are
 

00:13:29.399 --> 00:13:31.040 align:start position:0%
those are less technical but what are
the<00:13:29.490><c> higher-level</c><00:13:29.760><c> patterns</c><00:13:30.510><c> that</c><00:13:30.750><c> allow</c><00:13:30.870><c> you</c>

00:13:31.040 --> 00:13:31.050 align:start position:0%
the higher-level patterns that allow you
 

00:13:31.050 --> 00:13:33.050 align:start position:0%
the higher-level patterns that allow you
to<00:13:31.170><c> be</c><00:13:31.320><c> successful</c><00:13:31.350><c> as</c><00:13:32.220><c> a</c><00:13:32.279><c> smart</c><00:13:32.910><c> contract</c>

00:13:33.050 --> 00:13:33.060 align:start position:0%
to be successful as a smart contract
 

00:13:33.060 --> 00:13:35.600 align:start position:0%
to be successful as a smart contract
developer<00:13:33.899><c> not</c><00:13:34.560><c> just</c><00:13:35.010><c> when</c><00:13:35.279><c> you're</c><00:13:35.310><c> in</c>

00:13:35.600 --> 00:13:35.610 align:start position:0%
developer not just when you're in
 

00:13:35.610 --> 00:13:37.819 align:start position:0%
developer not just when you're in
solidity<00:13:36.180><c> land</c><00:13:36.630><c> but</c><00:13:37.380><c> when</c><00:13:37.529><c> you're</c><00:13:37.680><c> working</c>

00:13:37.819 --> 00:13:37.829 align:start position:0%
solidity land but when you're working
 

00:13:37.829 --> 00:13:40.009 align:start position:0%
solidity land but when you're working
with<00:13:38.160><c> your</c><00:13:38.310><c> team</c><00:13:38.600><c> when</c><00:13:39.600><c> you're</c><00:13:39.750><c> making</c>

00:13:40.009 --> 00:13:40.019 align:start position:0%
with your team when you're making
 

00:13:40.019 --> 00:13:42.710 align:start position:0%
with your team when you're making
judgment<00:13:40.470><c> calls</c><00:13:40.790><c> when</c><00:13:41.790><c> you're</c><00:13:42.000><c> making</c>

00:13:42.710 --> 00:13:42.720 align:start position:0%
judgment calls when you're making
 

00:13:42.720 --> 00:13:45.440 align:start position:0%
judgment calls when you're making
important<00:13:43.649><c> decisions</c><00:13:43.680><c> about</c><00:13:44.550><c> the</c><00:13:45.029><c> direction</c>

00:13:45.440 --> 00:13:45.450 align:start position:0%
important decisions about the direction
 

00:13:45.450 --> 00:13:47.780 align:start position:0%
important decisions about the direction
of<00:13:45.510><c> your</c><00:13:45.660><c> product</c><00:13:46.110><c> that</c><00:13:46.920><c> the</c><00:13:47.339><c> rest</c><00:13:47.519><c> of</c><00:13:47.670><c> your</c>

00:13:47.780 --> 00:13:47.790 align:start position:0%
of your product that the rest of your
 

00:13:47.790 --> 00:13:53.680 align:start position:0%
of your product that the rest of your
team<00:13:48.029><c> is</c><00:13:48.209><c> looking</c><00:13:48.390><c> to</c><00:13:48.600><c> you</c><00:13:48.899><c> for</c><00:13:50.870><c> so</c><00:13:51.870><c> one</c><00:13:52.709><c> is</c>

00:13:53.680 --> 00:13:53.690 align:start position:0%
team is looking to you for so one is
 

00:13:53.690 --> 00:13:57.079 align:start position:0%
team is looking to you for so one is
something<00:13:54.690><c> that</c><00:13:54.990><c> I</c><00:13:55.230><c> call</c><00:13:55.410><c> role</c><00:13:55.850><c> analysis</c><00:13:56.850><c> this</c>

00:13:57.079 --> 00:13:57.089 align:start position:0%
something that I call role analysis this
 

00:13:57.089 --> 00:14:00.079 align:start position:0%
something that I call role analysis this
isn't<00:13:57.630><c> a</c><00:13:57.690><c> technical</c><00:13:57.990><c> term</c><00:13:58.350><c> but</c><00:13:58.920><c> role</c><00:13:59.490><c> analysis</c>

00:14:00.079 --> 00:14:00.089 align:start position:0%
isn't a technical term but role analysis
 

00:14:00.089 --> 00:14:02.540 align:start position:0%
isn't a technical term but role analysis
how<00:14:00.269><c> do</c><00:14:00.329><c> you</c><00:14:00.510><c> analyze</c><00:14:01.019><c> the</c><00:14:01.320><c> roles</c><00:14:01.589><c> in</c><00:14:01.980><c> the</c>

00:14:02.540 --> 00:14:02.550 align:start position:0%
how do you analyze the roles in the
 

00:14:02.550 --> 00:14:04.940 align:start position:0%
how do you analyze the roles in the
smart<00:14:02.850><c> contract</c><00:14:03.329><c> and</c><00:14:03.540><c> this</c><00:14:03.660><c> is</c><00:14:03.950><c> something</c>

00:14:04.940 --> 00:14:04.950 align:start position:0%
smart contract and this is something
 

00:14:04.950 --> 00:14:07.519 align:start position:0%
smart contract and this is something
that<00:14:05.250><c> you</c><00:14:05.399><c> can</c><00:14:05.579><c> use</c><00:14:05.940><c> this</c><00:14:06.600><c> this</c><00:14:06.930><c> is</c><00:14:07.110><c> simply</c><00:14:07.410><c> an</c>

00:14:07.519 --> 00:14:07.529 align:start position:0%
that you can use this this is simply an
 

00:14:07.529 --> 00:14:09.199 align:start position:0%
that you can use this this is simply an
approach<00:14:07.860><c> to</c><00:14:08.070><c> smart</c><00:14:08.339><c> contract</c><00:14:08.760><c> development</c>

00:14:09.199 --> 00:14:09.209 align:start position:0%
approach to smart contract development
 

00:14:09.209 --> 00:14:11.150 align:start position:0%
approach to smart contract development
and<00:14:09.300><c> design</c><00:14:09.600><c> and</c><00:14:09.959><c> you</c><00:14:10.620><c> can</c><00:14:10.769><c> use</c><00:14:10.890><c> it</c><00:14:11.010><c> at</c><00:14:11.130><c> any</c>

00:14:11.150 --> 00:14:11.160 align:start position:0%
and design and you can use it at any
 

00:14:11.160 --> 00:14:13.370 align:start position:0%
and design and you can use it at any
stage<00:14:11.700><c> of</c><00:14:11.850><c> the</c><00:14:11.910><c> process</c><00:14:12.170><c> so</c><00:14:13.170><c> if</c><00:14:13.260><c> you're</c>

00:14:13.370 --> 00:14:13.380 align:start position:0%
stage of the process so if you're
 

00:14:13.380 --> 00:14:15.730 align:start position:0%
stage of the process so if you're
designing<00:14:13.560><c> a</c><00:14:13.950><c> smart</c><00:14:14.190><c> contract</c><00:14:14.339><c> from</c><00:14:14.940><c> scratch</c>

00:14:15.730 --> 00:14:15.740 align:start position:0%
designing a smart contract from scratch
 

00:14:15.740 --> 00:14:18.970 align:start position:0%
designing a smart contract from scratch
who<00:14:16.740><c> is</c><00:14:17.130><c> interacting</c><00:14:18.029><c> with</c><00:14:18.510><c> the</c><00:14:18.630><c> system</c>

00:14:18.970 --> 00:14:18.980 align:start position:0%
who is interacting with the system
 

00:14:18.980 --> 00:14:21.259 align:start position:0%
who is interacting with the system
that's<00:14:19.980><c> the</c><00:14:20.190><c> main</c><00:14:20.370><c> question</c><00:14:20.550><c> you're</c><00:14:20.910><c> asking</c>

00:14:21.259 --> 00:14:21.269 align:start position:0%
that's the main question you're asking
 

00:14:21.269 --> 00:14:24.199 align:start position:0%
that's the main question you're asking
here<00:14:22.130><c> who</c><00:14:23.130><c> is</c><00:14:23.250><c> interacting</c><00:14:23.550><c> with</c><00:14:23.940><c> the</c><00:14:24.060><c> system</c>

00:14:24.199 --> 00:14:24.209 align:start position:0%
here who is interacting with the system
 

00:14:24.209 --> 00:14:27.550 align:start position:0%
here who is interacting with the system
and<00:14:24.950><c> what</c><00:14:25.950><c> are</c><00:14:26.070><c> their</c><00:14:26.279><c> incentives</c><00:14:26.940><c> and</c><00:14:27.180><c> how</c>

00:14:27.550 --> 00:14:27.560 align:start position:0%
and what are their incentives and how
 

00:14:27.560 --> 00:14:29.960 align:start position:0%
and what are their incentives and how
does<00:14:28.560><c> the</c><00:14:28.740><c> behavior</c><00:14:29.100><c> how</c><00:14:29.640><c> are</c><00:14:29.790><c> their</c>

00:14:29.960 --> 00:14:29.970 align:start position:0%
does the behavior how are their
 

00:14:29.970 --> 00:14:33.250 align:start position:0%
does the behavior how are their
behaviors<00:14:30.570><c> going</c><00:14:31.380><c> to</c><00:14:31.500><c> derive</c><00:14:31.829><c> from</c><00:14:31.860><c> the</c>

00:14:33.250 --> 00:14:33.260 align:start position:0%
behaviors going to derive from the
 

00:14:33.260 --> 00:14:36.230 align:start position:0%
behaviors going to derive from the
functions<00:14:34.260><c> that</c><00:14:34.740><c> you</c><00:14:35.160><c> exposed</c><00:14:35.820><c> to</c><00:14:36.060><c> these</c>

00:14:36.230 --> 00:14:36.240 align:start position:0%
functions that you exposed to these
 

00:14:36.240 --> 00:14:39.079 align:start position:0%
functions that you exposed to these
different<00:14:36.660><c> roles</c><00:14:36.810><c> so</c><00:14:37.140><c> I</c><00:14:38.100><c> use</c><00:14:38.459><c> this</c><00:14:38.670><c> both</c><00:14:38.880><c> in</c>

00:14:39.079 --> 00:14:39.089 align:start position:0%
different roles so I use this both in
 

00:14:39.089 --> 00:14:41.360 align:start position:0%
different roles so I use this both in
the<00:14:39.540><c> design</c><00:14:39.690><c> process</c><00:14:40.410><c> but</c><00:14:40.560><c> I</c><00:14:40.620><c> also</c><00:14:40.890><c> use</c><00:14:41.190><c> this</c>

00:14:41.360 --> 00:14:41.370 align:start position:0%
the design process but I also use this
 

00:14:41.370 --> 00:14:43.790 align:start position:0%
the design process but I also use this
throughout<00:14:41.579><c> the</c><00:14:41.790><c> entire</c><00:14:41.820><c> career</c><00:14:42.630><c> of</c><00:14:42.899><c> the</c>

00:14:43.790 --> 00:14:43.800 align:start position:0%
throughout the entire career of the
 

00:14:43.800 --> 00:14:46.009 align:start position:0%
throughout the entire career of the
smart<00:14:44.070><c> contract</c><00:14:44.519><c> system</c><00:14:44.899><c> when</c><00:14:45.899><c> you're</c>

00:14:46.009 --> 00:14:46.019 align:start position:0%
smart contract system when you're
 

00:14:46.019 --> 00:14:47.620 align:start position:0%
smart contract system when you're
iterating<00:14:46.649><c> and</c><00:14:46.740><c> you're</c><00:14:46.890><c> adding</c><00:14:47.010><c> new</c><00:14:47.220><c> features</c>

00:14:47.620 --> 00:14:47.630 align:start position:0%
iterating and you're adding new features
 

00:14:47.630 --> 00:14:50.750 align:start position:0%
iterating and you're adding new features
there's<00:14:48.630><c> always</c><00:14:48.959><c> going</c><00:14:49.320><c> to</c><00:14:49.440><c> be</c><00:14:49.760><c> adjustments</c>

00:14:50.750 --> 00:14:50.760 align:start position:0%
there's always going to be adjustments
 

00:14:50.760 --> 00:14:53.269 align:start position:0%
there's always going to be adjustments
to<00:14:50.910><c> the</c><00:14:51.000><c> behaviors</c><00:14:51.630><c> of</c><00:14:52.019><c> the</c><00:14:52.620><c> different</c><00:14:53.040><c> users</c>

00:14:53.269 --> 00:14:53.279 align:start position:0%
to the behaviors of the different users
 

00:14:53.279 --> 00:14:55.490 align:start position:0%
to the behaviors of the different users
and<00:14:53.790><c> the</c><00:14:54.000><c> different</c><00:14:54.329><c> roles</c><00:14:54.540><c> that</c><00:14:54.899><c> are</c>

00:14:55.490 --> 00:14:55.500 align:start position:0%
and the different roles that are
 

00:14:55.500 --> 00:14:58.579 align:start position:0%
and the different roles that are
interacting<00:14:56.490><c> with</c><00:14:56.610><c> your</c><00:14:56.730><c> system</c><00:14:57.120><c> so</c><00:14:57.990><c> to</c><00:14:58.019><c> be</c><00:14:58.560><c> a</c>

00:14:58.579 --> 00:14:58.589 align:start position:0%
interacting with your system so to be a
 

00:14:58.589 --> 00:15:01.069 align:start position:0%
interacting with your system so to be a
really<00:14:59.160><c> good</c><00:14:59.370><c> smart</c><00:14:59.699><c> contract</c><00:15:00.180><c> developer</c><00:15:00.750><c> you</c>

00:15:01.069 --> 00:15:01.079 align:start position:0%
really good smart contract developer you
 

00:15:01.079 --> 00:15:04.150 align:start position:0%
really good smart contract developer you
have<00:15:01.110><c> to</c><00:15:01.709><c> understand</c><00:15:02.310><c> all</c><00:15:02.940><c> of</c><00:15:03.360><c> the</c><00:15:03.480><c> roles</c><00:15:03.720><c> of</c>

00:15:04.150 --> 00:15:04.160 align:start position:0%
have to understand all of the roles of
 

00:15:04.160 --> 00:15:05.990 align:start position:0%
have to understand all of the roles of
individuals<00:15:05.160><c> interacting</c><00:15:05.730><c> with</c><00:15:05.880><c> your</c>

00:15:05.990 --> 00:15:06.000 align:start position:0%
individuals interacting with your
 

00:15:06.000 --> 00:15:08.810 align:start position:0%
individuals interacting with your
contract<00:15:06.449><c> what</c><00:15:07.380><c> their</c><00:15:07.620><c> different</c><00:15:08.070><c> incentives</c>

00:15:08.810 --> 00:15:08.820 align:start position:0%
contract what their different incentives
 

00:15:08.820 --> 00:15:11.449 align:start position:0%
contract what their different incentives
are<00:15:08.970><c> and</c><00:15:09.269><c> how</c><00:15:10.199><c> that</c><00:15:10.230><c> affects</c><00:15:10.860><c> the</c><00:15:11.430><c> overall</c>

00:15:11.449 --> 00:15:11.459 align:start position:0%
are and how that affects the overall
 

00:15:11.459 --> 00:15:13.490 align:start position:0%
are and how that affects the overall
functioning<00:15:12.300><c> of</c><00:15:12.420><c> the</c><00:15:12.540><c> system</c><00:15:12.690><c> right</c><00:15:13.199><c> this</c><00:15:13.350><c> is</c>

00:15:13.490 --> 00:15:13.500 align:start position:0%
functioning of the system right this is
 

00:15:13.500 --> 00:15:15.350 align:start position:0%
functioning of the system right this is
like<00:15:13.680><c> the</c><00:15:13.800><c> essence</c><00:15:14.220><c> of</c><00:15:14.370><c> the</c><00:15:14.550><c> game</c><00:15:15.029><c> theoretic</c>

00:15:15.350 --> 00:15:15.360 align:start position:0%
like the essence of the game theoretic
 

00:15:15.360 --> 00:15:18.199 align:start position:0%
like the essence of the game theoretic
nature<00:15:15.990><c> of</c><00:15:16.490><c> decentralized</c><00:15:17.490><c> smart</c><00:15:17.760><c> contracts</c>

00:15:18.199 --> 00:15:18.209 align:start position:0%
nature of decentralized smart contracts
 

00:15:18.209 --> 00:15:21.259 align:start position:0%
nature of decentralized smart contracts
so<00:15:18.390><c> just</c><00:15:18.660><c> some</c><00:15:18.839><c> examples</c><00:15:19.440><c> the</c><00:15:20.310><c> prism</c><00:15:20.730><c> contract</c>

00:15:21.259 --> 00:15:21.269 align:start position:0%
so just some examples the prism contract
 

00:15:21.269 --> 00:15:24.500 align:start position:0%
so just some examples the prism contract
for<00:15:21.800><c> shapeshift</c><00:15:22.800><c> prism</c><00:15:23.190><c> has</c><00:15:23.610><c> a</c><00:15:24.060><c> few</c><00:15:24.269><c> simple</c>

00:15:24.500 --> 00:15:24.510 align:start position:0%
for shapeshift prism has a few simple
 

00:15:24.510 --> 00:15:27.230 align:start position:0%
for shapeshift prism has a few simple
roles<00:15:24.839><c> it</c><00:15:25.050><c> has</c><00:15:25.170><c> a</c><00:15:25.199><c> buyer</c><00:15:25.529><c> a</c><00:15:25.890><c> seller</c><00:15:26.519><c> and</c><00:15:26.850><c> an</c>

00:15:27.230 --> 00:15:27.240 align:start position:0%
roles it has a buyer a seller and an
 

00:15:27.240 --> 00:15:31.960 align:start position:0%
roles it has a buyer a seller and an
Oracle<00:15:27.690><c> and</c><00:15:28.940><c> with</c><00:15:29.940><c> prism</c><00:15:30.390><c> the</c><00:15:30.810><c> buyer</c>

00:15:31.960 --> 00:15:31.970 align:start position:0%
Oracle and with prism the buyer
 

00:15:31.970 --> 00:15:36.350 align:start position:0%
Oracle and with prism the buyer
purchases<00:15:32.970><c> a</c><00:15:34.490><c> contract</c><00:15:35.490><c> a</c><00:15:35.670><c> portfolio</c><00:15:36.270><c> of</c>

00:15:36.350 --> 00:15:36.360 align:start position:0%
purchases a contract a portfolio of
 

00:15:36.360 --> 00:15:37.430 align:start position:0%
purchases a contract a portfolio of
different<00:15:36.660><c> digital</c>

00:15:37.430 --> 00:15:37.440 align:start position:0%
different digital
 

00:15:37.440 --> 00:15:39.590 align:start position:0%
different digital
sets<00:15:37.740><c> the</c><00:15:38.520><c> seller</c><00:15:38.790><c> is</c><00:15:38.970><c> putting</c><00:15:39.270><c> up</c><00:15:39.390><c> collateral</c>

00:15:39.590 --> 00:15:39.600 align:start position:0%
sets the seller is putting up collateral
 

00:15:39.600 --> 00:15:43.490 align:start position:0%
sets the seller is putting up collateral
to<00:15:40.530><c> ensure</c><00:15:40.890><c> that</c><00:15:41.280><c> those</c><00:15:41.730><c> assets</c><00:15:42.360><c> can</c><00:15:42.690><c> be</c><00:15:43.290><c> paid</c>

00:15:43.490 --> 00:15:43.500 align:start position:0%
to ensure that those assets can be paid
 

00:15:43.500 --> 00:15:44.900 align:start position:0%
to ensure that those assets can be paid
off<00:15:43.530><c> depending</c><00:15:44.190><c> on</c><00:15:44.280><c> whether</c><00:15:44.520><c> the</c><00:15:44.700><c> portfolio</c>

00:15:44.900 --> 00:15:44.910 align:start position:0%
off depending on whether the portfolio
 

00:15:44.910 --> 00:15:47.750 align:start position:0%
off depending on whether the portfolio
goes<00:15:45.480><c> up</c><00:15:45.660><c> or</c><00:15:45.810><c> down</c><00:15:45.840><c> and</c><00:15:46.320><c> then</c><00:15:47.040><c> the</c><00:15:47.130><c> Oracle</c><00:15:47.610><c> is</c>

00:15:47.750 --> 00:15:47.760 align:start position:0%
goes up or down and then the Oracle is
 

00:15:47.760 --> 00:15:49.820 align:start position:0%
goes up or down and then the Oracle is
another<00:15:48.090><c> entity</c><00:15:48.450><c> that's</c><00:15:48.870><c> providing</c><00:15:49.620><c> the</c>

00:15:49.820 --> 00:15:49.830 align:start position:0%
another entity that's providing the
 

00:15:49.830 --> 00:15:52.370 align:start position:0%
another entity that's providing the
prices<00:15:50.310><c> that</c><00:15:51.210><c> determines</c><00:15:51.750><c> the</c><00:15:51.870><c> value</c><00:15:51.990><c> of</c><00:15:52.290><c> the</c>

00:15:52.370 --> 00:15:52.380 align:start position:0%
prices that determines the value of the
 

00:15:52.380 --> 00:15:56.120 align:start position:0%
prices that determines the value of the
portfolio<00:15:53.000><c> so</c><00:15:54.000><c> different</c><00:15:54.510><c> roles</c><00:15:54.750><c> and</c><00:15:55.130><c> even</c>

00:15:56.120 --> 00:15:56.130 align:start position:0%
portfolio so different roles and even
 

00:15:56.130 --> 00:15:58.010 align:start position:0%
portfolio so different roles and even
these<00:15:56.250><c> simple</c><00:15:56.460><c> three</c><00:15:56.910><c> roles</c><00:15:57.180><c> have</c><00:15:57.480><c> involved</c><00:15:57.930><c> a</c>

00:15:58.010 --> 00:15:58.020 align:start position:0%
these simple three roles have involved a
 

00:15:58.020 --> 00:16:00.740 align:start position:0%
these simple three roles have involved a
high<00:15:58.200><c> level</c><00:15:58.710><c> a</c><00:15:58.950><c> high</c><00:15:59.430><c> degree</c><00:15:59.610><c> of</c><00:15:59.820><c> analysis</c><00:16:00.510><c> on</c>

00:16:00.740 --> 00:16:00.750 align:start position:0%
high level a high degree of analysis on
 

00:16:00.750 --> 00:16:03.410 align:start position:0%
high level a high degree of analysis on
ongoing<00:16:01.140><c> analysis</c><00:16:02.070><c> to</c><00:16:02.580><c> make</c><00:16:02.790><c> sure</c><00:16:03.060><c> that</c><00:16:03.300><c> the</c>

00:16:03.410 --> 00:16:03.420 align:start position:0%
ongoing analysis to make sure that the
 

00:16:03.420 --> 00:16:06.290 align:start position:0%
ongoing analysis to make sure that the
trust<00:16:03.720><c> implications</c><00:16:04.500><c> are</c><00:16:04.830><c> well</c><00:16:05.640><c> understood</c>

00:16:06.290 --> 00:16:06.300 align:start position:0%
trust implications are well understood
 

00:16:06.300 --> 00:16:09.080 align:start position:0%
trust implications are well understood
as<00:16:06.570><c> the</c><00:16:07.200><c> contract</c><00:16:07.740><c> develops</c><00:16:08.640><c> and</c><00:16:08.820><c> becomes</c>

00:16:09.080 --> 00:16:09.090 align:start position:0%
as the contract develops and becomes
 

00:16:09.090 --> 00:16:12.650 align:start position:0%
as the contract develops and becomes
more<00:16:09.300><c> sophisticated</c><00:16:10.130><c> another</c><00:16:11.130><c> example</c><00:16:11.850><c> is</c><00:16:12.060><c> a</c>

00:16:12.650 --> 00:16:12.660 align:start position:0%
more sophisticated another example is a
 

00:16:12.660 --> 00:16:14.870 align:start position:0%
more sophisticated another example is a
salt<00:16:13.020><c> loan</c><00:16:13.470><c> let's</c><00:16:13.950><c> say</c><00:16:14.130><c> you</c><00:16:14.190><c> were</c><00:16:14.400><c> doing</c><00:16:14.430><c> a</c>

00:16:14.870 --> 00:16:14.880 align:start position:0%
salt loan let's say you were doing a
 

00:16:14.880 --> 00:16:19.280 align:start position:0%
salt loan let's say you were doing a
loan<00:16:15.480><c> that</c><00:16:15.900><c> was</c><00:16:16.200><c> backed</c><00:16:16.980><c> by</c><00:16:17.810><c> by</c><00:16:18.810><c> digital</c>

00:16:19.280 --> 00:16:19.290 align:start position:0%
loan that was backed by by digital
 

00:16:19.290 --> 00:16:20.750 align:start position:0%
loan that was backed by by digital
assets<00:16:19.740><c> that</c><00:16:19.890><c> was</c><00:16:20.010><c> collateralized</c><00:16:20.640><c> by</c>

00:16:20.750 --> 00:16:20.760 align:start position:0%
assets that was collateralized by
 

00:16:20.760 --> 00:16:22.370 align:start position:0%
assets that was collateralized by
digital<00:16:21.150><c> assets</c><00:16:21.540><c> in</c><00:16:21.720><c> this</c><00:16:21.840><c> case</c><00:16:22.050><c> you</c><00:16:22.200><c> have</c><00:16:22.290><c> a</c>

00:16:22.370 --> 00:16:22.380 align:start position:0%
digital assets in this case you have a
 

00:16:22.380 --> 00:16:24.920 align:start position:0%
digital assets in this case you have a
borrower<00:16:22.760><c> someone</c><00:16:23.760><c> who's</c><00:16:23.910><c> borrowing</c><00:16:24.240><c> cash</c>

00:16:24.920 --> 00:16:24.930 align:start position:0%
borrower someone who's borrowing cash
 

00:16:24.930 --> 00:16:26.750 align:start position:0%
borrower someone who's borrowing cash
and<00:16:25.380><c> then</c><00:16:25.770><c> you</c><00:16:25.890><c> have</c><00:16:26.010><c> a</c><00:16:26.040><c> lender</c><00:16:26.520><c> who's</c>

00:16:26.750 --> 00:16:26.760 align:start position:0%
and then you have a lender who's
 

00:16:26.760 --> 00:16:29.480 align:start position:0%
and then you have a lender who's
offering<00:16:27.600><c> that</c><00:16:27.780><c> cash</c><00:16:28.020><c> but</c><00:16:28.380><c> then</c><00:16:28.560><c> locking</c><00:16:29.160><c> up</c>

00:16:29.480 --> 00:16:29.490 align:start position:0%
offering that cash but then locking up
 

00:16:29.490 --> 00:16:31.760 align:start position:0%
offering that cash but then locking up
the<00:16:29.730><c> collateral</c><00:16:30.270><c> and</c><00:16:30.450><c> in</c><00:16:31.050><c> this</c><00:16:31.170><c> case</c><00:16:31.440><c> you</c><00:16:31.590><c> have</c>

00:16:31.760 --> 00:16:31.770 align:start position:0%
the collateral and in this case you have
 

00:16:31.770 --> 00:16:36.170 align:start position:0%
the collateral and in this case you have
salt<00:16:32.100><c> as</c><00:16:32.280><c> a</c><00:16:32.310><c> kind</c><00:16:32.700><c> of</c><00:16:33.830><c> multi-sig</c><00:16:35.150><c> arbiter</c><00:16:36.150><c> to</c>

00:16:36.170 --> 00:16:36.180 align:start position:0%
salt as a kind of multi-sig arbiter to
 

00:16:36.180 --> 00:16:38.900 align:start position:0%
salt as a kind of multi-sig arbiter to
make<00:16:36.570><c> sure</c><00:16:36.810><c> that</c><00:16:37.200><c> if</c><00:16:37.500><c> anything</c><00:16:37.890><c> funky</c><00:16:38.550><c> happens</c>

00:16:38.900 --> 00:16:38.910 align:start position:0%
make sure that if anything funky happens
 

00:16:38.910 --> 00:16:40.610 align:start position:0%
make sure that if anything funky happens
with<00:16:39.060><c> the</c><00:16:39.150><c> other</c><00:16:39.300><c> two</c><00:16:39.570><c> salt</c><00:16:39.960><c> is</c><00:16:40.110><c> in</c><00:16:40.140><c> there</c><00:16:40.440><c> and</c>

00:16:40.610 --> 00:16:40.620 align:start position:0%
with the other two salt is in there and
 

00:16:40.620 --> 00:16:44.870 align:start position:0%
with the other two salt is in there and
can<00:16:41.570><c> have</c><00:16:42.570><c> the</c><00:16:42.720><c> last</c><00:16:42.930><c> word</c><00:16:43.640><c> this</c><00:16:44.640><c> is</c><00:16:44.760><c> an</c>

00:16:44.870 --> 00:16:44.880 align:start position:0%
can have the last word this is an
 

00:16:44.880 --> 00:16:49.010 align:start position:0%
can have the last word this is an
example<00:16:45.180><c> from</c><00:16:45.510><c> a</c><00:16:45.630><c> talk</c><00:16:45.960><c> yesterday</c><00:16:47.660><c> the</c><00:16:48.660><c> liquid</c>

00:16:49.010 --> 00:16:49.020 align:start position:0%
example from a talk yesterday the liquid
 

00:16:49.020 --> 00:16:51.860 align:start position:0%
example from a talk yesterday the liquid
pledging<00:16:49.610><c> contract</c><00:16:50.610><c> was</c><00:16:50.880><c> really</c><00:16:51.210><c> I</c><00:16:51.390><c> thought</c>

00:16:51.860 --> 00:16:51.870 align:start position:0%
pledging contract was really I thought
 

00:16:51.870 --> 00:16:55.700 align:start position:0%
pledging contract was really I thought
really<00:16:52.080><c> a</c><00:16:52.440><c> brilliant</c><00:16:52.800><c> idea</c><00:16:53.580><c> to</c><00:16:54.110><c> combine</c><00:16:55.110><c> fund</c>

00:16:55.700 --> 00:16:55.710 align:start position:0%
really a brilliant idea to combine fund
 

00:16:55.710 --> 00:17:00.050 align:start position:0%
really a brilliant idea to combine fund
management<00:16:56.250><c> with</c><00:16:57.380><c> liquid</c><00:16:58.380><c> democracy</c><00:16:59.340><c> and</c>

00:17:00.050 --> 00:17:00.060 align:start position:0%
management with liquid democracy and
 

00:17:00.060 --> 00:17:02.150 align:start position:0%
management with liquid democracy and
here<00:17:00.810><c> there</c><00:17:01.050><c> could</c><00:17:01.200><c> be</c><00:17:01.230><c> many</c><00:17:01.440><c> arrangements</c>

00:17:02.150 --> 00:17:02.160 align:start position:0%
here there could be many arrangements
 

00:17:02.160 --> 00:17:04.819 align:start position:0%
here there could be many arrangements
but<00:17:02.730><c> a</c><00:17:03.000><c> simple</c><00:17:03.840><c> arrangement</c><00:17:04.110><c> is</c><00:17:04.530><c> to</c><00:17:04.680><c> have</c><00:17:04.800><c> a</c>

00:17:04.819 --> 00:17:04.829 align:start position:0%
but a simple arrangement is to have a
 

00:17:04.829 --> 00:17:07.160 align:start position:0%
but a simple arrangement is to have a
giver<00:17:05.189><c> who's</c><00:17:05.939><c> providing</c><00:17:06.540><c> some</c><00:17:06.720><c> ether</c><00:17:06.870><c> and</c>

00:17:07.160 --> 00:17:07.170 align:start position:0%
giver who's providing some ether and
 

00:17:07.170 --> 00:17:08.540 align:start position:0%
giver who's providing some ether and
they<00:17:07.260><c> want</c><00:17:07.439><c> that</c><00:17:07.530><c> to</c><00:17:07.770><c> go</c><00:17:07.890><c> to</c><00:17:07.949><c> a</c><00:17:08.010><c> to</c><00:17:08.250><c> a</c><00:17:08.280><c> good</c>

00:17:08.540 --> 00:17:08.550 align:start position:0%
they want that to go to a to a good
 

00:17:08.550 --> 00:17:10.490 align:start position:0%
they want that to go to a to a good
cause<00:17:08.790><c> or</c><00:17:09.060><c> a</c><00:17:09.120><c> good</c><00:17:09.300><c> project</c><00:17:09.540><c> they</c><00:17:10.199><c> don't</c><00:17:10.380><c> have</c>

00:17:10.490 --> 00:17:10.500 align:start position:0%
cause or a good project they don't have
 

00:17:10.500 --> 00:17:12.170 align:start position:0%
cause or a good project they don't have
time<00:17:10.680><c> to</c><00:17:10.860><c> do</c><00:17:10.949><c> that</c><00:17:11.069><c> themselves</c><00:17:11.280><c> or</c><00:17:11.850><c> they</c><00:17:11.939><c> want</c>

00:17:12.170 --> 00:17:12.180 align:start position:0%
time to do that themselves or they want
 

00:17:12.180 --> 00:17:13.880 align:start position:0%
time to do that themselves or they want
to<00:17:12.240><c> trust</c><00:17:12.540><c> someone</c><00:17:12.689><c> else</c><00:17:12.900><c> so</c><00:17:13.170><c> they</c><00:17:13.319><c> delegate</c>

00:17:13.880 --> 00:17:13.890 align:start position:0%
to trust someone else so they delegate
 

00:17:13.890 --> 00:17:17.480 align:start position:0%
to trust someone else so they delegate
that<00:17:14.069><c> to</c><00:17:14.339><c> another</c><00:17:14.910><c> role</c><00:17:15.209><c> and</c><00:17:15.930><c> that</c><00:17:16.490><c> delegate</c>

00:17:17.480 --> 00:17:17.490 align:start position:0%
that to another role and that delegate
 

00:17:17.490 --> 00:17:19.150 align:start position:0%
that to another role and that delegate
is<00:17:17.579><c> gonna</c><00:17:17.760><c> choose</c><00:17:18.060><c> the</c><00:17:18.209><c> project</c><00:17:18.720><c> and</c>

00:17:19.150 --> 00:17:19.160 align:start position:0%
is gonna choose the project and
 

00:17:19.160 --> 00:17:21.439 align:start position:0%
is gonna choose the project and
eventually<00:17:20.160><c> a</c><00:17:20.189><c> reviewer</c><00:17:20.699><c> is</c><00:17:20.939><c> going</c><00:17:21.180><c> to</c><00:17:21.240><c> say</c>

00:17:21.439 --> 00:17:21.449 align:start position:0%
eventually a reviewer is going to say
 

00:17:21.449 --> 00:17:22.850 align:start position:0%
eventually a reviewer is going to say
yes<00:17:21.750><c> these</c><00:17:21.959><c> milestones</c><00:17:22.589><c> have</c><00:17:22.740><c> been</c>

00:17:22.850 --> 00:17:22.860 align:start position:0%
yes these milestones have been
 

00:17:22.860 --> 00:17:25.510 align:start position:0%
yes these milestones have been
accomplished<00:17:23.400><c> and</c><00:17:23.640><c> that</c><00:17:24.180><c> goes</c><00:17:24.420><c> through</c><00:17:24.689><c> so</c>

00:17:25.510 --> 00:17:25.520 align:start position:0%
accomplished and that goes through so
 

00:17:25.520 --> 00:17:28.340 align:start position:0%
accomplished and that goes through so
this<00:17:26.520><c> is</c><00:17:26.699><c> seeming</c><00:17:27.150><c> a</c><00:17:27.240><c> simple</c><00:17:27.660><c> concept</c><00:17:28.020><c> but</c><00:17:28.230><c> it</c>

00:17:28.340 --> 00:17:28.350 align:start position:0%
this is seeming a simple concept but it
 

00:17:28.350 --> 00:17:30.560 align:start position:0%
this is seeming a simple concept but it
goes<00:17:28.530><c> really</c><00:17:28.800><c> far</c><00:17:29.160><c> and</c><00:17:29.520><c> it</c><00:17:29.940><c> really</c><00:17:30.270><c> is</c><00:17:30.390><c> what</c>

00:17:30.560 --> 00:17:30.570 align:start position:0%
goes really far and it really is what
 

00:17:30.570 --> 00:17:32.750 align:start position:0%
goes really far and it really is what
can<00:17:30.720><c> separate</c><00:17:31.200><c> someone</c><00:17:31.920><c> who</c><00:17:32.100><c> just</c><00:17:32.490><c> knows</c>

00:17:32.750 --> 00:17:32.760 align:start position:0%
can separate someone who just knows
 

00:17:32.760 --> 00:17:35.800 align:start position:0%
can separate someone who just knows
solidity<00:17:33.240><c> from</c><00:17:34.200><c> someone</c><00:17:34.650><c> who</c><00:17:34.860><c> can</c><00:17:35.040><c> design</c>

00:17:35.800 --> 00:17:35.810 align:start position:0%
solidity from someone who can design
 

00:17:35.810 --> 00:17:39.320 align:start position:0%
solidity from someone who can design
maintain<00:17:36.810><c> and</c><00:17:37.200><c> scale</c><00:17:37.770><c> smart</c><00:17:38.640><c> contracts</c><00:17:39.120><c> on</c><00:17:39.300><c> a</c>

00:17:39.320 --> 00:17:39.330 align:start position:0%
maintain and scale smart contracts on a
 

00:17:39.330 --> 00:17:43.520 align:start position:0%
maintain and scale smart contracts on a
live<00:17:39.570><c> network</c><00:17:41.810><c> context</c><00:17:42.810><c> dependence</c><00:17:43.320><c> is</c>

00:17:43.520 --> 00:17:43.530 align:start position:0%
live network context dependence is
 

00:17:43.530 --> 00:17:45.890 align:start position:0%
live network context dependence is
another<00:17:44.040><c> skill</c><00:17:44.400><c> that</c><00:17:44.700><c> comes</c><00:17:45.690><c> with</c><00:17:45.870><c> experience</c>

00:17:45.890 --> 00:17:45.900 align:start position:0%
another skill that comes with experience
 

00:17:45.900 --> 00:17:49.250 align:start position:0%
another skill that comes with experience
and<00:17:47.000><c> is</c><00:17:48.000><c> something</c><00:17:48.330><c> that</c><00:17:48.570><c> is</c><00:17:48.690><c> really</c><00:17:48.840><c> valued</c>

00:17:49.250 --> 00:17:49.260 align:start position:0%
and is something that is really valued
 

00:17:49.260 --> 00:17:51.200 align:start position:0%
and is something that is really valued
on<00:17:49.410><c> a</c><00:17:49.440><c> team</c><00:17:49.740><c> and</c><00:17:49.980><c> by</c><00:17:50.340><c> this</c><00:17:50.400><c> I</c><00:17:50.910><c> mean</c>

00:17:51.200 --> 00:17:51.210 align:start position:0%
on a team and by this I mean
 

00:17:51.210 --> 00:17:55.220 align:start position:0%
on a team and by this I mean
in<00:17:51.590><c> analyzing</c><00:17:52.590><c> when</c><00:17:53.190><c> one</c><00:17:54.059><c> action</c><00:17:54.450><c> is</c><00:17:54.570><c> true</c><00:17:54.899><c> in</c>

00:17:55.220 --> 00:17:55.230 align:start position:0%
in analyzing when one action is true in
 

00:17:55.230 --> 00:17:57.470 align:start position:0%
in analyzing when one action is true in
one<00:17:55.860><c> situation</c><00:17:56.100><c> and</c><00:17:56.730><c> the</c><00:17:56.789><c> same</c><00:17:56.940><c> action</c><00:17:57.299><c> might</c>

00:17:57.470 --> 00:17:57.480 align:start position:0%
one situation and the same action might
 

00:17:57.480 --> 00:17:59.330 align:start position:0%
one situation and the same action might
not<00:17:57.630><c> be</c><00:17:57.779><c> true</c><00:17:57.960><c> in</c><00:17:58.080><c> another</c><00:17:58.320><c> situation</c><00:17:58.620><c> I</c><00:17:59.130><c> know</c>

00:17:59.330 --> 00:17:59.340 align:start position:0%
not be true in another situation I know
 

00:17:59.340 --> 00:18:01.880 align:start position:0%
not be true in another situation I know
this<00:18:00.149><c> is</c><00:18:00.270><c> really</c><00:18:00.450><c> scary</c><00:18:00.870><c> for</c><00:18:01.350><c> a</c><00:18:01.409><c> lot</c><00:18:01.470><c> of</c><00:18:01.649><c> you</c><00:18:01.860><c> I</c>

00:18:01.880 --> 00:18:01.890 align:start position:0%
this is really scary for a lot of you I
 

00:18:01.890 --> 00:18:03.889 align:start position:0%
this is really scary for a lot of you I
didn't<00:18:02.220><c> get</c><00:18:02.309><c> into</c><00:18:02.549><c> development</c><00:18:03.149><c> to</c><00:18:03.510><c> deal</c><00:18:03.720><c> with</c>

00:18:03.889 --> 00:18:03.899 align:start position:0%
didn't get into development to deal with
 

00:18:03.899 --> 00:18:06.110 align:start position:0%
didn't get into development to deal with
fuzziness<00:18:04.440><c> and</c><00:18:04.529><c> ambiguity</c><00:18:05.070><c> either</c><00:18:05.250><c> I</c><00:18:05.549><c> love</c>

00:18:06.110 --> 00:18:06.120 align:start position:0%
fuzziness and ambiguity either I love
 

00:18:06.120 --> 00:18:08.120 align:start position:0%
fuzziness and ambiguity either I love
really<00:18:06.390><c> straightforward</c><00:18:06.840><c> and</c><00:18:07.500><c> deterministic</c>

00:18:08.120 --> 00:18:08.130 align:start position:0%
really straightforward and deterministic
 

00:18:08.130 --> 00:18:10.880 align:start position:0%
really straightforward and deterministic
systems<00:18:08.700><c> but</c><00:18:08.880><c> the</c><00:18:09.029><c> truth</c><00:18:09.240><c> is</c><00:18:09.419><c> any</c><00:18:09.890><c> complicated</c>

00:18:10.880 --> 00:18:10.890 align:start position:0%
systems but the truth is any complicated
 

00:18:10.890 --> 00:18:13.610 align:start position:0%
systems but the truth is any complicated
problem<00:18:11.490><c> is</c><00:18:11.669><c> going</c><00:18:12.270><c> to</c><00:18:12.390><c> depend</c><00:18:12.750><c> on</c><00:18:13.140><c> a</c><00:18:13.169><c> lot</c><00:18:13.470><c> of</c>

00:18:13.610 --> 00:18:13.620 align:start position:0%
problem is going to depend on a lot of
 

00:18:13.620 --> 00:18:17.419 align:start position:0%
problem is going to depend on a lot of
context<00:18:14.250><c> so</c><00:18:14.600><c> one</c><00:18:15.600><c> example</c><00:18:15.809><c> in</c><00:18:16.559><c> this</c><00:18:16.799><c> space</c><00:18:17.100><c> is</c>

00:18:17.419 --> 00:18:17.429 align:start position:0%
context so one example in this space is
 

00:18:17.429 --> 00:18:19.250 align:start position:0%
context so one example in this space is
that<00:18:17.850><c> you</c><00:18:17.940><c> hear</c><00:18:18.090><c> a</c><00:18:18.149><c> lot</c><00:18:18.240><c> of</c><00:18:18.480><c> best</c><00:18:18.659><c> practices</c>

00:18:19.250 --> 00:18:19.260 align:start position:0%
that you hear a lot of best practices
 

00:18:19.260 --> 00:18:21.320 align:start position:0%
that you hear a lot of best practices
best<00:18:19.830><c> practices</c><00:18:19.950><c> are</c><00:18:20.549><c> great</c><00:18:20.820><c> but</c><00:18:21.059><c> when</c><00:18:21.210><c> they</c>

00:18:21.320 --> 00:18:21.330 align:start position:0%
best practices are great but when they
 

00:18:21.330 --> 00:18:23.480 align:start position:0%
best practices are great but when they
turn<00:18:21.570><c> into</c><00:18:21.750><c> hard</c><00:18:22.049><c> and</c><00:18:22.200><c> fast</c><00:18:22.320><c> rules</c><00:18:22.770><c> you</c><00:18:23.340><c> can</c>

00:18:23.480 --> 00:18:23.490 align:start position:0%
turn into hard and fast rules you can
 

00:18:23.490 --> 00:18:25.130 align:start position:0%
turn into hard and fast rules you can
really<00:18:23.700><c> miss</c><00:18:23.909><c> out</c><00:18:24.059><c> on</c><00:18:24.179><c> the</c><00:18:24.270><c> nuances</c><00:18:24.870><c> of</c><00:18:24.899><c> the</c>

00:18:25.130 --> 00:18:25.140 align:start position:0%
really miss out on the nuances of the
 

00:18:25.140 --> 00:18:27.919 align:start position:0%
really miss out on the nuances of the
situation<00:18:25.710><c> so</c><00:18:25.890><c> one</c><00:18:26.370><c> I</c><00:18:26.399><c> see</c><00:18:26.669><c> a</c><00:18:26.700><c> lot</c><00:18:26.940><c> is</c><00:18:27.240><c> sand</c>

00:18:27.919 --> 00:18:27.929 align:start position:0%
situation so one I see a lot is sand
 

00:18:27.929 --> 00:18:30.350 align:start position:0%
situation so one I see a lot is sand
versus<00:18:28.409><c> withdraw</c><00:18:28.799><c> patterns</c><00:18:29.370><c> and</c><00:18:29.700><c> and</c><00:18:30.179><c> the</c>

00:18:30.350 --> 00:18:30.360 align:start position:0%
versus withdraw patterns and and the
 

00:18:30.360 --> 00:18:32.630 align:start position:0%
versus withdraw patterns and and the
advice<00:18:30.630><c> out</c><00:18:30.840><c> there</c><00:18:30.870><c> is</c><00:18:31.200><c> to</c><00:18:31.320><c> always</c><00:18:31.740><c> have</c><00:18:31.770><c> the</c>

00:18:32.630 --> 00:18:32.640 align:start position:0%
advice out there is to always have the
 

00:18:32.640 --> 00:18:35.330 align:start position:0%
advice out there is to always have the
user<00:18:32.820><c> withdraw</c><00:18:33.419><c> never</c><00:18:34.289><c> do</c><00:18:34.590><c> a</c><00:18:34.620><c> sand</c><00:18:35.010><c> so</c><00:18:35.190><c> there's</c>

00:18:35.330 --> 00:18:35.340 align:start position:0%
user withdraw never do a sand so there's
 

00:18:35.340 --> 00:18:37.250 align:start position:0%
user withdraw never do a sand so there's
like<00:18:35.460><c> push</c><00:18:35.730><c> versus</c><00:18:36.149><c> pull</c><00:18:36.179><c> never</c><00:18:36.659><c> do</c><00:18:36.870><c> a</c><00:18:36.899><c> send</c>

00:18:37.250 --> 00:18:37.260 align:start position:0%
like push versus pull never do a send
 

00:18:37.260 --> 00:18:39.830 align:start position:0%
like push versus pull never do a send
and<00:18:37.409><c> I</c><00:18:38.070><c> actually</c><00:18:38.309><c> don't</c><00:18:38.669><c> like</c><00:18:38.820><c> this</c><00:18:39.179><c> advice</c>

00:18:39.830 --> 00:18:39.840 align:start position:0%
and I actually don't like this advice
 

00:18:39.840 --> 00:18:42.200 align:start position:0%
and I actually don't like this advice
because<00:18:40.590><c> it's</c><00:18:40.740><c> often</c><00:18:40.919><c> just</c><00:18:41.370><c> taken</c><00:18:42.059><c> without</c>

00:18:42.200 --> 00:18:42.210 align:start position:0%
because it's often just taken without
 

00:18:42.210 --> 00:18:45.260 align:start position:0%
because it's often just taken without
much<00:18:42.539><c> thought</c><00:18:42.980><c> why</c><00:18:43.980><c> don't</c><00:18:44.039><c> we</c><00:18:44.520><c> do</c><00:18:44.669><c> a</c><00:18:44.700><c> send</c><00:18:45.059><c> well</c>

00:18:45.260 --> 00:18:45.270 align:start position:0%
much thought why don't we do a send well
 

00:18:45.270 --> 00:18:47.120 align:start position:0%
much thought why don't we do a send well
we<00:18:45.360><c> don't</c><00:18:45.630><c> do</c><00:18:45.779><c> a</c><00:18:45.809><c> send</c><00:18:46.140><c> because</c><00:18:46.559><c> there's</c>

00:18:47.120 --> 00:18:47.130 align:start position:0%
we don't do a send because there's
 

00:18:47.130 --> 00:18:49.039 align:start position:0%
we don't do a send because there's
vulnerabilities<00:18:48.120><c> if</c><00:18:48.330><c> you're</c><00:18:48.450><c> trying</c><00:18:48.720><c> to</c><00:18:48.779><c> send</c>

00:18:49.039 --> 00:18:49.049 align:start position:0%
vulnerabilities if you're trying to send
 

00:18:49.049 --> 00:18:51.740 align:start position:0%
vulnerabilities if you're trying to send
to<00:18:49.200><c> multiple</c><00:18:49.409><c> people</c><00:18:50.010><c> you</c><00:18:50.820><c> have</c><00:18:50.970><c> to</c><00:18:51.120><c> be</c><00:18:51.240><c> aware</c>

00:18:51.740 --> 00:18:51.750 align:start position:0%
to multiple people you have to be aware
 

00:18:51.750 --> 00:18:54.080 align:start position:0%
to multiple people you have to be aware
that<00:18:51.809><c> any</c><00:18:52.350><c> one</c><00:18:52.679><c> person</c><00:18:52.950><c> their</c><00:18:53.669><c> fallback</c>

00:18:54.080 --> 00:18:54.090 align:start position:0%
that any one person their fallback
 

00:18:54.090 --> 00:18:55.820 align:start position:0%
that any one person their fallback
function<00:18:54.510><c> could</c><00:18:54.630><c> throw</c><00:18:54.960><c> they</c><00:18:55.289><c> could</c><00:18:55.470><c> use</c><00:18:55.620><c> up</c>

00:18:55.820 --> 00:18:55.830 align:start position:0%
function could throw they could use up
 

00:18:55.830 --> 00:18:57.560 align:start position:0%
function could throw they could use up
all<00:18:56.010><c> the</c><00:18:56.039><c> gas</c><00:18:56.340><c> they</c><00:18:56.700><c> could</c><00:18:56.850><c> use</c><00:18:56.970><c> up</c><00:18:57.120><c> most</c><00:18:57.390><c> of</c>

00:18:57.560 --> 00:18:57.570 align:start position:0%
all the gas they could use up most of
 

00:18:57.570 --> 00:19:00.470 align:start position:0%
all the gas they could use up most of
the<00:18:57.659><c> gas</c><00:18:57.840><c> so</c><00:18:58.710><c> there's</c><00:18:58.919><c> risks</c><00:18:59.640><c> to</c><00:19:00.000><c> sending</c><00:19:00.360><c> to</c>

00:19:00.470 --> 00:19:00.480 align:start position:0%
the gas so there's risks to sending to
 

00:19:00.480 --> 00:19:02.779 align:start position:0%
the gas so there's risks to sending to
multiple<00:19:00.809><c> parties</c><00:19:01.169><c> okay</c><00:19:01.529><c> I</c><00:19:01.740><c> understand</c><00:19:02.700><c> that</c>

00:19:02.779 --> 00:19:02.789 align:start position:0%
multiple parties okay I understand that
 

00:19:02.789 --> 00:19:05.180 align:start position:0%
multiple parties okay I understand that
there<00:19:03.659><c> are</c><00:19:03.779><c> also</c><00:19:03.960><c> situations</c><00:19:04.590><c> where</c><00:19:05.010><c> maybe</c>

00:19:05.180 --> 00:19:05.190 align:start position:0%
there are also situations where maybe
 

00:19:05.190 --> 00:19:07.159 align:start position:0%
there are also situations where maybe
you<00:19:05.429><c> don't</c><00:19:05.669><c> want</c><00:19:05.909><c> for</c><00:19:06.419><c> the</c><00:19:06.510><c> user</c><00:19:06.690><c> experience</c>

00:19:07.159 --> 00:19:07.169 align:start position:0%
you don't want for the user experience
 

00:19:07.169 --> 00:19:10.669 align:start position:0%
you don't want for the user experience
they<00:19:07.890><c> don't</c><00:19:08.220><c> have</c><00:19:08.490><c> another</c><00:19:09.500><c> transaction</c><00:19:10.500><c> you</c>

00:19:10.669 --> 00:19:10.679 align:start position:0%
they don't have another transaction you
 

00:19:10.679 --> 00:19:11.750 align:start position:0%
they don't have another transaction you
don't<00:19:10.860><c> want</c><00:19:10.980><c> them</c><00:19:11.130><c> to</c><00:19:11.220><c> have</c><00:19:11.370><c> to</c><00:19:11.399><c> do</c><00:19:11.640><c> that</c>

00:19:11.750 --> 00:19:11.760 align:start position:0%
don't want them to have to do that
 

00:19:11.760 --> 00:19:13.970 align:start position:0%
don't want them to have to do that
transaction<00:19:12.419><c> so</c><00:19:13.020><c> maybe</c><00:19:13.289><c> the</c><00:19:13.500><c> send</c><00:19:13.740><c> would</c><00:19:13.890><c> be</c>

00:19:13.970 --> 00:19:13.980 align:start position:0%
transaction so maybe the send would be
 

00:19:13.980 --> 00:19:17.779 align:start position:0%
transaction so maybe the send would be
appropriate<00:19:14.340><c> in</c><00:19:14.549><c> those</c><00:19:14.669><c> cases</c><00:19:16.700><c> keeping</c><00:19:17.700><c> in</c>

00:19:17.779 --> 00:19:17.789 align:start position:0%
appropriate in those cases keeping in
 

00:19:17.789 --> 00:19:20.659 align:start position:0%
appropriate in those cases keeping in
mind<00:19:18.000><c> this</c><00:19:18.360><c> dictum</c><00:19:19.080><c> of</c><00:19:19.200><c> it</c><00:19:19.380><c> depends</c><00:19:19.980><c> I</c><00:19:20.159><c> had</c><00:19:20.640><c> a</c>

00:19:20.659 --> 00:19:20.669 align:start position:0%
mind this dictum of it depends I had a
 

00:19:20.669 --> 00:19:24.919 align:start position:0%
mind this dictum of it depends I had a
professor<00:19:21.419><c> in</c><00:19:21.840><c> grad</c><00:19:22.559><c> school</c><00:19:22.590><c> who</c><00:19:23.539><c> this</c><00:19:24.539><c> was</c><00:19:24.750><c> in</c>

00:19:24.919 --> 00:19:24.929 align:start position:0%
professor in grad school who this was in
 

00:19:24.929 --> 00:19:27.680 align:start position:0%
professor in grad school who this was in
my<00:19:25.049><c> counseling</c><00:19:25.529><c> program</c><00:19:25.980><c> and</c><00:19:26.539><c> it</c><00:19:27.539><c> was</c>

00:19:27.680 --> 00:19:27.690 align:start position:0%
my counseling program and it was
 

00:19:27.690 --> 00:19:30.260 align:start position:0%
my counseling program and it was
beautiful<00:19:28.080><c> every</c><00:19:28.500><c> time</c><00:19:28.529><c> anybody</c><00:19:29.309><c> asked</c><00:19:30.090><c> well</c>

00:19:30.260 --> 00:19:30.270 align:start position:0%
beautiful every time anybody asked well
 

00:19:30.270 --> 00:19:32.120 align:start position:0%
beautiful every time anybody asked well
what<00:19:30.960><c> if</c><00:19:31.080><c> you're</c><00:19:31.200><c> working</c><00:19:31.409><c> with</c><00:19:31.559><c> this</c><00:19:31.799><c> client</c>

00:19:32.120 --> 00:19:32.130 align:start position:0%
what if you're working with this client
 

00:19:32.130 --> 00:19:33.620 align:start position:0%
what if you're working with this client
and<00:19:32.429><c> they</c><00:19:32.490><c> do</c><00:19:32.549><c> this</c><00:19:32.820><c> what</c><00:19:33.120><c> should</c><00:19:33.240><c> I</c><00:19:33.360><c> do</c>

00:19:33.620 --> 00:19:33.630 align:start position:0%
and they do this what should I do
 

00:19:33.630 --> 00:19:37.340 align:start position:0%
and they do this what should I do
she<00:19:34.620><c> always</c><00:19:34.919><c> answered</c><00:19:35.659><c> she</c><00:19:36.659><c> thought</c><00:19:36.870><c> about</c><00:19:36.929><c> it</c>

00:19:37.340 --> 00:19:37.350 align:start position:0%
she always answered she thought about it
 

00:19:37.350 --> 00:19:40.519 align:start position:0%
she always answered she thought about it
and<00:19:37.850><c> then</c><00:19:38.850><c> she</c><00:19:39.000><c> said</c><00:19:39.240><c> well</c><00:19:39.450><c> it</c><00:19:39.720><c> depends</c><00:19:40.320><c> and</c>

00:19:40.519 --> 00:19:40.529 align:start position:0%
and then she said well it depends and
 

00:19:40.529 --> 00:19:43.190 align:start position:0%
and then she said well it depends and
that<00:19:40.830><c> would</c><00:19:40.950><c> be</c><00:19:41.070><c> her</c><00:19:41.190><c> answer</c><00:19:41.520><c> every</c><00:19:41.880><c> time</c><00:19:42.169><c> so</c>

00:19:43.190 --> 00:19:43.200 align:start position:0%
that would be her answer every time so
 

00:19:43.200 --> 00:19:46.519 align:start position:0%
that would be her answer every time so
with<00:19:44.100><c> skill</c><00:19:44.610><c> and</c><00:19:44.640><c> experience</c><00:19:45.320><c> comes</c><00:19:46.320><c> an</c>

00:19:46.519 --> 00:19:46.529 align:start position:0%
with skill and experience comes an
 

00:19:46.529 --> 00:19:48.289 align:start position:0%
with skill and experience comes an
incredible<00:19:47.010><c> awareness</c><00:19:47.399><c> of</c><00:19:47.520><c> context</c><00:19:48.149><c> so</c><00:19:48.179><c> I</c>

00:19:48.289 --> 00:19:48.299 align:start position:0%
incredible awareness of context so I
 

00:19:48.299 --> 00:19:50.450 align:start position:0%
incredible awareness of context so I
encourage<00:19:48.630><c> you</c><00:19:48.870><c> to</c><00:19:49.110><c> think</c><00:19:49.380><c> about</c><00:19:49.710><c> context</c>

00:19:50.450 --> 00:19:50.460 align:start position:0%
encourage you to think about context
 

00:19:50.460 --> 00:19:52.639 align:start position:0%
encourage you to think about context
dependence<00:19:50.940><c> and</c><00:19:51.179><c> lastly</c><00:19:52.110><c> I</c><00:19:52.230><c> want</c><00:19:52.500><c> to</c><00:19:52.559><c> say</c>

00:19:52.639 --> 00:19:52.649 align:start position:0%
dependence and lastly I want to say
 

00:19:52.649 --> 00:19:55.190 align:start position:0%
dependence and lastly I want to say
leadership<00:19:53.429><c> in</c><00:19:53.899><c> blockchain</c><00:19:54.899><c> at</c><00:19:55.110><c> the</c>

00:19:55.190 --> 00:19:55.200 align:start position:0%
leadership in blockchain at the
 

00:19:55.200 --> 00:19:57.169 align:start position:0%
leadership in blockchain at the
developer<00:19:55.679><c> level</c><00:19:56.010><c> because</c><00:19:56.429><c> contracts</c><00:19:57.000><c> are</c>

00:19:57.169 --> 00:19:57.179 align:start position:0%
developer level because contracts are
 

00:19:57.179 --> 00:19:59.480 align:start position:0%
developer level because contracts are
immutable<00:19:57.770><c> technical</c><00:19:58.770><c> debt</c><00:19:58.980><c> is</c><00:19:59.190><c> much</c>

00:19:59.480 --> 00:19:59.490 align:start position:0%
immutable technical debt is much
 

00:19:59.490 --> 00:20:01.580 align:start position:0%
immutable technical debt is much
costlier<00:19:59.990><c> so</c><00:20:00.990><c> when</c><00:20:01.110><c> you're</c><00:20:01.230><c> making</c><00:20:01.500><c> decisions</c>

00:20:01.580 --> 00:20:01.590 align:start position:0%
costlier so when you're making decisions
 

00:20:01.590 --> 00:20:03.830 align:start position:0%
costlier so when you're making decisions
as<00:20:02.100><c> a</c><00:20:02.130><c> lead</c><00:20:02.429><c> engineer</c><00:20:02.940><c> you</c><00:20:03.389><c> have</c><00:20:03.539><c> to</c><00:20:03.659><c> make</c><00:20:03.809><c> a</c>

00:20:03.830 --> 00:20:03.840 align:start position:0%
as a lead engineer you have to make a
 

00:20:03.840 --> 00:20:05.010 align:start position:0%
as a lead engineer you have to make a
lot<00:20:04.049><c> of</c><00:20:04.080><c> judgment</c><00:20:04.559><c> calls</c>

00:20:05.010 --> 00:20:05.020 align:start position:0%
lot of judgment calls
 

00:20:05.020 --> 00:20:07.050 align:start position:0%
lot of judgment calls
because<00:20:05.170><c> that</c><00:20:05.410><c> code</c><00:20:05.710><c> might</c><00:20:05.980><c> be</c><00:20:06.160><c> on</c><00:20:06.370><c> chain</c><00:20:06.790><c> for</c>

00:20:07.050 --> 00:20:07.060 align:start position:0%
because that code might be on chain for
 

00:20:07.060 --> 00:20:09.090 align:start position:0%
because that code might be on chain for
a<00:20:07.090><c> long</c><00:20:07.300><c> time</c><00:20:07.600><c> and</c><00:20:07.900><c> that's</c><00:20:08.560><c> something</c><00:20:08.650><c> to</c><00:20:08.980><c> keep</c>

00:20:09.090 --> 00:20:09.100 align:start position:0%
a long time and that's something to keep
 

00:20:09.100 --> 00:20:13.070 align:start position:0%
a long time and that's something to keep
in<00:20:09.250><c> mind</c><00:20:09.870><c> thank</c><00:20:10.870><c> you</c><00:20:11.020><c> so</c><00:20:11.230><c> much</c><00:20:11.470><c> I'm</c><00:20:12.340><c> gonna</c>

00:20:13.070 --> 00:20:13.080 align:start position:0%
in mind thank you so much I'm gonna
 

00:20:13.080 --> 00:20:16.230 align:start position:0%
in mind thank you so much I'm gonna
share<00:20:14.080><c> it</c><00:20:14.110><c> go</c><00:20:14.350><c> over</c><00:20:14.620><c> the</c><00:20:14.770><c> patterns</c><00:20:15.700><c> just</c><00:20:16.060><c> to</c>

00:20:16.230 --> 00:20:16.240 align:start position:0%
share it go over the patterns just to
 

00:20:16.240 --> 00:20:17.640 align:start position:0%
share it go over the patterns just to
name<00:20:16.420><c> them</c><00:20:16.600><c> we</c><00:20:16.750><c> talked</c><00:20:16.990><c> about</c><00:20:17.140><c> central</c>

00:20:17.640 --> 00:20:17.650 align:start position:0%
name them we talked about central
 

00:20:17.650 --> 00:20:19.620 align:start position:0%
name them we talked about central
logging<00:20:18.100><c> modular</c><00:20:18.970><c> libraries</c><00:20:19.450><c> and</c>

00:20:19.620 --> 00:20:19.630 align:start position:0%
logging modular libraries and
 

00:20:19.630 --> 00:20:21.540 align:start position:0%
logging modular libraries and
arbitration<00:20:20.050><c> as</c><00:20:20.380><c> architectural</c><00:20:20.980><c> patterns</c><00:20:21.370><c> at</c>

00:20:21.540 --> 00:20:21.550 align:start position:0%
arbitration as architectural patterns at
 

00:20:21.550 --> 00:20:23.220 align:start position:0%
arbitration as architectural patterns at
a<00:20:21.580><c> lower</c><00:20:21.790><c> level</c><00:20:21.880><c> and</c><00:20:22.360><c> then</c><00:20:22.840><c> at</c><00:20:22.960><c> the</c><00:20:23.050><c> higher</c>

00:20:23.220 --> 00:20:23.230 align:start position:0%
a lower level and then at the higher
 

00:20:23.230 --> 00:20:25.320 align:start position:0%
a lower level and then at the higher
level<00:20:23.620><c> I</c><00:20:23.770><c> hope</c><00:20:24.010><c> you</c><00:20:24.520><c> can</c><00:20:24.730><c> take</c><00:20:24.910><c> some</c><00:20:25.150><c> of</c><00:20:25.240><c> these</c>

00:20:25.320 --> 00:20:25.330 align:start position:0%
level I hope you can take some of these
 

00:20:25.330 --> 00:20:27.240 align:start position:0%
level I hope you can take some of these
concepts<00:20:25.840><c> away</c><00:20:26.140><c> about</c><00:20:26.440><c> leading</c><00:20:26.860><c> your</c><00:20:26.980><c> team</c>

00:20:27.240 --> 00:20:27.250 align:start position:0%
concepts away about leading your team
 

00:20:27.250 --> 00:20:30.150 align:start position:0%
concepts away about leading your team
being<00:20:28.060><c> more</c><00:20:28.390><c> dependent</c><00:20:28.900><c> on</c><00:20:28.990><c> context</c><00:20:29.620><c> and</c><00:20:29.770><c> then</c>

00:20:30.150 --> 00:20:30.160 align:start position:0%
being more dependent on context and then
 

00:20:30.160 --> 00:20:31.980 align:start position:0%
being more dependent on context and then
bringing<00:20:30.430><c> role</c><00:20:30.700><c> analysis</c><00:20:31.300><c> to</c><00:20:31.450><c> everything</c><00:20:31.900><c> you</c>

00:20:31.980 --> 00:20:31.990 align:start position:0%
bringing role analysis to everything you
 

00:20:31.990 --> 00:20:36.550 align:start position:0%
bringing role analysis to everything you
do<00:20:32.140><c> thank</c><00:20:32.410><c> you</c><00:20:33.010><c> very</c><00:20:33.250><c> much</c>

00:20:36.550 --> 00:20:36.560 align:start position:0%
 
 

00:20:36.560 --> 00:20:44.140 align:start position:0%
 
[Music]

