WEBVTT
Kind: captions
Language: en

00:00:01.160 --> 00:00:06.690 align:start position:0%
 
[Music]

00:00:06.690 --> 00:00:06.700 align:start position:0%
 
 

00:00:06.700 --> 00:00:11.070 align:start position:0%
 
[Music]

00:00:11.070 --> 00:00:11.080 align:start position:0%
 
 

00:00:11.080 --> 00:00:14.589 align:start position:0%
 
hello<00:00:11.719><c> everybody</c><00:00:12.719><c> my</c><00:00:12.880><c> name</c><00:00:13.080><c> is</c><00:00:13.320><c> alvarius</c><00:00:14.280><c> I'm</c>

00:00:14.589 --> 00:00:14.599 align:start position:0%
hello everybody my name is alvarius I'm
 

00:00:14.599 --> 00:00:17.510 align:start position:0%
hello everybody my name is alvarius I'm
an<00:00:14.759><c> onchain</c><00:00:15.440><c> developer</c><00:00:16.320><c> mostly</c><00:00:16.760><c> focusing</c><00:00:17.320><c> on</c>

00:00:17.510 --> 00:00:17.520 align:start position:0%
an onchain developer mostly focusing on
 

00:00:17.520 --> 00:00:20.310 align:start position:0%
an onchain developer mostly focusing on
fully<00:00:17.840><c> onchain</c><00:00:18.439><c> games</c><00:00:19.439><c> and</c><00:00:19.720><c> today</c><00:00:20.080><c> I'm</c><00:00:20.199><c> going</c>

00:00:20.310 --> 00:00:20.320 align:start position:0%
fully onchain games and today I'm going
 

00:00:20.320 --> 00:00:22.630 align:start position:0%
fully onchain games and today I'm going
to<00:00:20.480><c> tell</c><00:00:20.640><c> you</c><00:00:20.840><c> a</c><00:00:21.039><c> story</c><00:00:21.439><c> about</c><00:00:21.800><c> how</c><00:00:22.000><c> we</c><00:00:22.160><c> built</c>

00:00:22.630 --> 00:00:22.640 align:start position:0%
to tell you a story about how we built
 

00:00:22.640 --> 00:00:24.429 align:start position:0%
to tell you a story about how we built
our<00:00:22.880><c> first</c><00:00:23.240><c> fully</c><00:00:23.560><c> onchain</c><00:00:23.880><c> game</c><00:00:24.080><c> and</c><00:00:24.199><c> made</c><00:00:24.320><c> a</c>

00:00:24.429 --> 00:00:24.439 align:start position:0%
our first fully onchain game and made a
 

00:00:24.439 --> 00:00:26.790 align:start position:0%
our first fully onchain game and made a
big<00:00:24.640><c> mess</c><00:00:25.480><c> and</c><00:00:25.599><c> then</c><00:00:25.760><c> build</c><00:00:26.000><c> a</c><00:00:26.119><c> framework</c><00:00:26.640><c> that</c>

00:00:26.790 --> 00:00:26.800 align:start position:0%
big mess and then build a framework that
 

00:00:26.800 --> 00:00:29.269 align:start position:0%
big mess and then build a framework that
now<00:00:26.960><c> allows</c><00:00:27.240><c> us</c><00:00:27.400><c> to</c><00:00:27.519><c> build</c><00:00:27.800><c> full</c><00:00:28.400><c> onchain</c><00:00:28.880><c> game</c>

00:00:29.269 --> 00:00:29.279 align:start position:0%
now allows us to build full onchain game
 

00:00:29.279 --> 00:00:33.030 align:start position:0%
now allows us to build full onchain game
prototypes<00:00:30.279><c> in</c><00:00:30.400><c> a</c><00:00:30.560><c> matter</c><00:00:30.800><c> of</c><00:00:30.960><c> a</c><00:00:31.039><c> couple</c><00:00:31.279><c> of</c>

00:00:33.030 --> 00:00:33.040 align:start position:0%
prototypes in a matter of a couple of
 

00:00:33.040 --> 00:00:35.549 align:start position:0%
prototypes in a matter of a couple of
days<00:00:34.040><c> but</c><00:00:34.200><c> first</c><00:00:34.440><c> let</c><00:00:34.559><c> me</c><00:00:34.760><c> take</c><00:00:34.920><c> you</c><00:00:35.160><c> back</c><00:00:35.320><c> to</c>

00:00:35.549 --> 00:00:35.559 align:start position:0%
days but first let me take you back to
 

00:00:35.559 --> 00:00:37.950 align:start position:0%
days but first let me take you back to
around<00:00:35.840><c> three</c><00:00:36.040><c> and</c><00:00:36.160><c> a</c><00:00:36.280><c> half</c><00:00:36.480><c> years</c><00:00:36.760><c> ago</c><00:00:37.760><c> um</c>

00:00:37.950 --> 00:00:37.960 align:start position:0%
around three and a half years ago um
 

00:00:37.960 --> 00:00:39.310 align:start position:0%
around three and a half years ago um
three<00:00:38.079><c> and</c><00:00:38.160><c> a</c><00:00:38.239><c> half</c><00:00:38.399><c> years</c><00:00:38.559><c> ago</c><00:00:38.879><c> my</c><00:00:39.079><c> friend</c>

00:00:39.310 --> 00:00:39.320 align:start position:0%
three and a half years ago my friend
 

00:00:39.320 --> 00:00:41.709 align:start position:0%
three and a half years ago my friend
Justin<00:00:39.680><c> and</c><00:00:39.879><c> I</c><00:00:40.120><c> we</c><00:00:40.440><c> discovered</c><00:00:40.800><c> Dark</c><00:00:41.120><c> Forest</c>

00:00:41.709 --> 00:00:41.719 align:start position:0%
Justin and I we discovered Dark Forest
 

00:00:41.719 --> 00:00:44.029 align:start position:0%
Justin and I we discovered Dark Forest
and<00:00:41.879><c> we</c><00:00:42.000><c> got</c><00:00:42.160><c> really</c><00:00:42.440><c> inspired</c><00:00:42.960><c> by</c><00:00:43.120><c> it</c><00:00:43.800><c> dark</c>

00:00:44.029 --> 00:00:44.039 align:start position:0%
and we got really inspired by it dark
 

00:00:44.039 --> 00:00:45.470 align:start position:0%
and we got really inspired by it dark
forest<00:00:44.399><c> was</c><00:00:44.520><c> one</c><00:00:44.640><c> of</c><00:00:44.760><c> the</c><00:00:44.920><c> first</c><00:00:45.200><c> fully</c>

00:00:45.470 --> 00:00:45.480 align:start position:0%
forest was one of the first fully
 

00:00:45.480 --> 00:00:49.069 align:start position:0%
forest was one of the first fully
onchain<00:00:46.399><c> games</c><00:00:47.399><c> and</c><00:00:47.559><c> that</c><00:00:47.719><c> means</c><00:00:48.640><c> basically</c>

00:00:49.069 --> 00:00:49.079 align:start position:0%
onchain games and that means basically
 

00:00:49.079 --> 00:00:51.110 align:start position:0%
onchain games and that means basically
all<00:00:49.239><c> the</c><00:00:49.360><c> game</c><00:00:49.600><c> mechanics</c><00:00:50.480><c> all</c><00:00:50.640><c> the</c><00:00:50.800><c> physics</c>

00:00:51.110 --> 00:00:51.120 align:start position:0%
all the game mechanics all the physics
 

00:00:51.120 --> 00:00:53.510 align:start position:0%
all the game mechanics all the physics
of<00:00:51.239><c> your</c><00:00:51.440><c> game</c><00:00:51.840><c> are</c><00:00:52.079><c> deployed</c><00:00:52.680><c> or</c><00:00:53.039><c> are</c><00:00:53.199><c> living</c>

00:00:53.510 --> 00:00:53.520 align:start position:0%
of your game are deployed or are living
 

00:00:53.520 --> 00:00:56.150 align:start position:0%
of your game are deployed or are living
in<00:00:53.680><c> a</c><00:00:54.480><c> um</c><00:00:54.640><c> in</c><00:00:54.760><c> smart</c><00:00:55.079><c> contracts</c><00:00:55.480><c> on</c><00:00:55.559><c> a</c><00:00:55.719><c> public</c>

00:00:56.150 --> 00:00:56.160 align:start position:0%
in a um in smart contracts on a public
 

00:00:56.160 --> 00:00:58.150 align:start position:0%
in a um in smart contracts on a public
blockchain<00:00:57.160><c> and</c><00:00:57.280><c> then</c><00:00:57.440><c> the</c><00:00:57.600><c> client</c><00:00:58.000><c> is</c>

00:00:58.150 --> 00:00:58.160 align:start position:0%
blockchain and then the client is
 

00:00:58.160 --> 00:01:00.229 align:start position:0%
blockchain and then the client is
essentially<00:00:58.600><c> just</c><00:00:58.719><c> a</c><00:00:58.920><c> window</c><00:00:59.680><c> in</c><00:00:59.960><c> to</c><00:01:00.120><c> this</c>

00:01:00.229 --> 00:01:00.239 align:start position:0%
essentially just a window in to this
 

00:01:00.239 --> 00:01:02.709 align:start position:0%
essentially just a window in to this
onchain<00:01:00.640><c> world</c><00:01:01.640><c> and</c><00:01:01.800><c> now</c><00:01:01.920><c> you</c><00:01:02.039><c> suddenly</c><00:01:02.480><c> have</c>

00:01:02.709 --> 00:01:02.719 align:start position:0%
onchain world and now you suddenly have
 

00:01:02.719 --> 00:01:04.829 align:start position:0%
onchain world and now you suddenly have
something<00:01:03.359><c> where</c><00:01:04.119><c> um</c><00:01:04.239><c> the</c><00:01:04.360><c> world</c><00:01:04.600><c> will</c>

00:01:04.829 --> 00:01:04.839 align:start position:0%
something where um the world will
 

00:01:04.839 --> 00:01:06.870 align:start position:0%
something where um the world will
essentially<00:01:05.280><c> live</c><00:01:05.479><c> on</c><00:01:06.000><c> as</c><00:01:06.159><c> long</c><00:01:06.360><c> as</c><00:01:06.479><c> the</c><00:01:06.640><c> chain</c>

00:01:06.870 --> 00:01:06.880 align:start position:0%
essentially live on as long as the chain
 

00:01:06.880 --> 00:01:08.910 align:start position:0%
essentially live on as long as the chain
will<00:01:07.080><c> live</c><00:01:07.240><c> on</c><00:01:07.759><c> which</c><00:01:07.960><c> makes</c><00:01:08.159><c> it</c><00:01:08.320><c> feel</c><00:01:08.600><c> very</c>

00:01:08.910 --> 00:01:08.920 align:start position:0%
will live on which makes it feel very
 

00:01:08.920 --> 00:01:11.230 align:start position:0%
will live on which makes it feel very
real<00:01:09.920><c> and</c><00:01:10.040><c> then</c><00:01:10.280><c> also</c><00:01:10.600><c> the</c><00:01:10.680><c> other</c><00:01:10.880><c> thing</c><00:01:11.080><c> is</c>

00:01:11.230 --> 00:01:11.240 align:start position:0%
real and then also the other thing is
 

00:01:11.240 --> 00:01:13.270 align:start position:0%
real and then also the other thing is
you're<00:01:11.400><c> deploying</c><00:01:11.799><c> to</c><00:01:11.960><c> a</c><00:01:12.200><c> public</c><00:01:12.680><c> Global</c>

00:01:13.270 --> 00:01:13.280 align:start position:0%
you're deploying to a public Global
 

00:01:13.280 --> 00:01:15.350 align:start position:0%
you're deploying to a public Global
computer<00:01:14.159><c> where</c><00:01:14.360><c> also</c><00:01:14.640><c> everybody</c><00:01:15.000><c> else</c><00:01:15.200><c> can</c>

00:01:15.350 --> 00:01:15.360 align:start position:0%
computer where also everybody else can
 

00:01:15.360 --> 00:01:17.149 align:start position:0%
computer where also everybody else can
deploy<00:01:15.720><c> to</c><00:01:15.840><c> the</c><00:01:16.000><c> same</c><00:01:16.240><c> computer</c><00:01:16.640><c> and</c><00:01:16.840><c> extend</c>

00:01:17.149 --> 00:01:17.159 align:start position:0%
deploy to the same computer and extend
 

00:01:17.159 --> 00:01:18.830 align:start position:0%
deploy to the same computer and extend
the<00:01:17.280><c> world</c><00:01:17.520><c> so</c><00:01:17.680><c> there's</c><00:01:17.840><c> a</c><00:01:17.960><c> lot</c><00:01:18.080><c> of</c><00:01:18.320><c> potential</c>

00:01:18.830 --> 00:01:18.840 align:start position:0%
the world so there's a lot of potential
 

00:01:18.840 --> 00:01:22.910 align:start position:0%
the world so there's a lot of potential
for<00:01:19.560><c> um</c><00:01:19.720><c> emergent</c><00:01:20.159><c> Behavior</c><00:01:20.640><c> here</c><00:01:21.520><c> and</c><00:01:22.360><c> we</c><00:01:22.759><c> had</c>

00:01:22.910 --> 00:01:22.920 align:start position:0%
for um emergent Behavior here and we had
 

00:01:22.920 --> 00:01:24.710 align:start position:0%
for um emergent Behavior here and we had
this<00:01:23.079><c> feeling</c><00:01:23.560><c> that</c><00:01:24.200><c> we</c><00:01:24.360><c> there's</c><00:01:24.520><c> this</c>

00:01:24.710 --> 00:01:24.720 align:start position:0%
this feeling that we there's this
 

00:01:24.720 --> 00:01:26.830 align:start position:0%
this feeling that we there's this
potential<00:01:25.079><c> to</c><00:01:25.240><c> create</c><00:01:25.560><c> something</c><00:01:26.479><c> that</c><00:01:26.680><c> can</c>

00:01:26.830 --> 00:01:26.840 align:start position:0%
potential to create something that can
 

00:01:26.840 --> 00:01:28.910 align:start position:0%
potential to create something that can
be<00:01:26.960><c> more</c><00:01:27.159><c> meaningful</c><00:01:27.680><c> than</c><00:01:28.079><c> existing</c><00:01:28.479><c> Virtual</c>

00:01:28.910 --> 00:01:28.920 align:start position:0%
be more meaningful than existing Virtual
 

00:01:28.920 --> 00:01:31.190 align:start position:0%
be more meaningful than existing Virtual
Worlds<00:01:29.960><c> of</c><00:01:30.119><c> course</c><00:01:30.400><c> just</c><00:01:30.560><c> a</c><00:01:30.720><c> potential</c><00:01:31.119><c> you</c>

00:01:31.190 --> 00:01:31.200 align:start position:0%
Worlds of course just a potential you
 

00:01:31.200 --> 00:01:33.670 align:start position:0%
Worlds of course just a potential you
still<00:01:31.400><c> have</c><00:01:31.520><c> to</c><00:01:31.640><c> build</c><00:01:31.840><c> a</c><00:01:31.920><c> fun</c><00:01:32.200><c> game</c><00:01:33.000><c> and</c><00:01:33.119><c> so</c><00:01:33.479><c> we</c>

00:01:33.670 --> 00:01:33.680 align:start position:0%
still have to build a fun game and so we
 

00:01:33.680 --> 00:01:35.270 align:start position:0%
still have to build a fun game and so we
got<00:01:33.880><c> started</c>

00:01:35.270 --> 00:01:35.280 align:start position:0%
got started
 

00:01:35.280 --> 00:01:38.310 align:start position:0%
got started
building<00:01:36.280><c> we</c><00:01:36.399><c> get</c><00:01:36.640><c> started</c><00:01:37.159><c> with</c><00:01:37.600><c> the</c><00:01:37.920><c> default</c>

00:01:38.310 --> 00:01:38.320 align:start position:0%
building we get started with the default
 

00:01:38.320 --> 00:01:40.230 align:start position:0%
building we get started with the default
patterns<00:01:38.799><c> that</c><00:01:39.000><c> everybody</c><00:01:39.479><c> was</c><00:01:39.640><c> using</c><00:01:39.960><c> at</c><00:01:40.079><c> the</c>

00:01:40.230 --> 00:01:40.240 align:start position:0%
patterns that everybody was using at the
 

00:01:40.240 --> 00:01:42.550 align:start position:0%
patterns that everybody was using at the
time<00:01:40.560><c> so</c><00:01:41.040><c> the</c><00:01:41.200><c> first</c><00:01:41.479><c> thing</c><00:01:41.640><c> we</c><00:01:41.759><c> wanted</c><00:01:42.000><c> to</c><00:01:42.159><c> add</c>

00:01:42.550 --> 00:01:42.560 align:start position:0%
time so the first thing we wanted to add
 

00:01:42.560 --> 00:01:44.630 align:start position:0%
time so the first thing we wanted to add
was<00:01:42.880><c> positions</c><00:01:43.399><c> for</c><00:01:43.600><c> our</c><00:01:43.880><c> entities</c><00:01:44.360><c> in</c><00:01:44.479><c> the</c>

00:01:44.630 --> 00:01:44.640 align:start position:0%
was positions for our entities in the
 

00:01:44.640 --> 00:01:47.469 align:start position:0%
was positions for our entities in the
game<00:01:45.399><c> and</c><00:01:45.479><c> so</c><00:01:45.680><c> we</c><00:01:45.880><c> added</c><00:01:46.320><c> a</c><00:01:46.479><c> mapping</c><00:01:47.040><c> on</c><00:01:47.200><c> the</c>

00:01:47.469 --> 00:01:47.479 align:start position:0%
game and so we added a mapping on the
 

00:01:47.479 --> 00:01:50.069 align:start position:0%
game and so we added a mapping on the
contract<00:01:48.479><c> and</c><00:01:48.640><c> then</c><00:01:48.920><c> also</c><00:01:49.439><c> a</c><00:01:49.560><c> mapping</c><00:01:49.840><c> on</c><00:01:49.960><c> the</c>

00:01:50.069 --> 00:01:50.079 align:start position:0%
contract and then also a mapping on the
 

00:01:50.079 --> 00:01:51.590 align:start position:0%
contract and then also a mapping on the
client<00:01:50.520><c> because</c><00:01:50.920><c> of</c><00:01:51.040><c> course</c><00:01:51.240><c> we</c><00:01:51.360><c> want</c><00:01:51.479><c> to</c>

00:01:51.590 --> 00:01:51.600 align:start position:0%
client because of course we want to
 

00:01:51.600 --> 00:01:53.270 align:start position:0%
client because of course we want to
render<00:01:52.040><c> the</c><00:01:52.159><c> entities</c><00:01:52.640><c> the</c><00:01:52.759><c> position</c><00:01:53.040><c> of</c><00:01:53.159><c> our</c>

00:01:53.270 --> 00:01:53.280 align:start position:0%
render the entities the position of our
 

00:01:53.280 --> 00:01:55.350 align:start position:0%
render the entities the position of our
entities<00:01:53.640><c> in</c><00:01:53.759><c> our</c>

00:01:55.350 --> 00:01:55.360 align:start position:0%
entities in our
 

00:01:55.360 --> 00:01:57.550 align:start position:0%
entities in our
client<00:01:56.360><c> and</c><00:01:56.479><c> then</c><00:01:56.640><c> we</c><00:01:56.799><c> had</c><00:01:56.920><c> to</c><00:01:57.079><c> add</c><00:01:57.240><c> a</c><00:01:57.360><c> couple</c>

00:01:57.550 --> 00:01:57.560 align:start position:0%
client and then we had to add a couple
 

00:01:57.560 --> 00:01:59.429 align:start position:0%
client and then we had to add a couple
of<00:01:57.680><c> getter</c><00:01:58.039><c> functions</c><00:01:58.520><c> so</c><00:01:58.680><c> that</c><00:01:58.920><c> our</c><00:01:59.119><c> client</c>

00:01:59.429 --> 00:01:59.439 align:start position:0%
of getter functions so that our client
 

00:01:59.439 --> 00:02:00.910 align:start position:0%
of getter functions so that our client
when<00:01:59.560><c> the</c><00:01:59.640><c> Cent</c><00:02:00.000><c> loads</c><00:02:00.360><c> can</c><00:02:00.560><c> basically</c>

00:02:00.910 --> 00:02:00.920 align:start position:0%
when the Cent loads can basically
 

00:02:00.920 --> 00:02:03.029 align:start position:0%
when the Cent loads can basically
hydrate<00:02:01.360><c> the</c><00:02:01.479><c> initial</c><00:02:01.799><c> State</c><00:02:02.039><c> on</c><00:02:02.200><c> the</c>

00:02:03.029 --> 00:02:03.039 align:start position:0%
hydrate the initial State on the
 

00:02:03.039 --> 00:02:05.630 align:start position:0%
hydrate the initial State on the
client<00:02:04.039><c> and</c><00:02:04.200><c> then</c><00:02:04.479><c> we</c><00:02:04.640><c> added</c><00:02:05.159><c> the</c><00:02:05.320><c> first</c>

00:02:05.630 --> 00:02:05.640 align:start position:0%
client and then we added the first
 

00:02:05.640 --> 00:02:07.990 align:start position:0%
client and then we added the first
physics<00:02:06.039><c> of</c><00:02:06.159><c> our</c><00:02:06.320><c> game</c><00:02:06.520><c> the</c><00:02:06.640><c> move</c><00:02:06.920><c> function</c><00:02:07.759><c> um</c>

00:02:07.990 --> 00:02:08.000 align:start position:0%
physics of our game the move function um
 

00:02:08.000 --> 00:02:09.710 align:start position:0%
physics of our game the move function um
and<00:02:08.119><c> in</c><00:02:08.280><c> here</c><00:02:08.479><c> we</c><00:02:08.599><c> have</c><00:02:08.720><c> to</c><00:02:08.840><c> make</c><00:02:08.959><c> sure</c><00:02:09.200><c> to</c><00:02:09.440><c> both</c>

00:02:09.710 --> 00:02:09.720 align:start position:0%
and in here we have to make sure to both
 

00:02:09.720 --> 00:02:12.150 align:start position:0%
and in here we have to make sure to both
modify<00:02:10.200><c> the</c><00:02:10.319><c> state</c><00:02:10.679><c> but</c><00:02:10.800><c> then</c><00:02:11.039><c> also</c><00:02:11.680><c> emit</c><00:02:12.000><c> an</c>

00:02:12.150 --> 00:02:12.160 align:start position:0%
modify the state but then also emit an
 

00:02:12.160 --> 00:02:14.390 align:start position:0%
modify the state but then also emit an
event<00:02:12.560><c> that</c><00:02:12.680><c> the</c><00:02:12.800><c> client</c><00:02:13.080><c> can</c><00:02:13.239><c> listen</c><00:02:13.520><c> to</c><00:02:14.120><c> to</c>

00:02:14.390 --> 00:02:14.400 align:start position:0%
event that the client can listen to to
 

00:02:14.400 --> 00:02:17.350 align:start position:0%
event that the client can listen to to
keep<00:02:14.720><c> the</c><00:02:15.120><c> state</c><00:02:15.400><c> in</c><00:02:15.680><c> sync</c><00:02:16.680><c> so</c><00:02:16.879><c> this</c><00:02:16.959><c> is</c><00:02:17.080><c> a</c><00:02:17.200><c> lot</c>

00:02:17.350 --> 00:02:17.360 align:start position:0%
keep the state in sync so this is a lot
 

00:02:17.360 --> 00:02:20.750 align:start position:0%
keep the state in sync so this is a lot
of<00:02:17.519><c> boilerplate</c><00:02:18.440><c> just</c><00:02:18.680><c> for</c><00:02:19.360><c> having</c><00:02:20.239><c> um</c><00:02:20.519><c> one</c>

00:02:20.750 --> 00:02:20.760 align:start position:0%
of boilerplate just for having um one
 

00:02:20.760 --> 00:02:22.390 align:start position:0%
of boilerplate just for having um one
type<00:02:20.959><c> of</c><00:02:21.080><c> State</c><00:02:21.360><c> synchronized</c><00:02:22.000><c> between</c>

00:02:22.390 --> 00:02:22.400 align:start position:0%
type of State synchronized between
 

00:02:22.400 --> 00:02:24.430 align:start position:0%
type of State synchronized between
contracts<00:02:23.239><c> and</c><00:02:23.400><c> clients</c><00:02:23.879><c> and</c><00:02:24.040><c> of</c><00:02:24.120><c> course</c><00:02:24.319><c> we</c>

00:02:24.430 --> 00:02:24.440 align:start position:0%
contracts and clients and of course we
 

00:02:24.440 --> 00:02:26.670 align:start position:0%
contracts and clients and of course we
don't<00:02:24.640><c> only</c><00:02:24.879><c> want</c><00:02:25.160><c> position</c><00:02:26.000><c> but</c><00:02:26.319><c> but</c><00:02:26.440><c> a</c><00:02:26.519><c> lot</c>

00:02:26.670 --> 00:02:26.680 align:start position:0%
don't only want position but but a lot
 

00:02:26.680 --> 00:02:28.630 align:start position:0%
don't only want position but but a lot
more<00:02:26.840><c> on</c><00:02:27.000><c> chain</c><00:02:27.319><c> state</c><00:02:27.680><c> so</c><00:02:27.920><c> the</c><00:02:28.080><c> next</c><00:02:28.360><c> thing</c><00:02:28.519><c> we</c>

00:02:28.630 --> 00:02:28.640 align:start position:0%
more on chain state so the next thing we
 

00:02:28.640 --> 00:02:31.949 align:start position:0%
more on chain state so the next thing we
added<00:02:29.239><c> was</c><00:02:29.440><c> health</c><00:02:30.000><c> our</c><00:02:30.239><c> entities</c><00:02:31.239><c> but</c><00:02:31.680><c> now</c><00:02:31.840><c> we</c>

00:02:31.949 --> 00:02:31.959 align:start position:0%
added was health our entities but now we
 

00:02:31.959 --> 00:02:33.670 align:start position:0%
added was health our entities but now we
had<00:02:32.080><c> to</c><00:02:32.200><c> add</c><00:02:32.440><c> the</c><00:02:32.720><c> exact</c><00:02:33.000><c> same</c><00:02:33.120><c> baller</c><00:02:33.400><c> plate</c>

00:02:33.670 --> 00:02:33.680 align:start position:0%
had to add the exact same baller plate
 

