WEBVTT
Kind: captions
Language: en

00:00:00.000 --> 00:00:04.350 align:start position:0%
 
foreign

00:00:04.350 --> 00:00:04.360 align:start position:0%
 
 

00:00:04.360 --> 00:00:13.749 align:start position:0%
 
[Music]

00:00:13.749 --> 00:00:13.759 align:start position:0%
 
 

00:00:13.759 --> 00:00:16.670 align:start position:0%
 
and<00:00:14.759><c> I'm</c><00:00:15.000><c> a</c><00:00:15.360><c> software</c><00:00:15.780><c> engineer</c><00:00:16.139><c> slash</c>

00:00:16.670 --> 00:00:16.680 align:start position:0%
and I'm a software engineer slash
 

00:00:16.680 --> 00:00:18.830 align:start position:0%
and I'm a software engineer slash
language<00:00:16.980><c> designer</c><00:00:17.580><c> here</c><00:00:18.119><c> at</c><00:00:18.300><c> Aztec</c><00:00:18.660><c> Network</c>

00:00:18.830 --> 00:00:18.840 align:start position:0%
language designer here at Aztec Network
 

00:00:18.840 --> 00:00:20.750 align:start position:0%
language designer here at Aztec Network
and<00:00:19.560><c> I'm</c><00:00:19.680><c> going</c><00:00:19.800><c> to</c><00:00:19.920><c> be</c><00:00:19.980><c> introducing</c><00:00:20.400><c> you</c><00:00:20.580><c> to</c>

00:00:20.750 --> 00:00:20.760 align:start position:0%
and I'm going to be introducing you to
 

00:00:20.760 --> 00:00:24.109 align:start position:0%
and I'm going to be introducing you to
Noir<00:00:21.300><c> today</c><00:00:21.500><c> Noir</c><00:00:22.500><c> is</c><00:00:22.859><c> our</c><00:00:23.119><c> rust-based</c>

00:00:24.109 --> 00:00:24.119 align:start position:0%
Noir today Noir is our rust-based
 

00:00:24.119 --> 00:00:26.150 align:start position:0%
Noir today Noir is our rust-based
domain-specific<00:00:25.019><c> language</c><00:00:25.320><c> for</c><00:00:25.800><c> writing</c>

00:00:26.150 --> 00:00:26.160 align:start position:0%
domain-specific language for writing
 

00:00:26.160 --> 00:00:28.250 align:start position:0%
domain-specific language for writing
zero<00:00:26.580><c> knowledge</c><00:00:26.820><c> circuits</c><00:00:27.300><c> I'm</c><00:00:28.019><c> going</c><00:00:28.140><c> to</c>

00:00:28.250 --> 00:00:28.260 align:start position:0%
zero knowledge circuits I'm going to
 

00:00:28.260 --> 00:00:30.410 align:start position:0%
zero knowledge circuits I'm going to
walk<00:00:28.380><c> you</c><00:00:28.500><c> through</c><00:00:28.740><c> a</c><00:00:29.039><c> basic</c><00:00:29.279><c> circuit</c><00:00:29.699><c> and</c>

00:00:30.410 --> 00:00:30.420 align:start position:0%
walk you through a basic circuit and
 

00:00:30.420 --> 00:00:31.669 align:start position:0%
walk you through a basic circuit and
then<00:00:30.539><c> also</c><00:00:30.900><c> show</c><00:00:31.019><c> you</c><00:00:31.140><c> how</c><00:00:31.380><c> to</c><00:00:31.439><c> go</c><00:00:31.560><c> about</c>

00:00:31.669 --> 00:00:31.679 align:start position:0%
then also show you how to go about
 

00:00:31.679 --> 00:00:34.130 align:start position:0%
then also show you how to go about
proving<00:00:32.279><c> and</c><00:00:32.880><c> verifying</c><00:00:33.480><c> that</c><00:00:33.660><c> circuit</c><00:00:34.020><c> in</c>

00:00:34.130 --> 00:00:34.140 align:start position:0%
proving and verifying that circuit in
 

00:00:34.140 --> 00:00:36.650 align:start position:0%
proving and verifying that circuit in
typescript<00:00:34.559><c> so</c><00:00:35.399><c> first</c><00:00:35.700><c> I</c><00:00:36.059><c> want</c><00:00:36.239><c> to</c><00:00:36.420><c> talk</c><00:00:36.480><c> about</c>

00:00:36.650 --> 00:00:36.660 align:start position:0%
typescript so first I want to talk about
 

00:00:36.660 --> 00:00:39.049 align:start position:0%
typescript so first I want to talk about
what<00:00:36.960><c> actually</c><00:00:37.140><c> makes</c><00:00:37.500><c> Noir</c><00:00:38.100><c> unique</c>

00:00:39.049 --> 00:00:39.059 align:start position:0%
what actually makes Noir unique
 

00:00:39.059 --> 00:00:41.569 align:start position:0%
what actually makes Noir unique
Noir<00:00:39.899><c> aims</c><00:00:40.379><c> to</c><00:00:40.440><c> be</c><00:00:40.559><c> more</c><00:00:40.739><c> flexible</c><00:00:41.100><c> in</c><00:00:41.340><c> its</c>

00:00:41.569 --> 00:00:41.579 align:start position:0%
Noir aims to be more flexible in its
 

00:00:41.579 --> 00:00:43.670 align:start position:0%
Noir aims to be more flexible in its
design<00:00:41.700><c> than</c><00:00:42.600><c> other</c><00:00:42.899><c> domain-specific</c>

00:00:43.670 --> 00:00:43.680 align:start position:0%
design than other domain-specific
 

00:00:43.680 --> 00:00:45.590 align:start position:0%
design than other domain-specific
languages<00:00:44.040><c> that</c><00:00:44.399><c> currently</c><00:00:44.700><c> exist</c><00:00:45.239><c> out</c><00:00:45.480><c> there</c>

00:00:45.590 --> 00:00:45.600 align:start position:0%
languages that currently exist out there
 

00:00:45.600 --> 00:00:48.170 align:start position:0%
languages that currently exist out there
and<00:00:46.200><c> we</c><00:00:46.379><c> do</c><00:00:46.500><c> this</c><00:00:46.680><c> by</c><00:00:47.100><c> rather</c><00:00:47.460><c> than</c><00:00:47.579><c> compiling</c>

00:00:48.170 --> 00:00:48.180 align:start position:0%
and we do this by rather than compiling
 

00:00:48.180 --> 00:00:50.810 align:start position:0%
and we do this by rather than compiling
to<00:00:48.840><c> a</c><00:00:49.140><c> specific</c><00:00:49.379><c> MP</c><00:00:49.739><c> complete</c><00:00:50.160><c> language</c><00:00:50.340><c> we're</c>

00:00:50.810 --> 00:00:50.820 align:start position:0%
to a specific MP complete language we're
 

00:00:50.820 --> 00:00:52.369 align:start position:0%
to a specific MP complete language we're
compiling<00:00:51.300><c> down</c><00:00:51.480><c> to</c><00:00:51.780><c> an</c><00:00:51.899><c> intermediate</c>

00:00:52.369 --> 00:00:52.379 align:start position:0%
compiling down to an intermediate
 

00:00:52.379 --> 00:00:55.189 align:start position:0%
compiling down to an intermediate
representation<00:00:53.160><c> we</c><00:00:54.120><c> call</c><00:00:54.300><c> this</c><00:00:54.539><c> intermediate</c>

00:00:55.189 --> 00:00:55.199 align:start position:0%
representation we call this intermediate
 

00:00:55.199 --> 00:00:57.049 align:start position:0%
representation we call this intermediate
representation<00:00:55.739><c> the</c><00:00:56.160><c> abstract</c><00:00:56.579><c> circuit</c>

00:00:57.049 --> 00:00:57.059 align:start position:0%
representation the abstract circuit
 

00:00:57.059 --> 00:00:59.450 align:start position:0%
representation the abstract circuit
intermediate<00:00:57.660><c> representation</c><00:00:58.140><c> or</c><00:00:58.860><c> the</c><00:00:58.980><c> Acer</c>

00:00:59.450 --> 00:00:59.460 align:start position:0%
intermediate representation or the Acer
 

00:00:59.460 --> 00:01:01.490 align:start position:0%
intermediate representation or the Acer
as<00:00:59.699><c> I'm</c><00:00:59.879><c> going</c><00:01:00.059><c> to</c><00:01:00.180><c> refer</c><00:01:00.539><c> to</c><00:01:00.660><c> it</c><00:01:00.840><c> throughout</c>

00:01:01.490 --> 00:01:01.500 align:start position:0%
as I'm going to refer to it throughout
 

00:01:01.500 --> 00:01:04.509 align:start position:0%
as I'm going to refer to it throughout
this<00:01:01.680><c> talk</c><00:01:01.920><c> this</c><00:01:02.760><c> IR</c><00:01:02.940><c> can</c><00:01:03.480><c> then</c><00:01:03.600><c> be</c>

00:01:04.509 --> 00:01:04.519 align:start position:0%
this talk this IR can then be
 

00:01:04.519 --> 00:01:06.950 align:start position:0%
this talk this IR can then be
compiled<00:01:05.519><c> down</c><00:01:05.640><c> to</c><00:01:05.939><c> a</c><00:01:06.119><c> rank</c><00:01:06.420><c> one</c><00:01:06.540><c> constraint</c>

00:01:06.950 --> 00:01:06.960 align:start position:0%
compiled down to a rank one constraint
 

00:01:06.960 --> 00:01:09.830 align:start position:0%
compiled down to a rank one constraint
system<00:01:07.200><c> or</c><00:01:08.159><c> plonkish</c><00:01:08.880><c> languages</c><00:01:09.180><c> whichever</c>

00:01:09.830 --> 00:01:09.840 align:start position:0%
system or plonkish languages whichever
 

00:01:09.840 --> 00:01:12.950 align:start position:0%
system or plonkish languages whichever
you<00:01:10.140><c> so</c><00:01:10.380><c> choose</c><00:01:10.820><c> this</c><00:01:11.820><c> is</c><00:01:11.939><c> analogous</c><00:01:12.479><c> to</c><00:01:12.780><c> the</c>

00:01:12.950 --> 00:01:12.960 align:start position:0%
you so choose this is analogous to the
 

00:01:12.960 --> 00:01:16.250 align:start position:0%
you so choose this is analogous to the
lovm<00:01:13.740><c> IR</c><00:01:14.159><c> but</c><00:01:15.119><c> rather</c><00:01:15.420><c> than</c><00:01:15.540><c> converting</c><00:01:16.020><c> down</c>

00:01:16.250 --> 00:01:16.260 align:start position:0%
lovm IR but rather than converting down
 

00:01:16.260 --> 00:01:18.649 align:start position:0%
lovm IR but rather than converting down
the<00:01:16.439><c> IR</c><00:01:16.619><c> to</c><00:01:17.220><c> a</c><00:01:17.520><c> specific</c><00:01:17.939><c> instruction</c><00:01:18.240><c> set</c>

00:01:18.649 --> 00:01:18.659 align:start position:0%
the IR to a specific instruction set
 

00:01:18.659 --> 00:01:21.170 align:start position:0%
the IR to a specific instruction set
architecture<00:01:19.260><c> we're</c><00:01:19.979><c> compiling</c><00:01:20.520><c> down</c><00:01:20.700><c> to</c><00:01:21.000><c> the</c>

00:01:21.170 --> 00:01:21.180 align:start position:0%
architecture we're compiling down to the
 

00:01:21.180 --> 00:01:23.510 align:start position:0%
architecture we're compiling down to the
constraint<00:01:21.479><c> system</c><00:01:21.780><c> of</c><00:01:22.200><c> a</c><00:01:22.320><c> given</c><00:01:22.619><c> ZK</c><00:01:23.220><c> proof</c>

00:01:23.510 --> 00:01:23.520 align:start position:0%
constraint system of a given ZK proof
 

00:01:23.520 --> 00:01:26.410 align:start position:0%
constraint system of a given ZK proof
construction<00:01:23.720><c> this</c><00:01:24.720><c> actually</c><00:01:24.900><c> enables</c><00:01:25.439><c> us</c><00:01:25.619><c> to</c>

00:01:26.410 --> 00:01:26.420 align:start position:0%
construction this actually enables us to
 

00:01:26.420 --> 00:01:29.330 align:start position:0%
construction this actually enables us to
essentially<00:01:27.420><c> decouple</c><00:01:28.020><c> the</c><00:01:28.560><c> back-end</c><00:01:28.920><c> proof</c>

00:01:29.330 --> 00:01:29.340 align:start position:0%
essentially decouple the back-end proof
 

00:01:29.340 --> 00:01:31.969 align:start position:0%
essentially decouple the back-end proof
system<00:01:29.520><c> and</c><00:01:30.299><c> the</c><00:01:30.540><c> language</c><00:01:30.720><c> we</c><00:01:31.619><c> currently</c>

00:01:31.969 --> 00:01:31.979 align:start position:0%
system and the language we currently
 

00:01:31.979 --> 00:01:34.550 align:start position:0%
system and the language we currently
have<00:01:32.100><c> one</c><00:01:32.400><c> fully</c><00:01:32.700><c> integrated</c><00:01:33.560><c> back-end</c>

00:01:34.550 --> 00:01:34.560 align:start position:0%
have one fully integrated back-end
 

00:01:34.560 --> 00:01:36.410 align:start position:0%
have one fully integrated back-end
system<00:01:34.799><c> and</c><00:01:35.100><c> that's</c><00:01:35.280><c> Aztecs</c><00:01:35.880><c> brettenberg</c>

00:01:36.410 --> 00:01:36.420 align:start position:0%
system and that's Aztecs brettenberg
 

00:01:36.420 --> 00:01:38.990 align:start position:0%
system and that's Aztecs brettenberg
library<00:01:36.799><c> and</c><00:01:37.799><c> we</c><00:01:38.040><c> also</c><00:01:38.280><c> have</c><00:01:38.460><c> plans</c><00:01:38.640><c> for</c>

00:01:38.990 --> 00:01:39.000 align:start position:0%
library and we also have plans for
 

00:01:39.000 --> 00:01:41.090 align:start position:0%
library and we also have plans for
Integrations<00:01:39.540><c> with</c><00:01:40.020><c> The</c><00:01:40.380><c> Arc</c><00:01:40.560><c> Works</c><00:01:40.799><c> proving</c>

00:01:41.090 --> 00:01:41.100 align:start position:0%
Integrations with The Arc Works proving
 

00:01:41.100 --> 00:01:43.670 align:start position:0%
Integrations with The Arc Works proving
systems<00:01:41.400><c> such</c><00:01:41.640><c> as</c><00:01:41.700><c> Marlin</c><00:01:42.060><c> and</c><00:01:42.240><c> growth</c><00:01:42.540><c> 16</c><00:01:42.780><c> but</c>

00:01:43.670 --> 00:01:43.680 align:start position:0%
systems such as Marlin and growth 16 but
 

00:01:43.680 --> 00:01:46.130 align:start position:0%
systems such as Marlin and growth 16 but
anyone<00:01:44.100><c> if</c><00:01:44.759><c> you</c><00:01:45.299><c> can</c><00:01:45.420><c> compile</c><00:01:45.720><c> it</c><00:01:45.900><c> down</c><00:01:46.020><c> to</c>

00:01:46.130 --> 00:01:46.140 align:start position:0%
anyone if you can compile it down to
 

00:01:46.140 --> 00:01:47.450 align:start position:0%
anyone if you can compile it down to
whatever<00:01:46.320><c> you'd</c><00:01:46.619><c> like</c>

00:01:47.450 --> 00:01:47.460 align:start position:0%
whatever you'd like
 

00:01:47.460 --> 00:01:49.910 align:start position:0%
whatever you'd like
this<00:01:48.180><c> to</c><00:01:48.479><c> our</c><00:01:48.659><c> knowledge</c><00:01:48.900><c> is</c><00:01:49.079><c> the</c><00:01:49.259><c> only</c><00:01:49.380><c> DSL</c>

00:01:49.910 --> 00:01:49.920 align:start position:0%
this to our knowledge is the only DSL
 

00:01:49.920 --> 00:01:51.530 align:start position:0%
this to our knowledge is the only DSL
that<00:01:50.220><c> currently</c><00:01:50.579><c> has</c><00:01:50.759><c> fully</c><00:01:51.180><c> integrated</c>

00:01:51.530 --> 00:01:51.540 align:start position:0%
that currently has fully integrated
 

00:01:51.540 --> 00:01:54.350 align:start position:0%
that currently has fully integrated
proving<00:01:52.020><c> system</c><00:01:52.340><c> optimizations</c><00:01:53.340><c> so</c><00:01:54.119><c> rather</c>

00:01:54.350 --> 00:01:54.360 align:start position:0%
proving system optimizations so rather
 

00:01:54.360 --> 00:01:56.630 align:start position:0%
proving system optimizations so rather
than<00:01:54.720><c> just</c><00:01:55.320><c> having</c><00:01:55.439><c> an</c><00:01:55.740><c> interface</c><00:01:56.159><c> for</c>

00:01:56.630 --> 00:01:56.640 align:start position:0%
than just having an interface for
 

00:01:56.640 --> 00:01:58.789 align:start position:0%
than just having an interface for
language<00:01:57.000><c> system</c><00:01:57.299><c> optimizations</c><00:01:58.020><c> we</c>

00:01:58.789 --> 00:01:58.799 align:start position:0%
language system optimizations we
 

00:01:58.799 --> 00:02:00.289 align:start position:0%
language system optimizations we
actually<00:01:58.920><c> have</c><00:01:59.220><c> it</c><00:01:59.340><c> on</c><00:01:59.460><c> the</c><00:01:59.579><c> proving</c><00:01:59.939><c> system</c>

00:02:00.289 --> 00:02:00.299 align:start position:0%
actually have it on the proving system
 

00:02:00.299 --> 00:02:02.990 align:start position:0%
actually have it on the proving system
as<00:02:00.780><c> well</c><00:02:00.899><c> but</c><00:02:01.860><c> like</c><00:02:02.220><c> where</c><00:02:02.579><c> do</c><00:02:02.700><c> we</c><00:02:02.820><c> actually</c>

00:02:02.990 --> 00:02:03.000 align:start position:0%
as well but like where do we actually
 

00:02:03.000 --> 00:02:04.490 align:start position:0%
as well but like where do we actually
get<00:02:03.420><c> from</c><00:02:03.659><c> this</c>

00:02:04.490 --> 00:02:04.500 align:start position:0%
get from this
 

00:02:04.500 --> 00:02:07.789 align:start position:0%
get from this
so<00:02:05.280><c> we</c><00:02:05.700><c> now</c><00:02:05.880><c> different</c><00:02:06.659><c> use</c><00:02:06.960><c> cases</c><00:02:07.320><c> require</c>

00:02:07.789 --> 00:02:07.799 align:start position:0%
so we now different use cases require
 

00:02:07.799 --> 00:02:11.390 align:start position:0%
so we now different use cases require
different<00:02:08.459><c> kinds</c><00:02:08.940><c> of</c><00:02:09.119><c> systems</c><00:02:10.020><c> and</c><00:02:10.920><c> now</c><00:02:11.160><c> we</c>

00:02:11.390 --> 00:02:11.400 align:start position:0%
different kinds of systems and now we
 

00:02:11.400 --> 00:02:13.309 align:start position:0%
different kinds of systems and now we
actually<00:02:11.580><c> have</c><00:02:12.060><c> a</c><00:02:12.360><c> language</c><00:02:12.540><c> that</c><00:02:12.900><c> separates</c>

00:02:13.309 --> 00:02:13.319 align:start position:0%
actually have a language that separates
 

00:02:13.319 --> 00:02:15.710 align:start position:0%
actually have a language that separates
the<00:02:13.980><c> middle</c><00:02:14.160><c> end</c><00:02:14.400><c> a</c><00:02:15.000><c> front</c><00:02:15.180><c> end</c><00:02:15.300><c> middle</c><00:02:15.480><c> end</c>

00:02:15.710 --> 00:02:15.720 align:start position:0%
the middle end a front end middle end
 

00:02:15.720 --> 00:02:17.390 align:start position:0%
the middle end a front end middle end
and<00:02:15.900><c> back</c><00:02:16.020><c> end</c><00:02:16.140><c> of</c><00:02:16.319><c> a</c><00:02:16.440><c> language</c><00:02:16.620><c> and</c>

00:02:17.390 --> 00:02:17.400 align:start position:0%
and back end of a language and
 

00:02:17.400 --> 00:02:19.190 align:start position:0%
and back end of a language and
developers<00:02:17.819><c> can</c><00:02:18.060><c> then</c><00:02:18.180><c> Converge</c><00:02:18.599><c> on</c><00:02:18.840><c> a</c><00:02:19.020><c> common</c>

00:02:19.190 --> 00:02:19.200 align:start position:0%
developers can then Converge on a common
 

00:02:19.200 --> 00:02:20.930 align:start position:0%
developers can then Converge on a common
architecture<00:02:19.920><c> standard</c>

00:02:20.930 --> 00:02:20.940 align:start position:0%
architecture standard
 

00:02:20.940 --> 00:02:23.390 align:start position:0%
architecture standard
the<00:02:21.540><c> fact</c><00:02:21.720><c> that</c><00:02:21.959><c> Noir</c><00:02:22.379><c> has</c><00:02:22.739><c> the</c><00:02:22.920><c> ability</c><00:02:23.099><c> to</c>

00:02:23.390 --> 00:02:23.400 align:start position:0%
the fact that Noir has the ability to
 

00:02:23.400 --> 00:02:24.970 align:start position:0%
the fact that Noir has the ability to
support<00:02:23.520><c> proving</c><00:02:24.000><c> system</c><00:02:24.120><c> optimizations</c>

00:02:24.970 --> 00:02:24.980 align:start position:0%
support proving system optimizations
 

00:02:24.980 --> 00:02:27.350 align:start position:0%
support proving system optimizations
enables<00:02:25.980><c> us</c><00:02:26.099><c> to</c><00:02:26.400><c> have</c><00:02:26.520><c> the</c><00:02:26.760><c> addition</c><00:02:27.000><c> of</c>

00:02:27.350 --> 00:02:27.360 align:start position:0%
enables us to have the addition of
 

00:02:27.360 --> 00:02:29.990 align:start position:0%
enables us to have the addition of
optimized<00:02:27.959><c> Black</c><00:02:28.080><c> Box</c><00:02:28.319><c> functions</c><00:02:28.860><c> a</c><00:02:29.520><c> few</c><00:02:29.640><c> that</c>

00:02:29.990 --> 00:02:30.000 align:start position:0%
optimized Black Box functions a few that
 

00:02:30.000 --> 00:02:33.050 align:start position:0%
optimized Black Box functions a few that
we<00:02:30.120><c> have</c><00:02:30.239><c> are</c><00:02:30.599><c> listed</c><00:02:31.080><c> right</c><00:02:31.260><c> there</c><00:02:31.500><c> but</c><00:02:32.340><c> if</c><00:02:32.700><c> a</c>

00:02:33.050 --> 00:02:33.060 align:start position:0%
we have are listed right there but if a
 

00:02:33.060 --> 00:02:35.930 align:start position:0%
we have are listed right there but if a
back-end<00:02:33.840><c> system</c><00:02:34.140><c> has</c><00:02:34.920><c> integrated</c><00:02:35.580><c> that</c>

00:02:35.930 --> 00:02:35.940 align:start position:0%
back-end system has integrated that
 

00:02:35.940 --> 00:02:37.790 align:start position:0%
back-end system has integrated that
specific<00:02:36.239><c> Black</c><00:02:36.480><c> Box</c><00:02:36.720><c> function</c><00:02:37.140><c> the</c><00:02:37.620><c> front</c>

00:02:37.790 --> 00:02:37.800 align:start position:0%
specific Black Box function the front
 

00:02:37.800 --> 00:02:40.309 align:start position:0%
specific Black Box function the front
end<00:02:37.920><c> can</c><00:02:38.220><c> then</c><00:02:38.400><c> access</c><00:02:38.640><c> it</c><00:02:39.060><c> the</c><00:02:39.720><c> ultimate</c><00:02:40.080><c> goal</c>

00:02:40.309 --> 00:02:40.319 align:start position:0%
end can then access it the ultimate goal
 

00:02:40.319 --> 00:02:42.350 align:start position:0%
end can then access it the ultimate goal
here<00:02:40.440><c> is</c><00:02:40.560><c> to</c><00:02:40.739><c> lower</c><00:02:40.920><c> the</c><00:02:41.160><c> barrier</c><00:02:41.519><c> to</c><00:02:41.940><c> Circuit</c>

00:02:42.350 --> 00:02:42.360 align:start position:0%
here is to lower the barrier to Circuit
 

00:02:42.360 --> 00:02:44.350 align:start position:0%
here is to lower the barrier to Circuit
development<00:02:42.780><c> by</c><00:02:43.560><c> incorporating</c>

00:02:44.350 --> 00:02:44.360 align:start position:0%
development by incorporating
 

00:02:44.360 --> 00:02:46.190 align:start position:0%
development by incorporating
cryptographic<00:02:45.360><c> safety</c><00:02:45.660><c> into</c><00:02:45.840><c> the</c><00:02:46.080><c> language</c>

00:02:46.190 --> 00:02:46.200 align:start position:0%
cryptographic safety into the language
 

00:02:46.200 --> 00:02:48.770 align:start position:0%
cryptographic safety into the language
itself<00:02:46.560><c> while</c><00:02:47.160><c> maintaining</c><00:02:47.819><c> performance</c><00:02:48.300><c> so</c>

00:02:48.770 --> 00:02:48.780 align:start position:0%
itself while maintaining performance so
 

00:02:48.780 --> 00:02:50.089 align:start position:0%
itself while maintaining performance so
I'm<00:02:48.900><c> mainly</c><00:02:49.140><c> going</c><00:02:49.260><c> to</c><00:02:49.379><c> be</c><00:02:49.440><c> talking</c><00:02:49.560><c> about</c><00:02:49.800><c> how</c>

00:02:50.089 --> 00:02:50.099 align:start position:0%
I'm mainly going to be talking about how
 

00:02:50.099 --> 00:02:52.190 align:start position:0%
I'm mainly going to be talking about how
to<00:02:50.160><c> prove</c><00:02:50.519><c> and</c><00:02:50.640><c> verify</c><00:02:51.000><c> in</c><00:02:51.120><c> typescript</c><00:02:51.540><c> this</c>

00:02:52.190 --> 00:02:52.200 align:start position:0%
to prove and verify in typescript this
 

00:02:52.200 --> 00:02:54.470 align:start position:0%
to prove and verify in typescript this
very<00:02:52.440><c> high</c><00:02:53.040><c> level</c><00:02:53.220><c> compilation</c><00:02:54.060><c> overview</c>

00:02:54.470 --> 00:02:54.480 align:start position:0%
very high level compilation overview
 

00:02:54.480 --> 00:02:57.229 align:start position:0%
very high level compilation overview
also<00:02:55.319><c> shows</c><00:02:55.680><c> our</c><00:02:56.099><c> package</c><00:02:56.459><c> manager</c><00:02:56.819><c> nargo</c>

00:02:57.229 --> 00:02:57.239 align:start position:0%
also shows our package manager nargo
 

00:02:57.239 --> 00:02:59.150 align:start position:0%
also shows our package manager nargo
that<00:02:57.840><c> I</c><00:02:58.019><c> specifically</c><00:02:58.500><c> want</c><00:02:58.620><c> to</c><00:02:58.800><c> note</c><00:02:58.860><c> that</c>