00:02:33.680 --> 00:02:36.550 align:start position:0%
had to add the exact same baller plate
again<00:02:34.000><c> mappings</c><00:02:34.840><c> G</c><00:02:35.200><c> functions</c><00:02:35.680><c> custom</c><00:02:36.040><c> events</c>

00:02:36.550 --> 00:02:36.560 align:start position:0%
again mappings G functions custom events
 

00:02:36.560 --> 00:02:38.589 align:start position:0%
again mappings G functions custom events
custom<00:02:37.160><c> sync</c><00:02:37.480><c> stack</c><00:02:37.720><c> on</c><00:02:37.879><c> the</c>

00:02:38.589 --> 00:02:38.599 align:start position:0%
custom sync stack on the
 

00:02:38.599 --> 00:02:41.149 align:start position:0%
custom sync stack on the
client<00:02:39.599><c> and</c><00:02:39.760><c> then</c><00:02:39.959><c> the</c><00:02:40.080><c> same</c><00:02:40.319><c> thing</c><00:02:40.560><c> for</c>

00:02:41.149 --> 00:02:41.159 align:start position:0%
client and then the same thing for
 

00:02:41.159 --> 00:02:45.270 align:start position:0%
client and then the same thing for
energy<00:02:42.159><c> and</c><00:02:42.319><c> for</c><00:02:42.560><c> skills</c><00:02:43.560><c> and</c><00:02:43.760><c> for</c><00:02:44.280><c> inventory</c>

00:02:45.270 --> 00:02:45.280 align:start position:0%
energy and for skills and for inventory
 

00:02:45.280 --> 00:02:46.710 align:start position:0%
energy and for skills and for inventory
and<00:02:45.440><c> you</c><00:02:45.560><c> get</c><00:02:45.680><c> the</c><00:02:45.800><c> idea</c><00:02:46.319><c> it's</c><00:02:46.480><c> the</c><00:02:46.599><c> same</c>

00:02:46.710 --> 00:02:46.720 align:start position:0%
and you get the idea it's the same
 

00:02:46.720 --> 00:02:49.070 align:start position:0%
and you get the idea it's the same
baller<00:02:47.080><c> plate</c><00:02:47.319><c> over</c><00:02:47.480><c> and</c><00:02:47.640><c> over</c><00:02:47.920><c> again</c><00:02:48.760><c> and</c><00:02:48.959><c> at</c>

00:02:49.070 --> 00:02:49.080 align:start position:0%
baller plate over and over again and at
 

00:02:49.080 --> 00:02:51.070 align:start position:0%
baller plate over and over again and at
some<00:02:49.319><c> point</c><00:02:49.560><c> we</c><00:02:49.680><c> were</c><00:02:49.879><c> at</c><00:02:50.000><c> the</c><00:02:50.200><c> point</c><00:02:50.760><c> where</c><00:02:50.920><c> we</c>

00:02:51.070 --> 00:02:51.080 align:start position:0%
some point we were at the point where we
 

00:02:51.080 --> 00:02:53.110 align:start position:0%
some point we were at the point where we
couldn't<00:02:51.319><c> really</c><00:02:51.599><c> iterate</c><00:02:52.200><c> on</c><00:02:52.640><c> the</c><00:02:52.800><c> actual</c>

00:02:53.110 --> 00:02:53.120 align:start position:0%
couldn't really iterate on the actual
 

00:02:53.120 --> 00:02:55.229 align:start position:0%
couldn't really iterate on the actual
game<00:02:53.360><c> mechanics</c><00:02:53.879><c> anymore</c><00:02:54.640><c> because</c><00:02:55.040><c> every</c>

00:02:55.229 --> 00:02:55.239 align:start position:0%
game mechanics anymore because every
 

00:02:55.239 --> 00:02:57.229 align:start position:0%
game mechanics anymore because every
time<00:02:55.400><c> we</c><00:02:55.560><c> wanted</c><00:02:55.800><c> to</c><00:02:55.920><c> change</c><00:02:56.319><c> anything</c><00:02:57.080><c> we</c>

00:02:57.229 --> 00:02:57.239 align:start position:0%
time we wanted to change anything we
 

00:02:57.239 --> 00:02:58.830 align:start position:0%
time we wanted to change anything we
basically<00:02:57.680><c> had</c><00:02:57.800><c> to</c><00:02:57.959><c> drill</c><00:02:58.239><c> that</c><00:02:58.400><c> change</c>

00:02:58.830 --> 00:02:58.840 align:start position:0%
basically had to drill that change
 

00:02:58.840 --> 00:03:01.110 align:start position:0%
basically had to drill that change
through<00:02:59.040><c> the</c><00:02:59.200><c> entire</c><00:02:59.519><c> s</c><00:03:00.000><c> stack</c><00:03:00.560><c> just</c><00:03:00.720><c> to</c><00:03:00.920><c> keep</c>

00:03:01.110 --> 00:03:01.120 align:start position:0%
through the entire s stack just to keep
 

00:03:01.120 --> 00:03:04.030 align:start position:0%
through the entire s stack just to keep
the<00:03:01.319><c> contract</c><00:03:01.720><c> and</c><00:03:01.879><c> client</c><00:03:02.280><c> state</c><00:03:02.640><c> in</c><00:03:03.040><c> sync</c>

00:03:04.030 --> 00:03:04.040 align:start position:0%
the contract and client state in sync
 

00:03:04.040 --> 00:03:06.830 align:start position:0%
the contract and client state in sync
and<00:03:04.200><c> so</c><00:03:05.200><c> at</c><00:03:05.319><c> some</c><00:03:05.519><c> point</c><00:03:05.799><c> we</c><00:03:05.959><c> decided</c><00:03:06.280><c> to</c><00:03:06.480><c> trash</c>

00:03:06.830 --> 00:03:06.840 align:start position:0%
and so at some point we decided to trash
 

00:03:06.840 --> 00:03:09.350 align:start position:0%
and so at some point we decided to trash
everything<00:03:07.200><c> we</c><00:03:07.440><c> have</c><00:03:08.120><c> and</c><00:03:08.360><c> change</c><00:03:08.720><c> something</c>

00:03:09.350 --> 00:03:09.360 align:start position:0%
everything we have and change something
 

00:03:09.360 --> 00:03:11.430 align:start position:0%
everything we have and change something
um<00:03:09.480><c> we</c><00:03:09.640><c> decided</c><00:03:09.920><c> to</c><00:03:10.080><c> build</c><00:03:10.239><c> a</c><00:03:10.400><c> framework</c><00:03:11.280><c> to</c>

00:03:11.430 --> 00:03:11.440 align:start position:0%
um we decided to build a framework to
 

00:03:11.440 --> 00:03:13.070 align:start position:0%
um we decided to build a framework to
solve<00:03:11.680><c> our</c><00:03:11.840><c> own</c><00:03:12.120><c> problems</c><00:03:12.480><c> so</c><00:03:12.640><c> that</c><00:03:12.760><c> for</c><00:03:12.920><c> the</c>

00:03:13.070 --> 00:03:13.080 align:start position:0%
solve our own problems so that for the
 

00:03:13.080 --> 00:03:15.789 align:start position:0%
solve our own problems so that for the
next<00:03:13.440><c> project</c><00:03:14.239><c> we</c><00:03:14.440><c> could</c><00:03:14.959><c> basically</c><00:03:15.360><c> skip</c><00:03:15.640><c> all</c>

00:03:15.789 --> 00:03:15.799 align:start position:0%
next project we could basically skip all
 

00:03:15.799 --> 00:03:17.270 align:start position:0%
next project we could basically skip all
the<00:03:15.879><c> boilerplate</c><00:03:16.440><c> and</c><00:03:16.560><c> just</c><00:03:16.720><c> focus</c><00:03:17.040><c> on</c><00:03:17.200><c> the</c>

00:03:17.270 --> 00:03:17.280 align:start position:0%
the boilerplate and just focus on the
 

00:03:17.280 --> 00:03:20.390 align:start position:0%
the boilerplate and just focus on the
fun<00:03:17.640><c> stuff</c><00:03:18.120><c> on</c><00:03:18.280><c> the</c><00:03:18.400><c> game</c><00:03:18.599><c> mechanics</c><00:03:19.040><c> of</c><00:03:19.159><c> our</c>

00:03:20.390 --> 00:03:20.400 align:start position:0%
fun stuff on the game mechanics of our
 

00:03:20.400 --> 00:03:22.710 align:start position:0%
fun stuff on the game mechanics of our
game<00:03:21.400><c> and</c><00:03:21.599><c> that</c><00:03:21.760><c> framework</c><00:03:22.239><c> over</c><00:03:22.400><c> the</c><00:03:22.519><c> last</c>

00:03:22.710 --> 00:03:22.720 align:start position:0%
game and that framework over the last
 

00:03:22.720 --> 00:03:24.309 align:start position:0%
game and that framework over the last
three<00:03:22.879><c> and</c><00:03:22.959><c> a</c><00:03:23.040><c> half</c><00:03:23.200><c> years</c><00:03:23.360><c> turned</c><00:03:23.640><c> into</c><00:03:23.920><c> mud</c>

00:03:24.309 --> 00:03:24.319 align:start position:0%
three and a half years turned into mud
 

00:03:24.319 --> 00:03:26.350 align:start position:0%
three and a half years turned into mud
and<00:03:24.519><c> now</c><00:03:24.760><c> we're</c><00:03:24.920><c> not</c><00:03:25.080><c> the</c><00:03:25.200><c> only</c><00:03:25.360><c> ones</c><00:03:25.599><c> using</c><00:03:25.879><c> it</c>

00:03:26.350 --> 00:03:26.360 align:start position:0%
and now we're not the only ones using it
 

00:03:26.360 --> 00:03:28.229 align:start position:0%
and now we're not the only ones using it
now<00:03:26.519><c> it's</c><00:03:26.640><c> used</c><00:03:27.000><c> by</c><00:03:27.159><c> a</c><00:03:27.239><c> bunch</c><00:03:27.440><c> of</c><00:03:27.599><c> teams</c><00:03:28.120><c> um</c>

00:03:28.229 --> 00:03:28.239 align:start position:0%
now it's used by a bunch of teams um
 

00:03:28.239 --> 00:03:30.589 align:start position:0%
now it's used by a bunch of teams um
from<00:03:28.439><c> small</c><00:03:28.680><c> teams</c><00:03:28.959><c> to</c><00:03:29.159><c> Big</c><00:03:29.319><c> teams</c><00:03:29.959><c> who</c><00:03:30.159><c> all</c>

00:03:30.589 --> 00:03:30.599 align:start position:0%
from small teams to Big teams who all
 

00:03:30.599 --> 00:03:32.309 align:start position:0%
from small teams to Big teams who all
ran<00:03:30.879><c> into</c><00:03:31.080><c> the</c><00:03:31.200><c> same</c><00:03:31.480><c> problems</c><00:03:31.840><c> that</c><00:03:31.959><c> we</c><00:03:32.120><c> ran</c>

00:03:32.309 --> 00:03:32.319 align:start position:0%
ran into the same problems that we ran
 

00:03:32.319 --> 00:03:34.750 align:start position:0%
ran into the same problems that we ran
into<00:03:32.760><c> and</c><00:03:33.080><c> now</c><00:03:33.239><c> they</c><00:03:33.360><c> use</c><00:03:33.560><c> muds</c><00:03:33.840><c> to</c><00:03:33.959><c> ship</c>

00:03:34.750 --> 00:03:34.760 align:start position:0%
into and now they use muds to ship
 

00:03:34.760 --> 00:03:37.830 align:start position:0%
into and now they use muds to ship
faster<00:03:35.760><c> so</c><00:03:36.480><c> in</c><00:03:36.640><c> the</c><00:03:36.760><c> next</c><00:03:37.000><c> 15</c><00:03:37.319><c> minutes</c><00:03:37.680><c> I'm</c>

00:03:37.830 --> 00:03:37.840 align:start position:0%
faster so in the next 15 minutes I'm
 

00:03:37.840 --> 00:03:39.949 align:start position:0%
faster so in the next 15 minutes I'm
going<00:03:37.959><c> to</c><00:03:38.120><c> talk</c><00:03:38.319><c> about</c><00:03:38.680><c> three</c><00:03:39.040><c> problems</c><00:03:39.840><c> that</c>

00:03:39.949 --> 00:03:39.959 align:start position:0%
going to talk about three problems that
 

00:03:39.959 --> 00:03:42.710 align:start position:0%
going to talk about three problems that
we<00:03:40.120><c> ran</c><00:03:40.360><c> into</c><00:03:40.680><c> back</c><00:03:40.879><c> then</c><00:03:41.400><c> and</c><00:03:42.159><c> how</c><00:03:42.280><c> we</c><00:03:42.400><c> solved</c>

00:03:42.710 --> 00:03:42.720 align:start position:0%
we ran into back then and how we solved
 

00:03:42.720 --> 00:03:44.190 align:start position:0%
we ran into back then and how we solved
them<00:03:42.840><c> in</c>

00:03:44.190 --> 00:03:44.200 align:start position:0%
them in
 

00:03:44.200 --> 00:03:46.429 align:start position:0%
them in
mud<00:03:45.200><c> the</c><00:03:45.360><c> first</c><00:03:45.560><c> one</c><00:03:45.760><c> I</c><00:03:45.879><c> already</c><00:03:46.080><c> told</c><00:03:46.280><c> you</c>

00:03:46.429 --> 00:03:46.439 align:start position:0%
mud the first one I already told you
 

00:03:46.439 --> 00:03:48.270 align:start position:0%
mud the first one I already told you
about<00:03:46.640><c> onchain</c><00:03:47.080><c> games</c><00:03:47.360><c> have</c><00:03:47.480><c> a</c><00:03:47.599><c> lot</c><00:03:47.720><c> of</c><00:03:47.879><c> state</c>

00:03:48.270 --> 00:03:48.280 align:start position:0%
about onchain games have a lot of state
 

00:03:48.280 --> 00:03:50.190 align:start position:0%
about onchain games have a lot of state
and<00:03:48.400><c> you</c><00:03:48.599><c> need</c><00:03:48.760><c> to</c><00:03:48.920><c> synchronize</c><00:03:49.560><c> that</c><00:03:49.720><c> state</c>

00:03:50.190 --> 00:03:50.200 align:start position:0%
and you need to synchronize that state
 

00:03:50.200 --> 00:03:53.190 align:start position:0%
and you need to synchronize that state
to<00:03:50.400><c> the</c><00:03:50.560><c> client</c><00:03:50.879><c> to</c><00:03:51.040><c> render</c><00:03:51.360><c> a</c><00:03:51.560><c> game</c><00:03:52.519><c> and</c><00:03:53.079><c> I</c>

00:03:53.190 --> 00:03:53.200 align:start position:0%
to the client to render a game and I
 

00:03:53.200 --> 00:03:55.030 align:start position:0%
to the client to render a game and I
also<00:03:53.439><c> already</c><00:03:53.760><c> told</c><00:03:53.959><c> you</c><00:03:54.079><c> about</c><00:03:54.560><c> the</c><00:03:54.720><c> fact</c>

00:03:55.030 --> 00:03:55.040 align:start position:0%
also already told you about the fact
 

00:03:55.040 --> 00:03:56.990 align:start position:0%
also already told you about the fact
that<00:03:55.560><c> the</c><00:03:55.720><c> default</c><00:03:56.079><c> approach</c><00:03:56.360><c> of</c><00:03:56.480><c> using</c><00:03:56.720><c> gter</c>

00:03:56.990 --> 00:03:57.000 align:start position:0%
that the default approach of using gter
 

00:03:57.000 --> 00:03:59.069 align:start position:0%
that the default approach of using gter
functions<00:03:57.400><c> events</c><00:03:57.680><c> and</c><00:03:57.799><c> so</c><00:03:57.959><c> on</c><00:03:58.400><c> doesn't</c><00:03:58.680><c> scale</c>

00:03:59.069 --> 00:03:59.079 align:start position:0%
functions events and so on doesn't scale
 

00:03:59.079 --> 00:04:00.550 align:start position:0%
functions events and so on doesn't scale
well

00:04:00.550 --> 00:04:00.560 align:start position:0%
well
 

00:04:00.560 --> 00:04:02.390 align:start position:0%
well
and<00:04:00.680><c> so</c><00:04:00.840><c> here's</c><00:04:01.040><c> what</c><00:04:01.159><c> we</c><00:04:01.319><c> did</c><00:04:02.000><c> the</c><00:04:02.159><c> first</c>

00:04:02.390 --> 00:04:02.400 align:start position:0%
and so here's what we did the first
 

00:04:02.400 --> 00:04:04.789 align:start position:0%
and so here's what we did the first
thing<00:04:02.560><c> we</c><00:04:02.720><c> did</c><00:04:02.879><c> was</c><00:04:03.079><c> standardize</c><00:04:03.760><c> the</c><00:04:03.879><c> way</c><00:04:04.159><c> we</c>

00:04:04.789 --> 00:04:04.799 align:start position:0%
thing we did was standardize the way we
 

00:04:04.799 --> 00:04:07.270 align:start position:0%
thing we did was standardize the way we
basically<00:04:05.120><c> shape</c><00:04:05.519><c> our</c><00:04:05.840><c> our</c><00:04:06.079><c> state</c><00:04:06.840><c> and</c><00:04:06.920><c> so</c><00:04:07.120><c> now</c>

00:04:07.270 --> 00:04:07.280 align:start position:0%
basically shape our our state and so now
 

00:04:07.280 --> 00:04:10.350 align:start position:0%
basically shape our our state and so now
we<00:04:07.400><c> just</c><00:04:07.519><c> use</c><00:04:07.920><c> tables</c><00:04:08.360><c> for</c><00:04:08.879><c> everything</c><00:04:09.879><c> um</c><00:04:10.159><c> a</c>

00:04:10.350 --> 00:04:10.360 align:start position:0%
we just use tables for everything um a
 

00:04:10.360 --> 00:04:12.069 align:start position:0%
we just use tables for everything um a
table<00:04:10.720><c> you</c><00:04:10.840><c> can</c><00:04:11.000><c> kind</c><00:04:11.120><c> of</c><00:04:11.280><c> think</c><00:04:11.439><c> of</c><00:04:11.560><c> it</c><00:04:11.799><c> as</c><00:04:11.920><c> a</c>

00:04:12.069 --> 00:04:12.079 align:start position:0%
table you can kind of think of it as a
 

00:04:12.079 --> 00:04:13.869 align:start position:0%
table you can kind of think of it as a
mapping<00:04:12.480><c> in</c><00:04:12.680><c> solidity</c><00:04:13.159><c> you</c><00:04:13.280><c> can</c><00:04:13.400><c> implement</c><00:04:13.760><c> it</c>

00:04:13.869 --> 00:04:13.879 align:start position:0%
mapping in solidity you can implement it
 

00:04:13.879 --> 00:04:16.030 align:start position:0%
mapping in solidity you can implement it
as<00:04:13.959><c> a</c><00:04:14.040><c> mapping</c><00:04:14.280><c> in</c><00:04:14.439><c> solidity</c><00:04:15.360><c> um</c><00:04:15.640><c> but</c><00:04:15.799><c> we</c><00:04:15.920><c> like</c>

00:04:16.030 --> 00:04:16.040 align:start position:0%
as a mapping in solidity um but we like
 

00:04:16.040 --> 00:04:18.550 align:start position:0%
as a mapping in solidity um but we like
to<00:04:16.160><c> think</c><00:04:16.280><c> of</c><00:04:16.400><c> it</c><00:04:16.479><c> as</c><00:04:16.680><c> tables</c><00:04:17.680><c> and</c><00:04:18.079><c> tables</c><00:04:18.440><c> can</c>

00:04:18.550 --> 00:04:18.560 align:start position:0%
to think of it as tables and tables can
 

00:04:18.560 --> 00:04:20.789 align:start position:0%
to think of it as tables and tables can
have<00:04:18.720><c> multiple</c><00:04:19.040><c> rows</c><00:04:19.400><c> we</c><00:04:19.479><c> call</c><00:04:19.680><c> those</c><00:04:19.919><c> records</c>

00:04:20.789 --> 00:04:20.799 align:start position:0%
have multiple rows we call those records
 

00:04:20.799 --> 00:04:22.550 align:start position:0%
have multiple rows we call those records
and<00:04:20.919><c> then</c><00:04:21.160><c> each</c><00:04:21.440><c> record</c><00:04:21.919><c> is</c><00:04:22.079><c> uniquely</c>

00:04:22.550 --> 00:04:22.560 align:start position:0%
and then each record is uniquely
 

00:04:22.560 --> 00:04:25.909 align:start position:0%
and then each record is uniquely
identified<00:04:23.120><c> by</c><00:04:23.280><c> one</c><00:04:23.479><c> or</c><00:04:23.759><c> more</c><00:04:24.600><c> keys</c><00:04:25.600><c> and</c><00:04:25.720><c> now</c>

00:04:25.909 --> 00:04:25.919 align:start position:0%
identified by one or more keys and now
 

00:04:25.919 --> 00:04:27.590 align:start position:0%
identified by one or more keys and now
the<00:04:26.040><c> important</c><00:04:26.360><c> thing</c><00:04:26.520><c> is</c><00:04:26.720><c> what</c><00:04:26.880><c> happens</c><00:04:27.280><c> when</c>

00:04:27.590 --> 00:04:27.600 align:start position:0%
the important thing is what happens when
 

00:04:27.600 --> 00:04:30.469 align:start position:0%
the important thing is what happens when
a<00:04:27.759><c> record</c><00:04:28.360><c> in</c><00:04:28.479><c> our</c><00:04:28.639><c> table</c><00:04:28.880><c> changes</c>

00:04:30.469 --> 00:04:30.479 align:start position:0%
a record in our table changes
 

00:04:30.479 --> 00:04:32.550 align:start position:0%
a record in our table changes
well<00:04:30.720><c> instead</c><00:04:31.039><c> of</c><00:04:31.240><c> emitting</c><00:04:31.800><c> a</c><00:04:32.199><c> different</c>

00:04:32.550 --> 00:04:32.560 align:start position:0%
well instead of emitting a different
 

00:04:32.560 --> 00:04:34.310 align:start position:0%
well instead of emitting a different
event<00:04:32.840><c> for</c><00:04:33.080><c> each</c><00:04:33.320><c> different</c><00:04:33.639><c> type</c><00:04:33.800><c> of</c><00:04:33.960><c> table</c>

00:04:34.310 --> 00:04:34.320 align:start position:0%
event for each different type of table
 

00:04:34.320 --> 00:04:36.390 align:start position:0%
event for each different type of table
like<00:04:34.560><c> position</c><00:04:34.919><c> changed</c><00:04:35.600><c> Health</c><00:04:35.880><c> changed</c><00:04:36.280><c> and</c>

00:04:36.390 --> 00:04:36.400 align:start position:0%
like position changed Health changed and
 

00:04:36.400 --> 00:04:39.550 align:start position:0%
like position changed Health changed and
so<00:04:36.560><c> on</c><00:04:37.160><c> WE</c><00:04:37.320><c> emit</c><00:04:37.720><c> one</c><00:04:38.440><c> default</c><00:04:39.000><c> event</c><00:04:39.360><c> one</c>

00:04:39.550 --> 00:04:39.560 align:start position:0%
so on WE emit one default event one
 

00:04:39.560 --> 00:04:42.189 align:start position:0%
so on WE emit one default event one
generic<00:04:40.000><c> event</c><00:04:40.320><c> for</c><00:04:40.479><c> all</c><00:04:40.639><c> the</c><00:04:40.840><c> tables</c><00:04:41.840><c> and</c><00:04:42.000><c> on</c>

00:04:42.189 --> 00:04:42.199 align:start position:0%
generic event for all the tables and on
 

00:04:42.199 --> 00:04:44.550 align:start position:0%
generic event for all the tables and on
that<00:04:42.400><c> event</c><00:04:42.639><c> we</c><00:04:42.759><c> have</c><00:04:42.919><c> enough</c><00:04:43.320><c> information</c><00:04:44.320><c> um</c>

00:04:44.550 --> 00:04:44.560 align:start position:0%
that event we have enough information um
 

00:04:44.560 --> 00:04:46.950 align:start position:0%
that event we have enough information um
to<00:04:44.720><c> know</c><00:04:44.960><c> which</c><00:04:45.160><c> table</c><00:04:45.479><c> changed</c><00:04:46.240><c> which</c><00:04:46.560><c> record</c>

00:04:46.950 --> 00:04:46.960 align:start position:0%
to know which table changed which record
 

00:04:46.960 --> 00:04:49.110 align:start position:0%
to know which table changed which record
changed<00:04:47.360><c> and</c><00:04:47.639><c> which</c><00:04:47.880><c> value</c><00:04:48.240><c> in</c><00:04:48.400><c> that</c><00:04:48.560><c> record</c>

00:04:49.110 --> 00:04:49.120 align:start position:0%
changed and which value in that record
 

00:04:49.120 --> 00:04:52.469 align:start position:0%
changed and which value in that record
changed<00:04:50.120><c> and</c><00:04:50.280><c> then</c><00:04:50.680><c> with</c><00:04:50.880><c> this</c><00:04:51.160><c> generic</c><00:04:51.600><c> event</c>

00:04:52.469 --> 00:04:52.479 align:start position:0%
changed and then with this generic event
 

00:04:52.479 --> 00:04:54.590 align:start position:0%
changed and then with this generic event
we<00:04:52.600><c> can</c><00:04:52.800><c> then</c><00:04:52.960><c> build</c><00:04:53.400><c> a</c><00:04:53.600><c> syn</c><00:04:53.880><c> stack</c><00:04:54.199><c> that</c>

00:04:54.590 --> 00:04:54.600 align:start position:0%
we can then build a syn stack that
 

00:04:54.600 --> 00:04:56.430 align:start position:0%
we can then build a syn stack that
understands<00:04:54.880><c> this</c><00:04:55.039><c> generic</c><00:04:55.440><c> event</c><00:04:56.080><c> and</c><00:04:56.240><c> then</c>

00:04:56.430 --> 00:04:56.440 align:start position:0%
understands this generic event and then
 

00:04:56.440 --> 00:04:58.510 align:start position:0%
understands this generic event and then
takes<00:04:56.759><c> care</c><00:04:56.880><c> of</c><00:04:57.080><c> updating</c><00:04:57.600><c> the</c><00:04:57.759><c> same</c><00:04:58.000><c> value</c><00:04:58.360><c> on</c>

00:04:58.510 --> 00:04:58.520 align:start position:0%
takes care of updating the same value on
 

00:04:58.520 --> 00:05:01.629 align:start position:0%
takes care of updating the same value on
the<00:04:58.680><c> client</c>

00:05:01.629 --> 00:05:01.639 align:start position:0%
the client
 

00:05:01.639 --> 00:05:03.469 align:start position:0%
the client
and<00:05:01.800><c> now</c><00:05:01.960><c> we</c><00:05:02.080><c> don't</c><00:05:02.360><c> need</c><00:05:02.639><c> any</c><00:05:03.000><c> you</c><00:05:03.120><c> know</c><00:05:03.360><c> we</c>

00:05:03.469 --> 00:05:03.479 align:start position:0%
and now we don't need any you know we
 

00:05:03.479 --> 00:05:05.469 align:start position:0%
and now we don't need any you know we
don't<00:05:03.639><c> need</c><00:05:03.759><c> a</c><00:05:04.000><c> custom</c><00:05:04.360><c> syn</c><00:05:04.639><c> stack</c><00:05:04.880><c> adapter</c>

00:05:05.469 --> 00:05:05.479 align:start position:0%
don't need a custom syn stack adapter
 

00:05:05.479 --> 00:05:07.110 align:start position:0%
don't need a custom syn stack adapter
for<00:05:05.759><c> every</c><00:05:06.000><c> different</c><00:05:06.280><c> type</c><00:05:06.440><c> of</c><00:05:06.600><c> table</c><00:05:06.919><c> but</c><00:05:07.039><c> we</c>

00:05:07.110 --> 00:05:07.120 align:start position:0%
for every different type of table but we
 

00:05:07.120 --> 00:05:08.870 align:start position:0%
for every different type of table but we
can<00:05:07.280><c> reuse</c><00:05:07.680><c> the</c><00:05:07.840><c> same</c><00:05:08.039><c> code</c><00:05:08.360><c> for</c><00:05:08.600><c> all</c><00:05:08.759><c> the</c>

00:05:08.870 --> 00:05:08.880 align:start position:0%
can reuse the same code for all the
 

00:05:08.880 --> 00:05:11.749 align:start position:0%
can reuse the same code for all the
different<00:05:09.120><c> state</c><00:05:09.400><c> that</c><00:05:09.560><c> we</c><00:05:10.039><c> have</c><00:05:11.039><c> and</c><00:05:11.199><c> then</c><00:05:11.440><c> we</c>

00:05:11.749 --> 00:05:11.759 align:start position:0%
different state that we have and then we
 

00:05:11.759 --> 00:05:13.350 align:start position:0%
different state that we have and then we
generate<00:05:12.160><c> some</c><00:05:12.520><c> libraries</c><00:05:13.039><c> for</c><00:05:13.240><c> the</c>

00:05:13.350 --> 00:05:13.360 align:start position:0%
generate some libraries for the
 

00:05:13.360 --> 00:05:15.350 align:start position:0%
generate some libraries for the
contracts<00:05:14.240><c> that</c><00:05:14.440><c> basically</c><00:05:14.880><c> just</c><00:05:15.039><c> take</c><00:05:15.240><c> care</c>

00:05:15.350 --> 00:05:15.360 align:start position:0%
contracts that basically just take care
 

00:05:15.360 --> 00:05:16.790 align:start position:0%
contracts that basically just take care
of<00:05:15.479><c> setting</c><00:05:15.800><c> the</c><00:05:15.960><c> state</c><00:05:16.280><c> and</c><00:05:16.360><c> then</c><00:05:16.560><c> also</c>

00:05:16.790 --> 00:05:16.800 align:start position:0%
of setting the state and then also
 

00:05:16.800 --> 00:05:18.230 align:start position:0%
of setting the state and then also
emitting<00:05:17.160><c> this</c><00:05:17.320><c> event</c><00:05:17.600><c> so</c><00:05:17.720><c> we</c><00:05:17.800><c> don't</c><00:05:17.960><c> have</c><00:05:18.080><c> to</c>

00:05:18.230 --> 00:05:18.240 align:start position:0%
emitting this event so we don't have to
 

00:05:18.240 --> 00:05:20.390 align:start position:0%
emitting this event so we don't have to
think<00:05:18.440><c> about</c><00:05:18.680><c> that</c><00:05:18.840><c> every</c><00:05:19.080><c> time</c><00:05:19.960><c> and</c><00:05:20.080><c> now</c><00:05:20.240><c> we</c>

00:05:20.390 --> 00:05:20.400 align:start position:0%
think about that every time and now we
 

00:05:20.400 --> 00:05:22.029 align:start position:0%
think about that every time and now we
essentially<00:05:20.880><c> eliminated</c><00:05:21.440><c> all</c><00:05:21.600><c> the</c><00:05:21.720><c> boiler</c>

00:05:22.029 --> 00:05:22.039 align:start position:0%
essentially eliminated all the boiler
 

00:05:22.039 --> 00:05:23.790 align:start position:0%
essentially eliminated all the boiler
plate<00:05:22.360><c> because</c><00:05:22.639><c> now</c><00:05:22.880><c> adding</c><00:05:23.120><c> a</c><00:05:23.240><c> new</c><00:05:23.400><c> type</c><00:05:23.600><c> of</c>

00:05:23.790 --> 00:05:23.800 align:start position:0%
plate because now adding a new type of
 

00:05:23.800 --> 00:05:26.350 align:start position:0%
plate because now adding a new type of
state<00:05:24.560><c> is</c><00:05:24.840><c> just</c><00:05:25.319><c> one</c><00:05:25.520><c> line</c><00:05:25.720><c> of</c><00:05:25.880><c> code</c><00:05:26.120><c> on</c><00:05:26.240><c> the</c>

00:05:26.350 --> 00:05:26.360 align:start position:0%
state is just one line of code on the
 

00:05:26.360 --> 00:05:28.230 align:start position:0%
state is just one line of code on the
contracts<00:05:27.160><c> it's</c><00:05:27.360><c> automatically</c><00:05:27.840><c> synced</c><00:05:28.120><c> to</c>

00:05:28.230 --> 00:05:28.240 align:start position:0%
contracts it's automatically synced to
 

00:05:28.240 --> 00:05:29.950 align:start position:0%
contracts it's automatically synced to
the<00:05:28.360><c> client</c><00:05:28.680><c> and</c><00:05:28.800><c> then</c><00:05:28.960><c> one</c><00:05:29.120><c> line</c><00:05:29.280><c> on</c><00:05:29.360><c> the</c><00:05:29.479><c> cont</c>

00:05:29.950 --> 00:05:29.960 align:start position:0%
the client and then one line on the cont
 

00:05:29.960 --> 00:05:35.230 align:start position:0%
the client and then one line on the cont
on<00:05:30.080><c> the</c><00:05:30.240><c> client</c><00:05:30.800><c> to</c><00:05:31.039><c> access</c><00:05:31.319><c> the</c><00:05:31.479><c> state</c>

00:05:35.230 --> 00:05:35.240 align:start position:0%
 
 

00:05:35.240 --> 00:05:37.189 align:start position:0%
 
there<00:05:36.240><c> and</c><00:05:36.360><c> then</c><00:05:36.560><c> once</c><00:05:36.720><c> we</c><00:05:36.880><c> have</c><00:05:37.039><c> this</c>

00:05:37.189 --> 00:05:37.199 align:start position:0%
there and then once we have this
 

00:05:37.199 --> 00:05:39.510 align:start position:0%
there and then once we have this
automatic<00:05:37.680><c> syn</c><00:05:37.880><c> stck</c><00:05:38.120><c> we</c><00:05:38.199><c> can</c><00:05:38.360><c> do</c><00:05:39.000><c> more</c><00:05:39.240><c> fun</c>

00:05:39.510 --> 00:05:39.520 align:start position:0%
automatic syn stck we can do more fun
 

00:05:39.520 --> 00:05:41.469 align:start position:0%
automatic syn stck we can do more fun
stuff<00:05:39.759><c> with</c><00:05:39.880><c> it</c><00:05:40.080><c> like</c><00:05:40.240><c> we</c><00:05:40.360><c> can</c><00:05:40.680><c> also</c><00:05:41.000><c> pipe</c><00:05:41.319><c> the</c>

00:05:41.469 --> 00:05:41.479 align:start position:0%
stuff with it like we can also pipe the
 

00:05:41.479 --> 00:05:43.990 align:start position:0%
stuff with it like we can also pipe the
state<00:05:42.000><c> into</c><00:05:42.240><c> a</c><00:05:42.360><c> relational</c><00:05:42.880><c> database</c><00:05:43.800><c> from</c>

00:05:43.990 --> 00:05:44.000 align:start position:0%
state into a relational database from
 

00:05:44.000 --> 00:05:45.670 align:start position:0%
state into a relational database from
which<00:05:44.199><c> then</c><00:05:44.360><c> the</c><00:05:44.479><c> clients</c><00:05:44.840><c> can</c><00:05:45.000><c> use</c><00:05:45.160><c> it</c><00:05:45.360><c> to</c>

00:05:45.670 --> 00:05:45.680 align:start position:0%
which then the clients can use it to
 

00:05:45.680 --> 00:05:47.469 align:start position:0%
which then the clients can use it to
sync<00:05:45.880><c> the</c><00:05:46.000><c> state</c><00:05:46.240><c> quicker</c><00:05:46.639><c> so</c><00:05:46.840><c> we</c><00:05:47.080><c> now</c><00:05:47.280><c> also</c>

00:05:47.469 --> 00:05:47.479 align:start position:0%
sync the state quicker so we now also
 

00:05:47.479 --> 00:05:50.189 align:start position:0%
sync the state quicker so we now also
have<00:05:47.600><c> an</c><00:05:47.720><c> automatic</c><00:05:48.400><c> indexer</c><00:05:49.400><c> and</c><00:05:49.919><c> because</c>

00:05:50.189 --> 00:05:50.199 align:start position:0%
have an automatic indexer and because
 

00:05:50.199 --> 00:05:52.270 align:start position:0%
have an automatic indexer and because
now<00:05:50.360><c> all</c><00:05:50.600><c> the</c><00:05:50.759><c> state</c><00:05:51.080><c> lives</c><00:05:51.360><c> in</c><00:05:51.520><c> an</c><00:05:52.080><c> in</c><00:05:52.160><c> a</c>

00:05:52.270 --> 00:05:52.280 align:start position:0%
now all the state lives in an in a
 

00:05:52.280 --> 00:05:54.670 align:start position:0%
now all the state lives in an in a
relational<00:05:52.720><c> database</c><00:05:53.440><c> we</c><00:05:53.560><c> can</c><00:05:53.800><c> also</c><00:05:53.960><c> use</c><00:05:54.160><c> SQL</c>

00:05:54.670 --> 00:05:54.680 align:start position:0%
relational database we can also use SQL
 

00:05:54.680 --> 00:05:57.590 align:start position:0%
relational database we can also use SQL
to<00:05:54.840><c> basically</c><00:05:55.199><c> query</c><00:05:55.639><c> all</c><00:05:55.759><c> of</c><00:05:55.880><c> our</c><00:05:56.000><c> onchain</c>

00:05:57.590 --> 00:05:57.600 align:start position:0%
to basically query all of our onchain
 

00:05:57.600 --> 00:05:59.870 align:start position:0%
to basically query all of our onchain
state<00:05:58.600><c> now</c><00:05:59.120><c> some</c><00:05:59.280><c> of</c><00:05:59.360><c> you</c><00:05:59.479><c> might</c><00:05:59.639><c> might</c><00:05:59.759><c> have</c>

00:05:59.870 --> 00:05:59.880 align:start position:0%
state now some of you might might have
 

00:05:59.880 --> 00:06:01.710 align:start position:0%
state now some of you might might have
noticed<00:06:00.240><c> that</c><00:06:00.479><c> solidity</c><00:06:01.120><c> doesn't</c><00:06:01.440><c> actually</c>

00:06:01.710 --> 00:06:01.720 align:start position:0%
noticed that solidity doesn't actually
 

00:06:01.720 --> 00:06:03.510 align:start position:0%
noticed that solidity doesn't actually
have<00:06:01.919><c> generic</c><00:06:02.319><c> events</c><00:06:02.639><c> so</c><00:06:02.759><c> we</c><00:06:02.880><c> have</c><00:06:02.960><c> to</c><00:06:03.199><c> use</c><00:06:03.360><c> a</c>

00:06:03.510 --> 00:06:03.520 align:start position:0%
have generic events so we have to use a
 

00:06:03.520 --> 00:06:05.670 align:start position:0%
have generic events so we have to use a
little<00:06:03.759><c> trick</c><00:06:04.039><c> here</c><00:06:04.680><c> what</c><00:06:04.800><c> we</c><00:06:04.919><c> do</c><00:06:05.160><c> is</c><00:06:05.319><c> on</c><00:06:05.479><c> the</c>

00:06:05.670 --> 00:06:05.680 align:start position:0%
little trick here what we do is on the
 

00:06:05.680 --> 00:06:08.430 align:start position:0%
little trick here what we do is on the
contracts<00:06:06.400><c> we</c><00:06:06.639><c> basically</c><00:06:07.039><c> encode</c><00:06:07.880><c> the</c><00:06:08.000><c> state</c>

00:06:08.430 --> 00:06:08.440 align:start position:0%
contracts we basically encode the state
 

00:06:08.440 --> 00:06:11.270 align:start position:0%
contracts we basically encode the state
as<00:06:08.639><c> tightly</c><00:06:09.039><c> as</c><00:06:09.240><c> possible</c><00:06:10.199><c> and</c><00:06:10.360><c> then</c><00:06:10.919><c> um</c><00:06:11.160><c> we</c>

00:06:11.270 --> 00:06:11.280 align:start position:0%
as tightly as possible and then um we
 

00:06:11.280 --> 00:06:13.870 align:start position:0%
as tightly as possible and then um we
store<00:06:11.960><c> the</c><00:06:12.240><c> and</c><00:06:12.360><c> then</c><00:06:12.520><c> we</c><00:06:12.680><c> emit</c><00:06:13.000><c> that</c><00:06:13.319><c> encoded</c>

00:06:13.870 --> 00:06:13.880 align:start position:0%
store the and then we emit that encoded
 

00:06:13.880 --> 00:06:16.029 align:start position:0%
store the and then we emit that encoded
data<00:06:14.319><c> as</c><00:06:14.599><c> as</c><00:06:14.759><c> bites</c><00:06:15.080><c> on</c><00:06:15.199><c> the</c><00:06:15.319><c> event</c><00:06:15.639><c> so</c><00:06:15.800><c> our</c>

00:06:16.029 --> 00:06:16.039 align:start position:0%
data as as bites on the event so our
 

00:06:16.039 --> 00:06:18.510 align:start position:0%
data as as bites on the event so our
event<00:06:16.280><c> signature</c><00:06:16.680><c> is</c><00:06:16.840><c> just</c><00:06:17.000><c> bites</c><00:06:17.520><c> everywhere</c>

00:06:18.510 --> 00:06:18.520 align:start position:0%
event signature is just bites everywhere
 

00:06:18.520 --> 00:06:21.189 align:start position:0%
event signature is just bites everywhere
and<00:06:18.800><c> then</c><00:06:19.800><c> on</c><00:06:19.919><c> the</c><00:06:20.080><c> contract</c><00:06:20.479><c> also</c><00:06:20.680><c> we</c><00:06:20.759><c> have</c><00:06:20.880><c> a</c>

00:06:21.189 --> 00:06:21.199 align:start position:0%
and then on the contract also we have a
 

00:06:21.199 --> 00:06:23.350 align:start position:0%
and then on the contract also we have a
a<00:06:21.360><c> special</c><00:06:21.720><c> table</c><00:06:22.199><c> which</c><00:06:22.360><c> stores</c><00:06:22.840><c> the</c><00:06:22.960><c> schema</c>

00:06:23.350 --> 00:06:23.360 align:start position:0%
a special table which stores the schema
 

00:06:23.360 --> 00:06:25.909 align:start position:0%
a special table which stores the schema
of<00:06:23.520><c> all</c><00:06:23.680><c> the</c><00:06:23.800><c> other</c><00:06:24.039><c> tables</c><00:06:25.000><c> and</c><00:06:25.400><c> this</c><00:06:25.599><c> table</c>

00:06:25.909 --> 00:06:25.919 align:start position:0%
of all the other tables and this table
 

00:06:25.919 --> 00:06:27.749 align:start position:0%
of all the other tables and this table
is<00:06:26.120><c> also</c><00:06:26.400><c> synced</c><00:06:26.960><c> through</c><00:06:27.199><c> the</c><00:06:27.479><c> through</c><00:06:27.639><c> the</c>

00:06:27.749 --> 00:06:27.759 align:start position:0%
is also synced through the through the
 

00:06:27.759 --> 00:06:29.870 align:start position:0%
is also synced through the through the
default<00:06:28.080><c> sync</c><00:06:28.360><c> stack</c><00:06:29.039><c> and</c><00:06:29.160><c> that</c><00:06:29.280><c> means</c><00:06:29.680><c> now</c>

00:06:29.870 --> 00:06:29.880 align:start position:0%
default sync stack and that means now
 

00:06:29.880 --> 00:06:31.550 align:start position:0%
default sync stack and that means now
the<00:06:30.000><c> clients</c><00:06:30.319><c> and</c><00:06:30.479><c> indexers</c><00:06:31.160><c> have</c><00:06:31.400><c> the</c>

00:06:31.550 --> 00:06:31.560 align:start position:0%
the clients and indexers have the
 

00:06:31.560 --> 00:06:33.070 align:start position:0%
the clients and indexers have the
information<00:06:32.199><c> that</c><00:06:32.319><c> they</c><00:06:32.440><c> need</c><00:06:32.680><c> to</c><00:06:32.919><c> then</c>

00:06:33.070 --> 00:06:33.080 align:start position:0%
information that they need to then
 

00:06:33.080 --> 00:06:35.189 align:start position:0%
information that they need to then
decode<00:06:33.840><c> this</c><00:06:34.039><c> state</c><00:06:34.280><c> update</c><00:06:34.599><c> and</c><00:06:34.720><c> all</c><00:06:34.840><c> of</c><00:06:35.000><c> that</c>

00:06:35.189 --> 00:06:35.199 align:start position:0%
decode this state update and all of that
 

00:06:35.199 --> 00:06:36.990 align:start position:0%
decode this state update and all of that
is<00:06:35.360><c> encapsulated</c><00:06:36.000><c> in</c><00:06:36.160><c> this</c><00:06:36.319><c> automatic</c><00:06:36.720><c> sync</c>

00:06:36.990 --> 00:06:37.000 align:start position:0%
is encapsulated in this automatic sync
 

00:06:37.000 --> 00:06:41.070 align:start position:0%
is encapsulated in this automatic sync
stack<00:06:37.759><c> um</c><00:06:37.919><c> so</c><00:06:38.080><c> it</c><00:06:38.199><c> all</c><00:06:38.400><c> happens</c>

00:06:41.070 --> 00:06:41.080 align:start position:0%
 
 

00:06:41.080 --> 00:06:44.150 align:start position:0%
 
automatically<00:06:42.080><c> um</c><00:06:42.319><c> I</c><00:06:42.400><c> have</c><00:06:42.520><c> a</c><00:06:42.639><c> little</c><00:06:43.160><c> demo</c>

00:06:44.150 --> 00:06:44.160 align:start position:0%
automatically um I have a little demo
 

00:06:44.160 --> 00:06:46.629 align:start position:0%
automatically um I have a little demo
for<00:06:44.759><c> how</c><00:06:44.919><c> this</c><00:06:45.080><c> looks</c><00:06:45.280><c> in</c><00:06:45.560><c> practice</c><00:06:46.360><c> and</c><00:06:46.560><c> I</c>

00:06:46.629 --> 00:06:46.639 align:start position:0%
for how this looks in practice and I
 

00:06:46.639 --> 00:06:49.230 align:start position:0%
for how this looks in practice and I
think<00:06:46.800><c> I</c><00:06:46.880><c> have</c><00:06:47.000><c> to</c><00:06:48.000><c> yep</c><00:06:48.560><c> all</c><00:06:48.680><c> right</c><00:06:48.840><c> so</c><00:06:49.000><c> here</c><00:06:49.120><c> we</c>

00:06:49.230 --> 00:06:49.240 align:start position:0%
think I have to yep all right so here we
 

00:06:49.240 --> 00:06:52.749 align:start position:0%
think I have to yep all right so here we
see<00:06:50.000><c> um</c><00:06:50.479><c> a</c><00:06:50.680><c> client</c><00:06:51.479><c> on</c><00:06:51.680><c> the</c><00:06:51.960><c> on</c><00:06:52.080><c> the</c><00:06:52.319><c> left</c><00:06:52.560><c> side</c>

00:06:52.749 --> 00:06:52.759 align:start position:0%
see um a client on the on the left side
 

00:06:52.759 --> 00:06:55.070 align:start position:0%
see um a client on the on the left side
we<00:06:52.880><c> see</c><00:06:53.080><c> a</c><00:06:53.199><c> default</c><00:06:53.680><c> app</c><00:06:54.039><c> of</c><00:06:54.240><c> M</c><00:06:54.560><c> counter</c><00:06:54.919><c> every</c>

00:06:55.070 --> 00:06:55.080 align:start position:0%
we see a default app of M counter every
 

00:06:55.080 --> 00:06:56.869 align:start position:0%
we see a default app of M counter every
time<00:06:55.240><c> we</c><00:06:55.360><c> click</c><00:06:55.560><c> the</c><00:06:55.680><c> button</c><00:06:56.280><c> a</c><00:06:56.440><c> transaction</c>

00:06:56.869 --> 00:06:56.879 align:start position:0%
time we click the button a transaction
 

00:06:56.879 --> 00:06:58.830 align:start position:0%
time we click the button a transaction
is<00:06:57.000><c> sent</c><00:06:57.720><c> on</c><00:06:57.840><c> the</c><00:06:58.000><c> right</c><00:06:58.199><c> side</c><00:06:58.400><c> you</c><00:06:58.479><c> see</c><00:06:58.720><c> the</c>

00:06:58.830 --> 00:06:58.840 align:start position:0%
is sent on the right side you see the
 

00:06:58.840 --> 00:07:00.110 align:start position:0%
is sent on the right side you see the
world<00:06:59.080><c> Explorer</c><00:06:59.599><c> you</c><00:06:59.680><c> can</c><00:06:59.800><c> see</c><00:07:00.000><c> the</c>

00:07:00.110 --> 00:07:00.120 align:start position:0%
world Explorer you can see the
 

00:07:00.120 --> 00:07:02.029 align:start position:0%
world Explorer you can see the
transactions<00:07:00.919><c> and</c><00:07:01.039><c> then</c><00:07:01.240><c> what</c><00:07:01.400><c> happens</c><00:07:01.759><c> is</c><00:07:01.919><c> in</c>

00:07:02.029 --> 00:07:02.039 align:start position:0%
transactions and then what happens is in
 

00:07:02.039 --> 00:07:03.589 align:start position:0%
transactions and then what happens is in
the<00:07:02.160><c> background</c><00:07:02.560><c> the</c><00:07:02.639><c> sync</c><00:07:02.919><c> stack</c><00:07:03.240><c> basically</c>

00:07:03.589 --> 00:07:03.599 align:start position:0%
the background the sync stack basically
 

00:07:03.599 --> 00:07:05.309 align:start position:0%
the background the sync stack basically
synchronizes<00:07:04.199><c> the</c><00:07:04.360><c> state</c><00:07:04.960><c> from</c><00:07:05.160><c> the</c>

00:07:05.309 --> 00:07:05.319 align:start position:0%
synchronizes the state from the
 

00:07:05.319 --> 00:07:06.749 align:start position:0%
synchronizes the state from the
contracts<00:07:05.800><c> back</c><00:07:05.919><c> to</c><00:07:06.039><c> the</c><00:07:06.199><c> client</c><00:07:06.479><c> and</c><00:07:06.599><c> that's</c>

00:07:06.749 --> 00:07:06.759 align:start position:0%
contracts back to the client and that's
 

00:07:06.759 --> 00:07:08.830 align:start position:0%
contracts back to the client and that's
when<00:07:06.879><c> the</c><00:07:07.000><c> UI</c><00:07:07.319><c> updates</c><00:07:08.199><c> and</c><00:07:08.360><c> the</c><00:07:08.479><c> other</c><00:07:08.680><c> thing</c>

00:07:08.830 --> 00:07:08.840 align:start position:0%
when the UI updates and the other thing
 

00:07:08.840 --> 00:07:10.469 align:start position:0%
when the UI updates and the other thing
you<00:07:08.919><c> can</c><00:07:09.080><c> see</c><00:07:09.319><c> here</c><00:07:09.520><c> is</c><00:07:09.720><c> in</c><00:07:09.879><c> the</c><00:07:10.120><c> world</c>

00:07:10.469 --> 00:07:10.479 align:start position:0%
you can see here is in the world
 

00:07:10.479 --> 00:07:13.309 align:start position:0%
you can see here is in the world
Explorer<00:07:11.240><c> there's</c><00:07:11.520><c> also</c><00:07:11.759><c> a</c><00:07:11.919><c> view</c><00:07:12.639><c> to</c><00:07:13.199><c> um</c>

00:07:13.309 --> 00:07:13.319 align:start position:0%
Explorer there's also a view to um
 

00:07:13.319 --> 00:07:15.189 align:start position:0%
Explorer there's also a view to um
basically<00:07:13.720><c> inspect</c><00:07:14.319><c> all</c><00:07:14.479><c> the</c><00:07:14.720><c> all</c><00:07:14.840><c> the</c><00:07:14.960><c> data</c>

00:07:15.189 --> 00:07:15.199 align:start position:0%
basically inspect all the all the data
 

00:07:15.199 --> 00:07:16.230 align:start position:0%
basically inspect all the all the data
in<00:07:15.319><c> your</c><00:07:15.479><c> app</c><00:07:15.720><c> because</c><00:07:15.879><c> it's</c><00:07:16.039><c> all</c>

00:07:16.230 --> 00:07:16.240 align:start position:0%
in your app because it's all
 

00:07:16.240 --> 00:07:20.150 align:start position:0%
in your app because it's all
standardized<00:07:16.840><c> in</c><00:07:17.360><c> tables</c><00:07:18.360><c> and</c><00:07:18.879><c> then</c><00:07:19.879><c> we</c><00:07:20.000><c> can</c>

00:07:20.150 --> 00:07:20.160 align:start position:0%
standardized in tables and then we can
 