00:02:59.150 --> 00:02:59.160 align:start position:0%
that I specifically want to note that
 

00:02:59.160 --> 00:03:00.830 align:start position:0%
that I specifically want to note that
allows<00:02:59.459><c> for</c><00:02:59.700><c> approving</c><00:03:00.180><c> and</c><00:03:00.300><c> verifying</c>

00:03:00.830 --> 00:03:00.840 align:start position:0%
allows for approving and verifying
 

00:03:00.840 --> 00:03:03.470 align:start position:0%
allows for approving and verifying
circuits<00:03:01.319><c> this</c><00:03:01.920><c> is</c><00:03:02.040><c> very</c><00:03:02.220><c> similar</c><00:03:02.580><c> to</c><00:03:03.000><c> Cargo</c>

00:03:03.470 --> 00:03:03.480 align:start position:0%
circuits this is very similar to Cargo
 

00:03:03.480 --> 00:03:05.570 align:start position:0%
circuits this is very similar to Cargo
so<00:03:03.840><c> you</c><00:03:04.019><c> can</c><00:03:04.140><c> build</c><00:03:04.260><c> your</c><00:03:04.500><c> circuits</c><00:03:04.980><c> using</c>

00:03:05.570 --> 00:03:05.580 align:start position:0%
so you can build your circuits using
 

00:03:05.580 --> 00:03:08.509 align:start position:0%
so you can build your circuits using
this<00:03:05.760><c> but</c><00:03:06.540><c> because</c><00:03:06.959><c> to</c><00:03:07.680><c> actually</c><00:03:07.800><c> prove</c><00:03:08.280><c> you</c>

00:03:08.509 --> 00:03:08.519 align:start position:0%
this but because to actually prove you
 

00:03:08.519 --> 00:03:10.490 align:start position:0%
this but because to actually prove you
have<00:03:08.640><c> to</c><00:03:08.760><c> require</c><00:03:09.060><c> requires</c><00:03:10.019><c> a</c><00:03:10.140><c> proof</c><00:03:10.379><c> system</c>

00:03:10.490 --> 00:03:10.500 align:start position:0%
have to require requires a proof system
 

00:03:10.500 --> 00:03:12.770 align:start position:0%
have to require requires a proof system
you<00:03:10.800><c> see</c><00:03:10.920><c> that</c><00:03:11.099><c> line</c><00:03:11.280><c> on</c><00:03:11.580><c> the</c><00:03:11.700><c> top</c><00:03:11.879><c> going</c><00:03:12.599><c> all</c>

00:03:12.770 --> 00:03:12.780 align:start position:0%
you see that line on the top going all
 

00:03:12.780 --> 00:03:14.270 align:start position:0%
you see that line on the top going all
the<00:03:12.900><c> way</c><00:03:12.959><c> over</c><00:03:13.140><c> to</c><00:03:13.379><c> the</c><00:03:13.500><c> proof</c><00:03:13.739><c> system</c><00:03:13.920><c> as</c><00:03:14.159><c> well</c>

00:03:14.270 --> 00:03:14.280 align:start position:0%
the way over to the proof system as well
 

00:03:14.280 --> 00:03:16.490 align:start position:0%
the way over to the proof system as well
in<00:03:14.580><c> order</c><00:03:14.700><c> to</c><00:03:14.879><c> compile</c><00:03:15.120><c> nargo</c><00:03:15.599><c> you</c><00:03:16.080><c> need</c><00:03:16.260><c> all</c>

00:03:16.490 --> 00:03:16.500 align:start position:0%
in order to compile nargo you need all
 

00:03:16.500 --> 00:03:18.649 align:start position:0%
in order to compile nargo you need all
integrated<00:03:16.980><c> so</c><00:03:17.700><c> now</c><00:03:17.819><c> I'm</c><00:03:18.000><c> actually</c><00:03:18.239><c> going</c><00:03:18.540><c> to</c>

00:03:18.649 --> 00:03:18.659 align:start position:0%
integrated so now I'm actually going to
 

00:03:18.659 --> 00:03:20.030 align:start position:0%
integrated so now I'm actually going to
take<00:03:18.840><c> you</c><00:03:18.959><c> through</c><00:03:19.140><c> what</c><00:03:19.319><c> a</c><00:03:19.440><c> Noir</c><00:03:19.680><c> circuit</c>

00:03:20.030 --> 00:03:20.040 align:start position:0%
take you through what a Noir circuit
 

00:03:20.040 --> 00:03:21.830 align:start position:0%
take you through what a Noir circuit
looks<00:03:20.280><c> like</c><00:03:20.340><c> and</c><00:03:20.879><c> and</c><00:03:21.180><c> I'm</c><00:03:21.420><c> going</c><00:03:21.540><c> to</c><00:03:21.540><c> use</c><00:03:21.659><c> one</c>

00:03:21.830 --> 00:03:21.840 align:start position:0%
looks like and and I'm going to use one
 

00:03:21.840 --> 00:03:23.630 align:start position:0%
looks like and and I'm going to use one
of<00:03:21.959><c> the</c><00:03:22.019><c> most</c><00:03:22.140><c> common</c><00:03:22.260><c> examples</c><00:03:22.739><c> where</c><00:03:23.159><c> ZK</c>

00:03:23.630 --> 00:03:23.640 align:start position:0%
of the most common examples where ZK
 

00:03:23.640 --> 00:03:25.550 align:start position:0%
of the most common examples where ZK
proofs<00:03:24.060><c> are</c><00:03:24.300><c> used</c><00:03:24.480><c> to</c><00:03:24.720><c> enable</c><00:03:25.019><c> private</c>

00:03:25.550 --> 00:03:25.560 align:start position:0%
proofs are used to enable private
 

00:03:25.560 --> 00:03:27.589 align:start position:0%
proofs are used to enable private
transfers<00:03:25.920><c> and</c><00:03:26.580><c> rather</c><00:03:26.819><c> than</c><00:03:27.120><c> you</c><00:03:27.540><c> know</c>

00:03:27.589 --> 00:03:27.599 align:start position:0%
transfers and rather than you know
 

00:03:27.599 --> 00:03:29.990 align:start position:0%
transfers and rather than you know
simply<00:03:28.080><c> showing</c><00:03:28.980><c> you</c><00:03:29.099><c> the</c><00:03:29.280><c> entire</c><00:03:29.519><c> circuit</c><00:03:29.879><c> at</c>

00:03:29.990 --> 00:03:30.000 align:start position:0%
simply showing you the entire circuit at
 

00:03:30.000 --> 00:03:31.790 align:start position:0%
simply showing you the entire circuit at
once<00:03:30.239><c> I'm</c><00:03:30.540><c> going</c><00:03:30.720><c> to</c><00:03:30.840><c> walk</c><00:03:30.959><c> through</c><00:03:31.200><c> kind</c><00:03:31.680><c> of</c>

00:03:31.790 --> 00:03:31.800 align:start position:0%
once I'm going to walk through kind of
 

00:03:31.800 --> 00:03:33.649 align:start position:0%
once I'm going to walk through kind of
each<00:03:31.980><c> part</c><00:03:32.159><c> of</c><00:03:32.280><c> the</c><00:03:32.400><c> circuit</c><00:03:32.760><c> and</c><00:03:33.239><c> this</c><00:03:33.420><c> is</c><00:03:33.540><c> to</c>

00:03:33.649 --> 00:03:33.659 align:start position:0%
each part of the circuit and this is to
 

00:03:33.659 --> 00:03:36.470 align:start position:0%
each part of the circuit and this is to
highlight<00:03:33.959><c> noir's</c><00:03:34.860><c> unique</c><00:03:35.099><c> features</c><00:03:35.459><c> for</c><00:03:36.180><c> and</c>

00:03:36.470 --> 00:03:36.480 align:start position:0%
highlight noir's unique features for and
 

00:03:36.480 --> 00:03:38.030 align:start position:0%
highlight noir's unique features for and
also<00:03:36.780><c> for</c><00:03:36.959><c> those</c><00:03:37.140><c> who</c><00:03:37.260><c> may</c><00:03:37.379><c> be</c><00:03:37.500><c> unfamiliar</c>

00:03:38.030 --> 00:03:38.040 align:start position:0%
also for those who may be unfamiliar
 

00:03:38.040 --> 00:03:39.649 align:start position:0%
also for those who may be unfamiliar
with<00:03:38.159><c> how</c><00:03:38.340><c> to</c><00:03:38.459><c> write</c><00:03:38.640><c> a</c><00:03:38.879><c> private</c><00:03:39.120><c> transfer</c>

00:03:39.649 --> 00:03:39.659 align:start position:0%
with how to write a private transfer
 

00:03:39.659 --> 00:03:42.170 align:start position:0%
with how to write a private transfer
circuit<00:03:40.019><c> how</c><00:03:40.440><c> that</c><00:03:40.620><c> may</c><00:03:40.739><c> be</c><00:03:40.860><c> done</c><00:03:41.060><c> if</c><00:03:42.060><c> you're</c>

00:03:42.170 --> 00:03:42.180 align:start position:0%
circuit how that may be done if you're
 

00:03:42.180 --> 00:03:43.610 align:start position:0%
circuit how that may be done if you're
already<00:03:42.360><c> kind</c><00:03:42.659><c> of</c><00:03:42.780><c> familiar</c><00:03:43.080><c> with</c><00:03:43.200><c> it</c><00:03:43.319><c> you</c><00:03:43.500><c> may</c>

00:03:43.610 --> 00:03:43.620 align:start position:0%
already kind of familiar with it you may
 

00:03:43.620 --> 00:03:46.190 align:start position:0%
already kind of familiar with it you may
have<00:03:43.680><c> to</c><00:03:43.799><c> Do's</c><00:03:44.099><c> from</c><00:03:44.220><c> the</c><00:03:44.340><c> inputs</c><00:03:44.760><c> that</c><00:03:45.659><c> the</c>

00:03:46.190 --> 00:03:46.200 align:start position:0%
have to Do's from the inputs that the
 

00:03:46.200 --> 00:03:47.750 align:start position:0%
have to Do's from the inputs that the
circuit<00:03:46.560><c> essentially</c><00:03:46.920><c> boils</c><00:03:47.340><c> down</c><00:03:47.459><c> to</c><00:03:47.580><c> a</c>

00:03:47.750 --> 00:03:47.760 align:start position:0%
circuit essentially boils down to a
 

00:03:47.760 --> 00:03:50.330 align:start position:0%
circuit essentially boils down to a
Merkel<00:03:48.060><c> membership</c><00:03:48.360><c> proof</c><00:03:49.260><c> similar</c><00:03:49.920><c> to</c><00:03:50.040><c> how</c>

00:03:50.330 --> 00:03:50.340 align:start position:0%
Merkel membership proof similar to how
 

00:03:50.340 --> 00:03:52.309 align:start position:0%
Merkel membership proof similar to how
noir's<00:03:50.940><c> rust</c><00:03:51.120><c> based</c><00:03:51.480><c> the</c><00:03:51.659><c> syntax</c><00:03:52.019><c> is</c>

00:03:52.309 --> 00:03:52.319 align:start position:0%
noir's rust based the syntax is
 

00:03:52.319 --> 00:03:55.009 align:start position:0%
noir's rust based the syntax is
rust-like<00:03:53.040><c> as</c><00:03:53.220><c> well</c><00:03:53.879><c> but</c><00:03:54.420><c> the</c><00:03:54.599><c> main</c><00:03:54.720><c> thing</c><00:03:54.840><c> to</c>

00:03:55.009 --> 00:03:55.019 align:start position:0%
rust-like as well but the main thing to
 

00:03:55.019 --> 00:03:56.449 align:start position:0%
rust-like as well but the main thing to
note<00:03:55.140><c> here</c><00:03:55.379><c> is</c><00:03:55.560><c> the</c><00:03:55.739><c> usage</c><00:03:55.980><c> of</c><00:03:56.159><c> the</c><00:03:56.340><c> pub</c>

00:03:56.449 --> 00:03:56.459 align:start position:0%
note here is the usage of the pub
 

00:03:56.459 --> 00:03:58.850 align:start position:0%
note here is the usage of the pub
keyword<00:03:57.060><c> all</c><00:03:57.599><c> inputs</c><00:03:58.019><c> to</c><00:03:58.140><c> the</c><00:03:58.260><c> Noir</c><00:03:58.500><c> circuit</c>

00:03:58.850 --> 00:03:58.860 align:start position:0%
keyword all inputs to the Noir circuit
 

00:03:58.860 --> 00:04:00.830 align:start position:0%
keyword all inputs to the Noir circuit
are<00:03:58.980><c> going</c><00:03:59.099><c> to</c><00:03:59.159><c> be</c><00:03:59.220><c> private</c><00:03:59.580><c> by</c><00:03:59.760><c> default</c><00:04:00.060><c> and</c>

00:04:00.830 --> 00:04:00.840 align:start position:0%
are going to be private by default and
 

00:04:00.840 --> 00:04:02.990 align:start position:0%
are going to be private by default and
that<00:04:01.080><c> keyword</c><00:04:01.319><c> allows</c><00:04:01.739><c> you</c><00:04:01.799><c> to</c><00:04:01.980><c> then</c><00:04:02.099><c> say</c><00:04:02.459><c> this</c>

00:04:02.990 --> 00:04:03.000 align:start position:0%
that keyword allows you to then say this
 

00:04:03.000 --> 00:04:04.670 align:start position:0%
that keyword allows you to then say this
also<00:04:03.239><c> has</c><00:04:03.360><c> to</c><00:04:03.540><c> be</c><00:04:03.599><c> supplied</c><00:04:03.959><c> to</c><00:04:04.140><c> the</c><00:04:04.260><c> verifier</c>

00:04:04.670 --> 00:04:04.680 align:start position:0%
also has to be supplied to the verifier
 

00:04:04.680 --> 00:04:06.949 align:start position:0%
also has to be supplied to the verifier
as<00:04:04.920><c> well</c><00:04:05.099><c> currently</c><00:04:06.000><c> anything</c><00:04:06.360><c> outputted</c>

00:04:06.949 --> 00:04:06.959 align:start position:0%
as well currently anything outputted
 

00:04:06.959 --> 00:04:08.869 align:start position:0%
as well currently anything outputted
from<00:04:07.140><c> the</c><00:04:07.319><c> function</c><00:04:07.560><c> must</c><00:04:07.980><c> also</c><00:04:08.519><c> be</c><00:04:08.640><c> public</c>

00:04:08.869 --> 00:04:08.879 align:start position:0%
from the function must also be public
 

00:04:08.879 --> 00:04:11.630 align:start position:0%
from the function must also be public
and<00:04:09.659><c> to</c><00:04:09.840><c> take</c><00:04:10.260><c> note</c><00:04:10.439><c> of</c><00:04:10.739><c> our</c><00:04:10.920><c> native</c><00:04:11.159><c> data</c><00:04:11.580><c> type</c>

00:04:11.630 --> 00:04:11.640 align:start position:0%
and to take note of our native data type
 

00:04:11.640 --> 00:04:14.630 align:start position:0%
and to take note of our native data type
that's<00:04:12.000><c> called</c><00:04:12.239><c> the</c><00:04:12.480><c> field</c><00:04:13.099><c> this</c><00:04:14.099><c> is</c><00:04:14.220><c> in</c><00:04:14.519><c> the</c>

00:04:14.630 --> 00:04:14.640 align:start position:0%
that's called the field this is in the
 

00:04:14.640 --> 00:04:16.430 align:start position:0%
that's called the field this is in the
Aztec<00:04:15.000><c> brettenberg</c><00:04:15.420><c> back</c><00:04:15.659><c> end</c><00:04:15.780><c> a</c><00:04:15.959><c> field</c><00:04:16.139><c> on</c>

00:04:16.430 --> 00:04:16.440 align:start position:0%
Aztec brettenberg back end a field on
 

00:04:16.440 --> 00:04:19.250 align:start position:0%
Aztec brettenberg back end a field on
the<00:04:16.560><c> BN</c><00:04:16.919><c> 254</c><00:04:17.579><c> curve</c><00:04:18.000><c> but</c><00:04:18.660><c> we</c><00:04:18.840><c> also</c><00:04:19.079><c> support</c>

00:04:19.250 --> 00:04:19.260 align:start position:0%
the BN 254 curve but we also support
 

00:04:19.260 --> 00:04:22.370 align:start position:0%
the BN 254 curve but we also support
smaller<00:04:19.739><c> data</c><00:04:19.979><c> types</c><00:04:20.220><c> such</c><00:04:20.459><c> as</c><00:04:20.639><c> u32</c><00:04:21.540><c> u8</c><00:04:22.079><c> you</c>

00:04:22.370 --> 00:04:22.380 align:start position:0%
smaller data types such as u32 u8 you
 

00:04:22.380 --> 00:04:24.950 align:start position:0%
smaller data types such as u32 u8 you
can<00:04:22.500><c> even</c><00:04:22.620><c> have</c><00:04:22.800><c> u3</c><00:04:23.280><c> but</c><00:04:24.180><c> these</c><00:04:24.540><c> are</c><00:04:24.660><c> less</c>

00:04:24.950 --> 00:04:24.960 align:start position:0%
can even have u3 but these are less
 

00:04:24.960 --> 00:04:26.870 align:start position:0%
can even have u3 but these are less
efficient<00:04:25.380><c> as</c><00:04:26.040><c> they</c><00:04:26.220><c> require</c><00:04:26.400><c> range</c>

00:04:26.870 --> 00:04:26.880 align:start position:0%
efficient as they require range
 

00:04:26.880 --> 00:04:29.629 align:start position:0%
efficient as they require range
constraints<00:04:27.300><c> and</c><00:04:28.199><c> but</c><00:04:28.800><c> that's</c><00:04:29.160><c> all</c><00:04:29.340><c> to</c><00:04:29.520><c> the</c>

00:04:29.629 --> 00:04:29.639 align:start position:0%
constraints and but that's all to the
 

00:04:29.639 --> 00:04:31.310 align:start position:0%
constraints and but that's all to the
needs<00:04:29.820><c> of</c><00:04:29.880><c> the</c><00:04:30.000><c> circuit</c><00:04:30.240><c> developer</c><00:04:30.660><c> if</c><00:04:31.199><c> you</c>

00:04:31.310 --> 00:04:31.320 align:start position:0%
needs of the circuit developer if you
 

00:04:31.320 --> 00:04:33.469 align:start position:0%
needs of the circuit developer if you
want<00:04:31.500><c> to</c><00:04:31.680><c> constrain</c><00:04:32.160><c> using</c><00:04:32.759><c> our</c><00:04:32.880><c> data</c><00:04:33.180><c> types</c>

00:04:33.469 --> 00:04:33.479 align:start position:0%
want to constrain using our data types
 

00:04:33.479 --> 00:04:34.909 align:start position:0%
want to constrain using our data types
rather<00:04:33.840><c> than</c><00:04:33.960><c> directly</c><00:04:34.380><c> in</c><00:04:34.500><c> the</c><00:04:34.620><c> circuit</c>

00:04:34.909 --> 00:04:34.919 align:start position:0%
rather than directly in the circuit
 

00:04:34.919 --> 00:04:36.650 align:start position:0%
rather than directly in the circuit
yourself<00:04:35.220><c> now</c><00:04:35.759><c> we</c><00:04:35.880><c> can</c><00:04:36.000><c> actually</c><00:04:36.180><c> get</c><00:04:36.479><c> into</c>

00:04:36.650 --> 00:04:36.660 align:start position:0%
yourself now we can actually get into
 

00:04:36.660 --> 00:04:38.450 align:start position:0%
yourself now we can actually get into
the<00:04:36.960><c> logic</c><00:04:37.380><c> of</c><00:04:37.500><c> the</c><00:04:37.620><c> circuit</c><00:04:37.919><c> and</c><00:04:38.220><c> we're</c><00:04:38.340><c> going</c>

00:04:38.450 --> 00:04:38.460 align:start position:0%
the logic of the circuit and we're going
 

00:04:38.460 --> 00:04:39.710 align:start position:0%
the logic of the circuit and we're going
to<00:04:38.520><c> start</c><00:04:38.639><c> off</c><00:04:38.759><c> by</c><00:04:38.940><c> using</c><00:04:39.240><c> two</c><00:04:39.419><c> of</c><00:04:39.540><c> our</c>

00:04:39.710 --> 00:04:39.720 align:start position:0%
to start off by using two of our
 

00:04:39.720 --> 00:04:41.990 align:start position:0%
to start off by using two of our
standard<00:04:40.020><c> Library</c><00:04:40.259><c> functions</c><00:04:40.860><c> the</c><00:04:41.580><c> schnor</c>

00:04:41.990 --> 00:04:42.000 align:start position:0%
standard Library functions the schnor
 

00:04:42.000 --> 00:04:43.670 align:start position:0%
standard Library functions the schnor
fixed<00:04:42.360><c> base</c><00:04:42.540><c> scalar</c><00:04:42.900><c> multiplication</c><00:04:43.320><c> method</c>

00:04:43.670 --> 00:04:43.680 align:start position:0%
fixed base scalar multiplication method
 

00:04:43.680 --> 00:04:46.249 align:start position:0%
fixed base scalar multiplication method
so<00:04:43.919><c> we</c><00:04:44.100><c> can</c><00:04:44.280><c> construct</c><00:04:44.759><c> a</c><00:04:45.000><c> private</c><00:04:45.360><c> public</c><00:04:45.900><c> key</c>

00:04:46.249 --> 00:04:46.259 align:start position:0%
so we can construct a private public key
 

00:04:46.259 --> 00:04:47.870 align:start position:0%
so we can construct a private public key
from<00:04:46.740><c> the</c><00:04:46.860><c> private</c><00:04:47.160><c> key</c><00:04:47.220><c> that</c><00:04:47.460><c> was</c><00:04:47.580><c> supplied</c>

00:04:47.870 --> 00:04:47.880 align:start position:0%
from the private key that was supplied
 

00:04:47.880 --> 00:04:50.390 align:start position:0%
from the private key that was supplied
to<00:04:48.060><c> the</c><00:04:48.180><c> circuit</c><00:04:48.540><c> and</c><00:04:49.139><c> then</c><00:04:49.320><c> also</c><00:04:49.740><c> a</c><00:04:50.040><c> Pederson</c>

00:04:50.390 --> 00:04:50.400 align:start position:0%
to the circuit and then also a Pederson
 

00:04:50.400 --> 00:04:52.070 align:start position:0%
to the circuit and then also a Pederson
hash<00:04:50.759><c> function</c><00:04:51.060><c> which</c><00:04:51.540><c> is</c><00:04:51.660><c> going</c><00:04:51.780><c> to</c><00:04:51.840><c> take</c><00:04:51.960><c> in</c>

00:04:52.070 --> 00:04:52.080 align:start position:0%
hash function which is going to take in
 

00:04:52.080 --> 00:04:54.170 align:start position:0%
hash function which is going to take in
a<00:04:52.259><c> list</c><00:04:52.380><c> of</c><00:04:52.500><c> field</c><00:04:52.680><c> elements</c><00:04:53.160><c> and</c><00:04:53.520><c> return</c><00:04:53.820><c> turn</c>

00:04:54.170 --> 00:04:54.180 align:start position:0%
a list of field elements and return turn
 

00:04:54.180 --> 00:04:57.830 align:start position:0%
a list of field elements and return turn
a<00:04:54.419><c> point</c><00:04:54.600><c> on</c><00:04:55.080><c> the</c><00:04:55.199><c> bn254</c><00:04:56.100><c> Curve</c><00:04:56.940><c> we</c><00:04:57.419><c> first</c><00:04:57.600><c> you</c>

00:04:57.830 --> 00:04:57.840 align:start position:0%
a point on the bn254 Curve we first you
 

00:04:57.840 --> 00:04:59.930 align:start position:0%
a point on the bn254 Curve we first you
we<00:04:58.080><c> use</c><00:04:58.320><c> the</c><00:04:58.500><c> random</c><00:04:58.860><c> input</c><00:04:59.100><c> secret</c><00:04:59.400><c> that</c><00:04:59.820><c> was</c>

00:04:59.930 --> 00:04:59.940 align:start position:0%
we use the random input secret that was
 

00:04:59.940 --> 00:05:01.909 align:start position:0%
we use the random input secret that was
shown<00:05:00.120><c> in</c><00:05:00.360><c> the</c><00:05:00.540><c> previous</c><00:05:00.660><c> slide</c><00:05:01.139><c> to</c><00:05:01.680><c> keep</c><00:05:01.740><c> our</c>

00:05:01.909 --> 00:05:01.919 align:start position:0%
shown in the previous slide to keep our
 

00:05:01.919 --> 00:05:04.010 align:start position:0%
shown in the previous slide to keep our
note<00:05:02.100><c> commitment</c><00:05:02.520><c> private</c><00:05:03.479><c> and</c><00:05:03.780><c> not</c>

00:05:04.010 --> 00:05:04.020 align:start position:0%
note commitment private and not
 

00:05:04.020 --> 00:05:06.230 align:start position:0%
note commitment private and not
associated<00:05:04.500><c> with</c><00:05:04.979><c> any</c><00:05:05.220><c> one</c><00:05:05.460><c> account</c>

00:05:06.230 --> 00:05:06.240 align:start position:0%
associated with any one account
 

00:05:06.240 --> 00:05:08.390 align:start position:0%
associated with any one account
once<00:05:06.780><c> again</c><00:05:06.840><c> this</c><00:05:07.259><c> is</c><00:05:07.440><c> using</c><00:05:07.860><c> the</c><00:05:08.040><c> Aztec</c>

00:05:08.390 --> 00:05:08.400 align:start position:0%
once again this is using the Aztec
 

00:05:08.400 --> 00:05:10.129 align:start position:0%
once again this is using the Aztec
brettenberg<00:05:08.759><c> back</c><00:05:09.000><c> end</c><00:05:09.120><c> but</c><00:05:09.419><c> if</c><00:05:09.660><c> a</c><00:05:09.840><c> back</c><00:05:09.960><c> end</c>

00:05:10.129 --> 00:05:10.139 align:start position:0%
brettenberg back end but if a back end
 

00:05:10.139 --> 00:05:12.590 align:start position:0%
brettenberg back end but if a back end
supports<00:05:11.040><c> these</c><00:05:11.520><c> functions</c><00:05:11.820><c> then</c><00:05:12.240><c> the</c><00:05:12.479><c> front</c>

00:05:12.590 --> 00:05:12.600 align:start position:0%
supports these functions then the front
 

00:05:12.600 --> 00:05:14.510 align:start position:0%
supports these functions then the front
end<00:05:12.780><c> can</c><00:05:13.080><c> access</c><00:05:13.259><c> it</c><00:05:13.620><c> and</c><00:05:14.100><c> now</c><00:05:14.220><c> we</c><00:05:14.400><c> actually</c>

00:05:14.510 --> 00:05:14.520 align:start position:0%
end can access it and now we actually
 

00:05:14.520 --> 00:05:16.790 align:start position:0%
end can access it and now we actually
have<00:05:14.820><c> the</c><00:05:15.120><c> the</c><00:05:15.300><c> meat</c><00:05:15.600><c> of</c><00:05:15.720><c> the</c><00:05:15.840><c> circuit</c><00:05:16.139><c> where</c>

00:05:16.790 --> 00:05:16.800 align:start position:0%
have the the meat of the circuit where
 

00:05:16.800 --> 00:05:18.170 align:start position:0%
have the the meat of the circuit where
we're<00:05:17.040><c> first</c><00:05:17.220><c> going</c><00:05:17.400><c> to</c><00:05:17.520><c> generate</c><00:05:17.940><c> a</c>