00:07:20.160 --> 00:07:22.589 align:start position:0%
standardized in tables and then we can
look<00:07:20.280><c> at</c><00:07:20.479><c> another</c><00:07:20.720><c> quick</c><00:07:20.919><c> demo</c><00:07:21.440><c> which</c><00:07:21.680><c> is</c><00:07:22.400><c> um</c><00:07:22.520><c> a</c>

00:07:22.589 --> 00:07:22.599 align:start position:0%
look at another quick demo which is um a
 

00:07:22.599 --> 00:07:25.110 align:start position:0%
look at another quick demo which is um a
slightly<00:07:22.919><c> more</c><00:07:23.080><c> complex</c><00:07:23.440><c> table</c><00:07:23.800><c> a</c><00:07:24.000><c> task</c><00:07:24.360><c> list</c>

00:07:25.110 --> 00:07:25.120 align:start position:0%
slightly more complex table a task list
 

00:07:25.120 --> 00:07:27.230 align:start position:0%
slightly more complex table a task list
and<00:07:25.319><c> here</c><00:07:25.479><c> we</c><00:07:25.599><c> can</c><00:07:25.759><c> use</c><00:07:26.160><c> SQL</c><00:07:26.639><c> input</c><00:07:27.000><c> on</c><00:07:27.120><c> the</c>

00:07:27.230 --> 00:07:27.240 align:start position:0%
and here we can use SQL input on the
 

00:07:27.240 --> 00:07:29.309 align:start position:0%
and here we can use SQL input on the
world<00:07:27.479><c> Explorer</c><00:07:27.919><c> as</c><00:07:28.039><c> well</c><00:07:28.800><c> um</c><00:07:28.919><c> to</c><00:07:29.080><c> basically</c>

00:07:29.309 --> 00:07:29.319 align:start position:0%
world Explorer as well um to basically
 

00:07:29.319 --> 00:07:31.469 align:start position:0%
world Explorer as well um to basically
fill<00:07:29.520><c> tilter</c><00:07:29.759><c> down</c><00:07:29.919><c> the</c><00:07:30.080><c> task</c><00:07:30.360><c> list</c><00:07:30.639><c> to</c><00:07:31.160><c> only</c>

00:07:31.469 --> 00:07:31.479 align:start position:0%
fill tilter down the task list to only
 

00:07:31.479 --> 00:07:32.830 align:start position:0%
fill tilter down the task list to only
display<00:07:31.840><c> the</c><00:07:32.000><c> tasks</c><00:07:32.319><c> that</c><00:07:32.479><c> have</c><00:07:32.639><c> been</c>

00:07:32.830 --> 00:07:32.840 align:start position:0%
display the tasks that have been
 

00:07:32.840 --> 00:07:35.070 align:start position:0%
display the tasks that have been
completed<00:07:33.360><c> or</c><00:07:33.520><c> or</c><00:07:33.680><c> not</c><00:07:33.879><c> completed</c><00:07:34.319><c> yet</c><00:07:34.599><c> and</c>

00:07:35.070 --> 00:07:35.080 align:start position:0%
completed or or not completed yet and
 

00:07:35.080 --> 00:07:36.270 align:start position:0%
completed or or not completed yet and
obviously<00:07:35.440><c> you</c><00:07:35.520><c> could</c><00:07:35.680><c> also</c><00:07:35.879><c> use</c><00:07:36.080><c> more</c>

00:07:36.270 --> 00:07:36.280 align:start position:0%
obviously you could also use more
 

00:07:36.280 --> 00:07:40.309 align:start position:0%
obviously you could also use more
complex<00:07:36.599><c> SQL</c>

00:07:40.309 --> 00:07:40.319 align:start position:0%
 
 

00:07:40.319 --> 00:07:42.790 align:start position:0%
 
here<00:07:41.319><c> all</c><00:07:41.479><c> right</c><00:07:41.639><c> so</c><00:07:41.800><c> that's</c><00:07:42.000><c> the</c><00:07:42.199><c> core</c><00:07:42.440><c> of</c><00:07:42.599><c> it</c>

00:07:42.790 --> 00:07:42.800 align:start position:0%
here all right so that's the core of it
 

00:07:42.800 --> 00:07:45.869 align:start position:0%
here all right so that's the core of it
but<00:07:43.000><c> that's</c><00:07:43.319><c> it</c><00:07:43.440><c> doesn't</c><00:07:43.720><c> end</c><00:07:44.479><c> here</c><00:07:45.479><c> the</c><00:07:45.599><c> next</c>

00:07:45.869 --> 00:07:45.879 align:start position:0%
but that's it doesn't end here the next
 

00:07:45.879 --> 00:07:48.510 align:start position:0%
but that's it doesn't end here the next
problem<00:07:46.120><c> we</c><00:07:46.280><c> ran</c><00:07:46.520><c> into</c><00:07:46.960><c> is</c><00:07:47.479><c> logic</c><00:07:48.080><c> onchain</c>

00:07:48.510 --> 00:07:48.520 align:start position:0%
problem we ran into is logic onchain
 

00:07:48.520 --> 00:07:50.390 align:start position:0%
problem we ran into is logic onchain
games<00:07:48.879><c> also</c><00:07:49.319><c> besides</c><00:07:49.680><c> a</c><00:07:49.759><c> lot</c><00:07:49.879><c> of</c><00:07:50.000><c> State</c><00:07:50.280><c> they</c>

00:07:50.390 --> 00:07:50.400 align:start position:0%
games also besides a lot of State they
 

00:07:50.400 --> 00:07:52.110 align:start position:0%
games also besides a lot of State they
also<00:07:50.599><c> have</c><00:07:50.680><c> a</c><00:07:50.800><c> lot</c><00:07:50.919><c> of</c><00:07:51.039><c> logic</c><00:07:51.440><c> so</c><00:07:51.759><c> the</c><00:07:51.919><c> next</c>

00:07:52.110 --> 00:07:52.120 align:start position:0%
also have a lot of logic so the next
 

00:07:52.120 --> 00:07:54.869 align:start position:0%
also have a lot of logic so the next
issue<00:07:52.400><c> we</c><00:07:52.520><c> ran</c><00:07:52.720><c> into</c><00:07:53.080><c> is</c><00:07:53.680><c> the</c><00:07:54.199><c> you</c><00:07:54.280><c> know</c><00:07:54.440><c> 24</c>

00:07:54.869 --> 00:07:54.879 align:start position:0%
issue we ran into is the you know 24
 

00:07:54.879 --> 00:07:57.390 align:start position:0%
issue we ran into is the you know 24
kilobytes<00:07:55.319><c> bite</c><00:07:55.560><c> code</c><00:07:55.800><c> limit</c><00:07:56.039><c> on</c><00:07:56.400><c> contracts</c>

00:07:57.390 --> 00:07:57.400 align:start position:0%
kilobytes bite code limit on contracts
 

00:07:57.400 --> 00:07:59.990 align:start position:0%
kilobytes bite code limit on contracts
um<00:07:57.599><c> here's</c><00:07:57.800><c> how</c><00:07:57.919><c> we</c><00:07:58.000><c> solve</c><00:07:58.240><c> it</c><00:07:58.879><c> the</c><00:07:59.599><c> General</c>

00:07:59.990 --> 00:08:00.000 align:start position:0%
um here's how we solve it the General
 

00:08:00.000 --> 00:08:02.110 align:start position:0%
um here's how we solve it the General
approach<00:08:00.319><c> is</c><00:08:00.479><c> very</c><00:08:00.680><c> similar</c><00:08:01.080><c> to</c><00:08:01.520><c> the</c><00:08:01.680><c> diamond</c>

00:08:02.110 --> 00:08:02.120 align:start position:0%
approach is very similar to the diamond
 

00:08:02.120 --> 00:08:04.670 align:start position:0%
approach is very similar to the diamond
pattern<00:08:02.479><c> so</c><00:08:02.680><c> we</c><00:08:02.840><c> have</c><00:08:03.360><c> one</c><00:08:03.960><c> Central</c><00:08:04.360><c> entry</c>

00:08:04.670 --> 00:08:04.680 align:start position:0%
pattern so we have one Central entry
 

00:08:04.680 --> 00:08:06.990 align:start position:0%
pattern so we have one Central entry
point<00:08:05.000><c> which</c><00:08:05.120><c> we</c><00:08:05.280><c> call</c><00:08:05.440><c> the</c><00:08:05.560><c> world</c><00:08:06.000><c> contract</c>

00:08:06.990 --> 00:08:07.000 align:start position:0%
point which we call the world contract
 

00:08:07.000 --> 00:08:09.070 align:start position:0%
point which we call the world contract
and<00:08:07.120><c> then</c><00:08:07.240><c> into</c><00:08:07.639><c> that</c><00:08:07.840><c> contract</c><00:08:08.280><c> we</c><00:08:08.520><c> register</c>

00:08:09.070 --> 00:08:09.080 align:start position:0%
and then into that contract we register
 

00:08:09.080 --> 00:08:11.270 align:start position:0%
and then into that contract we register
stateless<00:08:10.000><c> system</c><00:08:10.440><c> contracts</c><00:08:11.080><c> that</c>

00:08:11.270 --> 00:08:11.280 align:start position:0%
stateless system contracts that
 

00:08:11.280 --> 00:08:13.589 align:start position:0%
stateless system contracts that
basically<00:08:11.599><c> implement</c><00:08:11.960><c> the</c><00:08:12.599><c> functionality</c>

00:08:13.589 --> 00:08:13.599 align:start position:0%
basically implement the functionality
 

00:08:13.599 --> 00:08:15.589 align:start position:0%
basically implement the functionality
and<00:08:14.080><c> then</c><00:08:14.240><c> when</c><00:08:14.360><c> a</c><00:08:14.479><c> user</c><00:08:14.800><c> calls</c><00:08:15.159><c> the</c><00:08:15.280><c> W</c>

00:08:15.589 --> 00:08:15.599 align:start position:0%
and then when a user calls the W
 

00:08:15.599 --> 00:08:16.909 align:start position:0%
and then when a user calls the W
contract<00:08:16.000><c> they</c><00:08:16.120><c> only</c><00:08:16.280><c> need</c><00:08:16.479><c> to</c><00:08:16.560><c> know</c><00:08:16.759><c> the</c>

00:08:16.909 --> 00:08:16.919 align:start position:0%
contract they only need to know the
 

00:08:16.919 --> 00:08:18.990 align:start position:0%
contract they only need to know the
address<00:08:17.199><c> of</c><00:08:17.440><c> this</c><00:08:17.599><c> one</c><00:08:17.800><c> world</c><00:08:18.080><c> contract</c><00:08:18.919><c> and</c>

00:08:18.990 --> 00:08:19.000 align:start position:0%
address of this one world contract and
 

00:08:19.000 --> 00:08:21.070 align:start position:0%
address of this one world contract and
then<00:08:19.240><c> the</c><00:08:19.400><c> call</c><00:08:19.680><c> is</c><00:08:19.800><c> forwarded</c><00:08:20.360><c> to</c><00:08:20.520><c> the</c><00:08:20.680><c> system</c>

00:08:21.070 --> 00:08:21.080 align:start position:0%
then the call is forwarded to the system
 

00:08:21.080 --> 00:08:24.350 align:start position:0%
then the call is forwarded to the system
contract<00:08:22.080><c> so</c><00:08:22.319><c> far</c><00:08:22.800><c> pretty</c><00:08:23.039><c> standard</c><00:08:23.479><c> Diamond</c>

00:08:24.350 --> 00:08:24.360 align:start position:0%
contract so far pretty standard Diamond
 

00:08:24.360 --> 00:08:26.909 align:start position:0%
contract so far pretty standard Diamond
um<00:08:24.599><c> but</c><00:08:24.800><c> now</c><00:08:25.039><c> we</c><00:08:25.159><c> can</c><00:08:25.360><c> add</c><00:08:25.639><c> the</c><00:08:25.759><c> store</c><00:08:26.080><c> to</c>

00:08:26.909 --> 00:08:26.919 align:start position:0%
um but now we can add the store to
 

00:08:26.919 --> 00:08:30.790 align:start position:0%
um but now we can add the store to
it<00:08:27.919><c> in</c><00:08:28.080><c> the</c><00:08:28.240><c> store</c><00:08:28.840><c> we</c><00:08:29.080><c> have</c><00:08:29.680><c> a</c><00:08:29.879><c> table</c><00:08:30.360><c> for</c><00:08:30.639><c> the</c>

00:08:30.790 --> 00:08:30.800 align:start position:0%
it in the store we have a table for the
 

00:08:30.800 --> 00:08:32.829 align:start position:0%
it in the store we have a table for the
systems<00:08:31.280><c> so</c><00:08:31.479><c> now</c><00:08:31.639><c> when</c><00:08:31.800><c> we</c><00:08:32.120><c> register</c><00:08:32.519><c> a</c><00:08:32.680><c> new</c>

00:08:32.829 --> 00:08:32.839 align:start position:0%
systems so now when we register a new
 

00:08:32.839 --> 00:08:34.870 align:start position:0%
systems so now when we register a new
system<00:08:33.159><c> in</c><00:08:33.279><c> the</c><00:08:33.399><c> world</c><00:08:34.120><c> information</c><00:08:34.640><c> about</c>

00:08:34.870 --> 00:08:34.880 align:start position:0%
system in the world information about
 

00:08:34.880 --> 00:08:37.310 align:start position:0%
system in the world information about
the<00:08:35.039><c> system</c><00:08:35.360><c> is</c><00:08:35.560><c> also</c><00:08:35.839><c> stored</c><00:08:36.560><c> in</c><00:08:36.719><c> the</c><00:08:36.880><c> systems</c>

00:08:37.310 --> 00:08:37.320 align:start position:0%
the system is also stored in the systems
 

00:08:37.320 --> 00:08:40.110 align:start position:0%
the system is also stored in the systems
table<00:08:38.200><c> and</c><00:08:38.360><c> now</c><00:08:38.640><c> the</c><00:08:39.039><c> automatic</c><00:08:39.560><c> syn</c><00:08:39.880><c> stack</c>

00:08:40.110 --> 00:08:40.120 align:start position:0%
table and now the automatic syn stack
 

00:08:40.120 --> 00:08:42.670 align:start position:0%
table and now the automatic syn stack
can<00:08:40.240><c> take</c><00:08:40.399><c> over</c><00:08:41.120><c> and</c><00:08:41.519><c> basically</c><00:08:42.399><c> you</c><00:08:42.519><c> know</c>

00:08:42.670 --> 00:08:42.680 align:start position:0%
can take over and basically you know
 

00:08:42.680 --> 00:08:44.389 align:start position:0%
can take over and basically you know
mirror<00:08:43.080><c> that</c><00:08:43.240><c> information</c><00:08:43.599><c> into</c><00:08:43.800><c> a</c><00:08:43.919><c> database</c>

00:08:44.389 --> 00:08:44.399 align:start position:0%
mirror that information into a database
 

00:08:44.399 --> 00:08:46.470 align:start position:0%
mirror that information into a database
and<00:08:44.480><c> then</c><00:08:44.640><c> from</c><00:08:44.839><c> that</c><00:08:45.040><c> database</c><00:08:45.720><c> we</c><00:08:45.880><c> can</c>

00:08:46.470 --> 00:08:46.480 align:start position:0%
and then from that database we can
 

00:08:46.480 --> 00:08:49.430 align:start position:0%
and then from that database we can
generate<00:08:47.080><c> an</c><00:08:47.279><c> an</c><00:08:47.600><c> API</c><00:08:48.600><c> which</c><00:08:48.720><c> is</c><00:08:48.880><c> always</c><00:08:49.120><c> up</c><00:08:49.279><c> to</c>

00:08:49.430 --> 00:08:49.440 align:start position:0%
generate an an API which is always up to
 

00:08:49.440 --> 00:08:52.750 align:start position:0%
generate an an API which is always up to
date<00:08:49.680><c> so</c><00:08:49.839><c> when</c><00:08:50.000><c> we</c><00:08:50.959><c> redist</c><00:08:51.440><c> a</c><00:08:51.560><c> new</c><00:08:51.760><c> system</c><00:08:52.600><c> that</c>

00:08:52.750 --> 00:08:52.760 align:start position:0%
date so when we redist a new system that
 

00:08:52.760 --> 00:08:55.389 align:start position:0%
date so when we redist a new system that
also<00:08:53.120><c> gets</c><00:08:53.320><c> reded</c><00:08:53.839><c> into</c><00:08:54.120><c> the</c><00:08:54.640><c> systems</c><00:08:55.000><c> table</c>

00:08:55.389 --> 00:08:55.399 align:start position:0%
also gets reded into the systems table
 

00:08:55.399 --> 00:08:57.710 align:start position:0%
also gets reded into the systems table
and<00:08:55.519><c> then</c><00:08:55.680><c> the</c><00:08:55.839><c> ABI</c><00:08:56.519><c> immediately</c>

00:08:57.710 --> 00:08:57.720 align:start position:0%
and then the ABI immediately
 

00:08:57.720 --> 00:09:00.150 align:start position:0%
and then the ABI immediately
updates<00:08:58.720><c> now</c><00:08:59.040><c> I</c><00:08:59.160><c> told</c><00:08:59.440><c> told</c><00:08:59.560><c> you</c><00:08:59.680><c> that</c><00:08:59.800><c> systems</c>

00:09:00.150 --> 00:09:00.160 align:start position:0%
updates now I told told you that systems
 

00:09:00.160 --> 00:09:02.350 align:start position:0%
updates now I told told you that systems
are<00:09:00.399><c> stateless</c><00:09:01.000><c> which</c><00:09:01.120><c> is</c><00:09:01.240><c> true</c><00:09:01.920><c> but</c><00:09:02.120><c> they</c><00:09:02.240><c> can</c>

00:09:02.350 --> 00:09:02.360 align:start position:0%
are stateless which is true but they can
 

00:09:02.360 --> 00:09:04.350 align:start position:0%
are stateless which is true but they can
still<00:09:02.640><c> interact</c><00:09:03.079><c> with</c><00:09:03.279><c> State</c><00:09:03.640><c> they</c><00:09:03.760><c> can</c><00:09:04.040><c> read</c>

00:09:04.350 --> 00:09:04.360 align:start position:0%
still interact with State they can read
 

00:09:04.360 --> 00:09:05.990 align:start position:0%
still interact with State they can read
from<00:09:04.560><c> tables</c><00:09:04.920><c> and</c><00:09:05.040><c> they</c><00:09:05.160><c> can</c><00:09:05.279><c> also</c><00:09:05.519><c> ride</c><00:09:05.760><c> to</c>

00:09:05.990 --> 00:09:06.000 align:start position:0%
from tables and they can also ride to
 

00:09:06.000 --> 00:09:08.550 align:start position:0%
from tables and they can also ride to
tables<00:09:06.839><c> and</c><00:09:06.959><c> then</c><00:09:07.200><c> that</c><00:09:07.399><c> data</c><00:09:07.680><c> is</c><00:09:07.880><c> also</c><00:09:08.360><c> again</c>

00:09:08.550 --> 00:09:08.560 align:start position:0%
tables and then that data is also again
 

00:09:08.560 --> 00:09:11.190 align:start position:0%
tables and then that data is also again
automatically<00:09:09.040><c> synced</c><00:09:09.320><c> to</c><00:09:09.399><c> the</c><00:09:09.720><c> client</c><00:09:10.720><c> but</c>

00:09:11.190 --> 00:09:11.200 align:start position:0%
automatically synced to the client but
 

00:09:11.200 --> 00:09:12.910 align:start position:0%
automatically synced to the client but
because<00:09:11.480><c> the</c><00:09:11.680><c> system</c><00:09:12.040><c> contract</c><00:09:12.519><c> itself</c>

00:09:12.910 --> 00:09:12.920 align:start position:0%
because the system contract itself
 

00:09:12.920 --> 00:09:15.389 align:start position:0%
because the system contract itself
doesn't<00:09:13.200><c> contain</c><00:09:13.600><c> any</c><00:09:13.839><c> state</c><00:09:14.800><c> we</c><00:09:14.920><c> can</c><00:09:15.120><c> very</c>

00:09:15.389 --> 00:09:15.399 align:start position:0%
doesn't contain any state we can very
 

00:09:15.399 --> 00:09:17.829 align:start position:0%
doesn't contain any state we can very
easily<00:09:15.760><c> upgraded</c><00:09:16.399><c> it's</c><00:09:16.880><c> really</c><00:09:17.160><c> trivial</c><00:09:17.640><c> we</c>

00:09:17.829 --> 00:09:17.839 align:start position:0%
easily upgraded it's really trivial we
 

00:09:17.839 --> 00:09:19.069 align:start position:0%
easily upgraded it's really trivial we
literally<00:09:18.240><c> just</c><00:09:18.440><c> swap</c><00:09:18.839><c> out</c><00:09:18.959><c> the</c>

00:09:19.069 --> 00:09:19.079 align:start position:0%
literally just swap out the
 

00:09:19.079 --> 00:09:20.470 align:start position:0%
literally just swap out the
implementation<00:09:19.640><c> address</c><00:09:19.920><c> and</c><00:09:20.040><c> we</c><00:09:20.160><c> don't</c><00:09:20.360><c> have</c>

00:09:20.470 --> 00:09:20.480 align:start position:0%
implementation address and we don't have
 

00:09:20.480 --> 00:09:23.150 align:start position:0%
implementation address and we don't have
to<00:09:21.200><c> um</c><00:09:21.360><c> take</c><00:09:21.560><c> care</c><00:09:21.760><c> of</c><00:09:21.959><c> you</c><00:09:22.079><c> know</c><00:09:22.760><c> storage</c>

00:09:23.150 --> 00:09:23.160 align:start position:0%
to um take care of you know storage
 

00:09:23.160 --> 00:09:25.350 align:start position:0%
to um take care of you know storage
slots<00:09:23.560><c> ordering</c><00:09:24.000><c> or</c><00:09:24.200><c> whatever</c><00:09:24.880><c> because</c><00:09:25.240><c> the</c>

00:09:25.350 --> 00:09:25.360 align:start position:0%
slots ordering or whatever because the
 

00:09:25.360 --> 00:09:26.790 align:start position:0%
slots ordering or whatever because the
system<00:09:25.680><c> contracts</c><00:09:26.200><c> themselves</c><00:09:26.519><c> totally</c>

00:09:26.790 --> 00:09:26.800 align:start position:0%
system contracts themselves totally
 

00:09:26.800 --> 00:09:28.670 align:start position:0%
system contracts themselves totally
stateless<00:09:27.560><c> all</c><00:09:27.800><c> the</c><00:09:27.920><c> state</c><00:09:28.200><c> lives</c><00:09:28.440><c> in</c><00:09:28.560><c> the</c>

00:09:28.670 --> 00:09:28.680 align:start position:0%
stateless all the state lives in the
 

00:09:28.680 --> 00:09:31.310 align:start position:0%
stateless all the state lives in the
store<00:09:28.959><c> in</c><00:09:29.079><c> the</c><00:09:29.160><c> world</c>

00:09:31.310 --> 00:09:31.320 align:start position:0%
store in the world
 

00:09:31.320 --> 00:09:32.990 align:start position:0%
store in the world
and<00:09:31.440><c> then</c><00:09:31.640><c> when</c><00:09:31.839><c> new</c><00:09:32.160><c> tables</c><00:09:32.480><c> are</c><00:09:32.600><c> registered</c>

00:09:32.990 --> 00:09:33.000 align:start position:0%
and then when new tables are registered
 

00:09:33.000 --> 00:09:34.990 align:start position:0%
and then when new tables are registered
at<00:09:33.200><c> runtime</c><00:09:33.600><c> later</c><00:09:34.160><c> those</c><00:09:34.279><c> are</c><00:09:34.480><c> also</c><00:09:34.720><c> picked</c>

00:09:34.990 --> 00:09:35.000 align:start position:0%
at runtime later those are also picked
 

00:09:35.000 --> 00:09:37.550 align:start position:0%
at runtime later those are also picked
up<00:09:35.640><c> by</c><00:09:35.920><c> the</c><00:09:36.200><c> by</c><00:09:36.320><c> the</c><00:09:36.440><c> automatic</c><00:09:36.959><c> sync</c><00:09:37.360><c> stack</c>

00:09:37.550 --> 00:09:37.560 align:start position:0%
up by the by the automatic sync stack
 

00:09:37.560 --> 00:09:40.389 align:start position:0%
up by the by the automatic sync stack
immediately<00:09:38.560><c> um</c><00:09:38.760><c> and</c><00:09:39.000><c> each</c><00:09:39.440><c> table</c><00:09:40.000><c> has</c><00:09:40.200><c> its</c>

00:09:40.389 --> 00:09:40.399 align:start position:0%
immediately um and each table has its
 

00:09:40.399 --> 00:09:42.430 align:start position:0%
immediately um and each table has its
own<00:09:40.760><c> storage</c><00:09:41.240><c> position</c><00:09:41.640><c> in</c><00:09:41.760><c> this</c><00:09:41.920><c> contract</c><00:09:42.320><c> so</c>

00:09:42.430 --> 00:09:42.440 align:start position:0%
own storage position in this contract so
 

00:09:42.440 --> 00:09:44.350 align:start position:0%
own storage position in this contract so
there's<00:09:42.640><c> no</c><00:09:42.839><c> state</c><00:09:43.160><c> overlaps</c><00:09:43.920><c> or</c><00:09:44.079><c> storage</c>

00:09:44.350 --> 00:09:44.360 align:start position:0%
there's no state overlaps or storage
 

00:09:44.360 --> 00:09:46.910 align:start position:0%
there's no state overlaps or storage
slots<00:09:44.920><c> overlaps</c><00:09:45.920><c> and</c><00:09:46.120><c> with</c><00:09:46.279><c> that</c><00:09:46.440><c> we</c><00:09:46.600><c> can</c><00:09:46.839><c> we</c>

00:09:46.910 --> 00:09:46.920 align:start position:0%
slots overlaps and with that we can we
 

00:09:46.920 --> 00:09:49.110 align:start position:0%
slots overlaps and with that we can we
can<00:09:47.120><c> then</c><00:09:47.279><c> take</c><00:09:47.440><c> it</c><00:09:47.640><c> one</c><00:09:47.839><c> step</c><00:09:48.120><c> further</c><00:09:48.880><c> and</c>

00:09:49.110 --> 00:09:49.120 align:start position:0%
can then take it one step further and
 

00:09:49.120 --> 00:09:51.590 align:start position:0%
can then take it one step further and
introduce<00:09:49.560><c> the</c><00:09:49.760><c> concept</c><00:09:50.040><c> of</c><00:09:50.200><c> name</c><00:09:50.600><c> spaces</c>

00:09:51.590 --> 00:09:51.600 align:start position:0%
introduce the concept of name spaces
 

00:09:51.600 --> 00:09:53.470 align:start position:0%
introduce the concept of name spaces
which<00:09:51.800><c> basically</c><00:09:52.200><c> means</c><00:09:52.519><c> a</c><00:09:52.720><c> system</c><00:09:53.120><c> that</c><00:09:53.240><c> is</c>

00:09:53.470 --> 00:09:53.480 align:start position:0%
which basically means a system that is
 

00:09:53.480 --> 00:09:56.310 align:start position:0%
which basically means a system that is
registered<00:09:53.920><c> in</c><00:09:54.000><c> a</c><00:09:54.160><c> nam</c><00:09:54.480><c> space</c><00:09:55.240><c> can</c><00:09:55.680><c> read</c><00:09:55.959><c> from</c>

00:09:56.310 --> 00:09:56.320 align:start position:0%
registered in a nam space can read from
 

00:09:56.320 --> 00:09:58.350 align:start position:0%
registered in a nam space can read from
all<00:09:56.480><c> the</c><00:09:56.640><c> tables</c><00:09:57.079><c> but</c><00:09:57.200><c> can</c><00:09:57.360><c> only</c><00:09:57.680><c> write</c><00:09:58.040><c> to</c><00:09:58.200><c> the</c>

00:09:58.350 --> 00:09:58.360 align:start position:0%
all the tables but can only write to the
 

00:09:58.360 --> 00:10:01.069 align:start position:0%
all the tables but can only write to the
tables<00:09:59.040><c> that</c><00:09:59.160><c> are</c><00:09:59.399><c> in</c><00:09:59.480><c> the</c><00:09:59.600><c> same</c><00:09:59.760><c> name</c><00:10:00.079><c> space</c>

00:10:01.069 --> 00:10:01.079 align:start position:0%
tables that are in the same name space
 

00:10:01.079 --> 00:10:03.310 align:start position:0%
tables that are in the same name space
and<00:10:01.519><c> with</c><00:10:01.720><c> that</c><00:10:01.880><c> we</c><00:10:02.000><c> can</c><00:10:02.200><c> now</c><00:10:02.839><c> really</c><00:10:03.040><c> lean</c>

00:10:03.310 --> 00:10:03.320 align:start position:0%
and with that we can now really lean
 

00:10:03.320 --> 00:10:05.230 align:start position:0%
and with that we can now really lean
into<00:10:03.600><c> extendability</c><00:10:04.000><c> because</c><00:10:04.920><c> we</c><00:10:05.040><c> can</c>

00:10:05.230 --> 00:10:05.240 align:start position:0%
into extendability because we can
 

00:10:05.240 --> 00:10:07.590 align:start position:0%
into extendability because we can
basically<00:10:05.680><c> allow</c><00:10:06.040><c> anybody</c><00:10:06.560><c> to</c><00:10:06.880><c> register</c><00:10:07.360><c> new</c>

00:10:07.590 --> 00:10:07.600 align:start position:0%
basically allow anybody to register new
 

00:10:07.600 --> 00:10:10.949 align:start position:0%
basically allow anybody to register new
functionality<00:10:08.279><c> in</c><00:10:08.440><c> our</c><00:10:08.600><c> world</c>

00:10:10.949 --> 00:10:10.959 align:start position:0%
 
 

00:10:10.959 --> 00:10:13.670 align:start position:0%
 
contract<00:10:11.959><c> all</c><00:10:12.079><c> right</c><00:10:12.320><c> another</c><00:10:12.600><c> quick</c><00:10:12.800><c> demo</c><00:10:13.519><c> we</c>

00:10:13.670 --> 00:10:13.680 align:start position:0%
contract all right another quick demo we
 

00:10:13.680 --> 00:10:16.350 align:start position:0%
contract all right another quick demo we
see<00:10:14.399><c> again</c><00:10:14.800><c> the</c><00:10:14.959><c> counter</c><00:10:15.399><c> table</c><00:10:15.880><c> and</c><00:10:16.040><c> now</c><00:10:16.240><c> we</c>

00:10:16.350 --> 00:10:16.360 align:start position:0%
see again the counter table and now we
 

00:10:16.360 --> 00:10:18.030 align:start position:0%
see again the counter table and now we
see<00:10:16.640><c> the</c><00:10:16.760><c> interact</c><00:10:17.240><c> tab</c><00:10:17.519><c> in</c><00:10:17.640><c> the</c><00:10:17.760><c> world</c>

00:10:18.030 --> 00:10:18.040 align:start position:0%
see the interact tab in the world
 

00:10:18.040 --> 00:10:19.949 align:start position:0%
see the interact tab in the world
Explorer<00:10:18.880><c> which</c><00:10:19.079><c> basically</c><00:10:19.399><c> shows</c><00:10:19.720><c> all</c><00:10:19.839><c> the</c>

00:10:19.949 --> 00:10:19.959 align:start position:0%
Explorer which basically shows all the
 

00:10:19.959 --> 00:10:21.350 align:start position:0%
Explorer which basically shows all the
functions<00:10:20.399><c> available</c><00:10:20.720><c> on</c><00:10:20.880><c> the</c><00:10:20.959><c> world</c>

00:10:21.350 --> 00:10:21.360 align:start position:0%
functions available on the world
 

00:10:21.360 --> 00:10:23.990 align:start position:0%
functions available on the world
including<00:10:21.800><c> the</c><00:10:21.959><c> one</c><00:10:22.720><c> um</c><00:10:23.240><c> that</c><00:10:23.440><c> increments</c><00:10:23.839><c> the</c>

00:10:23.990 --> 00:10:24.000 align:start position:0%
including the one um that increments the
 

00:10:24.000 --> 00:10:26.310 align:start position:0%
including the one um that increments the
counter<00:10:24.399><c> and</c><00:10:24.560><c> we</c><00:10:24.680><c> can</c><00:10:24.880><c> also</c><00:10:25.160><c> interact</c><00:10:26.160><c> with</c>

00:10:26.310 --> 00:10:26.320 align:start position:0%
counter and we can also interact with
 

00:10:26.320 --> 00:10:28.829 align:start position:0%
counter and we can also interact with
the<00:10:26.480><c> world</c><00:10:26.920><c> through</c><00:10:27.200><c> this</c><00:10:27.600><c> uh</c><00:10:27.760><c> Explorer</c><00:10:28.720><c> and</c>

00:10:28.829 --> 00:10:28.839 align:start position:0%
the world through this uh Explorer and
 

00:10:28.839 --> 00:10:30.670 align:start position:0%
the world through this uh Explorer and
now<00:10:29.000><c> when</c><00:10:29.120><c> we</c><00:10:29.320><c> we</c><00:10:29.399><c> add</c><00:10:29.519><c> a</c><00:10:29.600><c> new</c><00:10:29.800><c> function</c><00:10:30.440><c> the</c>

00:10:30.670 --> 00:10:30.680 align:start position:0%
now when we we add a new function the
 

00:10:30.680 --> 00:10:33.190 align:start position:0%
now when we we add a new function the
another<00:10:31.000><c> increment</c><00:10:31.480><c> function</c><00:10:32.279><c> that</c><00:10:32.680><c> adds</c><00:10:32.959><c> two</c>

00:10:33.190 --> 00:10:33.200 align:start position:0%
another increment function that adds two
 

00:10:33.200 --> 00:10:35.110 align:start position:0%
another increment function that adds two
to<00:10:33.360><c> the</c><00:10:33.480><c> counter</c><00:10:34.120><c> we</c><00:10:34.279><c> save</c><00:10:34.560><c> that</c><00:10:34.720><c> file</c><00:10:34.920><c> in</c><00:10:35.040><c> the</c>

00:10:35.110 --> 00:10:35.120 align:start position:0%
to the counter we save that file in the
 

00:10:35.120 --> 00:10:36.670 align:start position:0%
to the counter we save that file in the
background<00:10:35.480><c> it's</c><00:10:35.639><c> immediately</c><00:10:36.040><c> upgraded</c>

00:10:36.670 --> 00:10:36.680 align:start position:0%
background it's immediately upgraded
 

00:10:36.680 --> 00:10:39.750 align:start position:0%
background it's immediately upgraded
through<00:10:36.839><c> the</c><00:10:37.000><c> def</c><00:10:37.279><c> tool</c><00:10:38.040><c> um</c><00:10:38.360><c> and</c><00:10:38.519><c> then</c><00:10:39.079><c> the</c><00:10:39.680><c> the</c>

00:10:39.750 --> 00:10:39.760 align:start position:0%
through the def tool um and then the the
 

00:10:39.760 --> 00:10:41.829 align:start position:0%
through the def tool um and then the the
new<00:10:39.959><c> AI</c><00:10:40.360><c> function</c><00:10:40.959><c> immediately</c><00:10:41.360><c> shows</c><00:10:41.600><c> up</c><00:10:41.760><c> on</c>

00:10:41.829 --> 00:10:41.839 align:start position:0%
new AI function immediately shows up on
 

00:10:41.839 --> 00:10:43.509 align:start position:0%
new AI function immediately shows up on
the<00:10:41.920><c> world</c><00:10:42.160><c> Explorer</c><00:10:42.600><c> and</c><00:10:42.760><c> we</c><00:10:42.839><c> can</c><00:10:43.120><c> again</c><00:10:43.320><c> use</c>

00:10:43.509 --> 00:10:43.519 align:start position:0%
the world Explorer and we can again use
 

00:10:43.519 --> 00:10:49.550 align:start position:0%
the world Explorer and we can again use
the<00:10:43.600><c> world</c><00:10:43.839><c> Explorer</c><00:10:44.240><c> to</c><00:10:44.360><c> interact</c><00:10:45.079><c> with</c><00:10:45.279><c> the</c>

00:10:49.550 --> 00:10:49.560 align:start position:0%
 
 

00:10:49.560 --> 00:10:52.949 align:start position:0%
 
app<00:10:50.560><c> all</c><00:10:50.720><c> right</c><00:10:51.480><c> last</c><00:10:51.680><c> one</c><00:10:51.839><c> for</c><00:10:52.000><c> today</c><00:10:52.560><c> is</c>

00:10:52.949 --> 00:10:52.959 align:start position:0%
app all right last one for today is
 

00:10:52.959 --> 00:10:54.190 align:start position:0%
app all right last one for today is
higher<00:10:53.320><c> level</c>

00:10:54.190 --> 00:10:54.200 align:start position:0%
higher level
 

00:10:54.200 --> 00:10:57.670 align:start position:0%
higher level
logic<00:10:55.200><c> you</c><00:10:55.320><c> may</c><00:10:55.519><c> be</c><00:10:55.760><c> familiar</c><00:10:56.279><c> with</c><00:10:56.639><c> ec20</c><00:10:57.480><c> and</c>

00:10:57.670 --> 00:10:57.680 align:start position:0%
logic you may be familiar with ec20 and
 

00:10:57.680 --> 00:10:59.550 align:start position:0%
logic you may be familiar with ec20 and
the<00:10:57.920><c> approve</c><00:10:58.360><c> and</c><00:10:58.560><c> transfer</c><00:10:59.000><c> from</c>

00:10:59.550 --> 00:10:59.560 align:start position:0%
the approve and transfer from
 

00:10:59.560 --> 00:11:01.870 align:start position:0%
the approve and transfer from
functionality<00:11:00.279><c> which</c><00:11:00.600><c> basically</c><00:11:01.600><c> among</c>

00:11:01.870 --> 00:11:01.880 align:start position:0%
functionality which basically among
 

00:11:01.880 --> 00:11:05.030 align:start position:0%
functionality which basically among
other<00:11:02.079><c> things</c><00:11:02.639><c> oh</c><00:11:03.200><c> well</c><00:11:03.360><c> it</c><00:11:03.480><c> allows</c><00:11:03.760><c> you</c><00:11:03.880><c> to</c><00:11:04.639><c> um</c>

00:11:05.030 --> 00:11:05.040 align:start position:0%
other things oh well it allows you to um
 

00:11:05.040 --> 00:11:06.670 align:start position:0%
other things oh well it allows you to um
give<00:11:05.200><c> somebody</c><00:11:05.600><c> permission</c><00:11:05.920><c> to</c><00:11:06.079><c> transfer</c><00:11:06.560><c> on</c>

00:11:06.670 --> 00:11:06.680 align:start position:0%
give somebody permission to transfer on
 

00:11:06.680 --> 00:11:09.030 align:start position:0%
give somebody permission to transfer on
your<00:11:06.839><c> behalf</c><00:11:07.320><c> which</c><00:11:07.680><c> among</c><00:11:07.959><c> other</c><00:11:08.160><c> things</c><00:11:08.880><c> um</c>

00:11:09.030 --> 00:11:09.040 align:start position:0%
your behalf which among other things um
 

00:11:09.040 --> 00:11:12.190 align:start position:0%
your behalf which among other things um
enables<00:11:09.480><c> Atomic</c><00:11:09.880><c> swaps</c><00:11:10.360><c> so</c><00:11:10.839><c> pretty</c><00:11:11.120><c> cool</c><00:11:12.040><c> now</c>

00:11:12.190 --> 00:11:12.200 align:start position:0%
enables Atomic swaps so pretty cool now
 

00:11:12.200 --> 00:11:13.470 align:start position:0%
enables Atomic swaps so pretty cool now
let's<00:11:12.399><c> say</c><00:11:12.519><c> we</c><00:11:12.639><c> want</c><00:11:12.720><c> to</c><00:11:12.880><c> add</c><00:11:13.079><c> that</c><00:11:13.160><c> to</c><00:11:13.279><c> our</c>

00:11:13.470 --> 00:11:13.480 align:start position:0%
let's say we want to add that to our
 

00:11:13.480 --> 00:11:15.870 align:start position:0%
let's say we want to add that to our
game<00:11:14.399><c> we</c><00:11:14.519><c> want</c><00:11:14.639><c> to</c><00:11:14.959><c> allow</c><00:11:15.279><c> somebody</c><00:11:15.639><c> we</c><00:11:15.760><c> want</c>

00:11:15.870 --> 00:11:15.880 align:start position:0%
game we want to allow somebody we want
 

00:11:15.880 --> 00:11:17.710 align:start position:0%
game we want to allow somebody we want
to<00:11:16.000><c> give</c><00:11:16.160><c> somebody</c><00:11:16.480><c> permission</c><00:11:16.880><c> to</c><00:11:17.160><c> move</c><00:11:17.440><c> our</c>

00:11:17.710 --> 00:11:17.720 align:start position:0%
to give somebody permission to move our
 

00:11:17.720 --> 00:11:21.470 align:start position:0%
to give somebody permission to move our
unit<00:11:18.680><c> um</c><00:11:18.839><c> on</c><00:11:19.000><c> our</c><00:11:19.360><c> behalf</c><00:11:20.360><c> um</c><00:11:20.760><c> now</c><00:11:20.959><c> we</c><00:11:21.079><c> could</c>

00:11:21.470 --> 00:11:21.480 align:start position:0%
unit um on our behalf um now we could
 

00:11:21.480 --> 00:11:23.790 align:start position:0%
unit um on our behalf um now we could
add<00:11:21.760><c> an</c><00:11:21.920><c> approved</c><00:11:22.279><c> move</c><00:11:22.560><c> function</c><00:11:23.079><c> and</c><00:11:23.440><c> a</c><00:11:23.560><c> move</c>

00:11:23.790 --> 00:11:23.800 align:start position:0%
add an approved move function and a move
 

00:11:23.800 --> 00:11:25.670 align:start position:0%
add an approved move function and a move
from<00:11:24.120><c> function</c><00:11:24.920><c> and</c><00:11:25.040><c> then</c><00:11:25.200><c> when</c><00:11:25.320><c> we</c><00:11:25.440><c> want</c><00:11:25.560><c> to</c>

00:11:25.670 --> 00:11:25.680 align:start position:0%
from function and then when we want to
 

00:11:25.680 --> 00:11:28.269 align:start position:0%
from function and then when we want to
do<00:11:25.800><c> the</c><00:11:25.920><c> same</c><00:11:26.120><c> for</c><00:11:26.760><c> attacking</c><00:11:27.639><c> we</c><00:11:27.760><c> could</c><00:11:28.040><c> add</c>

00:11:28.269 --> 00:11:28.279 align:start position:0%
do the same for attacking we could add
 

00:11:28.279 --> 00:11:30.310 align:start position:0%
do the same for attacking we could add
an<00:11:28.519><c> approve</c><00:11:28.920><c> attack</c><00:11:29.440><c> and</c><00:11:29.560><c> then</c><00:11:29.680><c> attack</c><00:11:30.040><c> from</c>

00:11:30.310 --> 00:11:30.320 align:start position:0%
an approve attack and then attack from
 

00:11:30.320 --> 00:11:32.350 align:start position:0%
an approve attack and then attack from
function<00:11:31.160><c> but</c><00:11:31.600><c> that</c><00:11:31.680><c> would</c><00:11:31.880><c> again</c><00:11:32.040><c> be</c><00:11:32.160><c> a</c><00:11:32.240><c> lot</c>

00:11:32.350 --> 00:11:32.360 align:start position:0%
function but that would again be a lot
 

00:11:32.360 --> 00:11:33.710 align:start position:0%
function but that would again be a lot
of<00:11:32.440><c> voiler</c><00:11:32.760><c> plate</c><00:11:33.040><c> and</c><00:11:33.160><c> now</c><00:11:33.320><c> let's</c><00:11:33.480><c> say</c><00:11:33.600><c> we</c>

00:11:33.710 --> 00:11:33.720 align:start position:0%
of voiler plate and now let's say we
 

00:11:33.720 --> 00:11:35.269 align:start position:0%
of voiler plate and now let's say we
wanted<00:11:33.959><c> to</c><00:11:34.120><c> add</c><00:11:34.399><c> something</c><00:11:34.680><c> very</c><00:11:34.800><c> similar</c><00:11:35.160><c> but</c>

00:11:35.269 --> 00:11:35.279 align:start position:0%
wanted to add something very similar but
 

00:11:35.279 --> 00:11:37.430 align:start position:0%
wanted to add something very similar but
slightly<00:11:35.639><c> different</c><00:11:36.440><c> um</c><00:11:36.639><c> we</c><00:11:36.760><c> want</c><00:11:36.880><c> to</c><00:11:37.040><c> allow</c>

00:11:37.430 --> 00:11:37.440 align:start position:0%
slightly different um we want to allow
 

00:11:37.440 --> 00:11:39.910 align:start position:0%
slightly different um we want to allow
somebody<00:11:37.760><c> to</c><00:11:38.040><c> sign</c><00:11:38.920><c> a</c><00:11:39.079><c> piece</c><00:11:39.240><c> of</c><00:11:39.440><c> data</c><00:11:39.760><c> that</c>

00:11:39.910 --> 00:11:39.920 align:start position:0%
somebody to sign a piece of data that
 

00:11:39.920 --> 00:11:42.509 align:start position:0%
somebody to sign a piece of data that
then<00:11:40.120><c> allows</c><00:11:40.480><c> us</c><00:11:40.720><c> to</c><00:11:41.279><c> um</c><00:11:41.680><c> attack</c><00:11:41.959><c> or</c><00:11:42.160><c> move</c><00:11:42.399><c> on</c>

00:11:42.509 --> 00:11:42.519 align:start position:0%
then allows us to um attack or move on
 

00:11:42.519 --> 00:11:44.750 align:start position:0%
then allows us to um attack or move on
somebody's<00:11:42.959><c> behalf</c><00:11:43.600><c> so</c><00:11:44.000><c> should</c><00:11:44.200><c> we</c><00:11:44.320><c> add</c><00:11:44.480><c> move</c>

00:11:44.750 --> 00:11:44.760 align:start position:0%
somebody's behalf so should we add move
 

00:11:44.760 --> 00:11:47.269 align:start position:0%
somebody's behalf so should we add move
with<00:11:44.920><c> signature</c><00:11:45.360><c> attack</c><00:11:45.680><c> with</c><00:11:46.279><c> signature</c>

00:11:47.269 --> 00:11:47.279 align:start position:0%
with signature attack with signature
 

00:11:47.279 --> 00:11:49.190 align:start position:0%
with signature attack with signature
because<00:11:47.480><c> we</c><00:11:47.639><c> have</c><00:11:47.720><c> a</c><00:11:47.880><c> framework</c><00:11:48.360><c> now</c><00:11:48.880><c> we</c><00:11:49.000><c> can</c>

00:11:49.190 --> 00:11:49.200 align:start position:0%
because we have a framework now we can
 

00:11:49.200 --> 00:11:51.310 align:start position:0%
because we have a framework now we can
move<00:11:49.560><c> that</c><00:11:49.800><c> logic</c><00:11:50.200><c> one</c><00:11:50.399><c> level</c><00:11:50.680><c> higher</c><00:11:51.040><c> to</c><00:11:51.200><c> the</c>

00:11:51.310 --> 00:11:51.320 align:start position:0%
move that logic one level higher to the
 

00:11:51.320 --> 00:11:53.350 align:start position:0%
move that logic one level higher to the
level<00:11:51.519><c> of</c><00:11:51.639><c> the</c><00:11:51.760><c> framework</c><00:11:52.720><c> and</c><00:11:52.880><c> then</c><00:11:53.000><c> we</c><00:11:53.120><c> don't</c>

00:11:53.350 --> 00:11:53.360 align:start position:0%
level of the framework and then we don't
 

00:11:53.360 --> 00:11:55.030 align:start position:0%
level of the framework and then we don't
have<00:11:53.440><c> to</c><00:11:53.560><c> implement</c><00:11:53.959><c> it</c><00:11:54.440><c> in</c><00:11:54.600><c> each</c><00:11:54.760><c> of</c><00:11:54.880><c> the</c>

00:11:55.030 --> 00:11:55.040 align:start position:0%
have to implement it in each of the
 

00:11:55.040 --> 00:11:57.829 align:start position:0%
have to implement it in each of the
systems<00:11:56.000><c> so</c><00:11:56.399><c> in</c><00:11:56.519><c> our</c><00:11:56.800><c> case</c><00:11:57.079><c> we</c><00:11:57.200><c> can</c><00:11:57.360><c> add</c><00:11:57.519><c> a</c><00:11:57.680><c> new</c>

00:11:57.829 --> 00:11:57.839 align:start position:0%
systems so in our case we can add a new
 

00:11:57.839 --> 00:11:59.310 align:start position:0%
systems so in our case we can add a new
entry<00:11:58.160><c> point</c><00:11:58.360><c> to</c><00:11:58.480><c> the</c><00:11:58.600><c> world</c><00:11:58.959><c> which</c><00:11:59.079><c> is</c><00:11:59.240><c> which</c>

00:11:59.310 --> 00:11:59.320 align:start position:0%
entry point to the world which is which
 

00:11:59.320 --> 00:12:02.190 align:start position:0%
entry point to the world which is which
is<00:11:59.600><c> called</c><00:11:59.920><c> call</c><00:12:00.200><c> from</c><00:12:01.040><c> and</c><00:12:01.279><c> it</c><00:12:01.440><c> takes</c><00:12:01.839><c> another</c>

00:12:02.190 --> 00:12:02.200 align:start position:0%
is called call from and it takes another
 

00:12:02.200 --> 00:12:03.790 align:start position:0%
is called call from and it takes another
argument<00:12:02.720><c> in</c><00:12:02.880><c> addition</c><00:12:03.160><c> to</c><00:12:03.279><c> the</c><00:12:03.440><c> system</c>

00:12:03.790 --> 00:12:03.800 align:start position:0%
argument in addition to the system
 

00:12:03.800 --> 00:12:05.790 align:start position:0%
argument in addition to the system
arguments<00:12:04.639><c> which</c><00:12:04.800><c> is</c><00:12:05.000><c> the</c><00:12:05.200><c> address</c><00:12:05.560><c> that</c><00:12:05.680><c> you</c>

00:12:05.790 --> 00:12:05.800 align:start position:0%
arguments which is the address that you
 

00:12:05.800 --> 00:12:07.670 align:start position:0%
arguments which is the address that you
want<00:12:05.920><c> to</c><00:12:06.360><c> call</c><00:12:06.639><c> on</c><00:12:06.800><c> whose</c><00:12:07.000><c> behalf</c><00:12:07.320><c> you</c><00:12:07.440><c> want</c><00:12:07.519><c> to</c>

00:12:07.670 --> 00:12:07.680 align:start position:0%
want to call on whose behalf you want to
 

00:12:07.680 --> 00:12:09.470 align:start position:0%
want to call on whose behalf you want to
call<00:12:08.360><c> and</c><00:12:08.480><c> then</c><00:12:08.639><c> this</c><00:12:08.800><c> entry</c><00:12:09.120><c> point</c><00:12:09.320><c> can</c>

00:12:09.470 --> 00:12:09.480 align:start position:0%
call and then this entry point can
 

00:12:09.480 --> 00:12:11.389 align:start position:0%
call and then this entry point can
implement<00:12:10.160><c> the</c><00:12:10.399><c> the</c><00:12:10.560><c> functionality</c><00:12:11.120><c> for</c>

00:12:11.389 --> 00:12:11.399 align:start position:0%
implement the the functionality for
 

00:12:11.399 --> 00:12:12.710 align:start position:0%
implement the the functionality for
checking<00:12:11.760><c> that</c><00:12:11.920><c> this</c><00:12:12.079><c> delegation</c><00:12:12.519><c> is</c>

00:12:12.710 --> 00:12:12.720 align:start position:0%
checking that this delegation is
 

00:12:12.720 --> 00:12:15.350 align:start position:0%
checking that this delegation is
actually<00:12:13.199><c> valid</c><00:12:13.959><c> and</c><00:12:14.079><c> then</c><00:12:14.240><c> if</c><00:12:14.360><c> it's</c><00:12:14.600><c> valid</c><00:12:15.240><c> it</c>

00:12:15.350 --> 00:12:15.360 align:start position:0%
actually valid and then if it's valid it
 

00:12:15.360 --> 00:12:17.629 align:start position:0%
actually valid and then if it's valid it
forwards<00:12:15.760><c> the</c><00:12:15.920><c> call</c><00:12:16.120><c> to</c><00:12:16.279><c> the</c><00:12:16.440><c> system</c><00:12:17.399><c> with</c>

00:12:17.629 --> 00:12:17.639 align:start position:0%
forwards the call to the system with
 