00:05:18.170 --> 00:05:18.180 align:start position:0%
we're first going to generate a
 

00:05:18.180 --> 00:05:20.450 align:start position:0%
we're first going to generate a
nullifier<00:05:18.660><c> and</c><00:05:19.320><c> this</c><00:05:19.500><c> nullifier</c><00:05:19.979><c> has</c><00:05:20.220><c> to</c><00:05:20.340><c> be</c>

00:05:20.450 --> 00:05:20.460 align:start position:0%
nullifier and this nullifier has to be
 

00:05:20.460 --> 00:05:22.010 align:start position:0%
nullifier and this nullifier has to be
unique<00:05:20.759><c> and</c><00:05:21.180><c> this</c><00:05:21.360><c> is</c><00:05:21.479><c> used</c><00:05:21.600><c> to</c><00:05:21.780><c> prevent</c>

00:05:22.010 --> 00:05:22.020 align:start position:0%
unique and this is used to prevent
 

00:05:22.020 --> 00:05:24.110 align:start position:0%
unique and this is used to prevent
double<00:05:22.259><c> spends</c><00:05:22.860><c> and</c><00:05:23.280><c> the</c><00:05:23.460><c> circuit</c><00:05:23.759><c> the</c>

00:05:24.110 --> 00:05:24.120 align:start position:0%
double spends and the circuit the
 

00:05:24.120 --> 00:05:25.909 align:start position:0%
double spends and the circuit the
contract<00:05:24.600><c> that</c><00:05:24.840><c> integrates</c><00:05:25.259><c> the</c><00:05:25.440><c> circuit</c><00:05:25.800><c> is</c>

00:05:25.909 --> 00:05:25.919 align:start position:0%
contract that integrates the circuit is
 

00:05:25.919 --> 00:05:28.310 align:start position:0%
contract that integrates the circuit is
going<00:05:26.100><c> to</c><00:05:26.220><c> have</c><00:05:26.340><c> to</c><00:05:26.580><c> make</c><00:05:27.539><c> sure</c><00:05:27.660><c> make</c><00:05:27.960><c> sure</c><00:05:28.139><c> of</c>

00:05:28.310 --> 00:05:28.320 align:start position:0%
going to have to make sure make sure of
 

00:05:28.320 --> 00:05:31.249 align:start position:0%
going to have to make sure make sure of
that<00:05:28.860><c> where</c><00:05:29.759><c> we</c><00:05:30.120><c> provide</c><00:05:30.479><c> the</c><00:05:30.720><c> no</c><00:05:30.900><c> commitment</c>

00:05:31.249 --> 00:05:31.259 align:start position:0%
that where we provide the no commitment
 

00:05:31.259 --> 00:05:32.689 align:start position:0%
that where we provide the no commitment
that<00:05:31.440><c> we</c><00:05:31.620><c> just</c><00:05:31.740><c> calculated</c><00:05:32.160><c> in</c><00:05:32.400><c> the</c><00:05:32.580><c> previous</c>

00:05:32.689 --> 00:05:32.699 align:start position:0%
that we just calculated in the previous
 

00:05:32.699 --> 00:05:35.510 align:start position:0%
that we just calculated in the previous
in<00:05:33.479><c> the</c><00:05:33.600><c> previous</c><00:05:33.720><c> Slide</c><00:05:34.139><c> the</c><00:05:34.740><c> index</c><00:05:35.100><c> of</c><00:05:35.400><c> the</c>

00:05:35.510 --> 00:05:35.520 align:start position:0%
in the previous Slide the index of the
 

00:05:35.520 --> 00:05:37.370 align:start position:0%
in the previous Slide the index of the
snow<00:05:35.639><c> commitment</c><00:05:36.000><c> in</c><00:05:36.240><c> the</c><00:05:36.300><c> Merkle</c><00:05:36.600><c> tree</c><00:05:36.780><c> and</c>

00:05:37.370 --> 00:05:37.380 align:start position:0%
snow commitment in the Merkle tree and
 

00:05:37.380 --> 00:05:39.590 align:start position:0%
snow commitment in the Merkle tree and
then<00:05:37.620><c> the</c><00:05:38.160><c> private</c><00:05:38.460><c> key</c><00:05:38.639><c> to</c><00:05:39.000><c> act</c><00:05:39.120><c> as</c><00:05:39.360><c> that</c>

00:05:39.590 --> 00:05:39.600 align:start position:0%
then the private key to act as that
 

00:05:39.600 --> 00:05:41.390 align:start position:0%
then the private key to act as that
identity<00:05:40.020><c> differentiator</c>

00:05:41.390 --> 00:05:41.400 align:start position:0%
identity differentiator
 

00:05:41.400 --> 00:05:42.890 align:start position:0%
identity differentiator
and<00:05:41.759><c> then</c><00:05:41.880><c> finally</c><00:05:42.120><c> we</c><00:05:42.479><c> have</c><00:05:42.539><c> a</c><00:05:42.720><c> check</c>

00:05:42.890 --> 00:05:42.900 align:start position:0%
and then finally we have a check
 

00:05:42.900 --> 00:05:44.390 align:start position:0%
and then finally we have a check
membership<00:05:43.320><c> function</c><00:05:43.680><c> that's</c><00:05:43.979><c> going</c><00:05:44.160><c> to</c><00:05:44.280><c> take</c>

00:05:44.390 --> 00:05:44.400 align:start position:0%
membership function that's going to take
 

00:05:44.400 --> 00:05:47.390 align:start position:0%
membership function that's going to take
in<00:05:44.639><c> the</c><00:05:45.180><c> hash</c><00:05:45.419><c> path</c><00:05:45.660><c> the</c><00:05:46.139><c> index</c><00:05:46.620><c> that</c><00:05:47.160><c> note</c>

00:05:47.390 --> 00:05:47.400 align:start position:0%
in the hash path the index that note
 

00:05:47.400 --> 00:05:49.730 align:start position:0%
in the hash path the index that note
commitment<00:05:47.820><c> and</c><00:05:48.300><c> a</c><00:05:48.419><c> note</c><00:05:48.600><c> root</c><00:05:48.960><c> it's</c><00:05:49.380><c> going</c><00:05:49.620><c> to</c>

00:05:49.730 --> 00:05:49.740 align:start position:0%
commitment and a note root it's going to
 

00:05:49.740 --> 00:05:51.710 align:start position:0%
commitment and a note root it's going to
calculate<00:05:50.039><c> a</c><00:05:50.220><c> note</c><00:05:50.340><c> root</c><00:05:50.759><c> using</c><00:05:51.240><c> the</c><00:05:51.539><c> hash</c>

00:05:51.710 --> 00:05:51.720 align:start position:0%
calculate a note root using the hash
 

00:05:51.720 --> 00:05:53.689 align:start position:0%
calculate a note root using the hash
path<00:05:51.960><c> and</c><00:05:52.139><c> commitment</c><00:05:52.440><c> provided</c><00:05:52.979><c> and</c><00:05:53.400><c> if</c><00:05:53.520><c> it</c>

00:05:53.689 --> 00:05:53.699 align:start position:0%
path and commitment provided and if it
 

00:05:53.699 --> 00:05:57.050 align:start position:0%
path and commitment provided and if it
matches<00:05:54.120><c> the</c><00:05:55.080><c> the</c><00:05:55.740><c> note</c><00:05:55.979><c> route</c><00:05:56.220><c> there</c><00:05:56.460><c> that</c><00:05:56.880><c> we</c>

00:05:57.050 --> 00:05:57.060 align:start position:0%
matches the the note route there that we
 

00:05:57.060 --> 00:05:58.249 align:start position:0%
matches the the note route there that we
provided<00:05:57.360><c> from</c><00:05:57.539><c> the</c><00:05:57.660><c> circuit</c><00:05:57.960><c> which</c><00:05:58.139><c> is</c>

00:05:58.249 --> 00:05:58.259 align:start position:0%
provided from the circuit which is
 

00:05:58.259 --> 00:06:01.370 align:start position:0%
provided from the circuit which is
public<00:05:58.500><c> we</c><00:05:59.160><c> then</c><00:05:59.340><c> know</c><00:05:59.639><c> okay</c><00:06:00.240><c> that</c><00:06:00.660><c> this</c><00:06:00.960><c> that</c>

00:06:01.370 --> 00:06:01.380 align:start position:0%
public we then know okay that this that
 

00:06:01.380 --> 00:06:03.290 align:start position:0%
public we then know okay that this that
those<00:06:01.860><c> no</c><00:06:02.280><c> commitment</c><00:06:02.580><c> that</c><00:06:02.759><c> was</c><00:06:02.940><c> calculated</c>

00:06:03.290 --> 00:06:03.300 align:start position:0%
those no commitment that was calculated
 

00:06:03.300 --> 00:06:06.409 align:start position:0%
those no commitment that was calculated
within<00:06:03.720><c> the</c><00:06:03.900><c> circuit</c><00:06:04.259><c> is</c><00:06:05.039><c> actually</c>

00:06:06.409 --> 00:06:06.419 align:start position:0%
within the circuit is actually
 

00:06:06.419 --> 00:06:09.890 align:start position:0%
within the circuit is actually
the<00:06:07.020><c> the</c><00:06:07.259><c> person</c><00:06:07.860><c> proving</c><00:06:08.580><c> it</c><00:06:08.820><c> does</c><00:06:09.479><c> possess</c>

00:06:09.890 --> 00:06:09.900 align:start position:0%
the the person proving it does possess
 

00:06:09.900 --> 00:06:12.890 align:start position:0%
the the person proving it does possess
that<00:06:10.199><c> no</c><00:06:10.320><c> commitment</c><00:06:10.880><c> and</c><00:06:11.880><c> finally</c><00:06:12.300><c> we</c><00:06:12.660><c> return</c>

00:06:12.890 --> 00:06:12.900 align:start position:0%
that no commitment and finally we return
 

00:06:12.900 --> 00:06:15.950 align:start position:0%
that no commitment and finally we return
our<00:06:13.259><c> nullifier</c><00:06:13.800><c> and</c><00:06:14.039><c> our</c><00:06:14.220><c> recipient</c><00:06:15.060><c> this</c><00:06:15.720><c> uh</c>

00:06:15.950 --> 00:06:15.960 align:start position:0%
our nullifier and our recipient this uh
 

00:06:15.960 --> 00:06:17.810 align:start position:0%
our nullifier and our recipient this uh
is<00:06:16.380><c> actually</c><00:06:16.560><c> constraining</c><00:06:17.460><c> these</c><00:06:17.699><c> two</c>

00:06:17.810 --> 00:06:17.820 align:start position:0%
is actually constraining these two
 

00:06:17.820 --> 00:06:19.670 align:start position:0%
is actually constraining these two
values<00:06:18.120><c> with</c><00:06:18.360><c> the</c><00:06:18.479><c> outputs</c><00:06:18.900><c> it's</c><00:06:19.440><c> a</c><00:06:19.620><c> little</c>

00:06:19.670 --> 00:06:19.680 align:start position:0%
values with the outputs it's a little
 

00:06:19.680 --> 00:06:21.529 align:start position:0%
values with the outputs it's a little
syntactic<00:06:20.400><c> sugar</c><00:06:20.520><c> that</c><00:06:20.940><c> we</c><00:06:21.060><c> have</c><00:06:21.180><c> for</c><00:06:21.360><c> our</c>

00:06:21.529 --> 00:06:21.539 align:start position:0%
syntactic sugar that we have for our
 

00:06:21.539 --> 00:06:23.749 align:start position:0%
syntactic sugar that we have for our
return<00:06:21.720><c> values</c><00:06:22.259><c> you</c><00:06:22.979><c> could</c><00:06:23.100><c> instead</c><00:06:23.520><c> for</c>

00:06:23.749 --> 00:06:23.759 align:start position:0%
return values you could instead for
 

00:06:23.759 --> 00:06:26.689 align:start position:0%
return values you could instead for
example<00:06:24.120><c> not</c><00:06:25.080><c> have</c><00:06:25.440><c> the</c><00:06:25.740><c> nullifier</c><00:06:26.340><c> be</c>

00:06:26.689 --> 00:06:26.699 align:start position:0%
example not have the nullifier be
 

00:06:26.699 --> 00:06:28.430 align:start position:0%
example not have the nullifier be
returned<00:06:27.120><c> as</c><00:06:27.240><c> public</c><00:06:27.419><c> output</c><00:06:27.840><c> you</c><00:06:28.319><c> could</c>

00:06:28.430 --> 00:06:28.440 align:start position:0%
returned as public output you could
 

00:06:28.440 --> 00:06:30.650 align:start position:0%
returned as public output you could
instill<00:06:28.740><c> Supply</c><00:06:29.100><c> it</c><00:06:29.400><c> as</c><00:06:29.580><c> public</c><00:06:29.819><c> input</c><00:06:30.240><c> and</c>

00:06:30.650 --> 00:06:30.660 align:start position:0%
instill Supply it as public input and
 

00:06:30.660 --> 00:06:32.210 align:start position:0%
instill Supply it as public input and
you<00:06:30.840><c> would</c><00:06:30.960><c> have</c><00:06:31.080><c> to</c><00:06:31.199><c> then</c><00:06:31.319><c> write</c><00:06:31.560><c> constrain</c>

00:06:32.210 --> 00:06:32.220 align:start position:0%
you would have to then write constrain
 

00:06:32.220 --> 00:06:34.909 align:start position:0%
you would have to then write constrain
like<00:06:32.940><c> nullify</c><00:06:33.479><c> or</c><00:06:33.660><c> hash</c><00:06:33.900><c> equals</c><00:06:34.259><c> nullify</c><00:06:34.740><c> or</c>

00:06:34.909 --> 00:06:34.919 align:start position:0%
like nullify or hash equals nullify or
 

00:06:34.919 --> 00:06:37.490 align:start position:0%
like nullify or hash equals nullify or
index<00:06:35.220><c> 0</c><00:06:35.400><c> there</c><00:06:35.759><c> but</c><00:06:36.539><c> this</c><00:06:36.960><c> is</c><00:06:37.080><c> happening</c>

00:06:37.490 --> 00:06:37.500 align:start position:0%
index 0 there but this is happening
 

00:06:37.500 --> 00:06:39.350 align:start position:0%
index 0 there but this is happening
implicitly<00:06:38.100><c> when</c><00:06:38.340><c> we</c><00:06:38.460><c> return</c><00:06:38.639><c> it</c><00:06:38.940><c> from</c><00:06:39.240><c> the</c>

00:06:39.350 --> 00:06:39.360 align:start position:0%
implicitly when we return it from the
 

00:06:39.360 --> 00:06:41.390 align:start position:0%
implicitly when we return it from the
circuit<00:06:39.660><c> right</c><00:06:39.900><c> there</c><00:06:40.080><c> as</c><00:06:40.620><c> this</c><00:06:40.800><c> circuit</c><00:06:41.160><c> is</c>

00:06:41.390 --> 00:06:41.400 align:start position:0%
circuit right there as this circuit is
 

00:06:41.400 --> 00:06:43.550 align:start position:0%
circuit right there as this circuit is
the<00:06:41.639><c> title</c><00:06:42.060><c> of</c><00:06:42.180><c> this</c><00:06:42.300><c> the</c><00:06:42.660><c> presentation</c><00:06:43.259><c> is</c>

00:06:43.550 --> 00:06:43.560 align:start position:0%
the title of this the presentation is
 

00:06:43.560 --> 00:06:46.430 align:start position:0%
the title of this the presentation is
it's<00:06:43.979><c> Noir</c><00:06:44.580><c> uh</c><00:06:45.479><c> private</c><00:06:45.780><c> transfer</c><00:06:46.139><c> in</c><00:06:46.259><c> 10</c>

00:06:46.430 --> 00:06:46.440 align:start position:0%
it's Noir uh private transfer in 10
 

00:06:46.440 --> 00:06:48.469 align:start position:0%
it's Noir uh private transfer in 10
lines<00:06:46.800><c> so</c><00:06:47.340><c> we</c><00:06:47.520><c> don't</c><00:06:47.639><c> really</c><00:06:47.759><c> show</c><00:06:48.000><c> a</c><00:06:48.240><c> lot</c><00:06:48.360><c> of</c>

00:06:48.469 --> 00:06:48.479 align:start position:0%
lines so we don't really show a lot of
 

00:06:48.479 --> 00:06:50.689 align:start position:0%
lines so we don't really show a lot of
what<00:06:48.780><c> the</c><00:06:49.139><c> Noir</c><00:06:49.440><c> syntax</c><00:06:49.919><c> looks</c><00:06:50.220><c> like</c><00:06:50.280><c> so</c><00:06:50.520><c> I</c>

00:06:50.689 --> 00:06:50.699 align:start position:0%
what the Noir syntax looks like so I
 

00:06:50.699 --> 00:06:52.670 align:start position:0%
what the Noir syntax looks like so I
wanted<00:06:50.819><c> to</c><00:06:51.120><c> quickly</c><00:06:51.419><c> highlight</c><00:06:52.259><c> what</c><00:06:52.620><c> else</c>

00:06:52.670 --> 00:06:52.680 align:start position:0%
wanted to quickly highlight what else
 

00:06:52.680 --> 00:06:55.670 align:start position:0%
wanted to quickly highlight what else
also<00:06:53.100><c> exists</c><00:06:53.400><c> in</c><00:06:53.580><c> Noir</c><00:06:54.419><c> we</c><00:06:55.020><c> do</c><00:06:55.199><c> have</c><00:06:55.319><c> compound</c>

00:06:55.670 --> 00:06:55.680 align:start position:0%
also exists in Noir we do have compound
 

00:06:55.680 --> 00:06:57.950 align:start position:0%
also exists in Noir we do have compound
data<00:06:56.039><c> types</c><00:06:56.280><c> such</c><00:06:56.520><c> as</c><00:06:56.639><c> arrays</c><00:06:57.180><c> tuples</c><00:06:57.660><c> and</c>

00:06:57.950 --> 00:06:57.960 align:start position:0%
data types such as arrays tuples and
 

00:06:57.960 --> 00:06:59.809 align:start position:0%
data types such as arrays tuples and
structs<00:06:58.380><c> as</c><00:06:58.500><c> you</c><00:06:58.620><c> can</c><00:06:58.740><c> see</c><00:06:58.860><c> right</c><00:06:59.039><c> there</c>

00:06:59.809 --> 00:06:59.819 align:start position:0%
structs as you can see right there
 

00:06:59.819 --> 00:07:01.730 align:start position:0%
structs as you can see right there
and<00:07:00.419><c> you</c><00:07:00.660><c> can</c><00:07:00.720><c> then</c><00:07:00.900><c> we</c><00:07:01.199><c> also</c><00:07:01.380><c> have</c><00:07:01.500><c> sub</c>

00:07:01.730 --> 00:07:01.740 align:start position:0%
and you can then we also have sub
 

00:07:01.740 --> 00:07:03.650 align:start position:0%
and you can then we also have sub
modules<00:07:02.160><c> so</c><00:07:02.400><c> you</c><00:07:02.580><c> can</c><00:07:02.639><c> easily</c><00:07:02.940><c> separate</c><00:07:03.419><c> your</c>

00:07:03.650 --> 00:07:03.660 align:start position:0%
modules so you can easily separate your
 

00:07:03.660 --> 00:07:06.230 align:start position:0%
modules so you can easily separate your
functions<00:07:04.080><c> as</c><00:07:04.319><c> you</c><00:07:04.500><c> as</c><00:07:04.740><c> you</c><00:07:04.919><c> see</c><00:07:05.039><c> fit</c><00:07:05.400><c> also</c>

00:07:06.230 --> 00:07:06.240 align:start position:0%
functions as you as you see fit also
 

00:07:06.240 --> 00:07:08.210 align:start position:0%
functions as you as you see fit also
just<00:07:06.419><c> recently</c><00:07:06.780><c> added</c><00:07:07.139><c> Global</c><00:07:07.500><c> consts</c><00:07:07.979><c> which</c>

00:07:08.210 --> 00:07:08.220 align:start position:0%
just recently added Global consts which
 

00:07:08.220 --> 00:07:09.710 align:start position:0%
just recently added Global consts which
you<00:07:08.400><c> can</c><00:07:08.460><c> also</c><00:07:08.699><c> import</c><00:07:08.880><c> as</c><00:07:09.180><c> you</c><00:07:09.300><c> would</c><00:07:09.419><c> in</c><00:07:09.600><c> any</c>

00:07:09.710 --> 00:07:09.720 align:start position:0%
you can also import as you would in any
 

00:07:09.720 --> 00:07:11.749 align:start position:0%
you can also import as you would in any
other<00:07:09.900><c> programming</c><00:07:10.800><c> language</c><00:07:10.919><c> such</c><00:07:11.280><c> as</c><00:07:11.400><c> rust</c>

00:07:11.749 --> 00:07:11.759 align:start position:0%
other programming language such as rust
 

00:07:11.759 --> 00:07:14.809 align:start position:0%
other programming language such as rust
or<00:07:12.479><c> control</c><00:07:12.720><c> flow</c><00:07:13.139><c> we</c><00:07:13.440><c> have</c><00:07:13.560><c> for</c><00:07:13.860><c> loops</c><00:07:14.280><c> and</c><00:07:14.580><c> if</c>

00:07:14.809 --> 00:07:14.819 align:start position:0%
or control flow we have for loops and if
 

00:07:14.819 --> 00:07:16.430 align:start position:0%
or control flow we have for loops and if
statements<00:07:15.360><c> and</c><00:07:15.720><c> we're</c><00:07:15.840><c> looking</c><00:07:16.080><c> to</c><00:07:16.259><c> add</c>

00:07:16.430 --> 00:07:16.440 align:start position:0%
statements and we're looking to add
 

00:07:16.440 --> 00:07:18.050 align:start position:0%
statements and we're looking to add
recursion<00:07:16.919><c> soon</c><00:07:17.160><c> as</c><00:07:17.340><c> well</c>

00:07:18.050 --> 00:07:18.060 align:start position:0%
recursion soon as well
 

00:07:18.060 --> 00:07:20.089 align:start position:0%
recursion soon as well
we<00:07:18.479><c> also</c><00:07:18.660><c> have</c><00:07:18.780><c> recently</c><00:07:19.080><c> added</c><00:07:19.380><c> to</c><00:07:19.500><c> generics</c>

00:07:20.089 --> 00:07:20.099 align:start position:0%
we also have recently added to generics
 

00:07:20.099 --> 00:07:22.010 align:start position:0%
we also have recently added to generics
which<00:07:20.340><c> is</c><00:07:20.520><c> highlighted</c><00:07:21.000><c> right</c><00:07:21.180><c> here</c><00:07:21.360><c> which</c><00:07:21.900><c> is</c>

00:07:22.010 --> 00:07:22.020 align:start position:0%
which is highlighted right here which is
 

00:07:22.020 --> 00:07:23.870 align:start position:0%
which is highlighted right here which is
a<00:07:22.199><c> great</c><00:07:22.319><c> benefit</c><00:07:22.560><c> to</c><00:07:23.099><c> the</c><00:07:23.280><c> developer</c>

00:07:23.870 --> 00:07:23.880 align:start position:0%
a great benefit to the developer
 

00:07:23.880 --> 00:07:26.270 align:start position:0%
a great benefit to the developer
experience<00:07:24.360><c> just</c><00:07:24.840><c> to</c><00:07:25.139><c> recap</c><00:07:25.440><c> we</c><00:07:25.860><c> try</c><00:07:25.979><c> and</c><00:07:26.160><c> be</c>

00:07:26.270 --> 00:07:26.280 align:start position:0%
experience just to recap we try and be
 

00:07:26.280 --> 00:07:29.089 align:start position:0%
experience just to recap we try and be
high<00:07:26.520><c> level</c><00:07:26.699><c> as</c><00:07:27.180><c> we</c><00:07:27.479><c> want</c><00:07:27.720><c> to</c><00:07:28.020><c> make</c><00:07:28.319><c> this</c><00:07:28.620><c> the</c>

00:07:29.089 --> 00:07:29.099 align:start position:0%
high level as we want to make this the
 

00:07:29.099 --> 00:07:31.129 align:start position:0%
high level as we want to make this the
development<00:07:29.520><c> experience</c><00:07:29.940><c> easier</c><00:07:30.360><c> but</c><00:07:30.720><c> also</c>

00:07:31.129 --> 00:07:31.139 align:start position:0%
development experience easier but also
 

00:07:31.139 --> 00:07:33.170 align:start position:0%
development experience easier but also
abstract<00:07:31.800><c> away</c><00:07:32.039><c> some</c><00:07:32.340><c> of</c><00:07:32.460><c> that</c><00:07:32.580><c> cryptographic</c>

00:07:33.170 --> 00:07:33.180 align:start position:0%
abstract away some of that cryptographic
 

00:07:33.180 --> 00:07:35.150 align:start position:0%
abstract away some of that cryptographic
safety<00:07:33.539><c> that</c><00:07:33.840><c> you</c><00:07:34.020><c> might</c><00:07:34.259><c> be</c><00:07:34.680><c> familiar</c><00:07:35.039><c> with</c>

00:07:35.150 --> 00:07:35.160 align:start position:0%
safety that you might be familiar with
 

00:07:35.160 --> 00:07:37.370 align:start position:0%
safety that you might be familiar with
in<00:07:35.340><c> other</c><00:07:35.460><c> ZK</c><00:07:35.880><c> circuit</c><00:07:36.300><c> languages</c><00:07:36.599><c> or</c><00:07:37.199><c> where</c>

00:07:37.370 --> 00:07:37.380 align:start position:0%
in other ZK circuit languages or where
 

00:07:37.380 --> 00:07:39.830 align:start position:0%
in other ZK circuit languages or where
you<00:07:37.560><c> have</c><00:07:37.740><c> to</c><00:07:38.039><c> directly</c><00:07:38.819><c> specify</c><00:07:39.300><c> essentially</c>

00:07:39.830 --> 00:07:39.840 align:start position:0%
you have to directly specify essentially
 

00:07:39.840 --> 00:07:42.110 align:start position:0%
you have to directly specify essentially
every<00:07:40.560><c> constraint</c><00:07:41.039><c> and</c><00:07:41.520><c> that's</c><00:07:41.639><c> the</c><00:07:41.819><c> ultimate</c>

00:07:42.110 --> 00:07:42.120 align:start position:0%
every constraint and that's the ultimate
 

00:07:42.120 --> 00:07:45.770 align:start position:0%
every constraint and that's the ultimate
goal<00:07:42.360><c> of</c><00:07:42.419><c> Noir</c><00:07:42.840><c> to</c><00:07:43.319><c> have</c><00:07:43.560><c> safety</c><00:07:44.039><c> and</c><00:07:44.819><c> the</c><00:07:45.539><c> a</c>

00:07:45.770 --> 00:07:45.780 align:start position:0%
goal of Noir to have safety and the a
 

00:07:45.780 --> 00:07:47.749 align:start position:0%
goal of Noir to have safety and the a
greater<00:07:46.080><c> development</c><00:07:46.440><c> experience</c><00:07:46.919><c> now</c><00:07:47.580><c> I'm</c>

00:07:47.749 --> 00:07:47.759 align:start position:0%
greater development experience now I'm
 

00:07:47.759 --> 00:07:48.830 align:start position:0%
greater development experience now I'm
actually<00:07:47.940><c> going</c><00:07:48.180><c> to</c><00:07:48.300><c> kind</c><00:07:48.419><c> of</c><00:07:48.479><c> walk</c><00:07:48.660><c> through</c>

00:07:48.830 --> 00:07:48.840 align:start position:0%
actually going to kind of walk through
 