00:12:17.639 --> 00:12:19.430 align:start position:0%
forwards the call to the system with
this<00:12:17.800><c> new</c><00:12:18.040><c> address</c><00:12:18.480><c> that</c><00:12:18.639><c> you're</c><00:12:18.959><c> calling</c><00:12:19.279><c> on</c>

00:12:19.430 --> 00:12:19.440 align:start position:0%
this new address that you're calling on
 

00:12:19.440 --> 00:12:21.750 align:start position:0%
this new address that you're calling on
whose<00:12:19.639><c> behalf</c><00:12:19.920><c> you're</c><00:12:20.440><c> calling</c><00:12:21.440><c> and</c><00:12:21.560><c> then</c>

00:12:21.750 --> 00:12:21.760 align:start position:0%
whose behalf you're calling and then
 

00:12:21.760 --> 00:12:23.310 align:start position:0%
whose behalf you're calling and then
with<00:12:21.959><c> that</c><00:12:22.320><c> we</c><00:12:22.519><c> don't</c><00:12:22.720><c> have</c><00:12:22.839><c> to</c><00:12:22.920><c> implement</c>

00:12:23.310 --> 00:12:23.320 align:start position:0%
with that we don't have to implement
 

00:12:23.320 --> 00:12:25.389 align:start position:0%
with that we don't have to implement
that<00:12:23.480><c> for</c><00:12:23.760><c> every</c><00:12:24.000><c> system</c><00:12:24.360><c> again</c><00:12:24.920><c> but</c><00:12:25.160><c> rather</c>

00:12:25.389 --> 00:12:25.399 align:start position:0%
that for every system again but rather
 

00:12:25.399 --> 00:12:26.750 align:start position:0%
that for every system again but rather
it<00:12:25.600><c> just</c><00:12:25.880><c> implemented</c><00:12:26.399><c> once</c><00:12:26.560><c> at</c><00:12:26.680><c> the</c>

00:12:26.750 --> 00:12:26.760 align:start position:0%
it just implemented once at the
 

00:12:26.760 --> 00:12:28.230 align:start position:0%
it just implemented once at the
framework<00:12:27.160><c> level</c><00:12:27.440><c> and</c><00:12:27.600><c> works</c><00:12:27.839><c> for</c><00:12:27.959><c> all</c><00:12:28.120><c> the</c>

00:12:28.230 --> 00:12:28.240 align:start position:0%
framework level and works for all the
 

00:12:28.240 --> 00:12:30.829 align:start position:0%
framework level and works for all the
systems<00:12:29.199><c> and</c><00:12:29.399><c> same</c><00:12:29.720><c> with</c><00:12:29.959><c> the</c><00:12:30.199><c> the</c><00:12:30.320><c> signature</c>

00:12:30.829 --> 00:12:30.839 align:start position:0%
systems and same with the the signature
 

00:12:30.839 --> 00:12:33.030 align:start position:0%
systems and same with the the signature
example<00:12:31.320><c> we</c><00:12:31.560><c> we</c><00:12:31.680><c> have</c><00:12:31.839><c> a</c><00:12:32.120><c> call</c><00:12:32.399><c> with</c><00:12:32.600><c> signature</c>

00:12:33.030 --> 00:12:33.040 align:start position:0%
example we we have a call with signature
 

00:12:33.040 --> 00:12:35.750 align:start position:0%
example we we have a call with signature
end<00:12:33.279><c> point</c><00:12:33.760><c> entry</c><00:12:34.079><c> point</c><00:12:34.360><c> here</c><00:12:34.959><c> where</c><00:12:35.440><c> you</c><00:12:35.600><c> can</c>

00:12:35.750 --> 00:12:35.760 align:start position:0%
end point entry point here where you can
 

00:12:35.760 --> 00:12:37.430 align:start position:0%
end point entry point here where you can
call<00:12:36.000><c> it</c><00:12:36.199><c> with</c><00:12:36.320><c> a</c><00:12:36.480><c> signature</c><00:12:36.839><c> from</c><00:12:37.000><c> somebody</c>

00:12:37.430 --> 00:12:37.440 align:start position:0%
call it with a signature from somebody
 

00:12:37.440 --> 00:12:39.189 align:start position:0%
call it with a signature from somebody
that<00:12:37.560><c> allows</c><00:12:37.839><c> you</c><00:12:38.000><c> to</c><00:12:38.440><c> call</c><00:12:38.680><c> a</c><00:12:38.800><c> function</c><00:12:39.079><c> on</c>

00:12:39.189 --> 00:12:39.199 align:start position:0%
that allows you to call a function on
 

00:12:39.199 --> 00:12:41.550 align:start position:0%
that allows you to call a function on
their<00:12:39.399><c> behalf</c><00:12:40.040><c> and</c><00:12:40.199><c> then</c><00:12:40.680><c> if</c><00:12:40.839><c> it's</c><00:12:41.079><c> valid</c><00:12:41.399><c> it's</c>

00:12:41.550 --> 00:12:41.560 align:start position:0%
their behalf and then if it's valid it's
 

00:12:41.560 --> 00:12:45.189 align:start position:0%
their behalf and then if it's valid it's
forwarded<00:12:42.000><c> to</c><00:12:42.120><c> the</c><00:12:42.279><c> system</c><00:12:42.800><c> as</c><00:12:43.079><c> them</c>

00:12:45.189 --> 00:12:45.199 align:start position:0%
forwarded to the system as them
 

00:12:45.199 --> 00:12:48.230 align:start position:0%
forwarded to the system as them
basically<00:12:46.199><c> this</c><00:12:46.360><c> is</c><00:12:46.800><c> useful</c><00:12:47.279><c> for</c><00:12:47.800><c> a</c><00:12:47.920><c> bunch</c><00:12:48.120><c> of</c>

00:12:48.230 --> 00:12:48.240 align:start position:0%
basically this is useful for a bunch of
 

00:12:48.240 --> 00:12:50.470 align:start position:0%
basically this is useful for a bunch of
different<00:12:48.519><c> things</c><00:12:48.880><c> but</c><00:12:49.160><c> one</c><00:12:49.399><c> example</c><00:12:50.000><c> is</c>

00:12:50.470 --> 00:12:50.480 align:start position:0%
different things but one example is
 

00:12:50.480 --> 00:12:52.949 align:start position:0%
different things but one example is
session<00:12:50.839><c> wallets</c><00:12:51.680><c> so</c><00:12:51.959><c> in</c><00:12:52.120><c> our</c><00:12:52.360><c> game</c><00:12:52.639><c> we</c><00:12:52.760><c> don't</c>

00:12:52.949 --> 00:12:52.959 align:start position:0%
session wallets so in our game we don't
 

00:12:52.959 --> 00:12:55.389 align:start position:0%
session wallets so in our game we don't
want<00:12:53.600><c> uh</c><00:12:53.800><c> an</c><00:12:54.000><c> approval</c><00:12:54.440><c> pop</c><00:12:54.680><c> up</c><00:12:54.920><c> every</c><00:12:55.120><c> time</c><00:12:55.279><c> we</c>

00:12:55.389 --> 00:12:55.399 align:start position:0%
want uh an approval pop up every time we
 

00:12:55.399 --> 00:13:00.150 align:start position:0%
want uh an approval pop up every time we
do<00:12:55.720><c> anything</c><00:12:56.720><c> um</c><00:12:57.680><c> oh</c><00:12:58.680><c> not</c><00:12:58.959><c> not</c><00:12:59.279><c> d</c><00:12:59.399><c> a</c><00:12:59.519><c> time</c><00:12:59.720><c> yet</c>

00:13:00.150 --> 00:13:00.160 align:start position:0%
do anything um oh not not d a time yet
 

00:13:00.160 --> 00:13:01.949 align:start position:0%
do anything um oh not not d a time yet
um<00:13:00.279><c> we</c><00:13:00.360><c> don't</c><00:13:00.480><c> want</c><00:13:00.720><c> an</c><00:13:00.880><c> approval</c><00:13:01.279><c> popup</c><00:13:01.839><c> when</c>

00:13:01.949 --> 00:13:01.959 align:start position:0%
um we don't want an approval popup when
 

00:13:01.959 --> 00:13:03.670 align:start position:0%
um we don't want an approval popup when
we<00:13:02.079><c> do</c><00:13:02.240><c> anything</c><00:13:02.560><c> but</c><00:13:02.720><c> rather</c><00:13:02.959><c> we</c><00:13:03.079><c> want</c><00:13:03.320><c> to</c>

00:13:03.670 --> 00:13:03.680 align:start position:0%
we do anything but rather we want to
 

00:13:03.680 --> 00:13:06.150 align:start position:0%
we do anything but rather we want to
create<00:13:04.320><c> a</c><00:13:04.519><c> a</c><00:13:04.639><c> scope</c><00:13:05.000><c> to</c><00:13:05.160><c> delegation</c><00:13:05.760><c> once</c><00:13:06.040><c> at</c>

00:13:06.150 --> 00:13:06.160 align:start position:0%
create a a scope to delegation once at
 

00:13:06.160 --> 00:13:08.910 align:start position:0%
create a a scope to delegation once at
the<00:13:06.279><c> beginning</c><00:13:07.079><c> and</c><00:13:07.360><c> then</c><00:13:08.199><c> um</c><00:13:08.480><c> the</c><00:13:08.600><c> user</c>

00:13:08.910 --> 00:13:08.920 align:start position:0%
the beginning and then um the user
 

00:13:08.920 --> 00:13:10.269 align:start position:0%
the beginning and then um the user
should<00:13:09.079><c> be</c><00:13:09.199><c> able</c><00:13:09.440><c> to</c><00:13:09.600><c> for</c><00:13:09.839><c> the</c><00:13:10.000><c> for</c><00:13:10.160><c> the</c>

00:13:10.269 --> 00:13:10.279 align:start position:0%
should be able to for the for the
 

00:13:10.279 --> 00:13:12.189 align:start position:0%
should be able to for the for the
duration<00:13:10.600><c> of</c><00:13:10.720><c> the</c><00:13:10.839><c> session</c><00:13:11.199><c> to</c><00:13:11.399><c> just</c><00:13:11.560><c> do</c><00:13:11.760><c> moves</c>

00:13:12.189 --> 00:13:12.199 align:start position:0%
duration of the session to just do moves
 

00:13:12.199 --> 00:13:14.150 align:start position:0%
duration of the session to just do moves
in<00:13:12.440><c> in</c><00:13:12.560><c> the</c><00:13:12.720><c> game</c><00:13:13.079><c> without</c><00:13:13.600><c> additionally</c>

00:13:14.150 --> 00:13:14.160 align:start position:0%
in in the game without additionally
 

00:13:14.160 --> 00:13:16.829 align:start position:0%
in in the game without additionally
approve<00:13:14.639><c> approving</c><00:13:15.639><c> and</c><00:13:16.000><c> in</c><00:13:16.120><c> our</c><00:13:16.360><c> case</c><00:13:16.600><c> now</c><00:13:16.760><c> we</c>

00:13:16.829 --> 00:13:16.839 align:start position:0%
approve approving and in our case now we
 

00:13:16.839 --> 00:13:18.470 align:start position:0%
approve approving and in our case now we
can<00:13:17.000><c> connect</c><00:13:17.279><c> the</c><00:13:17.360><c> main</c><00:13:17.600><c> account</c><00:13:18.160><c> we</c><00:13:18.279><c> can</c>

00:13:18.470 --> 00:13:18.480 align:start position:0%
can connect the main account we can
 

00:13:18.480 --> 00:13:20.269 align:start position:0%
can connect the main account we can
create<00:13:18.720><c> the</c><00:13:18.839><c> scope</c><00:13:19.120><c> delegation</c><00:13:19.839><c> through</c><00:13:20.079><c> this</c>

00:13:20.269 --> 00:13:20.279 align:start position:0%
create the scope delegation through this
 

00:13:20.279 --> 00:13:22.870 align:start position:0%
create the scope delegation through this
entry<00:13:20.639><c> point</c><00:13:20.839><c> function</c><00:13:21.560><c> and</c><00:13:21.760><c> then</c><00:13:22.360><c> um</c><00:13:22.720><c> yeah</c>

00:13:22.870 --> 00:13:22.880 align:start position:0%
entry point function and then um yeah
 

00:13:22.880 --> 00:13:24.829 align:start position:0%
entry point function and then um yeah
user<00:13:23.320><c> doesn't</c><00:13:23.600><c> have</c><00:13:23.720><c> to</c><00:13:24.079><c> click</c><00:13:24.320><c> approve</c><00:13:24.680><c> every</c>

00:13:24.829 --> 00:13:24.839 align:start position:0%
user doesn't have to click approve every
 

00:13:24.839 --> 00:13:27.269 align:start position:0%
user doesn't have to click approve every
time<00:13:25.079><c> again</c><00:13:25.920><c> and</c><00:13:26.240><c> we</c><00:13:26.360><c> have</c><00:13:26.600><c> again</c><00:13:26.920><c> another</c>

00:13:27.269 --> 00:13:27.279 align:start position:0%
time again and we have again another
 

00:13:27.279 --> 00:13:29.710 align:start position:0%
time again and we have again another
quick<00:13:27.639><c> quick</c><00:13:27.839><c> demo</c><00:13:28.120><c> of</c><00:13:28.320><c> this</c><00:13:28.959><c> um</c><00:13:29.440><c> this</c><00:13:29.560><c> is</c>

00:13:29.710 --> 00:13:29.720 align:start position:0%
quick quick demo of this um this is
 

00:13:29.720 --> 00:13:33.389 align:start position:0%
quick quick demo of this um this is
using<00:13:30.040><c> some</c><00:13:30.279><c> UI</c><00:13:31.199><c> that</c><00:13:31.360><c> ships</c><00:13:31.839><c> with</c><00:13:32.199><c> with</c><00:13:32.440><c> M</c><00:13:33.199><c> um</c>

00:13:33.389 --> 00:13:33.399 align:start position:0%
using some UI that ships with with M um
 

00:13:33.399 --> 00:13:35.829 align:start position:0%
using some UI that ships with with M um
here<00:13:33.560><c> we</c><00:13:33.800><c> the</c><00:13:33.920><c> user</c><00:13:34.160><c> can</c><00:13:34.320><c> create</c><00:13:34.639><c> an</c><00:13:34.839><c> account</c>

00:13:35.829 --> 00:13:35.839 align:start position:0%
here we the user can create an account
 

00:13:35.839 --> 00:13:37.509 align:start position:0%
here we the user can create an account
um<00:13:36.040><c> or</c><00:13:36.279><c> connect</c><00:13:36.600><c> an</c><00:13:36.760><c> existing</c><00:13:37.160><c> account</c><00:13:37.360><c> in</c>

00:13:37.509 --> 00:13:37.519 align:start position:0%
um or connect an existing account in
 

00:13:37.519 --> 00:13:39.189 align:start position:0%
um or connect an existing account in
this<00:13:37.720><c> example</c><00:13:38.120><c> we're</c><00:13:38.279><c> creating</c><00:13:38.560><c> a</c><00:13:38.720><c> pasy</c>

00:13:39.189 --> 00:13:39.199 align:start position:0%
this example we're creating a pasy
 

00:13:39.199 --> 00:13:42.430 align:start position:0%
this example we're creating a pasy
account<00:13:39.920><c> then</c><00:13:40.199><c> a</c><00:13:40.399><c> delegation</c><00:13:40.880><c> is</c><00:13:41.160><c> set</c><00:13:41.399><c> up</c><00:13:42.199><c> um</c>

00:13:42.430 --> 00:13:42.440 align:start position:0%
account then a delegation is set up um
 

00:13:42.440 --> 00:13:44.590 align:start position:0%
account then a delegation is set up um
and<00:13:42.639><c> then</c><00:13:42.959><c> once</c><00:13:43.199><c> that</c><00:13:43.360><c> is</c><00:13:43.480><c> set</c><00:13:43.680><c> up</c><00:13:44.199><c> the</c><00:13:44.320><c> user</c>

00:13:44.590 --> 00:13:44.600 align:start position:0%
and then once that is set up the user
 

00:13:44.600 --> 00:13:47.310 align:start position:0%
and then once that is set up the user
can<00:13:44.760><c> basically</c><00:13:45.720><c> move</c><00:13:46.160><c> in</c><00:13:46.360><c> the</c><00:13:46.519><c> game</c><00:13:46.920><c> without</c>

00:13:47.310 --> 00:13:47.320 align:start position:0%
can basically move in the game without
 

00:13:47.320 --> 00:13:49.230 align:start position:0%
can basically move in the game without
Additionally<00:13:47.800><c> you</c><00:13:47.920><c> know</c><00:13:48.360><c> clicking</c><00:13:48.880><c> approve</c>

00:13:49.230 --> 00:13:49.240 align:start position:0%
Additionally you know clicking approve
 

00:13:49.240 --> 00:13:51.710 align:start position:0%
Additionally you know clicking approve
every<00:13:49.399><c> time</c>

00:13:51.710 --> 00:13:51.720 align:start position:0%
 
 

00:13:51.720 --> 00:13:54.829 align:start position:0%
 
again<00:13:52.720><c> this</c><00:13:52.880><c> is</c><00:13:53.399><c> an</c><00:13:53.600><c> a</c><00:13:53.720><c> demo</c><00:13:54.000><c> app</c><00:13:54.160><c> we</c><00:13:54.279><c> built</c><00:13:54.639><c> to</c>

00:13:54.829 --> 00:13:54.839 align:start position:0%
again this is an a demo app we built to
 

00:13:54.839 --> 00:13:56.670 align:start position:0%
again this is an a demo app we built to
demo<00:13:55.320><c> this</c><00:13:55.600><c> this</c><00:13:55.720><c> onboarding</c><00:13:56.120><c> flow</c><00:13:56.360><c> but</c><00:13:56.480><c> then</c>

00:13:56.670 --> 00:13:56.680 align:start position:0%
demo this this onboarding flow but then
 

00:13:56.680 --> 00:13:58.710 align:start position:0%
demo this this onboarding flow but then
also<00:13:57.199><c> some</c><00:13:57.399><c> latency</c><00:13:57.920><c> stuff</c><00:13:58.160><c> that</c><00:13:58.320><c> we</c><00:13:58.519><c> that</c><00:13:58.600><c> we</c>

00:13:58.710 --> 00:13:58.720 align:start position:0%
also some latency stuff that we that we
 

00:13:58.720 --> 00:13:59.749 align:start position:0%
also some latency stuff that we that we
walked

00:13:59.749 --> 00:13:59.759 align:start position:0%
walked
 

00:13:59.759 --> 00:14:01.749 align:start position:0%
walked
um<00:13:59.920><c> you</c><00:14:00.040><c> can</c><00:14:00.199><c> try</c><00:14:00.399><c> it</c><00:14:00.560><c> out</c><00:14:01.079><c> if</c><00:14:01.160><c> you</c><00:14:01.320><c> want</c><00:14:01.639><c> on</c>

00:14:01.749 --> 00:14:01.759 align:start position:0%
um you can try it out if you want on
 

00:14:01.759 --> 00:14:04.150 align:start position:0%
um you can try it out if you want on
your<00:14:01.880><c> phone</c><00:14:02.199><c> on</c><00:14:02.360><c> eat</c><00:14:02.680><c> thefly.com</c>

00:14:04.150 --> 00:14:04.160 align:start position:0%
your phone on eat thefly.com
 

00:14:04.160 --> 00:14:05.870 align:start position:0%
your phone on eat thefly.com
um

00:14:05.870 --> 00:14:05.880 align:start position:0%
um
 

00:14:05.880 --> 00:14:08.269 align:start position:0%
um
and<00:14:06.880><c> yeah</c><00:14:07.079><c> this</c><00:14:07.240><c> was</c><00:14:07.399><c> just</c><00:14:07.480><c> a</c><00:14:07.680><c> tiny</c><00:14:07.920><c> glimpse</c>

00:14:08.269 --> 00:14:08.279 align:start position:0%
and yeah this was just a tiny glimpse
 

00:14:08.279 --> 00:14:10.990 align:start position:0%
and yeah this was just a tiny glimpse
into<00:14:08.519><c> mud</c><00:14:09.240><c> um</c><00:14:10.160><c> which</c><00:14:10.320><c> we</c><00:14:10.440><c> built</c><00:14:10.759><c> in</c><00:14:10.880><c> the</c>

00:14:10.990 --> 00:14:11.000 align:start position:0%
into mud um which we built in the
 

00:14:11.000 --> 00:14:12.670 align:start position:0%
into mud um which we built in the
beginning<00:14:11.279><c> to</c><00:14:11.440><c> solve</c><00:14:11.639><c> our</c><00:14:11.759><c> own</c><00:14:12.000><c> problems</c><00:14:12.480><c> but</c>

00:14:12.670 --> 00:14:12.680 align:start position:0%
beginning to solve our own problems but
 

00:14:12.680 --> 00:14:15.310 align:start position:0%
beginning to solve our own problems but
now<00:14:13.199><c> is</c><00:14:13.360><c> used</c><00:14:13.680><c> by</c><00:14:13.800><c> many</c><00:14:14.079><c> people</c><00:14:14.639><c> to</c><00:14:15.000><c> who</c><00:14:15.160><c> had</c>

00:14:15.310 --> 00:14:15.320 align:start position:0%
now is used by many people to who had
 

00:14:15.320 --> 00:14:17.350 align:start position:0%
now is used by many people to who had
the<00:14:15.399><c> same</c><00:14:15.680><c> problems</c><00:14:16.519><c> um</c><00:14:16.680><c> many</c><00:14:16.920><c> of</c><00:14:17.040><c> them</c><00:14:17.199><c> are</c>

00:14:17.350 --> 00:14:17.360 align:start position:0%
the same problems um many of them are
 

00:14:17.360 --> 00:14:19.389 align:start position:0%
the same problems um many of them are
going<00:14:17.480><c> to</c><00:14:17.639><c> present</c><00:14:18.000><c> to</c><00:14:18.320><c> tomorrow</c><00:14:18.800><c> at</c><00:14:18.959><c> mday</c>

00:14:19.389 --> 00:14:19.399 align:start position:0%
going to present to tomorrow at mday
 

00:14:19.399 --> 00:14:21.949 align:start position:0%
going to present to tomorrow at mday
here<00:14:19.560><c> in</c><00:14:19.680><c> this</c><00:14:19.839><c> venue</c><00:14:20.160><c> at</c><00:14:20.320><c> classroom</c><00:14:20.759><c> a</c><00:14:21.680><c> um</c><00:14:21.800><c> so</c>

00:14:21.949 --> 00:14:21.959 align:start position:0%
here in this venue at classroom a um so
 

00:14:21.959 --> 00:14:24.389 align:start position:0%
here in this venue at classroom a um so
I<00:14:22.079><c> would</c><00:14:22.279><c> recommend</c><00:14:22.759><c> to</c><00:14:23.199><c> to</c><00:14:23.800><c> uh</c><00:14:24.040><c> come</c><00:14:24.199><c> check</c>

00:14:24.389 --> 00:14:24.399 align:start position:0%
I would recommend to to uh come check
 

00:14:24.399 --> 00:14:26.550 align:start position:0%
I would recommend to to uh come check
that<00:14:24.560><c> out</c><00:14:24.759><c> if</c><00:14:24.880><c> this</c><00:14:25.000><c> was</c><00:14:25.199><c> interesting</c><00:14:25.519><c> to</c><00:14:25.680><c> you</c>

00:14:26.550 --> 00:14:26.560 align:start position:0%
that out if this was interesting to you
 

00:14:26.560 --> 00:14:28.430 align:start position:0%
that out if this was interesting to you
and<00:14:27.160><c> then</c><00:14:27.440><c> if</c><00:14:27.519><c> you</c><00:14:27.680><c> can't</c><00:14:27.880><c> make</c><00:14:28.000><c> it</c><00:14:28.120><c> tomorrow</c>

00:14:28.430 --> 00:14:28.440 align:start position:0%
and then if you can't make it tomorrow
 

00:14:28.440 --> 00:14:29.790 align:start position:0%
and then if you can't make it tomorrow
or<00:14:28.560><c> just</c><00:14:28.680><c> in</c><00:14:28.759><c> general</c><00:14:29.199><c> you</c><00:14:29.279><c> can</c><00:14:29.399><c> also</c><00:14:29.600><c> learn</c>

00:14:29.790 --> 00:14:29.800 align:start position:0%
or just in general you can also learn
 

00:14:29.800 --> 00:14:32.670 align:start position:0%
or just in general you can also learn
more<00:14:30.000><c> about</c><00:14:30.199><c> mud</c><00:14:30.560><c> on</c><00:14:31.000><c> m.de</c><00:14:32.000><c> and</c><00:14:32.199><c> with</c><00:14:32.360><c> that</c>

00:14:32.670 --> 00:14:32.680 align:start position:0%
more about mud on m.de and with that
 

00:14:32.680 --> 00:14:38.389 align:start position:0%
more about mud on m.de and with that
thank<00:14:32.880><c> you</c><00:14:33.279><c> and</c><00:14:33.519><c> hopefully</c><00:14:33.880><c> see</c><00:14:34.000><c> you</c>

00:14:38.389 --> 00:14:38.399 align:start position:0%
 
 

00:14:38.399 --> 00:14:40.590 align:start position:0%
 
tomorrow<00:14:39.399><c> good</c><00:14:39.639><c> stuff</c><00:14:40.000><c> I</c><00:14:40.079><c> don't</c><00:14:40.240><c> know</c><00:14:40.360><c> if</c><00:14:40.480><c> I'm</c>

00:14:40.590 --> 00:14:40.600 align:start position:0%
tomorrow good stuff I don't know if I'm
 

00:14:40.600 --> 00:14:42.829 align:start position:0%
tomorrow good stuff I don't know if I'm
a<00:14:40.759><c> Frog</c><00:14:41.160><c> or</c><00:14:41.360><c> if</c><00:14:41.519><c> I'm</c><00:14:42.079><c> if</c><00:14:42.199><c> it's</c><00:14:42.360><c> lunchtime</c>

00:14:42.829 --> 00:14:42.839 align:start position:0%
a Frog or if I'm if it's lunchtime
 

00:14:42.839 --> 00:14:43.870 align:start position:0%
a Frog or if I'm if it's lunchtime
because<00:14:42.959><c> that</c><00:14:43.040><c> made</c><00:14:43.199><c> me</c>

00:14:43.870 --> 00:14:43.880 align:start position:0%
because that made me
 

00:14:43.880 --> 00:14:47.189 align:start position:0%
because that made me
hungry<00:14:44.880><c> cool</c><00:14:45.360><c> so</c><00:14:45.519><c> the</c><00:14:45.639><c> first</c><00:14:45.959><c> question</c><00:14:46.959><c> uh</c>

00:14:47.189 --> 00:14:47.199 align:start position:0%
hungry cool so the first question uh
 

00:14:47.199 --> 00:14:49.389 align:start position:0%
hungry cool so the first question uh
from<00:14:47.440><c> the</c><00:14:47.560><c> Q&amp;A</c><00:14:48.360><c> is</c><00:14:48.519><c> that</c><00:14:48.680><c> in</c><00:14:48.759><c> your</c><00:14:48.920><c> demo</c>

00:14:49.389 --> 00:14:49.399 align:start position:0%
from the Q&amp;A is that in your demo
 

00:14:49.399 --> 00:14:51.910 align:start position:0%
from the Q&amp;A is that in your demo
transactions<00:14:49.920><c> are</c><00:14:50.160><c> happening</c><00:14:50.720><c> instantly</c><00:14:51.680><c> in</c>

00:14:51.910 --> 00:14:51.920 align:start position:0%
transactions are happening instantly in
 

00:14:51.920 --> 00:14:54.629 align:start position:0%
transactions are happening instantly in
redstone<00:14:52.759><c> block</c><00:14:53.160><c> time</c><00:14:53.440><c> is</c><00:14:53.600><c> two</c><00:14:53.880><c> seconds</c>

00:14:54.629 --> 00:14:54.639 align:start position:0%
redstone block time is two seconds
 

00:14:54.639 --> 00:14:55.870 align:start position:0%
redstone block time is two seconds
what's<00:14:54.839><c> going</c><00:14:55.040><c> on</c>

00:14:55.870 --> 00:14:55.880 align:start position:0%
what's going on
 

00:14:55.880 --> 00:14:58.470 align:start position:0%
what's going on
there<00:14:56.880><c> yes</c><00:14:57.079><c> so</c><00:14:57.279><c> that's</c><00:14:57.560><c> the</c><00:14:57.839><c> that's</c><00:14:58.000><c> some</c><00:14:58.279><c> some</c>

00:14:58.470 --> 00:14:58.480 align:start position:0%
there yes so that's the that's some some
 

00:14:58.480 --> 00:15:00.990 align:start position:0%
there yes so that's the that's some some
new<00:14:58.880><c> um</c><00:14:59.480><c> instant</c><00:14:59.880><c> confirmation</c><00:15:00.600><c> stuff</c><00:15:00.839><c> we</c>

00:15:00.990 --> 00:15:01.000 align:start position:0%
new um instant confirmation stuff we
 

00:15:01.000 --> 00:15:02.870 align:start position:0%
new um instant confirmation stuff we
worked<00:15:01.240><c> on</c><00:15:01.639><c> um</c><00:15:01.920><c> we're</c><00:15:02.120><c> going</c><00:15:02.240><c> to</c><00:15:02.519><c> talk</c><00:15:02.720><c> more</c>

00:15:02.870 --> 00:15:02.880 align:start position:0%
worked on um we're going to talk more
 

00:15:02.880 --> 00:15:05.710 align:start position:0%
worked on um we're going to talk more
about<00:15:03.079><c> that</c><00:15:03.199><c> tomorrow</c><00:15:03.920><c> at</c><00:15:04.040><c> mday</c><00:15:04.959><c> um</c><00:15:05.160><c> so</c><00:15:05.480><c> yeah</c><00:15:05.639><c> I</c>

00:15:05.710 --> 00:15:05.720 align:start position:0%
about that tomorrow at mday um so yeah I
 

00:15:05.720 --> 00:15:06.910 align:start position:0%
about that tomorrow at mday um so yeah I
don't<00:15:05.839><c> want</c><00:15:05.959><c> to</c><00:15:06.120><c> I</c><00:15:06.160><c> don't</c><00:15:06.279><c> want</c><00:15:06.360><c> to</c><00:15:06.480><c> reveal</c><00:15:06.800><c> too</c>

00:15:06.910 --> 00:15:06.920 align:start position:0%
don't want to I don't want to reveal too
 

00:15:06.920 --> 00:15:08.430 align:start position:0%
don't want to I don't want to reveal too
much<00:15:07.160><c> so</c><00:15:07.440><c> I</c><00:15:07.519><c> would</c><00:15:07.680><c> recommend</c><00:15:08.040><c> to</c><00:15:08.160><c> come</c><00:15:08.279><c> to</c>

00:15:08.430 --> 00:15:08.440 align:start position:0%
much so I would recommend to come to
 

00:15:08.440 --> 00:15:12.189 align:start position:0%
much so I would recommend to come to
mday<00:15:08.759><c> tomorrow</c><00:15:09.759><c> very</c>

00:15:12.189 --> 00:15:12.199 align:start position:0%
 
 

00:15:12.199 --> 00:15:14.829 align:start position:0%
 
interesting<00:15:13.199><c> next</c><00:15:13.519><c> question</c><00:15:14.519><c> how</c><00:15:14.600><c> do</c><00:15:14.720><c> you</c>

00:15:14.829 --> 00:15:14.839 align:start position:0%
interesting next question how do you
 

00:15:14.839 --> 00:15:16.590 align:start position:0%
interesting next question how do you
handle<00:15:15.160><c> a</c><00:15:15.320><c> table</c><00:15:15.600><c> growing</c><00:15:15.920><c> beyond</c><00:15:16.240><c> the</c><00:15:16.360><c> size</c>

00:15:16.590 --> 00:15:16.600 align:start position:0%
handle a table growing beyond the size
 

00:15:16.600 --> 00:15:18.189 align:start position:0%
handle a table growing beyond the size
of<00:15:16.800><c> one</c><00:15:17.120><c> storage</c>

00:15:18.189 --> 00:15:18.199 align:start position:0%
of one storage
 

00:15:18.199 --> 00:15:20.310 align:start position:0%
of one storage
slot<00:15:19.199><c> okay</c><00:15:19.480><c> that</c><00:15:19.639><c> that</c><00:15:19.720><c> might</c><00:15:19.880><c> have</c><00:15:20.000><c> been</c>

00:15:20.310 --> 00:15:20.320 align:start position:0%
slot okay that that might have been
 

00:15:20.320 --> 00:15:22.269 align:start position:0%
slot okay that that might have been
unclear<00:15:20.880><c> in</c><00:15:21.040><c> the</c><00:15:21.160><c> way</c><00:15:21.279><c> I</c><00:15:21.399><c> explained</c><00:15:21.720><c> it</c><00:15:21.920><c> tables</c>

00:15:22.269 --> 00:15:22.279 align:start position:0%
unclear in the way I explained it tables
 

00:15:22.279 --> 00:15:25.030 align:start position:0%
unclear in the way I explained it tables
can<00:15:22.480><c> grow</c><00:15:22.920><c> indefinitely</c><00:15:23.519><c> big</c><00:15:24.199><c> um</c><00:15:24.440><c> you</c><00:15:24.600><c> can</c>

00:15:25.030 --> 00:15:25.040 align:start position:0%
can grow indefinitely big um you can
 

00:15:25.040 --> 00:15:29.389 align:start position:0%
can grow indefinitely big um you can
basically<00:15:25.560><c> one</c><00:15:25.800><c> table</c><00:15:26.560><c> the</c><00:15:26.959><c> the</c><00:15:27.120><c> table</c><00:15:28.079><c> um</c><00:15:29.279><c> can</c>

00:15:29.389 --> 00:15:29.399 align:start position:0%
basically one table the the table um can
 

00:15:29.399 --> 00:15:30.829 align:start position:0%
basically one table the the table um can
have<00:15:29.560><c> multiple</c><00:15:29.920><c> records</c><00:15:30.279><c> and</c><00:15:30.399><c> the</c><00:15:30.519><c> records</c>

00:15:30.829 --> 00:15:30.839 align:start position:0%
have multiple records and the records
 

00:15:30.839 --> 00:15:32.389 align:start position:0%
have multiple records and the records
can<00:15:31.000><c> span</c><00:15:31.279><c> multiple</c><00:15:31.560><c> storage</c><00:15:31.880><c> slots</c><00:15:32.160><c> so</c>

00:15:32.389 --> 00:15:32.399 align:start position:0%
can span multiple storage slots so
 

00:15:32.399 --> 00:15:33.910 align:start position:0%
can span multiple storage slots so
there's<00:15:32.560><c> no</c><00:15:32.800><c> there's</c><00:15:32.959><c> no</c><00:15:33.160><c> one</c><00:15:33.319><c> storage</c><00:15:33.639><c> slot</c>

00:15:33.910 --> 00:15:33.920 align:start position:0%
there's no there's no one storage slot
 

00:15:33.920 --> 00:15:36.069 align:start position:0%
there's no there's no one storage slot
limitation<00:15:34.440><c> um</c><00:15:34.560><c> you</c><00:15:34.680><c> can</c><00:15:34.800><c> have</c><00:15:34.959><c> a</c><00:15:35.399><c> the</c><00:15:35.519><c> schema</c>

00:15:36.069 --> 00:15:36.079 align:start position:0%
limitation um you can have a the schema
 

00:15:36.079 --> 00:15:38.269 align:start position:0%
limitation um you can have a the schema
has<00:15:36.279><c> some</c><00:15:36.519><c> limitation</c><00:15:37.160><c> in</c><00:15:37.480><c> the</c><00:15:37.720><c> the</c><00:15:37.839><c> number</c><00:15:38.120><c> of</c>

00:15:38.269 --> 00:15:38.279 align:start position:0%
has some limitation in the the number of
 

00:15:38.279 --> 00:15:39.990 align:start position:0%
has some limitation in the the number of
fields<00:15:38.639><c> you</c><00:15:38.720><c> can</c><00:15:38.880><c> have</c><00:15:39.040><c> I</c><00:15:39.160><c> think</c><00:15:39.279><c> it's</c><00:15:39.480><c> 28</c>

00:15:39.990 --> 00:15:40.000 align:start position:0%
fields you can have I think it's 28
 

00:15:40.000 --> 00:15:42.710 align:start position:0%
fields you can have I think it's 28
Fields<00:15:41.000><c> um</c><00:15:41.199><c> and</c><00:15:41.319><c> then</c><00:15:41.800><c> one</c><00:15:42.120><c> table</c><00:15:42.440><c> can</c><00:15:42.560><c> have</c>

00:15:42.710 --> 00:15:42.720 align:start position:0%
Fields um and then one table can have
 

00:15:42.720 --> 00:15:44.749 align:start position:0%
Fields um and then one table can have
multiple<00:15:43.079><c> records</c><00:15:43.519><c> as</c><00:15:43.639><c> many</c><00:15:43.880><c> as</c><00:15:44.000><c> you</c><00:15:44.120><c> want</c><00:15:44.600><c> and</c>

00:15:44.749 --> 00:15:44.759 align:start position:0%
multiple records as many as you want and
 

00:15:44.759 --> 00:15:47.350 align:start position:0%
multiple records as many as you want and
that<00:15:44.959><c> just</c><00:15:45.240><c> you</c><00:15:45.480><c> know</c><00:15:46.480><c> is</c><00:15:46.720><c> is</c><00:15:46.839><c> linear</c><00:15:47.199><c> in</c>

00:15:47.350 --> 00:15:47.360 align:start position:0%
that just you know is is linear in
 

00:15:47.360 --> 00:15:50.069 align:start position:0%
that just you know is is linear in
storage<00:15:47.720><c> so</c><00:15:48.000><c> so</c><00:15:48.120><c> you</c><00:15:48.240><c> can</c><00:15:48.759><c> go</c><00:15:48.920><c> on</c><00:15:49.160><c> as</c><00:15:49.399><c> as</c><00:15:49.680><c> as</c><00:15:49.959><c> as</c>

00:15:50.069 --> 00:15:50.079 align:start position:0%
storage so so you can go on as as as as
 

00:15:50.079 --> 00:15:53.470 align:start position:0%
storage so so you can go on as as as as
much<00:15:50.240><c> as</c><00:15:50.319><c> you</c><00:15:50.440><c> want</c><00:15:51.600><c> okay</c><00:15:52.600><c> so</c><00:15:52.839><c> how</c><00:15:53.040><c> does</c><00:15:53.240><c> Mud</c>

00:15:53.470 --> 00:15:53.480 align:start position:0%
much as you want okay so how does Mud
 

00:15:53.480 --> 00:15:55.309 align:start position:0%
much as you want okay so how does Mud
sync<00:15:53.800><c> table</c><00:15:54.079><c> schema</c><00:15:54.480><c> changes</c><00:15:54.880><c> for</c><00:15:55.160><c> Rel</c>

00:15:55.309 --> 00:15:55.319 align:start position:0%
sync table schema changes for Rel
 

00:15:55.319 --> 00:15:57.389 align:start position:0%
sync table schema changes for Rel
relational<00:15:55.839><c> databases</c><00:15:56.800><c> and</c><00:15:57.000><c> ensure</c><00:15:57.279><c> that</c>

00:15:57.389 --> 00:15:57.399 align:start position:0%
relational databases and ensure that
 

00:15:57.399 --> 00:15:59.230 align:start position:0%
relational databases and ensure that
there<00:15:57.519><c> are</c><00:15:57.639><c> no</c><00:15:57.839><c> issues</c><00:15:58.560><c> what</c><00:15:58.720><c> happen</c><00:15:59.000><c> happens</c>

00:15:59.230 --> 00:15:59.240 align:start position:0%
there are no issues what happen happens
 

00:15:59.240 --> 00:16:01.590 align:start position:0%
there are no issues what happen happens
if<00:15:59.360><c> that</c><00:15:59.480><c> schema</c><00:15:59.880><c> migration</c><00:16:00.480><c> does</c><00:16:00.680><c> not</c><00:16:00.959><c> work</c>

00:16:01.590 --> 00:16:01.600 align:start position:0%
if that schema migration does not work
 

00:16:01.600 --> 00:16:03.550 align:start position:0%
if that schema migration does not work
that's<00:16:01.759><c> a</c><00:16:01.959><c> that's</c><00:16:02.079><c> a</c><00:16:02.240><c> great</c><00:16:02.440><c> question</c><00:16:02.920><c> um</c><00:16:03.360><c> you</c>

00:16:03.550 --> 00:16:03.560 align:start position:0%
that's a that's a great question um you
 

00:16:03.560 --> 00:16:06.110 align:start position:0%
that's a that's a great question um you
can't<00:16:04.040><c> currently</c><00:16:04.759><c> change</c><00:16:05.079><c> a</c><00:16:05.279><c> schema</c><00:16:05.759><c> so</c><00:16:05.920><c> it's</c>

00:16:06.110 --> 00:16:06.120 align:start position:0%
can't currently change a schema so it's
 

00:16:06.120 --> 00:16:08.309 align:start position:0%
can't currently change a schema so it's
basically<00:16:06.480><c> you</c><00:16:06.959><c> register</c><00:16:07.440><c> a</c><00:16:07.560><c> table</c><00:16:07.839><c> once</c><00:16:08.199><c> and</c>

00:16:08.309 --> 00:16:08.319 align:start position:0%
basically you register a table once and
 

00:16:08.319 --> 00:16:09.590 align:start position:0%
basically you register a table once and
then<00:16:08.519><c> that's</c><00:16:08.680><c> the</c><00:16:08.839><c> schema</c><00:16:09.160><c> that</c><00:16:09.279><c> you</c><00:16:09.360><c> will</c>

00:16:09.590 --> 00:16:09.600 align:start position:0%
then that's the schema that you will
 

00:16:09.600 --> 00:16:11.990 align:start position:0%
then that's the schema that you will
have<00:16:10.399><c> um</c><00:16:10.759><c> if</c><00:16:10.880><c> you</c><00:16:11.079><c> if</c><00:16:11.160><c> you</c><00:16:11.279><c> need</c><00:16:11.480><c> to</c><00:16:11.639><c> change</c><00:16:11.880><c> the</c>

00:16:11.990 --> 00:16:12.000 align:start position:0%
have um if you if you need to change the
 

00:16:12.000 --> 00:16:14.590 align:start position:0%
have um if you if you need to change the
schema<00:16:12.360><c> you</c><00:16:12.440><c> can</c><00:16:12.560><c> create</c><00:16:12.759><c> a</c><00:16:12.920><c> new</c><00:16:13.120><c> table</c><00:16:14.120><c> um</c><00:16:14.399><c> in</c>

00:16:14.590 --> 00:16:14.600 align:start position:0%
schema you can create a new table um in
 

00:16:14.600 --> 00:16:16.990 align:start position:0%
schema you can create a new table um in
theory<00:16:15.560><c> it</c><00:16:15.720><c> should</c><00:16:16.120><c> it</c><00:16:16.240><c> it</c><00:16:16.360><c> would</c><00:16:16.560><c> be</c><00:16:16.839><c> like</c>

00:16:16.990 --> 00:16:17.000 align:start position:0%
theory it should it it would be like
 

00:16:17.000 --> 00:16:19.990 align:start position:0%
theory it should it it would be like
doable<00:16:17.399><c> to</c><00:16:17.639><c> add</c><00:16:17.800><c> fields</c><00:16:18.199><c> to</c><00:16:18.319><c> your</c><00:16:18.519><c> schema</c><00:16:19.399><c> but</c>

00:16:19.990 --> 00:16:20.000 align:start position:0%
doable to add fields to your schema but
 

00:16:20.000 --> 00:16:21.790 align:start position:0%
doable to add fields to your schema but
yeah<00:16:20.319><c> like</c><00:16:20.920><c> the</c><00:16:21.160><c> with</c><00:16:21.279><c> the</c><00:16:21.399><c> mentioned</c>

00:16:21.790 --> 00:16:21.800 align:start position:0%
yeah like the with the mentioned
 

00:16:21.800 --> 00:16:23.309 align:start position:0%
yeah like the with the mentioned
complications<00:16:22.480><c> you</c><00:16:22.600><c> would</c><00:16:22.720><c> have</c><00:16:22.839><c> to</c><00:16:23.000><c> do</c><00:16:23.160><c> a</c>

00:16:23.309 --> 00:16:23.319 align:start position:0%
complications you would have to do a
 

00:16:23.319 --> 00:16:26.189 align:start position:0%
complications you would have to do a
database<00:16:23.759><c> migration</c><00:16:24.240><c> as</c><00:16:24.360><c> well</c><00:16:24.600><c> and</c><00:16:24.800><c> that's</c><00:16:25.600><c> um</c>

00:16:26.189 --> 00:16:26.199 align:start position:0%
database migration as well and that's um
 

00:16:26.199 --> 00:16:28.430 align:start position:0%
database migration as well and that's um
that's<00:16:26.440><c> not</c><00:16:26.639><c> not</c><00:16:26.800><c> trivial</c><00:16:27.560><c> so</c><00:16:27.800><c> we</c><00:16:27.959><c> decided</c><00:16:28.279><c> to</c>

00:16:28.430 --> 00:16:28.440 align:start position:0%
that's not not trivial so we decided to
 

00:16:28.440 --> 00:16:30.230 align:start position:0%
that's not not trivial so we decided to
just<00:16:28.560><c> make</c><00:16:28.920><c> schema</c>

00:16:30.230 --> 00:16:30.240 align:start position:0%
just make schema
 

00:16:30.240 --> 00:16:33.790 align:start position:0%
just make schema
immutable<00:16:31.319><c> cool</c><00:16:32.319><c> um</c><00:16:32.800><c> how</c><00:16:32.920><c> were</c><00:16:33.120><c> namespaces</c>

00:16:33.790 --> 00:16:33.800 align:start position:0%
immutable cool um how were namespaces
 

00:16:33.800 --> 00:16:36.430 align:start position:0%
immutable cool um how were namespaces
implemented<00:16:34.240><c> in</c>

00:16:36.430 --> 00:16:36.440 align:start position:0%
 
 

00:16:36.440 --> 00:16:39.430 align:start position:0%
 
evm<00:16:37.440><c> um</c><00:16:37.720><c> I</c><00:16:37.800><c> don't</c><00:16:37.920><c> know</c><00:16:38.279><c> into</c><00:16:38.800><c> how</c><00:16:38.920><c> much</c><00:16:39.079><c> detail</c>

00:16:39.430 --> 00:16:39.440 align:start position:0%
evm um I don't know into how much detail
 

00:16:39.440 --> 00:16:40.829 align:start position:0%
evm um I don't know into how much detail
I<00:16:39.519><c> can</c><00:16:39.639><c> go</c><00:16:39.800><c> here</c><00:16:39.920><c> but</c><00:16:40.079><c> it's</c><00:16:40.240><c> basically</c><00:16:40.560><c> just</c>

00:16:40.829 --> 00:16:40.839 align:start position:0%
I can go here but it's basically just
 

00:16:40.839 --> 00:16:43.629 align:start position:0%
I can go here but it's basically just
like<00:16:41.040><c> contract</c><00:16:41.480><c> logic</c><00:16:41.880><c> like</c><00:16:42.120><c> we</c><00:16:42.920><c> um</c><00:16:43.360><c> have</c>

00:16:43.629 --> 00:16:43.639 align:start position:0%
like contract logic like we um have
 

00:16:43.639 --> 00:16:45.150 align:start position:0%
like contract logic like we um have
access<00:16:43.959><c> control</c><00:16:44.319><c> logic</c><00:16:44.639><c> in</c><00:16:44.759><c> the</c><00:16:44.920><c> wall</c>

00:16:45.150 --> 00:16:45.160 align:start position:0%
access control logic in the wall
 

00:16:45.160 --> 00:16:47.110 align:start position:0%
access control logic in the wall
contract<00:16:45.600><c> that</c><00:16:45.720><c> makes</c><00:16:45.920><c> sure</c><00:16:46.199><c> that</c><00:16:46.399><c> you</c><00:16:46.920><c> can</c>

00:16:47.110 --> 00:16:47.120 align:start position:0%
contract that makes sure that you can
 

00:16:47.120 --> 00:16:50.949 align:start position:0%
contract that makes sure that you can
only<00:16:48.000><c> um</c><00:16:48.240><c> write</c><00:16:48.600><c> to</c><00:16:49.040><c> tables</c><00:16:49.880><c> uh</c><00:16:50.440><c> uh</c><00:16:50.560><c> that</c><00:16:50.759><c> you</c>

00:16:50.949 --> 00:16:50.959 align:start position:0%
only um write to tables uh uh that you
 

00:16:50.959 --> 00:16:52.629 align:start position:0%
only um write to tables uh uh that you
that<00:16:51.079><c> you</c><00:16:51.160><c> have</c><00:16:51.319><c> access</c><00:16:51.560><c> to</c><00:16:51.880><c> oh</c><00:16:52.079><c> maybe</c><00:16:52.399><c> maybe</c>

00:16:52.629 --> 00:16:52.639 align:start position:0%
that you have access to oh maybe maybe
 

00:16:52.639 --> 00:16:54.150 align:start position:0%
that you have access to oh maybe maybe
one<00:16:52.759><c> thing</c><00:16:52.959><c> that</c><00:16:53.079><c> I</c><00:16:53.160><c> didn't</c><00:16:53.360><c> mention</c><00:16:53.800><c> that</c>

00:16:54.150 --> 00:16:54.160 align:start position:0%
one thing that I didn't mention that
 

00:16:54.160 --> 00:16:56.710 align:start position:0%
one thing that I didn't mention that
that<00:16:54.279><c> might</c><00:16:54.480><c> make</c><00:16:54.680><c> this</c><00:16:54.800><c> more</c><00:16:55.000><c> clear</c><00:16:55.880><c> um</c><00:16:56.319><c> if</c><00:16:56.440><c> a</c>

00:16:56.710 --> 00:16:56.720 align:start position:0%
that might make this more clear um if a
 

00:16:56.720 --> 00:16:59.389 align:start position:0%
that might make this more clear um if a
system<00:16:57.040><c> is</c><00:16:57.199><c> registered</c><00:16:57.759><c> in</c><00:16:57.880><c> a</c><00:16:58.000><c> nam</c><00:16:58.360><c> space</c><00:16:59.079><c> then</c>

00:16:59.389 --> 00:16:59.399 align:start position:0%
system is registered in a nam space then
 

00:16:59.399 --> 00:17:01.829 align:start position:0%
system is registered in a nam space then
what<00:16:59.600><c> happens</c><00:17:00.160><c> if</c><00:17:00.560><c> the</c><00:17:00.680><c> user</c><00:17:01.000><c> calls</c><00:17:01.399><c> the</c><00:17:01.680><c> the</c>

00:17:01.829 --> 00:17:01.839 align:start position:0%
what happens if the user calls the the
 

00:17:01.839 --> 00:17:03.870 align:start position:0%
what happens if the user calls the the
World<00:17:02.079><c> entry</c><00:17:02.360><c> point</c><00:17:02.959><c> is</c><00:17:03.240><c> the</c><00:17:03.440><c> world</c><00:17:03.680><c> doesn't</c>

00:17:03.870 --> 00:17:03.880 align:start position:0%
World entry point is the world doesn't
 

00:17:03.880 --> 00:17:06.189 align:start position:0%
World entry point is the world doesn't
do<00:17:04.039><c> a</c><00:17:04.160><c> delegate</c><00:17:04.600><c> call</c><00:17:04.839><c> to</c><00:17:05.000><c> the</c><00:17:05.160><c> system</c><00:17:05.799><c> which</c><00:17:06.039><c> a</c>

00:17:06.189 --> 00:17:06.199 align:start position:0%
do a delegate call to the system which a
 

00:17:06.199 --> 00:17:08.870 align:start position:0%
do a delegate call to the system which a
normal<00:17:06.600><c> like</c><00:17:06.880><c> default</c><00:17:07.600><c> Diamond</c><00:17:08.000><c> would</c><00:17:08.160><c> do</c><00:17:08.760><c> um</c>

00:17:08.870 --> 00:17:08.880 align:start position:0%
normal like default Diamond would do um
 

00:17:08.880 --> 00:17:10.909 align:start position:0%
normal like default Diamond would do um
but<00:17:09.039><c> rather</c><00:17:09.240><c> it</c><00:17:09.319><c> does</c><00:17:09.480><c> a</c><00:17:09.679><c> call</c><00:17:10.360><c> and</c><00:17:10.520><c> then</c><00:17:10.760><c> when</c>

00:17:10.909 --> 00:17:10.919 align:start position:0%
but rather it does a call and then when
 

00:17:10.919 --> 00:17:12.829 align:start position:0%
but rather it does a call and then when
the<00:17:11.120><c> system</c><00:17:11.439><c> wants</c><00:17:11.679><c> to</c><00:17:11.839><c> read</c><00:17:12.079><c> or</c><00:17:12.280><c> write</c><00:17:12.640><c> from</c>