00:07:48.840 --> 00:07:51.230 align:start position:0%
actually going to kind of walk through
how<00:07:49.139><c> you</c><00:07:49.380><c> would</c><00:07:49.500><c> use</c><00:07:49.620><c> our</c><00:07:49.860><c> wrapper</c><00:07:50.280><c> to</c><00:07:50.639><c> prove</c>

00:07:51.230 --> 00:07:51.240 align:start position:0%
how you would use our wrapper to prove
 

00:07:51.240 --> 00:07:52.969 align:start position:0%
how you would use our wrapper to prove
and<00:07:51.360><c> verify</c><00:07:51.780><c> this</c><00:07:51.960><c> circuit</c><00:07:52.380><c> in</c><00:07:52.620><c> typescript</c>

00:07:52.969 --> 00:07:52.979 align:start position:0%
and verify this circuit in typescript
 

00:07:52.979 --> 00:07:55.189 align:start position:0%
and verify this circuit in typescript
and<00:07:53.280><c> then</c><00:07:53.520><c> ultimately</c><00:07:54.180><c> in</c><00:07:54.419><c> the</c><00:07:54.539><c> browser</c><00:07:54.900><c> so</c>

00:07:55.189 --> 00:07:55.199 align:start position:0%
and then ultimately in the browser so
 

00:07:55.199 --> 00:07:58.249 align:start position:0%
and then ultimately in the browser so
that<00:07:55.500><c> clients</c><00:07:56.400><c> can</c><00:07:56.639><c> you</c><00:07:57.360><c> can</c><00:07:57.479><c> prove</c><00:07:57.900><c> on</c><00:07:58.139><c> the</c>

00:07:58.249 --> 00:07:58.259 align:start position:0%
that clients can you can prove on the
 

00:07:58.259 --> 00:07:59.450 align:start position:0%
that clients can you can prove on the
client<00:07:58.440><c> side</c>

00:07:59.450 --> 00:07:59.460 align:start position:0%
client side
 

00:07:59.460 --> 00:08:02.749 align:start position:0%
client side
we<00:08:00.060><c> have</c><00:08:00.180><c> a</c><00:08:00.300><c> Noir</c><00:08:00.660><c> JS</c><00:08:01.020><c> package</c><00:08:01.440><c> which</c><00:08:02.039><c> has</c><00:08:02.460><c> been</c>

00:08:02.749 --> 00:08:02.759 align:start position:0%
we have a Noir JS package which has been
 

00:08:02.759 --> 00:08:05.089 align:start position:0%
we have a Noir JS package which has been
created<00:08:03.060><c> to</c><00:08:03.300><c> allow</c><00:08:03.539><c> developer</c><00:08:04.080><c> to</c><00:08:04.500><c> you</c><00:08:04.979><c> can</c>

00:08:05.089 --> 00:08:05.099 align:start position:0%
created to allow developer to you can
 

00:08:05.099 --> 00:08:07.010 align:start position:0%
created to allow developer to you can
directly<00:08:05.699><c> compile</c><00:08:06.180><c> your</c><00:08:06.660><c> circuit</c><00:08:06.900><c> and</c>

00:08:07.010 --> 00:08:07.020 align:start position:0%
directly compile your circuit and
 

00:08:07.020 --> 00:08:09.350 align:start position:0%
directly compile your circuit and
typescript<00:08:07.380><c> as</c><00:08:07.620><c> you</c><00:08:07.740><c> see</c><00:08:07.860><c> there</c><00:08:08.099><c> but</c><00:08:08.759><c> in</c><00:08:09.180><c> this</c>

00:08:09.350 --> 00:08:09.360 align:start position:0%
typescript as you see there but in this
 

00:08:09.360 --> 00:08:11.990 align:start position:0%
typescript as you see there but in this
in<00:08:09.960><c> this</c><00:08:10.199><c> uh</c><00:08:10.440><c> package</c><00:08:10.919><c> you</c><00:08:11.160><c> can</c><00:08:11.220><c> also</c><00:08:11.520><c> read</c><00:08:11.759><c> in</c>

00:08:11.990 --> 00:08:12.000 align:start position:0%
in this uh package you can also read in
 

00:08:12.000 --> 00:08:14.210 align:start position:0%
in this uh package you can also read in
from<00:08:12.660><c> the</c><00:08:12.900><c> Acer</c><00:08:13.259><c> from</c><00:08:13.440><c> file</c><00:08:13.740><c> that</c><00:08:13.979><c> would</c><00:08:14.099><c> be</c>

00:08:14.210 --> 00:08:14.220 align:start position:0%
from the Acer from file that would be
 

00:08:14.220 --> 00:08:16.730 align:start position:0%
from the Acer from file that would be
generated<00:08:14.520><c> by</c><00:08:14.819><c> the</c><00:08:15.000><c> nargo</c><00:08:15.840><c> package</c><00:08:16.259><c> manager</c>

00:08:16.730 --> 00:08:16.740 align:start position:0%
generated by the nargo package manager
 

00:08:16.740 --> 00:08:19.430 align:start position:0%
generated by the nargo package manager
that's<00:08:17.520><c> a</c><00:08:17.940><c> choice</c><00:08:18.060><c> of</c><00:08:18.240><c> the</c><00:08:18.360><c> developer</c><00:08:18.780><c> but</c><00:08:19.139><c> in</c>

00:08:19.430 --> 00:08:19.440 align:start position:0%
that's a choice of the developer but in
 

00:08:19.440 --> 00:08:21.710 align:start position:0%
that's a choice of the developer but in
this<00:08:19.560><c> example</c><00:08:19.919><c> we</c><00:08:20.639><c> just</c><00:08:20.819><c> uh</c><00:08:21.120><c> we</c><00:08:21.360><c> just</c><00:08:21.479><c> show</c><00:08:21.599><c> you</c>

00:08:21.710 --> 00:08:21.720 align:start position:0%
this example we just uh we just show you
 

00:08:21.720 --> 00:08:23.990 align:start position:0%
this example we just uh we just show you
how<00:08:21.900><c> to</c><00:08:22.020><c> compile</c><00:08:22.319><c> it</c><00:08:22.500><c> directly</c><00:08:22.860><c> in</c><00:08:22.979><c> typescript</c>

00:08:23.990 --> 00:08:24.000 align:start position:0%
how to compile it directly in typescript
 

00:08:24.000 --> 00:08:26.390 align:start position:0%
how to compile it directly in typescript
so<00:08:24.660><c> after</c><00:08:24.960><c> we</c><00:08:25.199><c> have</c><00:08:25.319><c> an</c><00:08:25.500><c> object</c><00:08:25.740><c> representing</c>

00:08:26.390 --> 00:08:26.400 align:start position:0%
so after we have an object representing
 

00:08:26.400 --> 00:08:28.369 align:start position:0%
so after we have an object representing
our<00:08:26.580><c> Acer</c><00:08:27.000><c> we</c><00:08:27.300><c> then</c><00:08:27.479><c> just</c><00:08:27.599><c> have</c><00:08:27.780><c> to</c><00:08:27.900><c> specify</c>

00:08:28.369 --> 00:08:28.379 align:start position:0%
our Acer we then just have to specify
 

00:08:28.379 --> 00:08:30.950 align:start position:0%
our Acer we then just have to specify
our<00:08:28.620><c> ABI</c><00:08:29.099><c> and</c><00:08:29.759><c> the</c><00:08:29.879><c> ABI</c><00:08:30.300><c> is</c><00:08:30.419><c> what</c><00:08:30.599><c> the</c><00:08:30.720><c> prover</c>

00:08:30.950 --> 00:08:30.960 align:start position:0%
our ABI and the ABI is what the prover
 

00:08:30.960 --> 00:08:33.589 align:start position:0%
our ABI and the ABI is what the prover
is<00:08:31.440><c> going</c><00:08:31.560><c> to</c><00:08:31.680><c> be</c><00:08:31.740><c> providing</c><00:08:32.279><c> to</c><00:08:33.120><c> ultimately</c>

00:08:33.589 --> 00:08:33.599 align:start position:0%
is going to be providing to ultimately
 

00:08:33.599 --> 00:08:35.329 align:start position:0%
is going to be providing to ultimately
construct<00:08:34.020><c> our</c><00:08:34.200><c> proof</c><00:08:34.620><c> which</c><00:08:34.919><c> has</c><00:08:35.099><c> our</c>

00:08:35.329 --> 00:08:35.339 align:start position:0%
construct our proof which has our
 

00:08:35.339 --> 00:08:37.550 align:start position:0%
construct our proof which has our
private<00:08:35.820><c> and</c><00:08:36.419><c> public</c><00:08:36.599><c> inputs</c><00:08:37.200><c> and</c><00:08:37.440><c> that's</c>

00:08:37.550 --> 00:08:37.560 align:start position:0%
private and public inputs and that's
 

00:08:37.560 --> 00:08:39.050 align:start position:0%
private and public inputs and that's
going<00:08:37.740><c> to</c><00:08:37.860><c> be</c><00:08:37.919><c> used</c><00:08:38.099><c> to</c><00:08:38.399><c> generate</c><00:08:38.760><c> the</c><00:08:38.880><c> witness</c>

00:08:39.050 --> 00:08:39.060 align:start position:0%
going to be used to generate the witness
 

00:08:39.060 --> 00:08:41.930 align:start position:0%
going to be used to generate the witness
and<00:08:39.839><c> ultimately</c><00:08:40.440><c> generate</c><00:08:40.860><c> the</c><00:08:40.979><c> proof</c><00:08:41.279><c> so</c>

00:08:41.930 --> 00:08:41.940 align:start position:0%
and ultimately generate the proof so
 

00:08:41.940 --> 00:08:44.149 align:start position:0%
and ultimately generate the proof so
because<00:08:42.300><c> Noir</c><00:08:43.020><c> is</c><00:08:43.200><c> back</c><00:08:43.380><c> in</c><00:08:43.500><c> agnostic</c><00:08:43.979><c> though</c>

00:08:44.149 --> 00:08:44.159 align:start position:0%
because Noir is back in agnostic though
 

00:08:44.159 --> 00:08:46.490 align:start position:0%
because Noir is back in agnostic though
we<00:08:44.459><c> have</c><00:08:44.580><c> a</c><00:08:44.760><c> separate</c><00:08:45.060><c> wrapper</c><00:08:45.480><c> around</c><00:08:46.140><c> the</c>

00:08:46.490 --> 00:08:46.500 align:start position:0%
we have a separate wrapper around the
 

00:08:46.500 --> 00:08:49.250 align:start position:0%
we have a separate wrapper around the
Aztec<00:08:46.920><c> ruttenberg</c><00:08:47.399><c> back</c><00:08:47.640><c> end</c><00:08:47.760><c> and</c><00:08:48.480><c> that's</c><00:08:48.660><c> any</c>

00:08:49.250 --> 00:08:49.260 align:start position:0%
Aztec ruttenberg back end and that's any
 

00:08:49.260 --> 00:08:51.050 align:start position:0%
Aztec ruttenberg back end and that's any
other<00:08:49.440><c> backend</c><00:08:49.740><c> that's</c><00:08:49.980><c> gets</c><00:08:50.519><c> integrated</c><00:08:50.820><c> is</c>

00:08:51.050 --> 00:08:51.060 align:start position:0%
other backend that's gets integrated is
 

00:08:51.060 --> 00:08:52.190 align:start position:0%
other backend that's gets integrated is
going<00:08:51.240><c> to</c><00:08:51.360><c> have</c><00:08:51.420><c> to</c><00:08:51.540><c> do</c><00:08:51.660><c> the</c><00:08:51.779><c> same</c><00:08:51.899><c> thing</c><00:08:52.019><c> as</c>

00:08:52.190 --> 00:08:52.200 align:start position:0%
going to have to do the same thing as
 

00:08:52.200 --> 00:08:54.170 align:start position:0%
going to have to do the same thing as
well<00:08:52.380><c> because</c><00:08:52.920><c> this</c><00:08:53.339><c> backend</c><00:08:53.700><c> has</c><00:08:53.880><c> been</c><00:08:54.060><c> made</c>

00:08:54.170 --> 00:08:54.180 align:start position:0%
well because this backend has been made
 

00:08:54.180 --> 00:08:56.690 align:start position:0%
well because this backend has been made
to<00:08:54.480><c> match</c><00:08:54.660><c> the</c><00:08:55.019><c> Acer</c><00:08:55.380><c> interface</c><00:08:55.860><c> in</c><00:08:56.399><c> order</c><00:08:56.519><c> to</c>

00:08:56.690 --> 00:08:56.700 align:start position:0%
to match the Acer interface in order to
 

00:08:56.700 --> 00:08:58.850 align:start position:0%
to match the Acer interface in order to
set<00:08:56.820><c> up</c><00:08:56.880><c> the</c><00:08:57.060><c> prover</c><00:08:57.300><c> and</c><00:08:57.540><c> verifier</c><00:08:57.959><c> we</c><00:08:58.560><c> simply</c>

00:08:58.850 --> 00:08:58.860 align:start position:0%
set up the prover and verifier we simply
 

00:08:58.860 --> 00:09:01.070 align:start position:0%
set up the prover and verifier we simply
pass<00:08:59.160><c> in</c><00:08:59.339><c> the</c><00:08:59.519><c> Acer</c><00:08:59.940><c> and</c><00:09:00.540><c> as</c><00:09:00.779><c> you</c><00:09:00.899><c> can</c><00:09:00.959><c> see</c>

00:09:01.070 --> 00:09:01.080 align:start position:0%
pass in the Acer and as you can see
 

00:09:01.080 --> 00:09:03.530 align:start position:0%
pass in the Acer and as you can see
right<00:09:01.380><c> there</c><00:09:01.560><c> and</c><00:09:02.339><c> then</c><00:09:02.459><c> that</c><00:09:02.700><c> ABI</c><00:09:03.120><c> that</c><00:09:03.420><c> we</c>

00:09:03.530 --> 00:09:03.540 align:start position:0%
right there and then that ABI that we
 

00:09:03.540 --> 00:09:05.630 align:start position:0%
right there and then that ABI that we
specified<00:09:03.839><c> earlier</c><00:09:04.380><c> to</c><00:09:04.680><c> construct</c><00:09:05.040><c> our</c><00:09:05.220><c> proof</c>

00:09:05.630 --> 00:09:05.640 align:start position:0%
specified earlier to construct our proof
 

00:09:05.640 --> 00:09:07.490 align:start position:0%
specified earlier to construct our proof
and<00:09:06.180><c> then</c><00:09:06.300><c> we</c><00:09:06.480><c> just</c><00:09:06.600><c> pass</c><00:09:06.779><c> it</c><00:09:06.959><c> along</c><00:09:07.140><c> to</c><00:09:07.380><c> our</c>

00:09:07.490 --> 00:09:07.500 align:start position:0%
and then we just pass it along to our
 

00:09:07.500 --> 00:09:09.829 align:start position:0%
and then we just pass it along to our
verifier<00:09:07.980><c> one</c><00:09:08.640><c> thing</c><00:09:08.820><c> you</c><00:09:08.940><c> might</c><00:09:09.120><c> note</c><00:09:09.360><c> though</c>

00:09:09.829 --> 00:09:09.839 align:start position:0%
verifier one thing you might note though
 

00:09:09.839 --> 00:09:12.230 align:start position:0%
verifier one thing you might note though
is<00:09:10.260><c> that</c><00:09:10.680><c> you</c><00:09:11.040><c> don't</c><00:09:11.160><c> see</c><00:09:11.339><c> any</c><00:09:11.580><c> public</c><00:09:11.760><c> inputs</c>

00:09:12.230 --> 00:09:12.240 align:start position:0%
is that you don't see any public inputs
 

00:09:12.240 --> 00:09:13.910 align:start position:0%
is that you don't see any public inputs
being<00:09:12.420><c> passed</c><00:09:12.779><c> to</c><00:09:12.839><c> the</c><00:09:12.959><c> verifier</c><00:09:13.380><c> even</c><00:09:13.740><c> though</c>

00:09:13.910 --> 00:09:13.920 align:start position:0%
being passed to the verifier even though
 

00:09:13.920 --> 00:09:15.889 align:start position:0%
being passed to the verifier even though
we<00:09:14.160><c> have</c><00:09:14.279><c> we</c><00:09:14.940><c> had</c><00:09:15.060><c> that</c><00:09:15.240><c> in</c><00:09:15.420><c> our</c><00:09:15.540><c> circuit</c>

00:09:15.889 --> 00:09:15.899 align:start position:0%
we have we had that in our circuit
 

00:09:15.899 --> 00:09:17.810 align:start position:0%
we have we had that in our circuit
currently<00:09:16.620><c> the</c><00:09:16.860><c> proof</c><00:09:17.100><c> that</c><00:09:17.279><c> gets</c><00:09:17.519><c> spit</c><00:09:17.700><c> out</c>

00:09:17.810 --> 00:09:17.820 align:start position:0%
currently the proof that gets spit out
 

00:09:17.820 --> 00:09:20.449 align:start position:0%
currently the proof that gets spit out
by<00:09:17.940><c> brettenberg</c><00:09:18.540><c> is</c><00:09:18.899><c> pre-pending</c><00:09:19.500><c> those</c><00:09:19.740><c> as</c>

00:09:20.449 --> 00:09:20.459 align:start position:0%
by brettenberg is pre-pending those as
 

00:09:20.459 --> 00:09:23.509 align:start position:0%
by brettenberg is pre-pending those as
32<00:09:20.940><c> byte</c><00:09:21.300><c> hex</c><00:09:21.480><c> string</c><00:09:21.720><c> inputs</c><00:09:22.200><c> but</c><00:09:22.800><c> we</c><00:09:23.100><c> plan</c><00:09:23.339><c> to</c>

00:09:23.509 --> 00:09:23.519 align:start position:0%
32 byte hex string inputs but we plan to
 

00:09:23.519 --> 00:09:25.790 align:start position:0%
32 byte hex string inputs but we plan to
separate<00:09:23.940><c> that</c><00:09:24.420><c> as</c><00:09:24.600><c> developers</c><00:09:25.019><c> might</c><00:09:25.380><c> like</c>

00:09:25.790 --> 00:09:25.800 align:start position:0%
separate that as developers might like
 

00:09:25.800 --> 00:09:27.769 align:start position:0%
separate that as developers might like
to<00:09:26.160><c> have</c><00:09:26.459><c> those</c><00:09:26.700><c> inputs</c><00:09:27.060><c> separated</c><00:09:27.360><c> for</c><00:09:27.660><c> their</c>

00:09:27.769 --> 00:09:27.779 align:start position:0%
to have those inputs separated for their
 

00:09:27.779 --> 00:09:30.470 align:start position:0%
to have those inputs separated for their
own<00:09:27.899><c> development</c><00:09:28.260><c> purposes</c><00:09:28.740><c> but</c><00:09:29.580><c> that's</c>

00:09:30.470 --> 00:09:30.480 align:start position:0%
own development purposes but that's
 

00:09:30.480 --> 00:09:31.970 align:start position:0%
own development purposes but that's
just<00:09:30.839><c> to</c><00:09:31.019><c> take</c><00:09:31.140><c> note</c><00:09:31.320><c> of</c><00:09:31.440><c> why</c><00:09:31.620><c> you</c><00:09:31.740><c> don't</c><00:09:31.860><c> see</c>

00:09:31.970 --> 00:09:31.980 align:start position:0%
just to take note of why you don't see
 

00:09:31.980 --> 00:09:33.470 align:start position:0%
just to take note of why you don't see
any<00:09:32.160><c> public</c><00:09:32.399><c> inputs</c><00:09:32.760><c> being</c><00:09:32.940><c> passed</c><00:09:33.300><c> to</c><00:09:33.360><c> the</c>

00:09:33.470 --> 00:09:33.480 align:start position:0%
any public inputs being passed to the
 

00:09:33.480 --> 00:09:36.410 align:start position:0%
any public inputs being passed to the
verifier<00:09:33.839><c> there</c><00:09:34.080><c> so</c><00:09:34.680><c> we</c><00:09:34.980><c> can</c><00:09:35.160><c> this</c><00:09:35.820><c> it's</c><00:09:36.180><c> cool</c>

00:09:36.410 --> 00:09:36.420 align:start position:0%
verifier there so we can this it's cool
 

00:09:36.420 --> 00:09:37.670 align:start position:0%
verifier there so we can this it's cool
that<00:09:36.660><c> we</c><00:09:36.779><c> can</c><00:09:36.899><c> actually</c><00:09:37.019><c> verify</c><00:09:37.500><c> in</c>

00:09:37.670 --> 00:09:37.680 align:start position:0%
that we can actually verify in
 

00:09:37.680 --> 00:09:39.470 align:start position:0%
that we can actually verify in
typescript<00:09:38.040><c> but</c><00:09:38.459><c> we</c><00:09:38.760><c> want</c><00:09:38.880><c> to</c><00:09:39.000><c> be</c><00:09:39.120><c> able</c><00:09:39.240><c> to</c>

00:09:39.470 --> 00:09:39.480 align:start position:0%
typescript but we want to be able to
 

00:09:39.480 --> 00:09:41.810 align:start position:0%
typescript but we want to be able to
also<00:09:39.779><c> enable</c><00:09:40.080><c> this</c><00:09:40.380><c> in</c><00:09:40.920><c> smart</c><00:09:41.100><c> contracts</c><00:09:41.640><c> as</c>

00:09:41.810 --> 00:09:41.820 align:start position:0%
also enable this in smart contracts as
 

00:09:41.820 --> 00:09:44.329 align:start position:0%
also enable this in smart contracts as
well<00:09:41.940><c> so</c><00:09:42.779><c> Aztecs</c><00:09:43.320><c> brettenberg</c><00:09:43.680><c> backend</c><00:09:44.100><c> does</c>

00:09:44.329 --> 00:09:44.339 align:start position:0%
well so Aztecs brettenberg backend does
 

00:09:44.339 --> 00:09:46.190 align:start position:0%
well so Aztecs brettenberg backend does
allow<00:09:44.640><c> you</c><00:09:44.700><c> to</c><00:09:44.880><c> compile</c><00:09:45.180><c> from</c><00:09:45.480><c> a</c><00:09:45.600><c> Noir</c><00:09:45.959><c> program</c>

00:09:46.190 --> 00:09:46.200 align:start position:0%
allow you to compile from a Noir program
 

00:09:46.200 --> 00:09:48.230 align:start position:0%
allow you to compile from a Noir program
to<00:09:46.740><c> an</c><00:09:46.920><c> ethereum</c><00:09:47.279><c> contract</c>

00:09:48.230 --> 00:09:48.240 align:start position:0%
to an ethereum contract
 

00:09:48.240 --> 00:09:50.210 align:start position:0%
to an ethereum contract
improving<00:09:48.899><c> systems</c><00:09:49.260><c> looking</c><00:09:49.560><c> to</c><00:09:49.860><c> integrate</c>

00:09:50.210 --> 00:09:50.220 align:start position:0%
improving systems looking to integrate
 

00:09:50.220 --> 00:09:51.889 align:start position:0%
improving systems looking to integrate
Noir<00:09:50.640><c> are</c><00:09:50.880><c> going</c><00:09:51.060><c> to</c><00:09:51.180><c> have</c><00:09:51.240><c> to</c><00:09:51.360><c> provide</c><00:09:51.660><c> their</c>

00:09:51.889 --> 00:09:51.899 align:start position:0%
Noir are going to have to provide their
 

00:09:51.899 --> 00:09:53.570 align:start position:0%
Noir are going to have to provide their
own<00:09:52.019><c> implementation</c><00:09:52.560><c> of</c><00:09:52.800><c> how</c><00:09:52.920><c> to</c><00:09:53.040><c> generate</c><00:09:53.399><c> a</c>

00:09:53.570 --> 00:09:53.580 align:start position:0%
own implementation of how to generate a
 

00:09:53.580 --> 00:09:56.210 align:start position:0%
own implementation of how to generate a
solidity<00:09:53.940><c> verifier</c><00:09:54.420><c> or</c><00:09:55.320><c> if</c><00:09:55.560><c> you</c><00:09:55.740><c> choose</c><00:09:56.100><c> to</c>

00:09:56.210 --> 00:09:56.220 align:start position:0%
solidity verifier or if you choose to
 

00:09:56.220 --> 00:09:57.590 align:start position:0%
solidity verifier or if you choose to
use<00:09:56.339><c> any</c><00:09:56.580><c> other</c><00:09:56.700><c> smart</c><00:09:56.940><c> contract</c><00:09:57.300><c> platform</c>

00:09:57.590 --> 00:09:57.600 align:start position:0%
use any other smart contract platform
 

00:09:57.600 --> 00:09:58.850 align:start position:0%
use any other smart contract platform
you're<00:09:57.839><c> going</c><00:09:57.959><c> to</c><00:09:58.080><c> have</c><00:09:58.140><c> to</c><00:09:58.260><c> provide</c><00:09:58.560><c> that</c>

00:09:58.850 --> 00:09:58.860 align:start position:0%
you're going to have to provide that
 

00:09:58.860 --> 00:10:00.590 align:start position:0%
you're going to have to provide that
implementation<00:09:59.580><c> yourself</c><00:09:59.880><c> if</c><00:10:00.480><c> you're</c>

00:10:00.590 --> 00:10:00.600 align:start position:0%
implementation yourself if you're
 

00:10:00.600 --> 00:10:02.930 align:start position:0%
implementation yourself if you're
integrating<00:10:00.959><c> a</c><00:10:01.140><c> back</c><00:10:01.260><c> end</c><00:10:01.920><c> this</c><00:10:02.459><c> script</c><00:10:02.700><c> here</c>

00:10:02.930 --> 00:10:02.940 align:start position:0%
integrating a back end this script here
 

00:10:02.940 --> 00:10:05.210 align:start position:0%
integrating a back end this script here
shows<00:10:03.420><c> you</c><00:10:03.540><c> how</c><00:10:03.779><c> to</c><00:10:03.959><c> generate</c><00:10:04.440><c> a</c><00:10:04.800><c> solidity</c>

00:10:05.210 --> 00:10:05.220 align:start position:0%
shows you how to generate a solidity
 

00:10:05.220 --> 00:10:07.190 align:start position:0%
shows you how to generate a solidity
verifier<00:10:05.640><c> using</c><00:10:06.120><c> that</c><00:10:06.300><c> Aztec</c><00:10:06.720><c> brettenberg</c>

00:10:07.190 --> 00:10:07.200 align:start position:0%
verifier using that Aztec brettenberg
 

00:10:07.200 --> 00:10:09.829 align:start position:0%
verifier using that Aztec brettenberg
back<00:10:07.440><c> end</c><00:10:08.040><c> and</c><00:10:08.760><c> it's</c><00:10:09.120><c> important</c><00:10:09.420><c> to</c><00:10:09.540><c> take</c><00:10:09.660><c> note</c>

00:10:09.829 --> 00:10:09.839 align:start position:0%
back end and it's important to take note
 

00:10:09.839 --> 00:10:11.509 align:start position:0%
back end and it's important to take note
though<00:10:10.019><c> if</c><00:10:10.200><c> you</c><00:10:10.260><c> change</c><00:10:10.440><c> your</c><00:10:10.620><c> circuit</c><00:10:10.980><c> and</c>

00:10:11.509 --> 00:10:11.519 align:start position:0%
though if you change your circuit and
 

00:10:11.519 --> 00:10:13.910 align:start position:0%
though if you change your circuit and
don't<00:10:11.700><c> change</c><00:10:12.000><c> your</c><00:10:12.959><c> you</c><00:10:13.200><c> don't</c><00:10:13.320><c> regenerate</c>

00:10:13.910 --> 00:10:13.920 align:start position:0%
don't change your you don't regenerate
 

00:10:13.920 --> 00:10:15.710 align:start position:0%
don't change your you don't regenerate
your<00:10:14.220><c> solidity</c><00:10:14.640><c> verifier</c><00:10:15.060><c> with</c><00:10:15.300><c> the</c><00:10:15.420><c> script</c>

00:10:15.710 --> 00:10:15.720 align:start position:0%
your solidity verifier with the script
 

00:10:15.720 --> 00:10:17.630 align:start position:0%
your solidity verifier with the script
your<00:10:16.320><c> circuit</c><00:10:16.620><c> is</c><00:10:16.800><c> ultimately</c><00:10:17.100><c> going</c><00:10:17.339><c> to</c><00:10:17.459><c> fail</c>

00:10:17.630 --> 00:10:17.640 align:start position:0%
your circuit is ultimately going to fail
 

00:10:17.640 --> 00:10:19.970 align:start position:0%
your circuit is ultimately going to fail
as<00:10:18.120><c> you're</c><00:10:18.300><c> going</c><00:10:18.420><c> to</c><00:10:18.540><c> have</c><00:10:18.600><c> a</c><00:10:18.779><c> new</c><00:10:18.899><c> Acer</c><00:10:19.380><c> and</c>

00:10:19.970 --> 00:10:19.980 align:start position:0%
as you're going to have a new Acer and
 

00:10:19.980 --> 00:10:21.230 align:start position:0%
as you're going to have a new Acer and
you're<00:10:20.100><c> going</c><00:10:20.279><c> to</c><00:10:20.399><c> have</c><00:10:20.519><c> a</c><00:10:20.760><c> you're</c><00:10:20.940><c> going</c><00:10:21.120><c> to</c>

00:10:21.230 --> 00:10:21.240 align:start position:0%
you're going to have a you're going to
 

00:10:21.240 --> 00:10:23.090 align:start position:0%
you're going to have a you're going to
need<00:10:21.300><c> to</c><00:10:21.420><c> regenerate</c><00:10:21.959><c> that</c><00:10:22.200><c> verifier</c><00:10:22.680><c> in</c>

00:10:23.090 --> 00:10:23.100 align:start position:0%
need to regenerate that verifier in
 

00:10:23.100 --> 00:10:25.910 align:start position:0%
need to regenerate that verifier in
order<00:10:23.220><c> to</c><00:10:23.640><c> have</c><00:10:24.180><c> accurate</c><00:10:24.540><c> verification</c><00:10:25.019><c> and</c>

00:10:25.910 --> 00:10:25.920 align:start position:0%
order to have accurate verification and
 

00:10:25.920 --> 00:10:28.310 align:start position:0%
order to have accurate verification and
finally<00:10:26.339><c> we</c><00:10:26.519><c> can</c><00:10:26.640><c> actually</c><00:10:26.820><c> have</c><00:10:27.120><c> our</c><00:10:27.480><c> ta-da</c>

00:10:28.310 --> 00:10:28.320 align:start position:0%
finally we can actually have our ta-da
 

00:10:28.320 --> 00:10:29.990 align:start position:0%
finally we can actually have our ta-da
moment<00:10:28.620><c> and</c><00:10:28.980><c> verify</c><00:10:29.459><c> our</c><00:10:29.580><c> circuit</c><00:10:29.880><c> and</c>

00:10:29.990 --> 00:10:30.000 align:start position:0%
moment and verify our circuit and
 

00:10:30.000 --> 00:10:32.269 align:start position:0%
moment and verify our circuit and
solidity<00:10:30.420><c> so</c><00:10:31.260><c> using</c><00:10:31.860><c> your</c><00:10:32.100><c> favorite</c>

00:10:32.269 --> 00:10:32.279 align:start position:0%
solidity so using your favorite
 

00:10:32.279 --> 00:10:35.210 align:start position:0%
solidity so using your favorite
deployment<00:10:33.120><c> method</c><00:10:33.600><c> you</c><00:10:34.200><c> can</c><00:10:34.380><c> deploy</c><00:10:35.040><c> your</c>

00:10:35.210 --> 00:10:35.220 align:start position:0%
deployment method you can deploy your
 

00:10:35.220 --> 00:10:36.769 align:start position:0%
deployment method you can deploy your
turbo<00:10:35.519><c> verifier</c><00:10:35.940><c> as</c><00:10:36.060><c> you</c><00:10:36.180><c> would</c><00:10:36.300><c> any</c><00:10:36.480><c> other</c>

00:10:36.769 --> 00:10:36.779 align:start position:0%
turbo verifier as you would any other
 

00:10:36.779 --> 00:10:39.829 align:start position:0%
turbo verifier as you would any other
smart<00:10:37.440><c> contract</c><00:10:38.000><c> and</c><00:10:39.000><c> then</c><00:10:39.240><c> you</c><00:10:39.480><c> can</c><00:10:39.600><c> take</c>

00:10:39.829 --> 00:10:39.839 align:start position:0%
smart contract and then you can take
 

00:10:39.839 --> 00:10:41.150 align:start position:0%
smart contract and then you can take
that<00:10:40.080><c> proof</c><00:10:40.440><c> that</c><00:10:40.560><c> was</c><00:10:40.740><c> spit</c><00:10:40.920><c> out</c><00:10:41.040><c> from</c>

00:10:41.150 --> 00:10:41.160 align:start position:0%
that proof that was spit out from
 

00:10:41.160 --> 00:10:43.310 align:start position:0%
that proof that was spit out from
brettenberg<00:10:41.700><c> in</c><00:10:41.940><c> the</c><00:10:42.060><c> exact</c><00:10:42.240><c> same</c><00:10:42.420><c> way</c><00:10:42.660><c> with</c>

00:10:43.310 --> 00:10:43.320 align:start position:0%
brettenberg in the exact same way with
 

00:10:43.320 --> 00:10:45.350 align:start position:0%
brettenberg in the exact same way with
the<00:10:43.500><c> pre</c><00:10:43.620><c> with</c><00:10:44.100><c> the</c><00:10:44.220><c> public</c><00:10:44.339><c> inputs</c><00:10:44.880><c> prepended</c>

00:10:45.350 --> 00:10:45.360 align:start position:0%
the pre with the public inputs prepended
 

00:10:45.360 --> 00:10:47.930 align:start position:0%
the pre with the public inputs prepended
pass<00:10:46.079><c> it</c><00:10:46.260><c> to</c><00:10:46.380><c> the</c><00:10:46.440><c> verifier</c><00:10:46.920><c> and</c><00:10:47.519><c> if</c><00:10:47.700><c> your</c>

00:10:47.930 --> 00:10:47.940 align:start position:0%
pass it to the verifier and if your
 

00:10:47.940 --> 00:10:50.389 align:start position:0%
pass it to the verifier and if your
public<00:10:48.180><c> inputs</c><00:10:48.660><c> are</c><00:10:48.779><c> correct</c><00:10:49.079><c> and</c><00:10:50.040><c> your</c>

00:10:50.389 --> 00:10:50.399 align:start position:0%
public inputs are correct and your
 

00:10:50.399 --> 00:10:52.370 align:start position:0%
public inputs are correct and your
specified<00:10:50.760><c> your</c><00:10:51.000><c> circuit</c><00:10:51.360><c> correctly</c><00:10:51.720><c> it</c>

00:10:52.370 --> 00:10:52.380 align:start position:0%
specified your circuit correctly it
 

00:10:52.380 --> 00:10:54.110 align:start position:0%
specified your circuit correctly it
should<00:10:52.560><c> it</c><00:10:52.860><c> should</c><00:10:53.040><c> ultimately</c><00:10:53.399><c> return</c><00:10:53.760><c> true</c>

00:10:54.110 --> 00:10:54.120 align:start position:0%
should it should ultimately return true
 

00:10:54.120 --> 00:10:57.110 align:start position:0%
should it should ultimately return true
in<00:10:54.959><c> the</c><00:10:55.079><c> case</c><00:10:55.260><c> of</c><00:10:55.800><c> our</c><00:10:56.160><c> private</c><00:10:56.760><c> transfer</c>

00:10:57.110 --> 00:10:57.120 align:start position:0%
in the case of our private transfer
 

00:10:57.120 --> 00:10:58.970 align:start position:0%
in the case of our private transfer
we're<00:10:57.660><c> going</c><00:10:57.839><c> to</c><00:10:57.899><c> be</c><00:10:57.959><c> checking</c><00:10:58.380><c> is</c><00:10:58.800><c> that</c>

00:10:58.970 --> 00:10:58.980 align:start position:0%
we're going to be checking is that
 

00:10:58.980 --> 00:11:01.069 align:start position:0%
we're going to be checking is that
nullifier<00:10:59.519><c> hash</c><00:10:59.820><c> been</c><00:11:00.000><c> used</c><00:11:00.180><c> before</c><00:11:00.360><c> is</c><00:11:00.839><c> the</c>

00:11:01.069 --> 00:11:01.079 align:start position:0%
nullifier hash been used before is the
 

00:11:01.079 --> 00:11:04.790 align:start position:0%
nullifier hash been used before is the
root<00:11:01.440><c> uh</c><00:11:02.160><c> the</c><00:11:02.399><c> correct</c><00:11:02.640><c> route</c><00:11:02.839><c> and</c><00:11:03.839><c> upon</c>

00:11:04.790 --> 00:11:04.800 align:start position:0%
root uh the correct route and upon
 

00:11:04.800 --> 00:11:07.370 align:start position:0%
root uh the correct route and upon
having<00:11:05.160><c> a</c><00:11:05.640><c> verified</c><00:11:06.000><c> proof</c><00:11:06.540><c> we</c><00:11:07.019><c> can</c><00:11:07.140><c> actually</c>

00:11:07.370 --> 00:11:07.380 align:start position:0%
having a verified proof we can actually
 

00:11:07.380 --> 00:11:10.009 align:start position:0%
having a verified proof we can actually
then<00:11:07.620><c> perform</c><00:11:07.980><c> a</c><00:11:08.399><c> private</c><00:11:08.700><c> with</c><00:11:08.940><c> a</c><00:11:09.300><c> withdrawal</c>

00:11:10.009 --> 00:11:10.019 align:start position:0%
then perform a private with a withdrawal
 

00:11:10.019 --> 00:11:12.470 align:start position:0%
then perform a private with a withdrawal
and<00:11:10.680><c> that</c><00:11:10.920><c> that</c><00:11:11.160><c> note</c><00:11:11.399><c> that</c><00:11:11.700><c> will</c><00:11:11.820><c> be</c><00:11:12.000><c> entirely</c>

00:11:12.470 --> 00:11:12.480 align:start position:0%
and that that note that will be entirely
 

00:11:12.480 --> 00:11:15.650 align:start position:0%
and that that note that will be entirely
private<00:11:13.260><c> so</c><00:11:13.980><c> that's</c><00:11:14.640><c> that's</c><00:11:15.060><c> it</c><00:11:15.300><c> there</c><00:11:15.540><c> and</c>

00:11:15.650 --> 00:11:15.660 align:start position:0%
private so that's that's it there and
 

00:11:15.660 --> 00:11:18.230 align:start position:0%
private so that's that's it there and
you<00:11:15.839><c> can</c><00:11:15.959><c> see</c><00:11:16.079><c> a</c><00:11:16.260><c> more</c><00:11:16.500><c> full</c><00:11:16.740><c> example</c><00:11:17.220><c> with</c><00:11:17.760><c> the</c>

00:11:18.230 --> 00:11:18.240 align:start position:0%
you can see a more full example with the
 

00:11:18.240 --> 00:11:21.350 align:start position:0%
you can see a more full example with the
uh<00:11:18.779><c> simple</c><00:11:19.260><c> Shield</c><00:11:19.560><c> but</c><00:11:20.519><c> ultimately</c><00:11:20.940><c> here</c><00:11:21.180><c> the</c>

00:11:21.350 --> 00:11:21.360 align:start position:0%
uh simple Shield but ultimately here the
 

00:11:21.360 --> 00:11:23.090 align:start position:0%
uh simple Shield but ultimately here the
benefit<00:11:21.480><c> is</c><00:11:21.779><c> that</c><00:11:21.959><c> we</c><00:11:22.079><c> can</c><00:11:22.200><c> enable</c><00:11:22.440><c> autonomous</c>

00:11:23.090 --> 00:11:23.100 align:start position:0%
benefit is that we can enable autonomous
 

00:11:23.100 --> 00:11:25.610 align:start position:0%
benefit is that we can enable autonomous
execution<00:11:23.640><c> in</c><00:11:24.480><c> contracts</c><00:11:25.019><c> based</c><00:11:25.560><c> off</c>

00:11:25.610 --> 00:11:25.620 align:start position:0%
execution in contracts based off
 

00:11:25.620 --> 00:11:28.610 align:start position:0%
execution in contracts based off
verification<00:11:26.279><c> of</c><00:11:26.519><c> Noir</c><00:11:26.880><c> circuits</c><00:11:27.360><c> and</c><00:11:28.200><c> I</c><00:11:28.440><c> want</c>

00:11:28.610 --> 00:11:28.620 align:start position:0%
verification of Noir circuits and I want
 

00:11:28.620 --> 00:11:31.490 align:start position:0%
verification of Noir circuits and I want
to<00:11:28.800><c> also</c><00:11:29.100><c> discuss</c><00:11:29.880><c> some</c><00:11:30.480><c> of</c><00:11:30.600><c> the</c><00:11:30.839><c> future</c><00:11:31.140><c> work</c>

00:11:31.490 --> 00:11:31.500 align:start position:0%
to also discuss some of the future work
 

00:11:31.500 --> 00:11:33.650 align:start position:0%
to also discuss some of the future work
that<00:11:31.920><c> we're</c><00:11:32.100><c> going</c><00:11:32.220><c> to</c><00:11:32.339><c> be</c><00:11:32.399><c> doing</c><00:11:32.519><c> in</c><00:11:32.760><c> Noir</c><00:11:33.120><c> one</c>

00:11:33.650 --> 00:11:33.660 align:start position:0%
that we're going to be doing in Noir one
 

00:11:33.660 --> 00:11:35.269 align:start position:0%
that we're going to be doing in Noir one
of<00:11:33.779><c> the</c><00:11:33.839><c> main</c><00:11:33.959><c> things</c><00:11:34.260><c> that</c><00:11:34.620><c> we</c><00:11:34.860><c> want</c><00:11:34.980><c> to</c><00:11:35.100><c> add</c>

00:11:35.269 --> 00:11:35.279 align:start position:0%
of the main things that we want to add
 

00:11:35.279 --> 00:11:38.090 align:start position:0%
of the main things that we want to add
is<00:11:35.880><c> verify</c><00:11:36.420><c> proof</c><00:11:36.839><c> this</c><00:11:37.620><c> will</c><00:11:37.860><c> actually</c>

00:11:38.090 --> 00:11:38.100 align:start position:0%
is verify proof this will actually
 

00:11:38.100 --> 00:11:39.829 align:start position:0%
is verify proof this will actually
enable<00:11:38.459><c> us</c><00:11:38.640><c> to</c><00:11:38.760><c> have</c><00:11:38.880><c> recursive</c><00:11:39.360><c> snarks</c>

00:11:39.829 --> 00:11:39.839 align:start position:0%
enable us to have recursive snarks
 

00:11:39.839 --> 00:11:42.650 align:start position:0%
enable us to have recursive snarks
inside<00:11:40.019><c> of</c><00:11:40.320><c> Noir</c><00:11:40.860><c> itself</c><00:11:41.100><c> which</c><00:11:41.820><c> enables</c><00:11:42.360><c> many</c>

00:11:42.650 --> 00:11:42.660 align:start position:0%
inside of Noir itself which enables many
 

00:11:42.660 --> 00:11:44.509 align:start position:0%
inside of Noir itself which enables many
more<00:11:42.839><c> use</c><00:11:43.079><c> cases</c><00:11:43.440><c> than</c><00:11:43.740><c> you</c><00:11:43.920><c> can</c><00:11:44.100><c> currently</c>

00:11:44.509 --> 00:11:44.519 align:start position:0%
more use cases than you can currently
 

00:11:44.519 --> 00:11:45.350 align:start position:0%
more use cases than you can currently
have

00:11:45.350 --> 00:11:45.360 align:start position:0%
have
 

00:11:45.360 --> 00:11:48.829 align:start position:0%
have
uh<00:11:46.140><c> the</c><00:11:46.500><c> wrapper</c><00:11:46.920><c> itself</c><00:11:47.279><c> is</c><00:11:47.700><c> pretty</c><00:11:47.940><c> new</c><00:11:48.120><c> and</c>

00:11:48.829 --> 00:11:48.839 align:start position:0%
uh the wrapper itself is pretty new and
 

00:11:48.839 --> 00:11:50.509 align:start position:0%
uh the wrapper itself is pretty new and
we<00:11:49.079><c> want</c><00:11:49.200><c> to</c><00:11:49.440><c> improve</c><00:11:49.860><c> this</c><00:11:50.100><c> development</c>

00:11:50.509 --> 00:11:50.519 align:start position:0%
we want to improve this development
 

00:11:50.519 --> 00:11:53.210 align:start position:0%
we want to improve this development
signifi<00:11:51.420><c> these</c><00:11:52.200><c> development</c><00:11:52.500><c> tooling</c><00:11:52.860><c> submit</c>

00:11:53.210 --> 00:11:53.220 align:start position:0%
signifi these development tooling submit
 

00:11:53.220 --> 00:11:55.670 align:start position:0%
signifi these development tooling submit
significantly<00:11:53.940><c> to</c><00:11:54.420><c> make</c><00:11:54.899><c> it</c><00:11:55.019><c> easier</c><00:11:55.260><c> for</c>

00:11:55.670 --> 00:11:55.680 align:start position:0%
significantly to make it easier for
 

00:11:55.680 --> 00:11:58.009 align:start position:0%
significantly to make it easier for
anyone<00:11:56.100><c> looking</c><00:11:56.339><c> to</c><00:11:56.579><c> integrate</c><00:11:56.880><c> with</c><00:11:57.060><c> Noir</c>

00:11:58.009 --> 00:11:58.019 align:start position:0%
anyone looking to integrate with Noir
 

00:11:58.019 --> 00:11:59.990 align:start position:0%
anyone looking to integrate with Noir
we<00:11:58.560><c> also</c><00:11:58.740><c> want</c><00:11:58.860><c> to</c><00:11:59.040><c> integrate</c><00:11:59.339><c> it</c><00:11:59.459><c> with</c><00:11:59.640><c> Rebels</c>

00:11:59.990 --> 00:12:00.000 align:start position:0%
we also want to integrate it with Rebels
 

00:12:00.000 --> 00:12:01.910 align:start position:0%
we also want to integrate it with Rebels
such<00:12:00.180><c> as</c><00:12:00.300><c> ZK</c><00:12:00.660><c> Rebel</c><00:12:01.140><c> if</c><00:12:01.320><c> you're</c><00:12:01.440><c> familiar</c><00:12:01.740><c> with</c>

00:12:01.910 --> 00:12:01.920 align:start position:0%
such as ZK Rebel if you're familiar with
 

00:12:01.920 --> 00:12:04.009 align:start position:0%
such as ZK Rebel if you're familiar with
that<00:12:02.040><c> online</c><00:12:02.279><c> IDE</c><00:12:03.060><c> Integrations</c><00:12:03.660><c> other</c>

00:12:04.009 --> 00:12:04.019 align:start position:0%
that online IDE Integrations other
 

00:12:04.019 --> 00:12:07.069 align:start position:0%
that online IDE Integrations other
debugging<00:12:04.560><c> tools</c><00:12:04.920><c> a</c><00:12:05.579><c> language</c><00:12:05.760><c> server</c><00:12:06.240><c> lots</c>

00:12:07.069 --> 00:12:07.079 align:start position:0%
debugging tools a language server lots
 

00:12:07.079 --> 00:12:09.650 align:start position:0%
debugging tools a language server lots
of<00:12:07.140><c> development</c><00:12:07.560><c> tools</c><00:12:07.860><c> to</c><00:12:07.980><c> add</c><00:12:08.240><c> and</c><00:12:09.240><c> in</c><00:12:09.540><c> the</c>

00:12:09.650 --> 00:12:09.660 align:start position:0%
of development tools to add and in the
 

00:12:09.660 --> 00:12:11.569 align:start position:0%
of development tools to add and in the
medium<00:12:09.899><c> to</c><00:12:10.140><c> long</c><00:12:10.380><c> term</c><00:12:10.560><c> we're</c><00:12:11.339><c> going</c><00:12:11.459><c> to</c><00:12:11.519><c> be</c>

00:12:11.569 --> 00:12:11.579 align:start position:0%
medium to long term we're going to be
 

00:12:11.579 --> 00:12:14.269 align:start position:0%
medium to long term we're going to be
adding<00:12:11.820><c> Noir</c><00:12:12.240><c> contracts</c><00:12:12.720><c> and</c><00:12:13.440><c> Noir</c><00:12:13.860><c> contracts</c>

00:12:14.269 --> 00:12:14.279 align:start position:0%
adding Noir contracts and Noir contracts
 

00:12:14.279 --> 00:12:15.530 align:start position:0%
adding Noir contracts and Noir contracts
are<00:12:14.399><c> going</c><00:12:14.640><c> to</c><00:12:14.760><c> be</c><00:12:14.820><c> the</c><00:12:15.000><c> next</c><00:12:15.120><c> stage</c><00:12:15.360><c> of</c>

00:12:15.530 --> 00:12:15.540 align:start position:0%
are going to be the next stage of
 

00:12:15.540 --> 00:12:17.509 align:start position:0%
are going to be the next stage of
Aztec's<00:12:16.079><c> platform</c><00:12:16.440><c> where</c><00:12:17.100><c> we'll</c><00:12:17.279><c> actually</c>

00:12:17.509 --> 00:12:17.519 align:start position:0%
Aztec's platform where we'll actually
 

00:12:17.519 --> 00:12:20.509 align:start position:0%
Aztec's platform where we'll actually
have<00:12:17.820><c> public</c><00:12:18.180><c> and</c><00:12:18.420><c> private</c><00:12:18.839><c> state</c><00:12:19.339><c> which</c><00:12:20.339><c> is</c>

00:12:20.509 --> 00:12:20.519 align:start position:0%
have public and private state which is
 

00:12:20.519 --> 00:12:22.430 align:start position:0%
have public and private state which is
has<00:12:21.000><c> its</c><00:12:21.360><c> own</c><00:12:21.420><c> challenges</c><00:12:21.839><c> which</c><00:12:22.200><c> you</c><00:12:22.320><c> can</c>

00:12:22.430 --> 00:12:22.440 align:start position:0%
has its own challenges which you can
 

00:12:22.440 --> 00:12:24.650 align:start position:0%
has its own challenges which you can
attend<00:12:22.680><c> Mike</c><00:12:22.860><c> Connors</c><00:12:23.279><c> talk</c><00:12:23.519><c> at</c><00:12:23.820><c> 2</c><00:12:24.000><c> 30</c><00:12:24.240><c> from</c>

00:12:24.650 --> 00:12:24.660 align:start position:0%
attend Mike Connors talk at 2 30 from
 

00:12:24.660 --> 00:12:26.150 align:start position:0%
attend Mike Connors talk at 2 30 from
Aztec<00:12:25.140><c> who's</c><00:12:25.260><c> going</c><00:12:25.440><c> to</c><00:12:25.500><c> be</c><00:12:25.560><c> discussing</c><00:12:25.980><c> that</c>

00:12:26.150 --> 00:12:26.160 align:start position:0%
Aztec who's going to be discussing that
 

00:12:26.160 --> 00:12:28.490 align:start position:0%
Aztec who's going to be discussing that
infrastructure<00:12:26.760><c> and</c><00:12:27.660><c> how</c><00:12:27.899><c> we</c><00:12:28.079><c> actually</c><00:12:28.260><c> are</c>

00:12:28.490 --> 00:12:28.500 align:start position:0%
infrastructure and how we actually are
 

00:12:28.500 --> 00:12:31.130 align:start position:0%
infrastructure and how we actually are
going<00:12:28.680><c> to</c><00:12:28.860><c> enable</c><00:12:29.100><c> Smart</c><00:12:29.760><c> contracts</c><00:12:30.240><c> in</c><00:12:30.360><c> Noir</c>

00:12:31.130 --> 00:12:31.140 align:start position:0%
going to enable Smart contracts in Noir
 

00:12:31.140 --> 00:12:34.310 align:start position:0%
going to enable Smart contracts in Noir
if<00:12:31.860><c> you</c><00:12:32.100><c> have</c><00:12:32.459><c> any</c><00:12:32.700><c> questions</c><00:12:33.180><c> uh</c><00:12:34.079><c> please</c>

00:12:34.310 --> 00:12:34.320 align:start position:0%
if you have any questions uh please
 

00:12:34.320 --> 00:12:36.920 align:start position:0%
if you have any questions uh please
shoot<00:12:34.680><c> and</c><00:12:35.519><c> thank</c><00:12:35.760><c> you</c>

00:12:36.920 --> 00:12:36.930 align:start position:0%
shoot and thank you
 

00:12:36.930 --> 00:12:39.170 align:start position:0%
shoot and thank you
[Applause]

00:12:39.170 --> 00:12:39.180 align:start position:0%
[Applause]
 

00:12:39.180 --> 00:12:41.870 align:start position:0%
[Applause]
thank<00:12:39.660><c> you</c><00:12:39.779><c> so</c><00:12:39.899><c> much</c><00:12:40.019><c> Maxim</c><00:12:40.680><c> so</c><00:12:41.459><c> we</c><00:12:41.640><c> have</c><00:12:41.700><c> two</c>

00:12:41.870 --> 00:12:41.880 align:start position:0%
thank you so much Maxim so we have two
 

00:12:41.880 --> 00:12:43.250 align:start position:0%
thank you so much Maxim so we have two
volunteers

00:12:43.250 --> 00:12:43.260 align:start position:0%
volunteers
 

00:12:43.260 --> 00:12:45.410 align:start position:0%
volunteers
there<00:12:43.740><c> you</c><00:12:43.860><c> go</c><00:12:43.980><c> this</c><00:12:44.639><c> is</c><00:12:44.639><c> our</c><00:12:44.880><c> balloon</c><00:12:45.300><c> two</c>

00:12:45.410 --> 00:12:45.420 align:start position:0%
there you go this is our balloon two
 

00:12:45.420 --> 00:12:46.370 align:start position:0%
there you go this is our balloon two
coming

00:12:46.370 --> 00:12:46.380 align:start position:0%
coming
 

00:12:46.380 --> 00:12:50.269 align:start position:0%
coming
hey<00:12:46.980><c> good</c><00:12:47.820><c> afternoon</c><00:12:48.000><c> uh</c><00:12:48.899><c> very</c><00:12:49.200><c> impressive</c>

00:12:50.269 --> 00:12:50.279 align:start position:0%
hey good afternoon uh very impressive
 

00:12:50.279 --> 00:12:52.490 align:start position:0%
hey good afternoon uh very impressive
um<00:12:50.399><c> right</c><00:12:50.940><c> now</c><00:12:51.120><c> how</c><00:12:51.420><c> does</c><00:12:51.600><c> the</c><00:12:51.839><c> how</c><00:12:52.139><c> does</c><00:12:52.260><c> your</c>

00:12:52.490 --> 00:12:52.500 align:start position:0%
um right now how does the how does your
 