00:17:12.829 --> 00:17:12.839 align:start position:0%
the system wants to read or write from
 

00:17:12.839 --> 00:17:14.510 align:start position:0%
the system wants to read or write from
the<00:17:12.959><c> table</c><00:17:13.520><c> then</c><00:17:13.679><c> it</c><00:17:13.799><c> basically</c><00:17:14.079><c> does</c><00:17:14.199><c> a</c><00:17:14.319><c> call</c>

00:17:14.510 --> 00:17:14.520 align:start position:0%
the table then it basically does a call
 

00:17:14.520 --> 00:17:16.029 align:start position:0%
the table then it basically does a call
back<00:17:14.679><c> to</c><00:17:14.880><c> the</c><00:17:14.959><c> world</c><00:17:15.240><c> and</c><00:17:15.480><c> at</c><00:17:15.600><c> that</c><00:17:15.760><c> point</c><00:17:15.919><c> we</c>

00:17:16.029 --> 00:17:16.039 align:start position:0%
back to the world and at that point we
 

00:17:16.039 --> 00:17:18.829 align:start position:0%
back to the world and at that point we
can<00:17:16.120><c> do</c><00:17:16.280><c> access</c><00:17:16.600><c> control</c><00:17:17.480><c> um</c><00:17:17.600><c> on</c><00:17:17.720><c> the</c><00:17:17.839><c> name</c>

00:17:18.829 --> 00:17:18.839 align:start position:0%
can do access control um on the name
 

00:17:18.839 --> 00:17:21.350 align:start position:0%
can do access control um on the name
spaces<00:17:19.839><c> okay</c><00:17:20.319><c> I</c><00:17:20.439><c> think</c><00:17:20.640><c> this</c><00:17:20.720><c> is</c><00:17:20.839><c> the</c><00:17:21.079><c> last</c>

00:17:21.350 --> 00:17:21.360 align:start position:0%
spaces okay I think this is the last
 

00:17:21.360 --> 00:17:23.350 align:start position:0%
spaces okay I think this is the last
question<00:17:21.640><c> in</c><00:17:21.760><c> the</c><00:17:21.919><c> queue</c><00:17:22.919><c> uh</c><00:17:23.079><c> what</c><00:17:23.160><c> do</c><00:17:23.240><c> you</c>

00:17:23.350 --> 00:17:23.360 align:start position:0%
question in the queue uh what do you
 

00:17:23.360 --> 00:17:24.829 align:start position:0%
question in the queue uh what do you
think<00:17:23.520><c> about</c><00:17:23.760><c> the</c><00:17:23.919><c> possibility</c><00:17:24.360><c> of</c><00:17:24.480><c> building</c>

00:17:24.829 --> 00:17:24.839 align:start position:0%
think about the possibility of building
 

00:17:24.839 --> 00:17:27.230 align:start position:0%
think about the possibility of building
real-time<00:17:25.360><c> multiplayer</c><00:17:26.000><c> games</c><00:17:26.640><c> using</c><00:17:27.000><c> new</c>

00:17:27.230 --> 00:17:27.240 align:start position:0%
real-time multiplayer games using new
 

00:17:27.240 --> 00:17:29.230 align:start position:0%
real-time multiplayer games using new
existing<00:17:27.640><c> infrastructure</c><00:17:28.280><c> projects</c><00:17:29.000><c> that</c>

00:17:29.230 --> 00:17:29.240 align:start position:0%
existing infrastructure projects that
 

00:17:29.240 --> 00:17:31.510 align:start position:0%
existing infrastructure projects that
provide<00:17:29.679><c> tees</c><00:17:30.600><c> trusted</c><00:17:31.039><c> execution</c>

00:17:31.510 --> 00:17:31.520 align:start position:0%
provide tees trusted execution
 

00:17:31.520 --> 00:17:33.750 align:start position:0%
provide tees trusted execution
environments<00:17:32.440><c> while</c><00:17:32.679><c> using</c><00:17:33.000><c> mud</c><00:17:33.360><c> to</c><00:17:33.520><c> store</c>

00:17:33.750 --> 00:17:33.760 align:start position:0%
environments while using mud to store
 

00:17:33.760 --> 00:17:36.590 align:start position:0%
environments while using mud to store
the<00:17:33.880><c> incremental</c><00:17:34.360><c> changes</c><00:17:34.799><c> to</c><00:17:34.960><c> save</c><00:17:35.600><c> costs</c>

00:17:36.590 --> 00:17:36.600 align:start position:0%
the incremental changes to save costs
 

00:17:36.600 --> 00:17:38.750 align:start position:0%
the incremental changes to save costs
yeah<00:17:36.760><c> this</c><00:17:36.960><c> is</c><00:17:37.200><c> also</c><00:17:37.400><c> a</c><00:17:37.520><c> great</c><00:17:37.760><c> question</c><00:17:38.520><c> um</c>

00:17:38.750 --> 00:17:38.760 align:start position:0%
yeah this is also a great question um
 

00:17:38.760 --> 00:17:40.990 align:start position:0%
yeah this is also a great question um
again<00:17:39.400><c> I</c><00:17:39.480><c> would</c><00:17:39.799><c> recommend</c><00:17:40.200><c> you</c><00:17:40.360><c> all</c><00:17:40.559><c> to</c><00:17:40.880><c> come</c>

00:17:40.990 --> 00:17:41.000 align:start position:0%
again I would recommend you all to come
 

00:17:41.000 --> 00:17:42.950 align:start position:0%
again I would recommend you all to come
to<00:17:41.160><c> mday</c><00:17:41.559><c> Tomorrow</c><00:17:42.000><c> there's</c><00:17:42.600><c> there's</c><00:17:42.799><c> some</c>

00:17:42.950 --> 00:17:42.960 align:start position:0%
to mday Tomorrow there's there's some
 

00:17:42.960 --> 00:17:45.549 align:start position:0%
to mday Tomorrow there's there's some
demos<00:17:43.400><c> there</c><00:17:44.000><c> um</c><00:17:44.200><c> that</c><00:17:44.640><c> kind</c><00:17:44.799><c> of</c><00:17:44.960><c> do</c><00:17:45.160><c> something</c>

00:17:45.549 --> 00:17:45.559 align:start position:0%
demos there um that kind of do something
 

00:17:45.559 --> 00:17:48.110 align:start position:0%
demos there um that kind of do something
in<00:17:45.720><c> this</c><00:17:45.880><c> direction</c><00:17:46.640><c> it's</c><00:17:46.760><c> a</c><00:17:46.880><c> real-time</c><00:17:47.360><c> game</c>

00:17:48.110 --> 00:17:48.120 align:start position:0%
in this direction it's a real-time game
 

00:17:48.120 --> 00:17:50.710 align:start position:0%
in this direction it's a real-time game
um<00:17:48.440><c> slightly</c><00:17:48.840><c> different</c><00:17:49.120><c> approach</c><00:17:49.679><c> but</c><00:17:50.160><c> yeah</c>

00:17:50.710 --> 00:17:50.720 align:start position:0%
um slightly different approach but yeah
 

00:17:50.720 --> 00:17:52.310 align:start position:0%
um slightly different approach but yeah
definitely<00:17:51.320><c> definitely</c><00:17:51.720><c> possible</c><00:17:52.000><c> to</c><00:17:52.120><c> do</c>

00:17:52.310 --> 00:17:52.320 align:start position:0%
definitely definitely possible to do
 

00:17:52.320 --> 00:17:54.190 align:start position:0%
definitely definitely possible to do
real-<00:17:52.559><c> Time</c><00:17:52.720><c> games</c><00:17:53.080><c> at</c><00:17:53.240><c> this</c><00:17:53.360><c> point</c><00:17:53.960><c> this</c><00:17:54.039><c> is</c>

00:17:54.190 --> 00:17:54.200 align:start position:0%
real- Time games at this point this is
 

00:17:54.200 --> 00:17:56.750 align:start position:0%
real- Time games at this point this is
the<00:17:54.320><c> same</c><00:17:54.559><c> talk</c><00:17:54.799><c> tomorrow</c><00:17:55.280><c> right</c><00:17:55.799><c> it's</c><00:17:56.320><c> uh</c><00:17:56.480><c> in</c>

00:17:56.750 --> 00:17:56.760 align:start position:0%
the same talk tomorrow right it's uh in
 

00:17:56.760 --> 00:17:58.870 align:start position:0%
the same talk tomorrow right it's uh in
classroom<00:17:57.240><c> a</c><00:17:57.720><c> uh</c><00:17:57.840><c> tomorrow</c><00:17:58.400><c> I'm</c><00:17:58.480><c> not</c><00:17:58.559><c> sure</c>

00:17:58.870 --> 00:17:58.880 align:start position:0%
classroom a uh tomorrow I'm not sure
 

00:17:58.880 --> 00:18:01.710 align:start position:0%
classroom a uh tomorrow I'm not sure
what<00:17:59.000><c> time</c><00:17:59.200><c> exactly</c><00:17:59.559><c> I</c><00:17:59.640><c> think</c><00:17:59.880><c> 1</c><00:18:00.600><c> 11:</c><00:18:01.039><c> until</c><00:18:01.440><c> 5:</c>

00:18:01.710 --> 00:18:01.720 align:start position:0%
what time exactly I think 1 11: until 5:
 

00:18:01.720 --> 00:18:03.549 align:start position:0%
what time exactly I think 1 11: until 5:
or<00:18:01.840><c> something</c><00:18:02.640><c> okay</c><00:18:02.799><c> classroom</c><00:18:03.280><c> May</c><00:18:03.400><c> if</c><00:18:03.480><c> you</c>

00:18:03.549 --> 00:18:03.559 align:start position:0%
or something okay classroom May if you
 

00:18:03.559 --> 00:18:05.470 align:start position:0%
or something okay classroom May if you
want<00:18:03.679><c> to</c><00:18:03.799><c> hear</c><00:18:04.039><c> about</c><00:18:04.720><c> when</c><00:18:05.200><c> they</c><00:18:05.320><c> do</c>

00:18:05.470 --> 00:18:05.480 align:start position:0%
want to hear about when they do
 

00:18:05.480 --> 00:18:07.430 align:start position:0%
want to hear about when they do
immediate<00:18:06.000><c> stuff</c><00:18:06.320><c> with</c>

00:18:07.430 --> 00:18:07.440 align:start position:0%
immediate stuff with
 

00:18:07.440 --> 00:18:10.750 align:start position:0%
immediate stuff with
tees<00:18:08.440><c> okay</c><00:18:08.559><c> we</c><00:18:08.679><c> got</c><00:18:09.000><c> one</c><00:18:09.159><c> more</c><00:18:09.480><c> question</c><00:18:10.440><c> Game</c>

00:18:10.750 --> 00:18:10.760 align:start position:0%
tees okay we got one more question Game
 

00:18:10.760 --> 00:18:12.669 align:start position:0%
tees okay we got one more question Game
Dev<00:18:10.960><c> is</c><00:18:11.159><c> often</c><00:18:11.440><c> on</c><00:18:11.640><c> the</c><00:18:11.760><c> tech</c><00:18:12.000><c> Frontier</c><00:18:12.520><c> what</c>

00:18:12.669 --> 00:18:12.679 align:start position:0%
Dev is often on the tech Frontier what
 

00:18:12.679 --> 00:18:14.230 align:start position:0%
Dev is often on the tech Frontier what
lessons<00:18:13.000><c> for</c><00:18:13.200><c> the</c><00:18:13.480><c> do</c><00:18:13.600><c> you</c><00:18:13.720><c> have</c><00:18:13.880><c> for</c><00:18:14.000><c> the</c><00:18:14.120><c> rest</c>

00:18:14.230 --> 00:18:14.240 align:start position:0%
lessons for the do you have for the rest
 

00:18:14.240 --> 00:18:15.070 align:start position:0%
lessons for the do you have for the rest
of<00:18:14.360><c> the</c>

00:18:15.070 --> 00:18:15.080 align:start position:0%
of the
 

00:18:15.080 --> 00:18:17.630 align:start position:0%
of the
industry<00:18:16.080><c> yeah</c><00:18:16.600><c> so</c><00:18:16.880><c> we</c><00:18:17.000><c> started</c><00:18:17.480><c> this</c>

00:18:17.630 --> 00:18:17.640 align:start position:0%
industry yeah so we started this
 

00:18:17.640 --> 00:18:20.230 align:start position:0%
industry yeah so we started this
framework<00:18:18.520><c> as</c><00:18:18.640><c> a</c><00:18:19.240><c> as</c><00:18:19.320><c> a</c><00:18:19.480><c> way</c><00:18:19.640><c> to</c><00:18:19.840><c> build</c><00:18:20.080><c> our</c>

00:18:20.230 --> 00:18:20.240 align:start position:0%
framework as a as a way to build our
 

00:18:20.240 --> 00:18:22.190 align:start position:0%
framework as a as a way to build our
games<00:18:20.480><c> more</c><00:18:20.679><c> efficiently</c><00:18:21.240><c> but</c><00:18:21.640><c> as</c><00:18:21.760><c> we</c><00:18:21.919><c> built</c>

00:18:22.190 --> 00:18:22.200 align:start position:0%
games more efficiently but as we built
 

00:18:22.200 --> 00:18:23.710 align:start position:0%
games more efficiently but as we built
this<00:18:22.320><c> framework</c><00:18:22.840><c> we</c><00:18:23.120><c> at</c><00:18:23.240><c> some</c><00:18:23.400><c> point</c><00:18:23.559><c> we</c>

00:18:23.710 --> 00:18:23.720 align:start position:0%
this framework we at some point we
 

00:18:23.720 --> 00:18:24.950 align:start position:0%
this framework we at some point we
realize<00:18:24.080><c> there's</c><00:18:24.320><c> nothing</c><00:18:24.679><c> in</c><00:18:24.799><c> this</c>

00:18:24.950 --> 00:18:24.960 align:start position:0%
realize there's nothing in this
 

00:18:24.960 --> 00:18:27.029 align:start position:0%
realize there's nothing in this
framework<00:18:25.440><c> that's</c><00:18:25.720><c> specific</c><00:18:26.120><c> to</c><00:18:26.360><c> to</c><00:18:26.520><c> game</c><00:18:26.760><c> def</c>

00:18:27.029 --> 00:18:27.039 align:start position:0%
framework that's specific to to game def
 

00:18:27.039 --> 00:18:29.549 align:start position:0%
framework that's specific to to game def
actually<00:18:27.880><c> um</c><00:18:28.240><c> so</c><00:18:28.880><c> yeah</c><00:18:29.039><c> if</c><00:18:29.159><c> you're</c><00:18:29.360><c> if</c><00:18:29.440><c> you're</c>

00:18:29.549 --> 00:18:29.559 align:start position:0%
actually um so yeah if you're if you're
 

00:18:29.559 --> 00:18:31.149 align:start position:0%
actually um so yeah if you're if you're
building<00:18:29.840><c> an</c><00:18:29.960><c> onchain</c><00:18:30.400><c> app</c><00:18:30.640><c> that's</c><00:18:30.840><c> not</c><00:18:31.000><c> a</c>

00:18:31.149 --> 00:18:31.159 align:start position:0%
building an onchain app that's not a
 

00:18:31.159 --> 00:18:33.310 align:start position:0%
building an onchain app that's not a
game<00:18:31.799><c> I</c><00:18:31.880><c> would</c><00:18:32.039><c> recommend</c><00:18:32.440><c> you</c><00:18:32.559><c> to</c><00:18:32.960><c> just</c><00:18:33.120><c> try</c>

00:18:33.310 --> 00:18:33.320 align:start position:0%
game I would recommend you to just try
 

00:18:33.320 --> 00:18:35.510 align:start position:0%
game I would recommend you to just try
it<00:18:33.440><c> out</c><00:18:33.640><c> as</c><00:18:33.799><c> well</c><00:18:34.520><c> um</c><00:18:34.720><c> and</c><00:18:34.840><c> it</c><00:18:34.960><c> might</c><00:18:35.159><c> just</c><00:18:35.400><c> make</c>

00:18:35.510 --> 00:18:35.520 align:start position:0%
it out as well um and it might just make
 

00:18:35.520 --> 00:18:37.669 align:start position:0%
it out as well um and it might just make
it<00:18:35.760><c> easier</c><00:18:36.760><c> okay</c><00:18:36.960><c> and</c><00:18:37.039><c> I</c><00:18:37.159><c> think</c><00:18:37.240><c> we</c><00:18:37.400><c> got</c><00:18:37.520><c> time</c>

00:18:37.669 --> 00:18:37.679 align:start position:0%
it easier okay and I think we got time
 

00:18:37.679 --> 00:18:39.990 align:start position:0%
it easier okay and I think we got time
for<00:18:37.840><c> one</c><00:18:38.000><c> more</c><00:18:38.280><c> question</c><00:18:39.280><c> um</c><00:18:39.559><c> why</c><00:18:39.679><c> do</c><00:18:39.799><c> we</c><00:18:39.880><c> need</c>

00:18:39.990 --> 00:18:40.000 align:start position:0%
for one more question um why do we need
 

00:18:40.000 --> 00:18:41.789 align:start position:0%
for one more question um why do we need
to<00:18:40.120><c> bring</c><00:18:40.400><c> everything</c><00:18:40.679><c> on</c><00:18:40.880><c> chain</c><00:18:41.559><c> and</c><00:18:41.720><c> how</c>

00:18:41.789 --> 00:18:41.799 align:start position:0%
to bring everything on chain and how
 

00:18:41.799 --> 00:18:45.070 align:start position:0%
to bring everything on chain and how
does<00:18:42.000><c> this</c><00:18:42.159><c> scale</c><00:18:42.480><c> moving</c><00:18:42.799><c> forward</c><00:18:43.200><c> for</c><00:18:43.559><c> FPS</c>

00:18:45.070 --> 00:18:45.080 align:start position:0%
does this scale moving forward for FPS
 

00:18:45.080 --> 00:18:47.070 align:start position:0%
does this scale moving forward for FPS
games<00:18:46.080><c> yeah</c><00:18:46.240><c> this</c><00:18:46.360><c> is</c><00:18:46.600><c> almost</c><00:18:46.840><c> a</c>

00:18:47.070 --> 00:18:47.080 align:start position:0%
games yeah this is almost a
 

00:18:47.080 --> 00:18:48.710 align:start position:0%
games yeah this is almost a
philosophical<00:18:47.760><c> question</c><00:18:48.159><c> like</c><00:18:48.320><c> why</c><00:18:48.400><c> do</c><00:18:48.559><c> we</c>

00:18:48.710 --> 00:18:48.720 align:start position:0%
philosophical question like why do we
 

00:18:48.720 --> 00:18:51.390 align:start position:0%
philosophical question like why do we
need<00:18:48.880><c> to</c><00:18:49.039><c> bring</c><00:18:49.480><c> stuff</c><00:18:49.679><c> on</c><00:18:49.840><c> chain</c><00:18:50.799><c> um</c><00:18:51.240><c> there's</c>

00:18:51.390 --> 00:18:51.400 align:start position:0%
need to bring stuff on chain um there's
 

00:18:51.400 --> 00:18:53.029 align:start position:0%
need to bring stuff on chain um there's
a<00:18:51.520><c> lot</c><00:18:51.640><c> of</c><00:18:51.799><c> advantages</c><00:18:52.360><c> or</c><00:18:52.520><c> like</c><00:18:52.640><c> a</c><00:18:52.760><c> lot</c><00:18:52.880><c> of</c>

00:18:53.029 --> 00:18:53.039 align:start position:0%
a lot of advantages or like a lot of
 

00:18:53.039 --> 00:18:54.789 align:start position:0%
a lot of advantages or like a lot of
things<00:18:53.360><c> that</c><00:18:53.600><c> that</c><00:18:53.679><c> are</c><00:18:54.080><c> interesting</c><00:18:54.600><c> about</c>

00:18:54.789 --> 00:18:54.799 align:start position:0%
things that that are interesting about
 

00:18:54.799 --> 00:18:56.789 align:start position:0%
things that that are interesting about
it<00:18:55.200><c> what</c><00:18:55.320><c> I</c><00:18:55.400><c> mentioned</c><00:18:55.679><c> in</c><00:18:55.799><c> the</c><00:18:55.919><c> beginning</c><00:18:56.679><c> um</c>

00:18:56.789 --> 00:18:56.799 align:start position:0%
it what I mentioned in the beginning um
 

00:18:56.799 --> 00:18:58.149 align:start position:0%
it what I mentioned in the beginning um
you<00:18:56.960><c> have</c><00:18:57.120><c> something</c><00:18:57.400><c> that</c><00:18:57.559><c> can</c><00:18:57.760><c> potentially</c>

00:18:58.149 --> 00:18:58.159 align:start position:0%
you have something that can potentially
 

00:18:58.159 --> 00:18:59.470 align:start position:0%
you have something that can potentially
live<00:18:58.320><c> on</c><00:18:58.400><c> forever</c>

00:18:59.470 --> 00:18:59.480 align:start position:0%
live on forever
 

00:18:59.480 --> 00:19:01.510 align:start position:0%
live on forever
um<00:18:59.600><c> you</c><00:18:59.760><c> have</c><00:19:00.080><c> the</c><00:19:00.240><c> potential</c><00:19:00.799><c> to</c><00:19:01.120><c> for</c><00:19:01.320><c> other</c>

00:19:01.510 --> 00:19:01.520 align:start position:0%
um you have the potential to for other
 

00:19:01.520 --> 00:19:03.149 align:start position:0%
um you have the potential to for other
people<00:19:01.720><c> to</c><00:19:01.919><c> extend</c><00:19:02.240><c> it</c><00:19:02.559><c> in</c><00:19:02.799><c> in</c><00:19:02.960><c> more</c>

00:19:03.149 --> 00:19:03.159 align:start position:0%
people to extend it in in more
 

00:19:03.159 --> 00:19:04.750 align:start position:0%
people to extend it in in more
interesting<00:19:03.600><c> ways</c><00:19:03.880><c> because</c><00:19:04.120><c> they</c><00:19:04.240><c> can</c><00:19:04.400><c> deploy</c>

00:19:04.750 --> 00:19:04.760 align:start position:0%
interesting ways because they can deploy
 

00:19:04.760 --> 00:19:06.950 align:start position:0%
interesting ways because they can deploy
code<00:19:05.000><c> to</c><00:19:05.200><c> basically</c><00:19:05.559><c> the</c><00:19:05.679><c> same</c><00:19:05.919><c> computer</c><00:19:06.840><c> that</c>

00:19:06.950 --> 00:19:06.960 align:start position:0%
code to basically the same computer that
 

00:19:06.960 --> 00:19:09.549 align:start position:0%
code to basically the same computer that
this<00:19:07.159><c> game</c><00:19:07.320><c> is</c><00:19:07.440><c> running</c><00:19:07.720><c> on</c><00:19:08.559><c> um</c><00:19:09.080><c> in</c><00:19:09.200><c> terms</c><00:19:09.440><c> of</c>

00:19:09.549 --> 00:19:09.559 align:start position:0%
this game is running on um in terms of
 

00:19:09.559 --> 00:19:11.270 align:start position:0%
this game is running on um in terms of
skat<00:19:09.840><c> ability</c><00:19:10.520><c> that's</c><00:19:10.799><c> kind</c><00:19:10.919><c> of</c><00:19:11.039><c> what</c><00:19:11.159><c> we're</c>

00:19:11.270 --> 00:19:11.280 align:start position:0%
skat ability that's kind of what we're
 

00:19:11.280 --> 00:19:12.870 align:start position:0%
skat ability that's kind of what we're
working<00:19:11.520><c> on</c><00:19:11.679><c> and</c><00:19:11.840><c> also</c><00:19:12.080><c> a</c><00:19:12.200><c> lot</c><00:19:12.360><c> of</c><00:19:12.600><c> lot</c><00:19:12.720><c> of</c>

00:19:12.870 --> 00:19:12.880 align:start position:0%
working on and also a lot of lot of
 

00:19:12.880 --> 00:19:15.510 align:start position:0%
working on and also a lot of lot of
other<00:19:13.080><c> people</c><00:19:13.440><c> are</c><00:19:13.600><c> working</c><00:19:13.880><c> on</c><00:19:14.600><c> um</c><00:19:14.919><c> I</c><00:19:15.000><c> think</c>

00:19:15.510 --> 00:19:15.520 align:start position:0%
other people are working on um I think
 

00:19:15.520 --> 00:19:19.350 align:start position:0%
other people are working on um I think
it's<00:19:15.720><c> interesting</c><00:19:16.200><c> to</c><00:19:16.960><c> try</c><00:19:17.240><c> to</c><00:19:17.520><c> push</c><00:19:18.480><c> the</c><00:19:18.960><c> um</c>

00:19:19.350 --> 00:19:19.360 align:start position:0%
it's interesting to try to push the um
 

00:19:19.360 --> 00:19:21.390 align:start position:0%
it's interesting to try to push the um
the<00:19:19.480><c> you</c><00:19:19.600><c> know</c><00:19:19.960><c> like</c><00:19:20.120><c> try</c><00:19:20.280><c> to</c><00:19:20.640><c> put</c><00:19:20.880><c> more</c>

00:19:21.390 --> 00:19:21.400 align:start position:0%
the you know like try to put more
 

00:19:21.400 --> 00:19:23.470 align:start position:0%
the you know like try to put more
ambitious<00:19:21.880><c> things</c><00:19:22.039><c> on</c><00:19:22.280><c> chain</c><00:19:22.559><c> to</c><00:19:23.039><c> basically</c>

00:19:23.470 --> 00:19:23.480 align:start position:0%
ambitious things on chain to basically
 

00:19:23.480 --> 00:19:26.430 align:start position:0%
ambitious things on chain to basically
extend<00:19:23.960><c> what</c><00:19:24.120><c> we</c><00:19:24.280><c> can</c><00:19:24.919><c> uh</c><00:19:25.000><c> do</c><00:19:25.159><c> on</c><00:19:25.360><c> chain</c><00:19:26.200><c> um</c><00:19:26.320><c> to</c>

00:19:26.430 --> 00:19:26.440 align:start position:0%
extend what we can uh do on chain um to
 

00:19:26.440 --> 00:19:29.919 align:start position:0%
extend what we can uh do on chain um to
kind<00:19:26.559><c> of</c><00:19:26.919><c> remove</c><00:19:27.240><c> those</c><00:19:27.400><c> limitations</c>