00:12:52.500 --> 00:12:54.410 align:start position:0%
um right now how does the how does your
tooling<00:12:52.860><c> work</c><00:12:53.040><c> for</c><00:12:53.220><c> this</c><00:12:53.399><c> uh</c><00:12:53.940><c> you</c><00:12:54.120><c> have</c><00:12:54.240><c> to</c>

00:12:54.410 --> 00:12:54.420 align:start position:0%
tooling work for this uh you have to
 

00:12:54.420 --> 00:12:57.650 align:start position:0%
tooling work for this uh you have to
compile<00:12:54.839><c> the</c><00:12:55.380><c> Noir</c><00:12:55.740><c> contract</c><00:12:56.540><c> and</c><00:12:57.540><c> then</c>

00:12:57.650 --> 00:12:57.660 align:start position:0%
compile the Noir contract and then
 

00:12:57.660 --> 00:13:01.490 align:start position:0%
compile the Noir contract and then
deploy<00:12:58.079><c> it</c><00:12:58.200><c> into</c><00:12:58.560><c> into</c><00:12:59.220><c> the</c><00:12:59.940><c> layer</c><00:13:00.779><c> two</c><00:13:00.959><c> into</c>

00:13:01.490 --> 00:13:01.500 align:start position:0%
deploy it into into the layer two into
 

00:13:01.500 --> 00:13:03.710 align:start position:0%
deploy it into into the layer two into
the<00:13:01.800><c> layer</c><00:13:02.100><c> two</c><00:13:02.220><c> or</c><00:13:02.519><c> the</c><00:13:02.579><c> layer</c><00:13:02.940><c> two</c><00:13:03.120><c> test</c><00:13:03.480><c> net</c>

00:13:03.710 --> 00:13:03.720 align:start position:0%
the layer two or the layer two test net
 

00:13:03.720 --> 00:13:06.590 align:start position:0%
the layer two or the layer two test net
or<00:13:04.019><c> something</c><00:13:04.260><c> not</c><00:13:04.860><c> right</c><00:13:05.040><c> now</c><00:13:05.220><c> that's</c>

00:13:06.590 --> 00:13:06.600 align:start position:0%
or something not right now that's
 

00:13:06.600 --> 00:13:08.750 align:start position:0%
or something not right now that's
that's<00:13:07.200><c> the</c><00:13:07.500><c> next</c><00:13:07.680><c> iteration</c><00:13:08.100><c> of</c><00:13:08.279><c> Aztec's</c>

00:13:08.750 --> 00:13:08.760 align:start position:0%
that's the next iteration of Aztec's
 

00:13:08.760 --> 00:13:10.550 align:start position:0%
that's the next iteration of Aztec's
platform<00:13:09.060><c> when</c><00:13:09.240><c> we</c><00:13:09.420><c> add</c><00:13:09.540><c> the</c><00:13:09.720><c> Noir</c><00:13:10.019><c> contracts</c>

00:13:10.550 --> 00:13:10.560 align:start position:0%
platform when we add the Noir contracts
 

00:13:10.560 --> 00:13:14.090 align:start position:0%
platform when we add the Noir contracts
this<00:13:11.220><c> is</c><00:13:11.339><c> a</c><00:13:11.519><c> purely</c><00:13:11.820><c> a</c><00:13:12.060><c> zkevm</c><00:13:13.019><c> DSL</c><00:13:13.680><c> right</c><00:13:13.920><c> now</c>

00:13:14.090 --> 00:13:14.100 align:start position:0%
this is a purely a zkevm DSL right now
 

00:13:14.100 --> 00:13:17.329 align:start position:0%
this is a purely a zkevm DSL right now
where<00:13:15.060><c> Aztec</c><00:13:15.959><c> can</c><00:13:16.079><c> generate</c><00:13:16.500><c> that</c><00:13:16.800><c> solidity</c>

00:13:17.329 --> 00:13:17.339 align:start position:0%
where Aztec can generate that solidity
 

00:13:17.339 --> 00:13:19.430 align:start position:0%
where Aztec can generate that solidity
verifier<00:13:17.940><c> and</c><00:13:18.540><c> you're</c><00:13:18.660><c> going</c><00:13:18.779><c> to</c><00:13:18.899><c> be</c><00:13:19.019><c> proving</c>

00:13:19.430 --> 00:13:19.440 align:start position:0%
verifier and you're going to be proving
 

00:13:19.440 --> 00:13:23.269 align:start position:0%
verifier and you're going to be proving
circuits<00:13:20.100><c> on</c><00:13:20.760><c> a</c><00:13:20.940><c> evm</c><00:13:21.420><c> platform</c><00:13:21.899><c> uh</c><00:13:22.860><c> you</c><00:13:23.100><c> can</c>

00:13:23.269 --> 00:13:23.279 align:start position:0%
circuits on a evm platform uh you can
 

00:13:23.279 --> 00:13:25.069 align:start position:0%
circuits on a evm platform uh you can
you<00:13:23.639><c> can</c><00:13:23.760><c> gener</c><00:13:24.000><c> like</c><00:13:24.360><c> I</c><00:13:24.480><c> showed</c><00:13:24.839><c> in</c><00:13:24.959><c> that</c>

00:13:25.069 --> 00:13:25.079 align:start position:0%
you can gener like I showed in that
 

00:13:25.079 --> 00:13:26.629 align:start position:0%
you can gener like I showed in that
example<00:13:25.320><c> you</c><00:13:25.560><c> can</c><00:13:25.620><c> compile</c><00:13:25.980><c> your</c><00:13:26.160><c> circuit</c><00:13:26.519><c> in</c>

00:13:26.629 --> 00:13:26.639 align:start position:0%
example you can compile your circuit in
 

00:13:26.639 --> 00:13:28.430 align:start position:0%
example you can compile your circuit in
typescript<00:13:26.940><c> but</c><00:13:27.660><c> you</c><00:13:27.779><c> can</c><00:13:27.899><c> also</c><00:13:28.079><c> use</c><00:13:28.200><c> our</c>

00:13:28.430 --> 00:13:28.440 align:start position:0%
typescript but you can also use our
 

00:13:28.440 --> 00:13:30.470 align:start position:0%
typescript but you can also use our
package<00:13:28.740><c> manager</c><00:13:29.160><c> which</c><00:13:29.579><c> I</c><00:13:29.880><c> briefly</c>

00:13:30.470 --> 00:13:30.480 align:start position:0%
package manager which I briefly
 

00:13:30.480 --> 00:13:32.389 align:start position:0%
package manager which I briefly
mentioned<00:13:30.899><c> to</c><00:13:31.320><c> generate</c><00:13:31.680><c> that</c><00:13:31.920><c> intermediate</c>

00:13:32.389 --> 00:13:32.399 align:start position:0%
mentioned to generate that intermediate
 

00:13:32.399 --> 00:13:34.250 align:start position:0%
mentioned to generate that intermediate
representation<00:13:32.940><c> that</c><00:13:33.720><c> intermediate</c>

00:13:34.250 --> 00:13:34.260 align:start position:0%
representation that intermediate
 

00:13:34.260 --> 00:13:35.990 align:start position:0%
representation that intermediate
representation<00:13:34.800><c> can</c><00:13:35.160><c> be</c><00:13:35.279><c> used</c><00:13:35.459><c> the</c><00:13:35.700><c> same</c><00:13:35.820><c> way</c>

00:13:35.990 --> 00:13:36.000 align:start position:0%
representation can be used the same way
 

00:13:36.000 --> 00:13:38.389 align:start position:0%
representation can be used the same way
that<00:13:36.420><c> that</c><00:13:36.600><c> that</c><00:13:37.200><c> it</c><00:13:37.500><c> was</c><00:13:37.620><c> used</c><00:13:37.740><c> there</c><00:13:37.980><c> you</c>

00:13:38.389 --> 00:13:38.399 align:start position:0%
that that that it was used there you
 

00:13:38.399 --> 00:13:40.370 align:start position:0%
that that that it was used there you
just<00:13:38.639><c> have</c><00:13:39.180><c> to</c><00:13:39.300><c> read</c><00:13:39.420><c> it</c><00:13:39.660><c> you're</c><00:13:39.959><c> reading</c><00:13:40.260><c> it</c>

00:13:40.370 --> 00:13:40.380 align:start position:0%
just have to read it you're reading it
 

00:13:40.380 --> 00:13:43.610 align:start position:0%
just have to read it you're reading it
in<00:13:40.500><c> from</c><00:13:40.680><c> file</c><00:13:41.040><c> using</c><00:13:42.000><c> our</c><00:13:42.360><c> same</c><00:13:42.839><c> our</c><00:13:43.200><c> wrapper</c>

00:13:43.610 --> 00:13:43.620 align:start position:0%
in from file using our same our wrapper
 

00:13:43.620 --> 00:13:45.829 align:start position:0%
in from file using our same our wrapper
method<00:13:43.920><c> so</c><00:13:44.100><c> you</c><00:13:44.220><c> don't</c><00:13:44.339><c> have</c><00:13:44.519><c> to</c><00:13:45.180><c> do</c><00:13:45.660><c> anything</c>

00:13:45.829 --> 00:13:45.839 align:start position:0%
method so you don't have to do anything
 

00:13:45.839 --> 00:13:47.750 align:start position:0%
method so you don't have to do anything
extra<00:13:46.260><c> for</c><00:13:46.560><c> serialization</c><00:13:47.160><c> that's</c><00:13:47.399><c> handled</c>

00:13:47.750 --> 00:13:47.760 align:start position:0%
extra for serialization that's handled
 

00:13:47.760 --> 00:13:50.269 align:start position:0%
extra for serialization that's handled
that's<00:13:48.120><c> handled</c><00:13:48.420><c> by</c><00:13:48.660><c> our</c><00:13:48.899><c> wrapper</c><00:13:49.620><c> yeah</c><00:13:50.040><c> right</c>

00:13:50.269 --> 00:13:50.279 align:start position:0%
that's handled by our wrapper yeah right
 

00:13:50.279 --> 00:13:52.490 align:start position:0%
that's handled by our wrapper yeah right
now<00:13:50.459><c> but</c><00:13:50.760><c> you</c><00:13:51.120><c> can</c><00:13:51.240><c> also</c><00:13:51.540><c> you</c><00:13:51.899><c> know</c><00:13:51.959><c> ver</c><00:13:52.139><c> you</c>

00:13:52.490 --> 00:13:52.500 align:start position:0%
now but you can also you know ver you
 

00:13:52.500 --> 00:13:54.230 align:start position:0%
now but you can also you know ver you
can<00:13:52.620><c> verify</c><00:13:52.920><c> without</c><00:13:53.100><c> the</c><00:13:53.339><c> evm</c><00:13:53.700><c> as</c><00:13:53.880><c> well</c><00:13:54.000><c> you</c>

00:13:54.230 --> 00:13:54.240 align:start position:0%
can verify without the evm as well you
 

00:13:54.240 --> 00:13:56.990 align:start position:0%
can verify without the evm as well you
can<00:13:54.300><c> just</c><00:13:54.420><c> verify</c><00:13:54.959><c> using</c><00:13:55.620><c> typescript</c><00:13:56.040><c> and</c><00:13:56.820><c> you</c>

00:13:56.990 --> 00:13:57.000 align:start position:0%
can just verify using typescript and you
 

00:13:57.000 --> 00:13:59.090 align:start position:0%
can just verify using typescript and you
don't<00:13:57.120><c> have</c><00:13:57.300><c> to</c><00:13:57.480><c> necessarily</c><00:13:57.959><c> have</c><00:13:58.380><c> a</c>

00:13:59.090 --> 00:13:59.100 align:start position:0%
don't have to necessarily have a
 

00:13:59.100 --> 00:14:01.490 align:start position:0%
don't have to necessarily have a
verification<00:13:59.600><c> using</c><00:14:00.600><c> a</c><00:14:00.720><c> solidity</c><00:14:01.139><c> contract</c>

00:14:01.490 --> 00:14:01.500 align:start position:0%
verification using a solidity contract
 

00:14:01.500 --> 00:14:03.769 align:start position:0%
verification using a solidity contract
that<00:14:01.680><c> depends</c><00:14:01.980><c> on</c><00:14:02.100><c> your</c><00:14:02.279><c> needs</c><00:14:02.579><c> but</c><00:14:03.300><c> a</c><00:14:03.600><c> lot</c><00:14:03.720><c> of</c>

00:14:03.769 --> 00:14:03.779 align:start position:0%
that depends on your needs but a lot of
 

00:14:03.779 --> 00:14:05.449 align:start position:0%
that depends on your needs but a lot of
people<00:14:03.899><c> like</c><00:14:04.139><c> to</c><00:14:04.320><c> have</c><00:14:04.500><c> that</c><00:14:04.800><c> autonomous</c>

00:14:05.449 --> 00:14:05.459 align:start position:0%
people like to have that autonomous
 

00:14:05.459 --> 00:14:07.009 align:start position:0%
people like to have that autonomous
execution

00:14:07.009 --> 00:14:07.019 align:start position:0%
execution
 

00:14:07.019 --> 00:14:09.829 align:start position:0%
execution
we<00:14:07.500><c> have</c><00:14:07.620><c> time</c><00:14:07.800><c> for</c><00:14:08.040><c> more</c><00:14:08.279><c> questions</c>

00:14:09.829 --> 00:14:09.839 align:start position:0%
we have time for more questions
 

00:14:09.839 --> 00:14:12.710 align:start position:0%
we have time for more questions
one<00:14:10.320><c> over</c><00:14:10.560><c> there</c><00:14:10.920><c> in</c><00:14:11.339><c> the</c><00:14:11.519><c> left</c><00:14:11.700><c> side</c><00:14:12.120><c> then</c><00:14:12.540><c> we</c>

00:14:12.710 --> 00:14:12.720 align:start position:0%
one over there in the left side then we
 

00:14:12.720 --> 00:14:15.290 align:start position:0%
one over there in the left side then we
have<00:14:12.899><c> two</c><00:14:13.200><c> more</c><00:14:13.560><c> here</c>

00:14:15.290 --> 00:14:15.300 align:start position:0%
have two more here
 

00:14:15.300 --> 00:14:18.590 align:start position:0%
have two more here
hey<00:14:15.959><c> hi</c><00:14:16.200><c> uh</c><00:14:16.620><c> it</c><00:14:16.740><c> was</c><00:14:16.860><c> amazing</c><00:14:17.279><c> uh</c><00:14:18.060><c> I</c><00:14:18.240><c> wanted</c><00:14:18.360><c> to</c>

00:14:18.590 --> 00:14:18.600 align:start position:0%
hey hi uh it was amazing uh I wanted to
 

00:14:18.600 --> 00:14:21.230 align:start position:0%
hey hi uh it was amazing uh I wanted to
ask<00:14:18.779><c> let's</c><00:14:19.139><c> say</c><00:14:19.380><c> as</c><00:14:19.980><c> a</c><00:14:20.160><c> developer</c><00:14:20.519><c> I</c><00:14:20.880><c> have</c><00:14:21.060><c> the</c>

00:14:21.230 --> 00:14:21.240 align:start position:0%
ask let's say as a developer I have the
 

00:14:21.240 --> 00:14:24.710 align:start position:0%
ask let's say as a developer I have the
choice<00:14:21.480><c> between</c><00:14:21.839><c> sarcom</c><00:14:22.500><c> and</c><00:14:22.860><c> Noir</c><00:14:23.220><c> now</c><00:14:23.720><c> both</c>

00:14:24.710 --> 00:14:24.720 align:start position:0%
choice between sarcom and Noir now both
 

00:14:24.720 --> 00:14:28.009 align:start position:0%
choice between sarcom and Noir now both
as<00:14:25.139><c> an</c><00:14:25.320><c> end</c><00:14:25.500><c> user</c><00:14:25.920><c> feature</c><00:14:26.760><c> provide</c><00:14:27.240><c> proof</c>

00:14:28.009 --> 00:14:28.019 align:start position:0%
as an end user feature provide proof
 

00:14:28.019 --> 00:14:30.110 align:start position:0%
as an end user feature provide proof
systems<00:14:28.380><c> with</c><00:14:28.560><c> Planck</c><00:14:28.980><c> and</c><00:14:29.040><c> growth</c><00:14:29.339><c> 16.</c><00:14:29.880><c> it's</c>

00:14:30.110 --> 00:14:30.120 align:start position:0%
systems with Planck and growth 16. it's
 

00:14:30.120 --> 00:14:32.449 align:start position:0%
systems with Planck and growth 16. it's
exactly<00:14:30.600><c> the</c><00:14:30.779><c> same</c><00:14:30.899><c> value</c><00:14:31.139><c> proposition</c><00:14:31.740><c> so</c>

00:14:32.449 --> 00:14:32.459 align:start position:0%
exactly the same value proposition so
 

00:14:32.459 --> 00:14:35.930 align:start position:0%
exactly the same value proposition so
why<00:14:32.700><c> would</c><00:14:32.940><c> you</c><00:14:33.120><c> say</c><00:14:33.420><c> that</c><00:14:34.399><c> uh</c><00:14:35.399><c> we</c><00:14:35.760><c> should</c>

00:14:35.930 --> 00:14:35.940 align:start position:0%
why would you say that uh we should
 

00:14:35.940 --> 00:14:37.730 align:start position:0%
why would you say that uh we should
experiment<00:14:36.480><c> with</c><00:14:36.720><c> Noir</c><00:14:37.139><c> instead</c><00:14:37.500><c> of</c><00:14:37.560><c> just</c>

00:14:37.730 --> 00:14:37.740 align:start position:0%
experiment with Noir instead of just
 

00:14:37.740 --> 00:14:39.889 align:start position:0%
experiment with Noir instead of just
going<00:14:37.920><c> with</c><00:14:38.220><c> sarcom</c><00:14:38.639><c> sorry</c><00:14:39.300><c> to</c><00:14:39.480><c> put</c><00:14:39.600><c> you</c><00:14:39.720><c> in</c><00:14:39.779><c> a</c>

00:14:39.889 --> 00:14:39.899 align:start position:0%
going with sarcom sorry to put you in a
 

00:14:39.899 --> 00:14:42.110 align:start position:0%
going with sarcom sorry to put you in a
position<00:14:40.019><c> no</c><00:14:40.260><c> no</c><00:14:40.320><c> it's</c><00:14:40.560><c> okay</c><00:14:40.740><c> uh</c><00:14:41.519><c> they</c><00:14:42.000><c> do</c>

00:14:42.110 --> 00:14:42.120 align:start position:0%
position no no it's okay uh they do
 

00:14:42.120 --> 00:14:44.210 align:start position:0%
position no no it's okay uh they do
serve<00:14:42.420><c> slightly</c><00:14:42.720><c> different</c><00:14:42.959><c> use</c><00:14:43.920><c> cases</c>

00:14:44.210 --> 00:14:44.220 align:start position:0%
serve slightly different use cases
 

00:14:44.220 --> 00:14:45.650 align:start position:0%
serve slightly different use cases
circum<00:14:44.760><c> is</c><00:14:44.880><c> definitely</c><00:14:45.120><c> a</c><00:14:45.240><c> much</c><00:14:45.360><c> more</c><00:14:45.480><c> low</c>

00:14:45.650 --> 00:14:45.660 align:start position:0%
circum is definitely a much more low
 

00:14:45.660 --> 00:14:47.689 align:start position:0%
circum is definitely a much more low
level<00:14:45.899><c> you're</c><00:14:46.740><c> going</c><00:14:46.920><c> to</c><00:14:47.040><c> have</c><00:14:47.160><c> to</c><00:14:47.399><c> be</c>

00:14:47.689 --> 00:14:47.699 align:start position:0%
level you're going to have to be
 

00:14:47.699 --> 00:14:49.490 align:start position:0%
level you're going to have to be
specifying<00:14:48.300><c> a</c><00:14:48.839><c> lot</c><00:14:48.899><c> of</c><00:14:49.019><c> the</c><00:14:49.139><c> constraints</c>

00:14:49.490 --> 00:14:49.500 align:start position:0%
specifying a lot of the constraints
 

00:14:49.500 --> 00:14:52.310 align:start position:0%
specifying a lot of the constraints
individually<00:14:50.040><c> while</c><00:14:50.820><c> in</c><00:14:51.060><c> the</c><00:14:51.240><c> language</c><00:14:51.420><c> we</c>

00:14:52.310 --> 00:14:52.320 align:start position:0%
individually while in the language we
 

00:14:52.320 --> 00:14:54.829 align:start position:0%
individually while in the language we
specify<00:14:52.740><c> those</c><00:14:52.920><c> constraints</c><00:14:53.399><c> for</c><00:14:53.639><c> you</c><00:14:53.839><c> a</c>

00:14:54.829 --> 00:14:54.839 align:start position:0%
specify those constraints for you a
 

00:14:54.839 --> 00:14:56.269 align:start position:0%
specify those constraints for you a
basic<00:14:55.139><c> example</c><00:14:55.440><c> there</c><00:14:55.620><c> when</c><00:14:55.860><c> I</c><00:14:55.980><c> talked</c><00:14:56.160><c> about</c>

00:14:56.269 --> 00:14:56.279 align:start position:0%
basic example there when I talked about
 

00:14:56.279 --> 00:14:58.850 align:start position:0%
basic example there when I talked about
if<00:14:56.519><c> statements</c><00:14:57.120><c> you</c><00:14:57.779><c> can</c><00:14:57.899><c> constrain</c><00:14:58.380><c> your</c>

00:14:58.850 --> 00:14:58.860 align:start position:0%
if statements you can constrain your
 

00:14:58.860 --> 00:15:01.610 align:start position:0%
if statements you can constrain your
your<00:14:59.399><c> on</c><00:15:00.300><c> if</c><00:15:00.540><c> statements</c><00:15:01.019><c> you</c><00:15:01.199><c> don't</c><00:15:01.320><c> have</c><00:15:01.500><c> to</c>

00:15:01.610 --> 00:15:01.620 align:start position:0%
your on if statements you don't have to
 

00:15:01.620 --> 00:15:04.430 align:start position:0%
your on if statements you don't have to
use<00:15:01.860><c> a</c><00:15:02.220><c> multiplexer</c><00:15:02.940><c> and</c><00:15:03.899><c> things</c><00:15:04.199><c> like</c><00:15:04.320><c> that</c>

00:15:04.430 --> 00:15:04.440 align:start position:0%
use a multiplexer and things like that
 

00:15:04.440 --> 00:15:05.750 align:start position:0%
use a multiplexer and things like that
that<00:15:04.620><c> make</c><00:15:04.860><c> it</c><00:15:04.980><c> just</c><00:15:05.160><c> easier</c><00:15:05.459><c> for</c><00:15:05.579><c> the</c>

00:15:05.750 --> 00:15:05.760 align:start position:0%
that make it just easier for the
 

00:15:05.760 --> 00:15:08.269 align:start position:0%
that make it just easier for the
developer<00:15:06.240><c> and</c><00:15:07.019><c> kind</c><00:15:07.260><c> of</c><00:15:07.380><c> lower</c><00:15:07.500><c> that</c><00:15:07.800><c> barrier</c>

00:15:08.269 --> 00:15:08.279 align:start position:0%
developer and kind of lower that barrier
 

00:15:08.279 --> 00:15:09.829 align:start position:0%
developer and kind of lower that barrier
from<00:15:08.579><c> someone</c><00:15:08.760><c> who's</c><00:15:09.000><c> maybe</c><00:15:09.180><c> moving</c><00:15:09.540><c> from</c>

00:15:09.829 --> 00:15:09.839 align:start position:0%
from someone who's maybe moving from
 

00:15:09.839 --> 00:15:13.069 align:start position:0%
from someone who's maybe moving from
who's<00:15:10.199><c> never</c><00:15:10.440><c> coded</c><00:15:10.800><c> ZK</c><00:15:11.100><c> circuits</c><00:15:11.579><c> before</c><00:15:12.079><c> and</c>

00:15:13.069 --> 00:15:13.079 align:start position:0%
who's never coded ZK circuits before and
 

00:15:13.079 --> 00:15:15.590 align:start position:0%
who's never coded ZK circuits before and
you<00:15:13.860><c> can</c><00:15:13.920><c> also</c><00:15:14.160><c> constrain</c><00:15:14.639><c> on</c><00:15:14.940><c> data</c><00:15:15.360><c> types</c>

00:15:15.590 --> 00:15:15.600 align:start position:0%
you can also constrain on data types
 

00:15:15.600 --> 00:15:17.569 align:start position:0%
you can also constrain on data types
outside<00:15:15.779><c> of</c><00:15:16.079><c> just</c><00:15:16.260><c> our</c><00:15:16.440><c> native</c><00:15:16.680><c> type</c><00:15:16.920><c> because</c>

00:15:17.569 --> 00:15:17.579 align:start position:0%
outside of just our native type because
 

00:15:17.579 --> 00:15:19.129 align:start position:0%
outside of just our native type because
they<00:15:17.940><c> everything</c><00:15:18.240><c> that</c><00:15:18.480><c> we</c><00:15:18.660><c> have</c><00:15:18.779><c> ultimately</c>

00:15:19.129 --> 00:15:19.139 align:start position:0%
they everything that we have ultimately
 

00:15:19.139 --> 00:15:22.310 align:start position:0%
they everything that we have ultimately
translates<00:15:19.680><c> to</c><00:15:20.100><c> that</c><00:15:20.279><c> and</c><00:15:21.120><c> we</c><00:15:21.360><c> do</c><00:15:21.480><c> have</c>

00:15:22.310 --> 00:15:22.320 align:start position:0%
translates to that and we do have
 

00:15:22.320 --> 00:15:26.210 align:start position:0%
translates to that and we do have
uh<00:15:23.579><c> I</c><00:15:24.180><c> know</c><00:15:24.300><c> you</c><00:15:24.779><c> can</c><00:15:25.019><c> currently</c><00:15:25.440><c> do</c><00:15:25.680><c> Planck</c>

00:15:26.210 --> 00:15:26.220 align:start position:0%
uh I know you can currently do Planck
 

00:15:26.220 --> 00:15:29.329 align:start position:0%
uh I know you can currently do Planck
but<00:15:26.820><c> I</c><00:15:27.060><c> believe</c><00:15:27.180><c> right</c><00:15:27.720><c> now</c><00:15:27.920><c> Noir</c><00:15:28.920><c> is</c><00:15:29.100><c> the</c><00:15:29.220><c> only</c>

00:15:29.329 --> 00:15:29.339 align:start position:0%
but I believe right now Noir is the only
 

00:15:29.339 --> 00:15:31.670 align:start position:0%
but I believe right now Noir is the only
language<00:15:29.579><c> that</c><00:15:29.940><c> actually</c><00:15:30.120><c> has</c><00:15:30.600><c> truly</c><00:15:31.260><c> fully</c>

00:15:31.670 --> 00:15:31.680 align:start position:0%
language that actually has truly fully
 

00:15:31.680 --> 00:15:34.310 align:start position:0%
language that actually has truly fully
integrated<00:15:32.220><c> Black</c><00:15:32.519><c> Box</c><00:15:32.760><c> functionality</c><00:15:33.480><c> where</c>

00:15:34.310 --> 00:15:34.320 align:start position:0%
integrated Black Box functionality where
 

00:15:34.320 --> 00:15:36.530 align:start position:0%
integrated Black Box functionality where
the<00:15:34.560><c> proving</c><00:15:34.800><c> system</c><00:15:35.040><c> is</c><00:15:35.399><c> specifying</c><00:15:36.000><c> the</c>

00:15:36.530 --> 00:15:36.540 align:start position:0%
the proving system is specifying the
 

00:15:36.540 --> 00:15:38.870 align:start position:0%
the proving system is specifying the
custom<00:15:36.720><c> Gates</c><00:15:37.139><c> and</c><00:15:37.500><c> making</c><00:15:37.740><c> those</c><00:15:38.399><c> functions</c>

00:15:38.870 --> 00:15:38.880 align:start position:0%
custom Gates and making those functions
 

00:15:38.880 --> 00:15:40.430 align:start position:0%
custom Gates and making those functions
faster

00:15:40.430 --> 00:15:40.440 align:start position:0%
faster
 

00:15:40.440 --> 00:15:41.810 align:start position:0%
faster
hi

00:15:41.810 --> 00:15:41.820 align:start position:0%
hi
 

00:15:41.820 --> 00:15:44.870 align:start position:0%
hi
um<00:15:41.940><c> why</c><00:15:42.660><c> base</c><00:15:42.899><c> Noir</c><00:15:43.500><c> off</c><00:15:43.860><c> rust</c><00:15:44.220><c> are</c><00:15:44.699><c> there</c>

00:15:44.870 --> 00:15:44.880 align:start position:0%
um why base Noir off rust are there
 

00:15:44.880 --> 00:15:46.670 align:start position:0%
um why base Noir off rust are there
certain<00:15:45.060><c> properties</c><00:15:45.480><c> of</c><00:15:45.660><c> rust</c><00:15:45.959><c> that</c><00:15:46.260><c> make</c><00:15:46.440><c> it</c>

00:15:46.670 --> 00:15:46.680 align:start position:0%
certain properties of rust that make it
 

00:15:46.680 --> 00:15:48.769 align:start position:0%
certain properties of rust that make it
you<00:15:46.980><c> know</c><00:15:47.040><c> a</c><00:15:47.279><c> better</c><00:15:47.399><c> language</c><00:15:47.699><c> for</c><00:15:48.060><c> this</c><00:15:48.240><c> well</c>

00:15:48.769 --> 00:15:48.779 align:start position:0%
you know a better language for this well
 

00:15:48.779 --> 00:15:50.569 align:start position:0%
you know a better language for this well
we<00:15:49.079><c> want</c><00:15:49.199><c> to</c><00:15:49.380><c> one</c><00:15:49.800><c> of</c><00:15:49.920><c> the</c><00:15:49.980><c> main</c><00:15:50.040><c> focuses</c><00:15:50.459><c> of</c>

00:15:50.569 --> 00:15:50.579 align:start position:0%
we want to one of the main focuses of
 

00:15:50.579 --> 00:15:54.050 align:start position:0%
we want to one of the main focuses of
noir's<00:15:51.060><c> safety</c><00:15:51.420><c> and</c><00:15:52.199><c> Noah</c><00:15:53.100><c> and</c><00:15:53.459><c> rust</c><00:15:53.699><c> that</c>

00:15:54.050 --> 00:15:54.060 align:start position:0%
noir's safety and Noah and rust that
 

00:15:54.060 --> 00:15:56.449 align:start position:0%
noir's safety and Noah and rust that
same<00:15:54.240><c> thing</c><00:15:54.360><c> in</c><00:15:54.480><c> Russ</c><00:15:54.720><c> right</c><00:15:55.139><c> and</c><00:15:55.860><c> rust</c><00:15:56.220><c> is</c>

00:15:56.449 --> 00:15:56.459 align:start position:0%
same thing in Russ right and rust is
 

00:15:56.459 --> 00:15:59.269 align:start position:0%
same thing in Russ right and rust is
also<00:15:57.019><c> just</c><00:15:58.019><c> a</c><00:15:58.260><c> nice</c><00:15:58.320><c> language</c>

00:15:59.269 --> 00:15:59.279 align:start position:0%
also just a nice language
 

00:15:59.279 --> 00:16:02.090 align:start position:0%
also just a nice language
uh<00:15:59.820><c> thanks</c><00:16:00.120><c> a</c><00:16:00.360><c> lot</c><00:16:00.480><c> for</c><00:16:00.600><c> for</c><00:16:00.839><c> the</c><00:16:01.019><c> talk</c><00:16:01.139><c> uh</c><00:16:01.920><c> I</c>

00:16:02.090 --> 00:16:02.100 align:start position:0%
uh thanks a lot for for the talk uh I
 

00:16:02.100 --> 00:16:03.530 align:start position:0%
uh thanks a lot for for the talk uh I
was<00:16:02.220><c> wondering</c><00:16:02.459><c> do</c><00:16:02.639><c> you</c><00:16:02.820><c> have</c><00:16:02.940><c> some</c><00:16:03.120><c> tools</c>

00:16:03.530 --> 00:16:03.540 align:start position:0%
was wondering do you have some tools
 

00:16:03.540 --> 00:16:05.629 align:start position:0%
was wondering do you have some tools
where<00:16:03.839><c> am</c><00:16:03.959><c> I</c><00:16:04.079><c> looking</c><00:16:04.199><c> sorry</c><00:16:04.440><c> I'm</c><00:16:04.920><c> here</c><00:16:05.040><c> oh</c><00:16:05.339><c> hey</c>

00:16:05.629 --> 00:16:05.639 align:start position:0%
where am I looking sorry I'm here oh hey
 

00:16:05.639 --> 00:16:07.970 align:start position:0%
where am I looking sorry I'm here oh hey
hello<00:16:05.940><c> uh</c><00:16:06.660><c> thanks</c><00:16:06.899><c> for</c><00:16:07.139><c> the</c><00:16:07.199><c> for</c><00:16:07.440><c> the</c><00:16:07.560><c> talk</c><00:16:07.680><c> uh</c>

00:16:07.970 --> 00:16:07.980 align:start position:0%
hello uh thanks for the for the talk uh
 

00:16:07.980 --> 00:16:10.129 align:start position:0%
hello uh thanks for the for the talk uh
do<00:16:08.220><c> you</c><00:16:08.339><c> have</c><00:16:08.399><c> some</c><00:16:08.579><c> tools</c><00:16:08.940><c> for</c><00:16:09.240><c> uh</c><00:16:09.779><c> testing</c>

00:16:10.129 --> 00:16:10.139 align:start position:0%
do you have some tools for uh testing
 

00:16:10.139 --> 00:16:13.189 align:start position:0%
do you have some tools for uh testing
the<00:16:10.320><c> logic</c><00:16:10.620><c> of</c><00:16:10.740><c> the</c><00:16:10.860><c> circuits</c><00:16:11.779><c> uh</c><00:16:12.779><c> right</c><00:16:13.019><c> now</c>

00:16:13.189 --> 00:16:13.199 align:start position:0%
the logic of the circuits uh right now
 

00:16:13.199 --> 00:16:14.930 align:start position:0%
the logic of the circuits uh right now
it's<00:16:13.680><c> essentially</c><00:16:14.040><c> you're</c><00:16:14.519><c> gonna</c><00:16:14.639><c> have</c><00:16:14.820><c> to</c>

00:16:14.930 --> 00:16:14.940 align:start position:0%
it's essentially you're gonna have to
 

00:16:14.940 --> 00:16:17.269 align:start position:0%
it's essentially you're gonna have to
write<00:16:15.060><c> your</c><00:16:15.300><c> tests</c><00:16:15.720><c> in</c><00:16:16.019><c> typescript</c><00:16:16.500><c> we</c><00:16:17.040><c> hope</c>

00:16:17.269 --> 00:16:17.279 align:start position:0%
write your tests in typescript we hope
 

00:16:17.279 --> 00:16:19.009 align:start position:0%
write your tests in typescript we hope
to<00:16:17.399><c> add</c><00:16:17.579><c> debugging</c><00:16:18.120><c> tools</c><00:16:18.420><c> that's</c><00:16:18.600><c> one</c><00:16:18.839><c> of</c><00:16:18.959><c> the</c>

00:16:19.009 --> 00:16:19.019 align:start position:0%
to add debugging tools that's one of the
 

00:16:19.019 --> 00:16:20.810 align:start position:0%
to add debugging tools that's one of the
main<00:16:19.139><c> things</c><00:16:19.380><c> that</c><00:16:20.160><c> need</c><00:16:20.279><c> to</c><00:16:20.399><c> be</c><00:16:20.519><c> added</c><00:16:20.760><c> to</c>

00:16:20.810 --> 00:16:20.820 align:start position:0%
main things that need to be added to
 

00:16:20.820 --> 00:16:23.569 align:start position:0%
main things that need to be added to
make<00:16:21.000><c> the</c><00:16:21.120><c> tooling</c><00:16:21.420><c> more</c><00:16:21.600><c> effective</c><00:16:22.220><c> uh</c><00:16:23.220><c> yeah</c>

00:16:23.569 --> 00:16:23.579 align:start position:0%
make the tooling more effective uh yeah
 

00:16:23.579 --> 00:16:25.370 align:start position:0%
make the tooling more effective uh yeah
you're<00:16:23.820><c> gonna</c><00:16:23.940><c> have</c><00:16:24.120><c> to</c><00:16:24.420><c> essentially</c><00:16:24.779><c> test</c><00:16:25.199><c> it</c>

00:16:25.370 --> 00:16:25.380 align:start position:0%
you're gonna have to essentially test it
 

00:16:25.380 --> 00:16:26.750 align:start position:0%
you're gonna have to essentially test it
either<00:16:25.500><c> in</c><00:16:25.680><c> typescript</c><00:16:25.980><c> you</c><00:16:26.220><c> can</c><00:16:26.339><c> test</c><00:16:26.459><c> it</c><00:16:26.639><c> in</c>

00:16:26.750 --> 00:16:26.760 align:start position:0%
either in typescript you can test it in
 

00:16:26.760 --> 00:16:29.150 align:start position:0%
either in typescript you can test it in
Rust<00:16:27.060><c> too</c><00:16:27.240><c> and</c><00:16:27.480><c> use</c><00:16:27.600><c> the</c><00:16:27.779><c> nargo</c><00:16:28.199><c> package</c>

00:16:29.150 --> 00:16:29.160 align:start position:0%
Rust too and use the nargo package
 

00:16:29.160 --> 00:16:31.490 align:start position:0%
Rust too and use the nargo package
manager<00:16:29.639><c> that's</c><00:16:30.480><c> up</c><00:16:30.660><c> to</c><00:16:30.779><c> you</c><00:16:30.899><c> but</c><00:16:31.199><c> I</c><00:16:31.380><c> only</c>

00:16:31.490 --> 00:16:31.500 align:start position:0%
manager that's up to you but I only
 

00:16:31.500 --> 00:16:33.170 align:start position:0%
manager that's up to you but I only
highlighted<00:16:31.980><c> typescript</c><00:16:32.399><c> here</c><00:16:32.639><c> because</c><00:16:32.880><c> most</c>

00:16:33.170 --> 00:16:33.180 align:start position:0%
highlighted typescript here because most
 

00:16:33.180 --> 00:16:34.790 align:start position:0%
highlighted typescript here because most
contract<00:16:33.899><c> developers</c><00:16:34.320><c> are</c><00:16:34.500><c> probably</c><00:16:34.680><c> going</c>

00:16:34.790 --> 00:16:34.800 align:start position:0%
contract developers are probably going
 

00:16:34.800 --> 00:16:36.170 align:start position:0%
contract developers are probably going
to<00:16:34.920><c> lean</c><00:16:35.100><c> towards</c><00:16:35.339><c> that</c>

00:16:36.170 --> 00:16:36.180 align:start position:0%
to lean towards that
 

00:16:36.180 --> 00:16:39.410 align:start position:0%
to lean towards that
okay<00:16:36.660><c> thanks</c><00:16:37.019><c> we</c><00:16:37.860><c> still</c><00:16:38.100><c> have</c><00:16:38.279><c> time</c><00:16:38.519><c> for</c><00:16:39.000><c> more</c>

00:16:39.410 --> 00:16:39.420 align:start position:0%
okay thanks we still have time for more
 

00:16:39.420 --> 00:16:41.810 align:start position:0%
okay thanks we still have time for more
questions<00:16:39.660><c> five</c><00:16:40.320><c> minutes</c><00:16:40.560><c> more</c><00:16:40.920><c> there</c><00:16:41.519><c> you</c><00:16:41.699><c> go</c>

00:16:41.810 --> 00:16:41.820 align:start position:0%
questions five minutes more there you go
 

00:16:41.820 --> 00:16:43.129 align:start position:0%
questions five minutes more there you go
on<00:16:42.120><c> the</c><00:16:42.240><c> right</c>

00:16:43.129 --> 00:16:43.139 align:start position:0%
on the right
 

00:16:43.139 --> 00:16:45.470 align:start position:0%
on the right
thank<00:16:43.680><c> you</c><00:16:43.800><c> uh</c><00:16:44.399><c> just</c><00:16:44.639><c> a</c><00:16:44.699><c> quick</c><00:16:44.820><c> question</c><00:16:45.060><c> on</c>

00:16:45.470 --> 00:16:45.480 align:start position:0%
thank you uh just a quick question on
 

00:16:45.480 --> 00:16:49.129 align:start position:0%
thank you uh just a quick question on
the<00:16:45.720><c> first</c><00:16:46.019><c> uh</c><00:16:46.500><c> like</c><00:16:47.040><c> code</c><00:16:47.399><c> sample</c><00:16:48.060><c> you</c><00:16:48.420><c> had</c><00:16:48.540><c> uh</c>

00:16:49.129 --> 00:16:49.139 align:start position:0%
the first uh like code sample you had uh
 

00:16:49.139 --> 00:16:51.410 align:start position:0%
the first uh like code sample you had uh
I<00:16:49.440><c> could</c><00:16:49.500><c> see</c><00:16:49.680><c> the</c><00:16:49.800><c> STD</c><00:16:50.279><c> the</c><00:16:50.399><c> STD</c><00:16:50.759><c> package</c><00:16:51.120><c> was</c>

00:16:51.410 --> 00:16:51.420 align:start position:0%
I could see the STD the STD package was
 

00:16:51.420 --> 00:16:54.110 align:start position:0%
I could see the STD the STD package was
under<00:16:51.660><c> a</c><00:16:52.019><c> depth</c><00:16:52.500><c> uh</c><00:16:53.100><c> namespace</c><00:16:53.639><c> and</c><00:16:53.880><c> I</c><00:16:54.000><c> was</c>

00:16:54.110 --> 00:16:54.120 align:start position:0%
under a depth uh namespace and I was
 

00:16:54.120 --> 00:16:55.610 align:start position:0%
under a depth uh namespace and I was
wondering<00:16:54.420><c> where</c><00:16:54.660><c> that</c><00:16:54.899><c> is</c>

00:16:55.610 --> 00:16:55.620 align:start position:0%
wondering where that is
 

00:16:55.620 --> 00:16:58.189 align:start position:0%
wondering where that is
that's<00:16:55.980><c> just</c><00:16:56.220><c> our</c><00:16:56.519><c> I</c><00:16:56.759><c> guess</c><00:16:56.880><c> native</c><00:16:57.480><c> kind</c><00:16:58.079><c> of</c>

00:16:58.189 --> 00:16:58.199 align:start position:0%
that's just our I guess native kind of
 

00:16:58.199 --> 00:16:59.870 align:start position:0%
that's just our I guess native kind of
dependencies<00:16:58.740><c> and</c><00:16:59.220><c> that's</c><00:16:59.339><c> how</c><00:16:59.519><c> we</c><00:16:59.639><c> do</c><00:16:59.820><c> it</c>

00:16:59.870 --> 00:16:59.880 align:start position:0%
dependencies and that's how we do it
 

00:16:59.880 --> 00:17:03.110 align:start position:0%
dependencies and that's how we do it
like<00:17:00.120><c> we</c><00:17:00.420><c> you</c><00:17:00.899><c> can</c><00:17:01.079><c> also</c><00:17:01.320><c> import</c><00:17:01.560><c> from</c><00:17:02.459><c> from</c>

00:17:03.110 --> 00:17:03.120 align:start position:0%
like we you can also import from from
 

00:17:03.120 --> 00:17:05.210 align:start position:0%
like we you can also import from from
GitHub<00:17:03.660><c> or</c><00:17:04.140><c> you</c><00:17:04.260><c> can</c><00:17:04.380><c> have</c><00:17:04.500><c> modules</c><00:17:04.919><c> as</c><00:17:05.100><c> you</c>

00:17:05.210 --> 00:17:05.220 align:start position:0%
GitHub or you can have modules as you
 

00:17:05.220 --> 00:17:07.669 align:start position:0%
GitHub or you can have modules as you
would<00:17:05.400><c> normally</c><00:17:05.939><c> in</c><00:17:06.120><c> Rust</c><00:17:06.360><c> within</c><00:17:06.900><c> your</c><00:17:07.199><c> uh</c>

00:17:07.669 --> 00:17:07.679 align:start position:0%
would normally in Rust within your uh
 

00:17:07.679 --> 00:17:11.090 align:start position:0%
would normally in Rust within your uh
where<00:17:07.919><c> it</c><00:17:08.100><c> would</c><00:17:08.220><c> be</c><00:17:08.339><c> like</c><00:17:08.579><c> mod</c><00:17:09.360><c> something</c><00:17:10.100><c> and</c>

00:17:11.090 --> 00:17:11.100 align:start position:0%
where it would be like mod something and
 

00:17:11.100 --> 00:17:13.429 align:start position:0%
where it would be like mod something and
you<00:17:11.339><c> can</c><00:17:11.400><c> also</c><00:17:11.699><c> import</c><00:17:12.179><c> packages</c><00:17:12.900><c> from</c><00:17:13.140><c> within</c>

00:17:13.429 --> 00:17:13.439 align:start position:0%
you can also import packages from within
 

00:17:13.439 --> 00:17:14.750 align:start position:0%
you can also import packages from within
a<00:17:13.559><c> crate</c><00:17:13.799><c> as</c><00:17:13.980><c> well</c><00:17:14.100><c> where</c><00:17:14.280><c> it</c><00:17:14.400><c> would</c><00:17:14.520><c> be</c><00:17:14.640><c> like</c>

00:17:14.750 --> 00:17:14.760 align:start position:0%
a crate as well where it would be like
 

00:17:14.760 --> 00:17:17.329 align:start position:0%
a crate as well where it would be like
create<00:17:15.000><c> this</c><00:17:15.839><c> uh</c><00:17:16.620><c> and</c><00:17:16.799><c> that</c><00:17:16.919><c> would</c><00:17:17.040><c> be</c><00:17:17.160><c> the</c>

00:17:17.329 --> 00:17:17.339 align:start position:0%
create this uh and that would be the
 

00:17:17.339 --> 00:17:19.309 align:start position:0%
create this uh and that would be the
import<00:17:17.459><c> that's</c><00:17:18.299><c> just</c><00:17:18.480><c> how</c><00:17:18.600><c> we</c><00:17:18.720><c> import</c><00:17:18.900><c> our</c>

00:17:19.309 --> 00:17:19.319 align:start position:0%
import that's just how we import our
 

00:17:19.319 --> 00:17:20.870 align:start position:0%
import that's just how we import our
standard<00:17:20.040><c> Library</c>

00:17:20.870 --> 00:17:20.880 align:start position:0%
standard Library
 

00:17:20.880 --> 00:17:23.630 align:start position:0%
standard Library
yeah<00:17:21.360><c> like</c><00:17:21.540><c> rust</c><00:17:21.839><c> crates</c><00:17:22.140><c> uh</c><00:17:22.559><c> our</c><00:17:22.799><c> our</c><00:17:23.220><c> nargo</c>

00:17:23.630 --> 00:17:23.640 align:start position:0%
yeah like rust crates uh our our nargo
 

00:17:23.640 --> 00:17:26.090 align:start position:0%
yeah like rust crates uh our our nargo
kind<00:17:24.059><c> of</c><00:17:24.179><c> it</c><00:17:24.419><c> it's</c><00:17:24.839><c> not</c><00:17:25.020><c> like</c><00:17:25.260><c> a</c><00:17:25.380><c> copy</c><00:17:25.679><c> of</c><00:17:25.799><c> cargo</c>

00:17:26.090 --> 00:17:26.100 align:start position:0%
kind of it it's not like a copy of cargo
 

00:17:26.100 --> 00:17:28.429 align:start position:0%
kind of it it's not like a copy of cargo
but<00:17:26.339><c> it</c><00:17:27.120><c> kind</c><00:17:27.480><c> of</c><00:17:27.600><c> mocks</c><00:17:27.900><c> that</c><00:17:28.020><c> functionality</c>

00:17:28.429 --> 00:17:28.439 align:start position:0%
but it kind of mocks that functionality
 

00:17:28.439 --> 00:17:31.310 align:start position:0%
but it kind of mocks that functionality
with<00:17:28.740><c> crates</c><00:17:29.040><c> and</c><00:17:29.520><c> modules</c><00:17:29.940><c> so</c><00:17:30.540><c> you</c><00:17:30.780><c> can</c><00:17:30.900><c> have</c>

00:17:31.310 --> 00:17:31.320 align:start position:0%
with crates and modules so you can have
 

00:17:31.320 --> 00:17:33.590 align:start position:0%
with crates and modules so you can have
you<00:17:31.919><c> can</c><00:17:32.040><c> import</c><00:17:32.280><c> modules</c><00:17:33.000><c> from</c><00:17:33.179><c> within</c><00:17:33.480><c> your</c>

00:17:33.590 --> 00:17:33.600 align:start position:0%
you can import modules from within your
 

00:17:33.600 --> 00:17:36.049 align:start position:0%
you can import modules from within your
crate<00:17:33.900><c> using</c><00:17:34.320><c> use</c><00:17:34.559><c> crate</c><00:17:34.980><c> and</c><00:17:35.460><c> then</c><00:17:35.580><c> whatever</c>

00:17:36.049 --> 00:17:36.059 align:start position:0%
crate using use crate and then whatever
 

00:17:36.059 --> 00:17:37.549 align:start position:0%
crate using use crate and then whatever
else<00:17:36.360><c> you'd</c><00:17:36.660><c> like</c>

00:17:37.549 --> 00:17:37.559 align:start position:0%
else you'd like
 

00:17:37.559 --> 00:17:40.669 align:start position:0%
else you'd like
it's<00:17:37.860><c> a</c><00:17:38.400><c> very</c><00:17:38.700><c> nice</c><00:17:38.880><c> talk</c><00:17:39.179><c> uh</c><00:17:40.080><c> in</c><00:17:40.260><c> the</c><00:17:40.440><c> next</c>

00:17:40.669 --> 00:17:40.679 align:start position:0%
it's a very nice talk uh in the next
 

00:17:40.679 --> 00:17:43.789 align:start position:0%
it's a very nice talk uh in the next
phase<00:17:40.919><c> of</c><00:17:41.160><c> of</c><00:17:41.640><c> Aztec</c><00:17:42.299><c> 3</c><00:17:42.480><c> uh</c><00:17:43.320><c> can</c><00:17:43.559><c> you</c><00:17:43.679><c> talk</c>

00:17:43.789 --> 00:17:43.799 align:start position:0%
phase of of Aztec 3 uh can you talk
 

00:17:43.799 --> 00:17:46.070 align:start position:0%
phase of of Aztec 3 uh can you talk
about<00:17:43.919><c> the</c><00:17:44.220><c> process</c><00:17:44.580><c> process</c><00:17:45.299><c> of</c><00:17:45.600><c> converting</c>

00:17:46.070 --> 00:17:46.080 align:start position:0%
about the process process of converting
 

00:17:46.080 --> 00:17:48.710 align:start position:0%
about the process process of converting
existing<00:17:46.620><c> circuits</c><00:17:47.100><c> to</c><00:17:47.340><c> Noir</c><00:17:47.880><c> what</c><00:17:48.539><c> do</c><00:17:48.660><c> you</c>

00:17:48.710 --> 00:17:48.720 align:start position:0%
existing circuits to Noir what do you
 

00:17:48.720 --> 00:17:49.909 align:start position:0%
existing circuits to Noir what do you
mean<00:17:48.780><c> existing</c><00:17:49.260><c> circuits</c><00:17:49.620><c> you</c><00:17:49.740><c> mean</c>

00:17:49.909 --> 00:17:49.919 align:start position:0%
mean existing circuits you mean
 

00:17:49.919 --> 00:17:53.510 align:start position:0%
mean existing circuits you mean
contracts<00:17:50.640><c> like</c><00:17:51.360><c> the</c><00:17:51.720><c> uh</c><00:17:52.440><c> so</c><00:17:52.559><c> in</c><00:17:52.799><c> Aztec</c><00:17:53.340><c> 3</c>

00:17:53.510 --> 00:17:53.520 align:start position:0%
contracts like the uh so in Aztec 3
 

00:17:53.520 --> 00:17:55.730 align:start position:0%
contracts like the uh so in Aztec 3
you're<00:17:54.299><c> planning</c><00:17:54.600><c> on</c><00:17:54.720><c> converting</c><00:17:55.200><c> existing</c>

00:17:55.730 --> 00:17:55.740 align:start position:0%
you're planning on converting existing
 

00:17:55.740 --> 00:17:58.669 align:start position:0%
you're planning on converting existing
circuits<00:17:56.220><c> to</c><00:17:56.400><c> Noir</c><00:17:56.940><c> I</c><00:17:57.539><c> assume</c><00:17:57.960><c> so</c><00:17:58.380><c> that's</c>

00:17:58.669 --> 00:17:58.679 align:start position:0%
circuits to Noir I assume so that's
 

00:17:58.679 --> 00:18:00.169 align:start position:0%
circuits to Noir I assume so that's
actually<00:17:58.919><c> probably</c><00:17:59.400><c> you'd</c><00:17:59.820><c> want</c><00:17:59.940><c> to</c><00:18:00.000><c> go</c><00:18:00.120><c> to</c>

00:18:00.169 --> 00:18:00.179 align:start position:0%
actually probably you'd want to go to
 

00:18:00.179 --> 00:18:02.330 align:start position:0%
actually probably you'd want to go to
Mike's<00:18:00.480><c> talk</c><00:18:00.660><c> to</c><00:18:01.320><c> see</c><00:18:01.559><c> more</c><00:18:01.799><c> it's</c><00:18:02.100><c> very</c>

00:18:02.330 --> 00:18:02.340 align:start position:0%
Mike's talk to see more it's very
 

00:18:02.340 --> 00:18:04.970 align:start position:0%
Mike's talk to see more it's very
interesting<00:18:02.700><c> how</c><00:18:03.059><c> the</c><00:18:03.360><c> infrastructure</c><00:18:04.260><c> works</c>

00:18:04.970 --> 00:18:04.980 align:start position:0%
interesting how the infrastructure works
 

00:18:04.980 --> 00:18:07.669 align:start position:0%
interesting how the infrastructure works
essentially<00:18:05.820><c> though</c><00:18:06.660><c> each</c><00:18:07.080><c> function</c><00:18:07.380><c> in</c><00:18:07.559><c> the</c>

00:18:07.669 --> 00:18:07.679 align:start position:0%
essentially though each function in the
 

00:18:07.679 --> 00:18:09.169 align:start position:0%
essentially though each function in the
contract<00:18:07.919><c> is</c><00:18:08.100><c> going</c><00:18:08.280><c> to</c><00:18:08.340><c> be</c><00:18:08.400><c> a</c><00:18:08.580><c> circuit</c><00:18:08.880><c> but</c>

00:18:09.169 --> 00:18:09.179 align:start position:0%
contract is going to be a circuit but
 

00:18:09.179 --> 00:18:11.029 align:start position:0%
contract is going to be a circuit but
how<00:18:09.480><c> that</c><00:18:09.720><c> actually</c><00:18:09.960><c> gets</c><00:18:10.260><c> integrated</c><00:18:10.620><c> into</c>

00:18:11.029 --> 00:18:11.039 align:start position:0%
how that actually gets integrated into
 

00:18:11.039 --> 00:18:13.190 align:start position:0%
how that actually gets integrated into
the<00:18:11.700><c> system</c><00:18:11.880><c> you're</c><00:18:12.539><c> going</c><00:18:12.720><c> to</c><00:18:12.840><c> have</c><00:18:12.960><c> to</c>

00:18:13.190 --> 00:18:13.200 align:start position:0%
the system you're going to have to
 

00:18:13.200 --> 00:18:15.049 align:start position:0%
the system you're going to have to
attend<00:18:13.740><c> Mike's</c><00:18:14.100><c> talk</c><00:18:14.220><c> to</c><00:18:14.460><c> get</c><00:18:14.580><c> more</c><00:18:14.700><c> info</c><00:18:14.940><c> on</c>

00:18:15.049 --> 00:18:15.059 align:start position:0%
attend Mike's talk to get more info on
 

00:18:15.059 --> 00:18:16.850 align:start position:0%
attend Mike's talk to get more info on
that<00:18:15.240><c> it's</c><00:18:15.419><c> very</c><00:18:15.660><c> interesting</c><00:18:16.020><c> we</c><00:18:16.679><c> have</c>

00:18:16.850 --> 00:18:16.860 align:start position:0%
that it's very interesting we have
 

00:18:16.860 --> 00:18:18.590 align:start position:0%
that it's very interesting we have
someone<00:18:16.980><c> from</c><00:18:17.280><c> Team</c><00:18:17.520><c> here</c><00:18:17.760><c> as</c><00:18:18.000><c> well</c><00:18:18.120><c> if</c><00:18:18.419><c> you</c>

00:18:18.590 --> 00:18:18.600 align:start position:0%
someone from Team here as well if you
 

00:18:18.600 --> 00:18:21.049 align:start position:0%
someone from Team here as well if you
want<00:18:19.200><c> to</c><00:18:19.380><c> complement</c><00:18:19.860><c> anything</c><00:18:20.220><c> like</c><00:18:20.640><c> to</c><00:18:20.880><c> add</c>

00:18:21.049 --> 00:18:21.059 align:start position:0%
want to complement anything like to add
 

00:18:21.059 --> 00:18:24.230 align:start position:0%
want to complement anything like to add
on<00:18:21.539><c> top</c><00:18:21.660><c> of</c><00:18:21.840><c> the</c><00:18:21.900><c> conversation</c><00:18:22.320><c> hello</c><00:18:23.039><c> yeah</c><00:18:24.000><c> I</c>

00:18:24.230 --> 00:18:24.240 align:start position:0%
on top of the conversation hello yeah I
 

00:18:24.240 --> 00:18:26.930 align:start position:0%
on top of the conversation hello yeah I
just<00:18:24.419><c> want</c><00:18:24.660><c> to</c><00:18:24.840><c> ask</c><00:18:25.559><c> so</c><00:18:25.860><c> with</c><00:18:26.280><c> Aztec</c><00:18:26.760><c> free</c>

00:18:26.930 --> 00:18:26.940 align:start position:0%
just want to ask so with Aztec free
 

00:18:26.940 --> 00:18:29.510 align:start position:0%
just want to ask so with Aztec free
we're<00:18:27.419><c> not</c><00:18:27.600><c> actually</c><00:18:27.780><c> trying</c><00:18:28.140><c> to</c><00:18:28.260><c> be</c><00:18:28.380><c> ZK</c><00:18:28.860><c> evm</c>

00:18:29.510 --> 00:18:29.520 align:start position:0%
we're not actually trying to be ZK evm
 

00:18:29.520 --> 00:18:30.830 align:start position:0%
we're not actually trying to be ZK evm
compatible<00:18:29.940><c> right</c>

00:18:30.830 --> 00:18:30.840 align:start position:0%
compatible right
 

00:18:30.840 --> 00:18:33.650 align:start position:0%
compatible right
it's<00:18:31.380><c> a</c><00:18:31.740><c> separate</c><00:18:32.039><c> no</c><00:18:32.340><c> right</c>

00:18:33.650 --> 00:18:33.660 align:start position:0%
it's a separate no right
 

00:18:33.660 --> 00:18:35.450 align:start position:0%
it's a separate no right
yeah<00:18:33.720><c> just</c><00:18:34.200><c> making</c><00:18:34.440><c> sure</c>

00:18:35.450 --> 00:18:35.460 align:start position:0%
yeah just making sure
 

00:18:35.460 --> 00:18:39.590 align:start position:0%
yeah just making sure
cool<00:18:36.179><c> there's</c><00:18:36.660><c> one</c><00:18:36.960><c> more</c><00:18:37.340><c> over</c><00:18:38.340><c> there</c><00:18:38.640><c> this</c>

00:18:39.590 --> 00:18:39.600 align:start position:0%
cool there's one more over there this
 

00:18:39.600 --> 00:18:40.370 align:start position:0%
cool there's one more over there this
side

00:18:40.370 --> 00:18:40.380 align:start position:0%
side
 

00:18:40.380 --> 00:18:42.950 align:start position:0%
side
oh<00:18:40.919><c> yeah</c><00:18:41.220><c> that</c><00:18:41.520><c> was</c><00:18:41.640><c> my</c><00:18:41.880><c> question</c><00:18:42.120><c> again</c>

00:18:42.950 --> 00:18:42.960 align:start position:0%
oh yeah that was my question again
 

00:18:42.960 --> 00:18:46.190 align:start position:0%
oh yeah that was my question again
um<00:18:43.080><c> that</c><00:18:43.440><c> was</c><00:18:43.679><c> he</c><00:18:43.980><c> said</c><00:18:44.220><c> he</c><00:18:44.640><c> was</c><00:18:44.760><c> he</c><00:18:45.020><c> they</c><00:18:46.020><c> made</c>

00:18:46.190 --> 00:18:46.200 align:start position:0%
um that was he said he was he they made
 

00:18:46.200 --> 00:18:48.110 align:start position:0%
um that was he said he was he they made
a<00:18:46.320><c> preamble</c><00:18:46.679><c> to</c><00:18:46.860><c> the</c><00:18:46.980><c> question</c><00:18:47.160><c> so</c><00:18:47.460><c> that</c><00:18:47.820><c> means</c>

00:18:48.110 --> 00:18:48.120 align:start position:0%
a preamble to the question so that means
 

00:18:48.120 --> 00:18:50.930 align:start position:0%
a preamble to the question so that means
that<00:18:48.299><c> Noir</c><00:18:48.780><c> the</c><00:18:49.260><c> since</c><00:18:49.799><c> Nora</c><00:18:50.400><c> is</c><00:18:50.520><c> going</c><00:18:50.700><c> to</c>

00:18:50.930 --> 00:18:50.940 align:start position:0%
that Noir the since Nora is going to
 

00:18:50.940 --> 00:18:54.049 align:start position:0%
that Noir the since Nora is going to
Target<00:18:51.120><c> to</c><00:18:51.419><c> EVMS</c><00:18:52.020><c> uh</c><00:18:52.860><c> Arctic</c><00:18:53.280><c> 3</c><00:18:53.460><c> is</c><00:18:53.700><c> not</c><00:18:53.880><c> going</c>

00:18:54.049 --> 00:18:54.059 align:start position:0%
Target to EVMS uh Arctic 3 is not going
 

00:18:54.059 --> 00:18:57.470 align:start position:0%
Target to EVMS uh Arctic 3 is not going
to<00:18:54.179><c> be</c><00:18:54.419><c> using</c><00:18:54.900><c> Noir</c><00:18:55.500><c> for</c><00:18:56.160><c> this</c><00:18:56.520><c> for</c><00:18:56.760><c> for</c><00:18:57.240><c> its</c>

00:18:57.470 --> 00:18:57.480 align:start position:0%
to be using Noir for this for for its
 

00:18:57.480 --> 00:18:59.870 align:start position:0%
to be using Noir for this for for its
inter<00:18:57.539><c> for</c><00:18:57.900><c> the</c><00:18:58.020><c> circuits</c><00:18:58.440><c> so</c><00:18:59.160><c> we're</c><00:18:59.640><c> going</c><00:18:59.760><c> to</c>

00:18:59.870 --> 00:18:59.880 align:start position:0%
inter for the circuits so we're going to
 

00:18:59.880 --> 00:19:01.490 align:start position:0%
inter for the circuits so we're going to
be using<00:19:00.120><c> Noir</c><00:19:00.419><c> for</c><00:19:00.600><c> circuits</c><00:19:00.960><c> but</c><00:19:01.080><c> you</c><00:19:01.380><c> don't</c>

00:19:01.490 --> 00:19:01.500 align:start position:0%
be using Noir for circuits but you don't
 

00:19:01.500 --> 00:19:03.770 align:start position:0%
be using Noir for circuits but you don't
necessarily<00:19:02.100><c> have</c><00:19:02.400><c> to</c><00:19:02.580><c> Target</c><00:19:02.940><c> the</c><00:19:03.179><c> evm</c><00:19:03.600><c> there</c>

00:19:03.770 --> 00:19:03.780 align:start position:0%
necessarily have to Target the evm there
 

00:19:03.780 --> 00:19:05.990 align:start position:0%
necessarily have to Target the evm there
we<00:19:04.140><c> just</c><00:19:04.380><c> Aztecs</c><00:19:05.160><c> backhand</c><00:19:05.460><c> does</c><00:19:05.640><c> allow</c><00:19:05.880><c> you</c>

00:19:05.990 --> 00:19:06.000 align:start position:0%
we just Aztecs backhand does allow you
 

00:19:06.000 --> 00:19:09.110 align:start position:0%
we just Aztecs backhand does allow you
to<00:19:06.360><c> compile</c><00:19:06.840><c> an</c><00:19:07.500><c> evm</c><00:19:07.980><c> verifier</c>

00:19:09.110 --> 00:19:09.120 align:start position:0%
to compile an evm verifier
 

00:19:09.120 --> 00:19:11.270 align:start position:0%
to compile an evm verifier
from<00:19:09.660><c> a</c><00:19:09.780><c> Noir</c><00:19:10.140><c> circuit</c><00:19:10.559><c> and</c><00:19:11.100><c> that</c>

00:19:11.270 --> 00:19:11.280 align:start position:0%
from a Noir circuit and that
 

00:19:11.280 --> 00:19:13.610 align:start position:0%
from a Noir circuit and that
functionality<00:19:11.760><c> will</c><00:19:12.000><c> still</c><00:19:12.179><c> exist</c><00:19:12.539><c> but</c><00:19:13.020><c> no</c><00:19:13.380><c> R</c>

00:19:13.610 --> 00:19:13.620 align:start position:0%
functionality will still exist but no R
 

00:19:13.620 --> 00:19:15.470 align:start position:0%
functionality will still exist but no R
contracts<00:19:14.100><c> and</c><00:19:14.280><c> Aztecs</c><00:19:14.820><c> platform</c><00:19:15.059><c> are</c><00:19:15.299><c> not</c>

00:19:15.470 --> 00:19:15.480 align:start position:0%
contracts and Aztecs platform are not
 

00:19:15.480 --> 00:19:18.169 align:start position:0%
contracts and Aztecs platform are not
going<00:19:15.600><c> to</c><00:19:15.720><c> be</c><00:19:15.860><c> ZK</c><00:19:16.860><c> VM</c><00:19:17.280><c> they're</c><00:19:17.880><c> going</c><00:19:18.059><c> to</c>

00:19:18.169 --> 00:19:18.179 align:start position:0%
going to be ZK VM they're going to
 

00:19:18.179 --> 00:19:21.710 align:start position:0%
going to be ZK VM they're going to
they're<00:19:18.600><c> going</c><00:19:18.720><c> to</c><00:19:18.900><c> be</c><00:19:19.020><c> Noir</c><00:19:20.220><c> so</c><00:19:20.820><c> yeah</c><00:19:21.120><c> so</c><00:19:21.539><c> that</c>

00:19:21.710 --> 00:19:21.720 align:start position:0%
they're going to be Noir so yeah so that
 

00:19:21.720 --> 00:19:23.870 align:start position:0%
they're going to be Noir so yeah so that
means<00:19:22.020><c> that</c><00:19:22.140><c> you</c><00:19:22.320><c> also</c><00:19:22.620><c> have</c><00:19:22.799><c> the</c><00:19:23.100><c> your</c><00:19:23.400><c> go</c><00:19:23.640><c> you</c>

00:19:23.870 --> 00:19:23.880 align:start position:0%
means that you also have the your go you
 

00:19:23.880 --> 00:19:25.850 align:start position:0%
means that you also have the your go you
right<00:19:24.120><c> now</c><00:19:24.240><c> have</c><00:19:24.419><c> the</c><00:19:24.600><c> target</c><00:19:24.780><c> for</c><00:19:25.140><c> Aztec</c><00:19:25.620><c> or</c>

00:19:25.850 --> 00:19:25.860 align:start position:0%
right now have the target for Aztec or
 

00:19:25.860 --> 00:19:27.710 align:start position:0%
right now have the target for Aztec or
you<00:19:26.100><c> are</c><00:19:26.220><c> going</c><00:19:26.400><c> to</c><00:19:26.640><c> have</c><00:19:26.820><c> or</c><00:19:27.059><c> you're</c><00:19:27.360><c> going</c><00:19:27.600><c> to</c>

00:19:27.710 --> 00:19:27.720 align:start position:0%
you are going to have or you're going to
 

00:19:27.720 --> 00:19:30.250 align:start position:0%
you are going to have or you're going to
build<00:19:27.840><c> it</c><00:19:28.080><c> yet</c><00:19:28.260><c> sorry</c><00:19:28.860><c> can</c><00:19:29.220><c> you</c><00:19:29.340><c> say</c><00:19:29.520><c> it</c><00:19:29.700><c> again</c>

00:19:30.250 --> 00:19:30.260 align:start position:0%
build it yet sorry can you say it again
 

00:19:30.260 --> 00:19:33.590 align:start position:0%
build it yet sorry can you say it again
the<00:19:31.260><c> start</c><00:19:31.740><c> the</c><00:19:32.039><c> compilation</c><00:19:32.760><c> Target</c><00:19:33.059><c> right</c>

00:19:33.590 --> 00:19:33.600 align:start position:0%
the start the compilation Target right
 

00:19:33.600 --> 00:19:35.690 align:start position:0%
the start the compilation Target right
now<00:19:33.720><c> it's</c><00:19:34.020><c> only</c><00:19:34.200><c> ebm</c><00:19:34.740><c> but</c><00:19:34.980><c> you</c><00:19:35.100><c> are</c><00:19:35.280><c> planning</c>

00:19:35.690 --> 00:19:35.700 align:start position:0%
now it's only ebm but you are planning
 

00:19:35.700 --> 00:19:38.630 align:start position:0%
now it's only ebm but you are planning
to<00:19:36.000><c> to</c><00:19:36.600><c> be</c><00:19:36.780><c> able</c><00:19:36.900><c> to</c><00:19:37.200><c> migrate</c><00:19:37.679><c> to</c><00:19:37.980><c> to</c><00:19:38.400><c> be</c><00:19:38.520><c> able</c>

00:19:38.630 --> 00:19:38.640 align:start position:0%
to to be able to migrate to to be able
 

00:19:38.640 --> 00:19:41.390 align:start position:0%
to to be able to migrate to to be able
to<00:19:38.820><c> compile</c><00:19:39.179><c> as</c><00:19:39.419><c> well</c><00:19:39.600><c> to</c><00:19:39.900><c> Aztec</c><00:19:40.620><c> in</c><00:19:41.340><c> the</c>

00:19:41.390 --> 00:19:41.400 align:start position:0%
to compile as well to Aztec in the
 

00:19:41.400 --> 00:19:45.110 align:start position:0%
to compile as well to Aztec in the
future<00:19:41.520><c> yes</c><00:19:42.120><c> yeah</c><00:19:42.840><c> so</c><00:19:43.200><c> currently</c><00:19:43.860><c> Noir</c><00:19:44.640><c> is</c>

00:19:45.110 --> 00:19:45.120 align:start position:0%
future yes yeah so currently Noir is
 

00:19:45.120 --> 00:19:48.049 align:start position:0%
future yes yeah so currently Noir is
just<00:19:45.299><c> a</c><00:19:45.480><c> language</c><00:19:45.660><c> for</c><00:19:46.080><c> creating</c><00:19:46.500><c> circuits</c>

00:19:48.049 --> 00:19:48.059 align:start position:0%
just a language for creating circuits
 

00:19:48.059 --> 00:19:49.789 align:start position:0%
just a language for creating circuits
um<00:19:48.120><c> and</c><00:19:48.419><c> you</c><00:19:48.539><c> can</c><00:19:48.660><c> create</c><00:19:48.900><c> a</c><00:19:49.320><c> solidity</c>

00:19:49.789 --> 00:19:49.799 align:start position:0%
um and you can create a solidity
 

00:19:49.799 --> 00:19:51.590 align:start position:0%
um and you can create a solidity
verifier<00:19:50.340><c> that</c><00:19:50.580><c> allows</c><00:19:50.820><c> you</c><00:19:50.880><c> to</c><00:19:51.059><c> verify</c><00:19:51.419><c> those</c>

00:19:51.590 --> 00:19:51.600 align:start position:0%
verifier that allows you to verify those
 

00:19:51.600 --> 00:19:55.190 align:start position:0%
verifier that allows you to verify those
proofs<00:19:52.080><c> uh</c><00:19:52.620><c> on</c><00:19:53.160><c> the</c><00:19:53.280><c> on</c><00:19:53.400><c> the</c><00:19:53.580><c> ethereum</c><00:19:54.080><c> once</c><00:19:55.080><c> we</c>

00:19:55.190 --> 00:19:55.200 align:start position:0%
proofs uh on the on the ethereum once we
 

00:19:55.200 --> 00:19:57.350 align:start position:0%
proofs uh on the on the ethereum once we
extend<00:19:55.500><c> extend</c><00:19:56.100><c> the</c><00:19:56.280><c> syntax</c><00:19:56.580><c> to</c><00:19:56.820><c> have</c><00:19:57.059><c> a</c>

00:19:57.350 --> 00:19:57.360 align:start position:0%
extend extend the syntax to have a
 

00:19:57.360 --> 00:19:59.930 align:start position:0%
extend extend the syntax to have a
contract<00:19:57.780><c> terminology</c><00:19:58.280><c> uh</c><00:19:59.280><c> Aztec</c><00:19:59.700><c> free</c><00:19:59.820><c> will</c>

00:19:59.930 --> 00:19:59.940 align:start position:0%
contract terminology uh Aztec free will
 

00:19:59.940 --> 00:20:02.570 align:start position:0%
contract terminology uh Aztec free will
be<00:20:00.120><c> built</c><00:20:00.360><c> and</c><00:20:00.539><c> it</c><00:20:00.660><c> will</c><00:20:00.780><c> have</c><00:20:00.960><c> its</c><00:20:01.260><c> own</c><00:20:01.320><c> VM</c><00:20:01.740><c> and</c>

00:20:02.570 --> 00:20:02.580 align:start position:0%
be built and it will have its own VM and
 

00:20:02.580 --> 00:20:05.029 align:start position:0%
be built and it will have its own VM and
you<00:20:02.940><c> can</c><00:20:03.059><c> compile</c><00:20:03.360><c> those</c><00:20:03.600><c> contracts</c><00:20:04.200><c> to</c><00:20:04.620><c> the</c>

00:20:05.029 --> 00:20:05.039 align:start position:0%
you can compile those contracts to the
 

00:20:05.039 --> 00:20:10.789 align:start position:0%
you can compile those contracts to the
Aztec<00:20:05.460><c> free</c><00:20:05.640><c> VM</c><00:20:06.000><c> not</c><00:20:06.299><c> the</c><00:20:06.539><c> ZK</c><00:20:06.900><c> evm</c><00:20:07.559><c> hi</c><00:20:08.660><c> hi</c><00:20:09.799><c> well</c>

00:20:10.789 --> 00:20:10.799 align:start position:0%
Aztec free VM not the ZK evm hi hi well
 

00:20:10.799 --> 00:20:14.090 align:start position:0%
Aztec free VM not the ZK evm hi hi well
I<00:20:11.280><c> am</c><00:20:11.460><c> now</c><00:20:11.640><c> in</c><00:20:11.940><c> nor</c><00:20:12.419><c> right</c><00:20:13.020><c> now</c><00:20:13.140><c> it's</c><00:20:13.559><c> so</c><00:20:13.860><c> new</c>

00:20:14.090 --> 00:20:14.100 align:start position:0%
I am now in nor right now it's so new
 

00:20:14.100 --> 00:20:16.970 align:start position:0%
I am now in nor right now it's so new
for<00:20:14.340><c> me</c><00:20:14.460><c> and</c><00:20:15.059><c> I</c><00:20:15.179><c> would</c><00:20:15.299><c> like</c><00:20:15.480><c> to</c><00:20:15.660><c> know</c><00:20:15.980><c> whether</c>

00:20:16.970 --> 00:20:16.980 align:start position:0%
for me and I would like to know whether
 

00:20:16.980 --> 00:20:19.070 align:start position:0%
for me and I would like to know whether
the<00:20:17.340><c> main</c><00:20:17.520><c> applications</c><00:20:18.059><c> that</c><00:20:18.660><c> they</c><00:20:18.900><c> are</c>

00:20:19.070 --> 00:20:19.080 align:start position:0%
the main applications that they are
 

00:20:19.080 --> 00:20:20.810 align:start position:0%
the main applications that they are
using<00:20:19.440><c> now</c><00:20:19.740><c> right</c><00:20:20.039><c> now</c>

00:20:20.810 --> 00:20:20.820 align:start position:0%
using now right now
 

00:20:20.820 --> 00:20:22.610 align:start position:0%
using now right now
the<00:20:21.299><c> main</c><00:20:21.480><c> applications</c><00:20:21.840><c> using</c><00:20:22.140><c> Noir</c><00:20:22.380><c> right</c>

00:20:22.610 --> 00:20:22.620 align:start position:0%
the main applications using Noir right
 

00:20:22.620 --> 00:20:25.810 align:start position:0%
the main applications using Noir right
now<00:20:22.740><c> yeah</c><00:20:23.400><c> uh</c><00:20:24.120><c> well</c><00:20:24.480><c> there</c><00:20:25.200><c> hasn't</c><00:20:25.440><c> been</c><00:20:25.500><c> many</c>

00:20:25.810 --> 00:20:25.820 align:start position:0%
now yeah uh well there hasn't been many
 

00:20:25.820 --> 00:20:28.610 align:start position:0%
now yeah uh well there hasn't been many
uh<00:20:26.820><c> mostly</c><00:20:27.660><c> the</c><00:20:27.780><c> examples</c><00:20:28.080><c> you</c><00:20:28.260><c> can</c><00:20:28.380><c> find</c><00:20:28.440><c> on</c>

00:20:28.610 --> 00:20:28.620 align:start position:0%
uh mostly the examples you can find on
 

00:20:28.620 --> 00:20:31.010 align:start position:0%
uh mostly the examples you can find on
my<00:20:28.799><c> GitHub</c><00:20:29.100><c> or</c><00:20:29.760><c> inside</c><00:20:30.000><c> the</c><00:20:30.299><c> Noir</c><00:20:30.660><c> repo</c>

00:20:31.010 --> 00:20:31.020 align:start position:0%
my GitHub or inside the Noir repo
 

00:20:31.020 --> 00:20:33.110 align:start position:0%
my GitHub or inside the Noir repo
testing<00:20:31.500><c> the</c><00:20:31.620><c> language</c>

00:20:33.110 --> 00:20:33.120 align:start position:0%
testing the language
 

00:20:33.120 --> 00:20:35.630 align:start position:0%
testing the language
um but<00:20:33.780><c> there's</c><00:20:34.140><c> anything</c><00:20:34.980><c> you</c><00:20:35.280><c> can</c><00:20:35.400><c> think</c><00:20:35.520><c> of</c>

00:20:35.630 --> 00:20:35.640 align:start position:0%
um but there's anything you can think of
 

00:20:35.640 --> 00:20:38.390 align:start position:0%
um but there's anything you can think of
where<00:20:35.880><c> you</c><00:20:36.059><c> would</c><00:20:36.240><c> need</c><00:20:36.480><c> to</c><00:20:36.900><c> verify</c><00:20:37.500><c> a</c><00:20:37.679><c> proof</c>

00:20:38.390 --> 00:20:38.400 align:start position:0%
where you would need to verify a proof
 

00:20:38.400 --> 00:20:41.150 align:start position:0%
where you would need to verify a proof
and<00:20:39.240><c> do</c><00:20:39.600><c> something</c><00:20:39.840><c> based</c><00:20:40.200><c> off</c><00:20:40.260><c> that</c><00:20:40.440><c> ZK</c><00:20:40.740><c> proof</c>

00:20:41.150 --> 00:20:41.160 align:start position:0%
and do something based off that ZK proof
 

00:20:41.160 --> 00:20:44.990 align:start position:0%
and do something based off that ZK proof
you<00:20:42.059><c> couldn't</c><00:20:42.480><c> theoretically</c><00:20:43.020><c> do</c><00:20:43.440><c> a</c><00:20:43.620><c> Noir</c><00:20:44.340><c> so</c>

00:20:44.990 --> 00:20:45.000 align:start position:0%
you couldn't theoretically do a Noir so
 

00:20:45.000 --> 00:20:46.909 align:start position:0%
you couldn't theoretically do a Noir so
that<00:20:45.360><c> can</c><00:20:45.539><c> be</c><00:20:45.720><c> quite</c><00:20:46.380><c> a</c><00:20:46.559><c> lot</c><00:20:46.620><c> of</c><00:20:46.740><c> things</c>

00:20:46.909 --> 00:20:46.919 align:start position:0%
that can be quite a lot of things
 

00:20:46.919 --> 00:20:50.029 align:start position:0%
that can be quite a lot of things
synonymous<00:20:47.460><c> proof</c><00:20:47.760><c> of</c><00:20:47.820><c> membership</c><00:20:48.120><c> uh</c>

00:20:50.029 --> 00:20:50.039 align:start position:0%
synonymous proof of membership uh
 

00:20:50.039 --> 00:20:52.430 align:start position:0%
synonymous proof of membership uh
private<00:20:50.700><c> games</c><00:20:50.880><c> on</c><00:20:51.240><c> on</c><00:20:51.419><c> public</c><00:20:51.660><c> blockchains</c>

00:20:52.430 --> 00:20:52.440 align:start position:0%
private games on on public blockchains
 

00:20:52.440 --> 00:20:55.370 align:start position:0%
private games on on public blockchains
lots<00:20:53.400><c> of</c><00:20:53.460><c> different</c><00:20:53.640><c> things</c><00:20:53.880><c> all</c><00:20:54.780><c> right</c><00:20:55.020><c> big</c>

00:20:55.370 --> 00:20:55.380 align:start position:0%
lots of different things all right big
 

00:20:55.380 --> 00:20:59.240 align:start position:0%
lots of different things all right big
round<00:20:55.620><c> of</c><00:20:55.799><c> applause</c><00:20:56.160><c> to</c><00:20:56.460><c> Maxim</c><00:20:57.000><c> from</c><00:20:57.480><c> Aztec</c>

00:20:59.240 --> 00:20:59.250 align:start position:0%
round of applause to Maxim from Aztec
 

00:20:59.250 --> 00:21:02.430 align:start position:0%
round of applause to Maxim from Aztec
[Music]

